From 287f95befbf605a621d184f5ebbe3832a1c88f10 Mon Sep 17 00:00:00 2001 From: anthonyjlau Date: Fri, 22 Mar 2024 17:47:00 -1000 Subject: [PATCH 01/32] i #230 generalized get functions --- R/config.R | 247 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 247 insertions(+) create mode 100644 R/config.R diff --git a/R/config.R b/R/config.R new file mode 100644 index 0000000..5f59d19 --- /dev/null +++ b/R/config.R @@ -0,0 +1,247 @@ +# Kaiaulu - https://github.com/sailuh/kaiaulu +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at https://mozilla.org/MPL/2.0/. + +############## Configuration File Getter Functions ############## + +## Variables ## +tool <- yaml::read_yaml("tools.yml") +conf_apr <- yaml::read_yaml("conf/apr.yml") +conf_camel <- yaml::read_yaml("conf/camel.yml") +conf_geronimo <- yaml::read_yaml("conf/geronimo.yml") +conf_junit5 <- yaml::read_yaml("conf/junit5.yml") + + +#### tools.yml #### + +#' Get tools.yml +#' +#' @return the tools.yml file +#' @export +get_tools <- function() { + return(tool) +} + +#' Get srcml path from tools.yml +#' +#' @return the srcml path from tools.yml +#' @export +get_tools_srcml <- function() { + srcml_path <- tool[["srcml"]] + return(srcml_path) +} + +#' Get perceval path from tools.yml +#' +#' @return the srcml path from tools.yml +#' @export +get_tools_perceval <- function() { + perceval_path <- tool[["perceval"]] + return(perceval_path) +} + +#' Get utags path from tools.yml +#' +#' @return the srcml path from tools.yml +#' @export +get_tools_utags <- function () { + utags_path <- tool[["utags"]] + return(utags_path) +} + +#' Get dv8 path from tools.yml +#' +#' @return the dv8 path from tools.yml +#' @export +get_tools_dv8 <- function () { + dv8_path <- tool[["dv8"]] + return(dv8_path) +} + +#' Get scc path from tools.yml +#' +#' @return the scc path from tools.yml +#' @export +get_tools_scc <- function () { + scc_path <- tool[["scc"]] +} + +#' Get depends path from tools.yml +#' +#' @return the depends path from tools.yml +#' @export +get_tools_depends <- function () { + depends_jar_path <- tool[["depends"]] +} + + +#### Get Functions #### + +#' Get config.yml File +#' +#' Gets the configuration file for any project, as long as it exists +#' +#' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") +#' @return the config yaml file +#' @export +get_conf <- function(project_name) { + conf_path <- paste0("conf/", project_name, ".yml") + conf <- yaml::read_yaml(conf_path) + return(conf) +} + +#' Get Project Git Repo Path +#' +#' Gets the project git repo path +#' +#' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") +#' @return the git repo path from the project config file +#' @export +get_project_git_repo_path <- function(project_name) { + conf_path <- paste0("conf/", project_name, ".yml") + conf <- yaml::read_yaml(conf_path) + + # check to make sure the path exists + if (!is.null(conf[["version_control"]])) { + if (!is.null(conf[["version_control"]][["log"]])) { + + git_repo_path <- conf[["version_control"]][["log"]] + return(git_repo_path) + + } else { + stop("This field does not exist in the configuration file.") + } + } else { + stop("This field does not exist in the configuration file.") + } +} + +#' Get File Extensions +#' +#' Gets the file extensions from the config file for filtering +#' +#' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") +#' @return the file extensions from the project config file +#' @export +get_project_file_extensions <- function(project_name) { + + conf_path <- paste0("conf/", project_name, ".yml") + conf <- yaml::read_yaml(conf_path) + + file_extensions <- conf[["filter"]][["keep_filepaths_ending_with"]] + return(file_extensions) +} + +#' Get Substring Filepath +#' +#' Gets the substring filepaths from the config file for filtering +#' +#' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") +#' @return the file extensions from the project config file +#' @export +get_project_substring_filepath <- function(project_name) { + + conf_path <- paste0("conf/", project_name, ".yml") + conf <- yaml::read_yaml(conf_path) + + substring_filepath <- conf[["filter"]][["remove_filepaths_containing"]] + return(substring_filepath) +} + +#' Get Uctags Line Types +#' +#' Gets the Uctags keep lines type +#' +#' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") +#' @return the uctags line type from the project config file +#' @export +get_project_uctags_line_types <- function(project_name) { + + conf_path <- paste0("conf/", project_name, ".yml") + conf <- yaml::read_yaml(conf_path) + + kinds <- conf[["tool"]][["uctags"]][["keep_lines_type"]] + return(kinds) +} + +#' Get Code Language +#' +#' Gets the code language of the project +#' +#' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") +#' @return the uctags line type from the project config file +#' @export +get_project_code_language <- function(project_name) { + + conf_path <- paste0("conf/", project_name, ".yml") + conf <- yaml::read_yaml(conf_path) + + language <- conf[["tool"]][["depends"]][["code_language"]] + return (language) +} + +#' Get Issue Id Regex +#' +#' Gets the issue ID regex on commit messages from the project config file +#' +#' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") +#' @return the issue id regex from geronimo.yml +#' @export +get_project_issue_id_regex <- function(project_name) { + + conf_path <- paste0("conf/", project_name, ".yml") + conf <- yaml::read_yaml(conf_path) + + issue_id_regex <- conf[["commit_message_id_regex"]][["issue_id"]] + return(issue_id_regex) +} + +#' Get Jira Issues Path +#' +#' Gets the path to the Jira issues from the project config file +#' +#' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") +#' @return the Jira issues path from geronimo.yml +#' @export +get_project_jira_issues_path <- function(project_name) { + + conf_path <- paste0("conf/", project_name, ".yml") + conf <- yaml::read_yaml(conf_path) + + jira_issues_path <- conf[["issue_tracker"]][["jira"]][["issues"]] + return(jira_issues_path) +} + +#' Get SrcML Filepath +#' +#' Gets the SrcML filepath from the project config file +#' +#' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") +#' @return the srcml filepath from junit5.yml +#' @export +get_project_srcml_filepath <- function(project_name) { + + conf_path <- paste0("conf/", project_name, ".yml") + conf <- yaml::read_yaml(conf_path) + + srcml_filepath <- conf[["tool"]][["srcml"]][["srcml_path"]] + return(srcml_filepath) +} + +#' Get Topics +#' +#' Gets the topics and keywords from the project config file +#' +#' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") +#' @return the topics from junit5.yml +#' @export +get_junit5_topics <- function(project_name) { + + conf_path <- paste0("conf/", project_name, ".yml") + conf <- yaml::read_yaml(conf_path) + + topics <- conf_junit5[["analysis"]][["topics"]] + return(topics) +} From 6c323ced94162086c46efd60f16e0d9ad6cb41a7 Mon Sep 17 00:00:00 2001 From: anthonyjlau Date: Mon, 25 Mar 2024 23:19:30 -1000 Subject: [PATCH 02/32] i #230 added new get functions Added get functions for mbox, jira, and github. --- R/config.R | 331 ++++++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 262 insertions(+), 69 deletions(-) diff --git a/R/config.R b/R/config.R index 5f59d19..895b049 100644 --- a/R/config.R +++ b/R/config.R @@ -6,13 +6,6 @@ ############## Configuration File Getter Functions ############## -## Variables ## -tool <- yaml::read_yaml("tools.yml") -conf_apr <- yaml::read_yaml("conf/apr.yml") -conf_camel <- yaml::read_yaml("conf/camel.yml") -conf_geronimo <- yaml::read_yaml("conf/geronimo.yml") -conf_junit5 <- yaml::read_yaml("conf/junit5.yml") - #### tools.yml #### @@ -21,59 +14,20 @@ conf_junit5 <- yaml::read_yaml("conf/junit5.yml") #' @return the tools.yml file #' @export get_tools <- function() { + tool <- yaml::read_yaml("tools.yml") return(tool) } -#' Get srcml path from tools.yml -#' -#' @return the srcml path from tools.yml -#' @export -get_tools_srcml <- function() { - srcml_path <- tool[["srcml"]] - return(srcml_path) -} - -#' Get perceval path from tools.yml -#' -#' @return the srcml path from tools.yml -#' @export -get_tools_perceval <- function() { - perceval_path <- tool[["perceval"]] - return(perceval_path) -} - -#' Get utags path from tools.yml -#' -#' @return the srcml path from tools.yml -#' @export -get_tools_utags <- function () { - utags_path <- tool[["utags"]] - return(utags_path) -} - -#' Get dv8 path from tools.yml +#' Get Tool Path #' -#' @return the dv8 path from tools.yml -#' @export -get_tools_dv8 <- function () { - dv8_path <- tool[["dv8"]] - return(dv8_path) -} - -#' Get scc path from tools.yml +#' Gets the tool path from the tools.yml file #' -#' @return the scc path from tools.yml +#' @param tool_name the name of the tool (e.g. "perceval" or "dv8") +#' @return the tool path from tools.yml #' @export -get_tools_scc <- function () { - scc_path <- tool[["scc"]] -} - -#' Get depends path from tools.yml -#' -#' @return the depends path from tools.yml -#' @export -get_tools_depends <- function () { - depends_jar_path <- tool[["depends"]] +get_tools_project <- function(tool_name) { + tool_path <- tool[[tool_name]] + return(tool_path) } @@ -94,10 +48,10 @@ get_conf <- function(project_name) { #' Get Project Git Repo Path #' -#' Gets the project git repo path +#' Gets the local project git repo path from the config file #' #' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") -#' @return the git repo path from the project config file +#' @return the local git repo path #' @export get_project_git_repo_path <- function(project_name) { conf_path <- paste0("conf/", project_name, ".yml") @@ -111,19 +65,34 @@ get_project_git_repo_path <- function(project_name) { return(git_repo_path) } else { - stop("This field does not exist in the configuration file.") + stop("The \"version_control\" field does not exist in the configuration file.") } } else { - stop("This field does not exist in the configuration file.") + stop("The \"log\" field does not exist in the configuration file.") } } +#' Get Project Git Branch +#' +#' Gets the git branch from the config file +#' +#' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") +#' @return the file extensions from the project config file +#' @export +get_project_git_branch <- function(project_name) { + + conf_path <- paste0("conf/", project_name, ".yml") + conf <- yaml::read_yaml(conf_path) + + git_branch <- conf[["version_control"]][["branch"]][4] +} + #' Get File Extensions #' #' Gets the file extensions from the config file for filtering #' #' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") -#' @return the file extensions from the project config file +#' @return the file extensions #' @export get_project_file_extensions <- function(project_name) { @@ -139,7 +108,7 @@ get_project_file_extensions <- function(project_name) { #' Gets the substring filepaths from the config file for filtering #' #' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") -#' @return the file extensions from the project config file +#' @return the substring filepaths #' @export get_project_substring_filepath <- function(project_name) { @@ -150,6 +119,22 @@ get_project_substring_filepath <- function(project_name) { return(substring_filepath) } +#' Get Filter Commit Size +#' +#' Gets the commit size to filter out from the config file +#' +#' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") +#' @return the commit size to filter out +#' @export +get_project_filter_commit_size <- function(project_name) { + + conf_path <- paste0("conf/", project_name, ".yml") + conf <- yaml::read_yaml(conf_path) + + filter_commit_size <- conf[["filter"]][["remove_filepaths_on_commit_size_greather_than"]] + return(filter_commit_size) +} + #' Get Uctags Line Types #' #' Gets the Uctags keep lines type @@ -168,10 +153,10 @@ get_project_uctags_line_types <- function(project_name) { #' Get Code Language #' -#' Gets the code language of the project +#' Gets the code language of the project from the project config file #' #' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") -#' @return the uctags line type from the project config file +#' @return the code language #' @export get_project_code_language <- function(project_name) { @@ -182,12 +167,28 @@ get_project_code_language <- function(project_name) { return (language) } +#' Get Keep Dependencies Type +#' +#' Gets the type of dependencies to keep from the config file +#' +#' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") +#' @return the types of dependencies to keep +#' @export +get_project_keep_dependencies_type <- function(project_name) { + + conf_path <- paste0("conf/", project_name, ".yml") + conf <- yaml::read_yaml(conf_path) + + keep_dependencies_type <- conf[["tool"]][["depends"]][["keep_dependencies_type"]] + return (keep_dependencies_type) +} + #' Get Issue Id Regex #' #' Gets the issue ID regex on commit messages from the project config file #' #' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") -#' @return the issue id regex from geronimo.yml +#' @return the issue id regex #' @export get_project_issue_id_regex <- function(project_name) { @@ -203,7 +204,7 @@ get_project_issue_id_regex <- function(project_name) { #' Gets the path to the Jira issues from the project config file #' #' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") -#' @return the Jira issues path from geronimo.yml +#' @return the Jira issues path #' @export get_project_jira_issues_path <- function(project_name) { @@ -214,12 +215,28 @@ get_project_jira_issues_path <- function(project_name) { return(jira_issues_path) } +#' Get Jira Issues Comments Path +#' +#' Gets the path to the Jira issues with comments from the project config file +#' +#' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") +#' @return the Jira issues comments path +#' @export +get_project_jira_issues_comments_path <- function(project_name) { + + conf_path <- paste0("conf/", project_name, ".yml") + conf <- yaml::read_yaml(conf_path) + + jira_issue_comments_path <- conf[["issue_tracker"]][["jira"]][["issue_comments"]] + return(jira_issue_comments_path) +} + #' Get SrcML Filepath #' #' Gets the SrcML filepath from the project config file #' #' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") -#' @return the srcml filepath from junit5.yml +#' @return the srcml filepath #' @export get_project_srcml_filepath <- function(project_name) { @@ -232,16 +249,192 @@ get_project_srcml_filepath <- function(project_name) { #' Get Topics #' -#' Gets the topics and keywords from the project config file +#' Gets the topics and keywords #' #' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") -#' @return the topics from junit5.yml +#' @return the topics #' @export -get_junit5_topics <- function(project_name) { +get_project_topics <- function(project_name) { conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) - topics <- conf_junit5[["analysis"]][["topics"]] + topics <- conf[["analysis"]][["topics"]] return(topics) } + +#' Get Mbox Save Path +#' +#' Gets the local mbox save path from the project config file +#' +#' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") +#' @return the local mbox save path +#' @export +get_project_mbox_path <- function(project_name) { + + conf_path <- paste0("conf/", project_name, ".yml") + conf <- yaml::read_yaml(conf_path) + + mbox_path <- conf[["mailing_list"]][["mbox"]] + return(mbox_path) +} + +#' Get Mbox Domain +#' +#' Gets the domain of the mailing list archive +#' +#' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") +#' @return the domain of the mailing list archive +#' @export +get_project_mbox_domain <- function(project_name) { + + conf_path <- paste0("conf/", project_name, ".yml") + conf <- yaml::read_yaml(conf_path) + + mod_mbox_url <- conf[["mailing_list"]][["domain"]] + return(mbox_domain) +} + +#' Get Mbox Lists +#' +#' Gets the list keys of the domain to be used +#' +#' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") +#' @return the domain of the mailing list archive +#' @export +get_project_mbox_list_key <- function(project_name) { + + conf_path <- paste0("conf/", project_name, ".yml") + conf <- yaml::read_yaml(conf_path) + + mailing_list <- conf[["mailing_list"]][["list_key"]] + return(mbox_domain) +} + +#' Get DV8 Project Folder Path +#' +#' Gets the dv8 project folder path from the project config file +#' +#' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") +#' @return the dv8 project folder path +#' @export +get_project_dv8_folder_path <- function(project_name) { + + conf_path <- paste0("conf/", project_name, ".yml") + conf <- yaml::read_yaml(conf_path) + + project_path <- conf[["tool"]][["dv8"]][["folder_path"]] + return(project_path) +} + +#' Get Flaws Params +#' +#' Gets the architectural flaws thresholds +#' +#' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") +#' @return the flaws params +#' @export +get_project_dv8_flaws_params <- function(project_name) { + + conf_path <- paste0("conf/", project_name, ".yml") + conf <- yaml::read_yaml(conf_path) + + flaws_params <- conf[["tool"]][["dv8"]][["architectural_flaws"]] + return(flaws_params) +} + +#' Get GitHub Project Owner +#' +#' Gets the owner of a GitHub project form the config file +#' +#' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") +#' @return the GitHub project owner name +#' @export +get_project_github_owner <- function(project_name) { + + conf_path <- paste0("conf/", project_name, ".yml") + conf <- yaml::read_yaml(conf_path) + + owner <- conf[["issue_tracker"]][["github"]][["owner"]] + return(flaws_params) +} + +#' Get GitHub Repository +#' +#' Gets the name of a GitHub repository from the config file +#' +#' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") +#' @return the GitHub repository name +#' @export +get_project_github_repo_name <- function(project_name) { + + conf_path <- paste0("conf/", project_name, ".yml") + conf <- yaml::read_yaml(conf_path) + + repo <- conf[["issue_tracker"]][["github"]][["repo"]] + return(repo) +} + +#' Get Jira Issue Tracker Domain +#' +#' Gets the Jira issue tracker domain from the config file +#' +#' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") +#' @return the issue tracker domain +#' @export +get_project_jira_issue_tracker_domain <- function(project_name) { + + conf_path <- paste0("conf/", project_name, ".yml") + conf <- yaml::read_yaml(conf_path) + + domain <- conf[["issue_tracker"]][["jira"]][["domain"]] + return(domain) +} + +#' Get Jira Issue Tracker Project Key +#' +#' Gets the Jira issue tracker project key from the config file +#' +#' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") +#' @return the issue tracker project key +#' @export +get_project_jira_issue_tracker_key <- function(project_name) { + + conf_path <- paste0("conf/", project_name, ".yml") + conf <- yaml::read_yaml(conf_path) + + key <- conf[["issue_tracker"]][["jira"]][["project_key"]] + return(domain) +} + +#' Get Jira Issue Tracker Issues Path +#' +#' Gets the local path of the Jira issue tracker issues in the config file +#' +#' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") +#' @return the local issue tracker issues path +#' @export +get_project_jira_issue_save_path <- function(project_name) { + + conf_path <- paste0("conf/", project_name, ".yml") + conf <- yaml::read_yaml(conf_path) + + save_path_issue <- conf[["issue_tracker"]][["jira"]][["issues"]] + return(save_path_issue) +} + +#' Get Jira Issue Tracker Issue Comments Path +#' +#' Gets the local path of the Jira issue tracker issues with comments in the config file +#' +#' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") +#' @return the local issue tracker issues with comments path +#' @export +get_project_jira_issue_comments_save_path <- function(project_name) { + + conf_path <- paste0("conf/", project_name, ".yml") + conf <- yaml::read_yaml(conf_path) + + save_path_issue_comments <- conf[["issue_tracker"]][["jira"]][["issue_comments"]] + return(save_path) +} From ffb969ade1025780a389ffe68aee59fd04476877 Mon Sep 17 00:00:00 2001 From: anthonyjlau Date: Wed, 27 Mar 2024 17:07:48 -1000 Subject: [PATCH 03/32] i #230 changed functions that access lists Functions that require something from a list (ie. conf[["version_control"]][["branch"]][4]) now have an index parameter. (ie. conf[["version_control"]][["branch"]][branch_index]) Also finished the rest of the get methods for all notebooks. --- R/config.R | 160 +++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 154 insertions(+), 6 deletions(-) diff --git a/R/config.R b/R/config.R index 895b049..6fa8fb3 100644 --- a/R/config.R +++ b/R/config.R @@ -74,17 +74,19 @@ get_project_git_repo_path <- function(project_name) { #' Get Project Git Branch #' -#' Gets the git branch from the config file +#' Gets a git branch of the project. Since there may be multiple branches for the project, a specific +#' branch must be specified. The order of the branch list can be viewed in the config file. #' #' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") -#' @return the file extensions from the project config file +#' @param branch_index the index of the branch +#' @return the git branch #' @export get_project_git_branch <- function(project_name) { conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) - git_branch <- conf[["version_control"]][["branch"]][4] + git_branch <- conf[["version_control"]][["branch"]][branch_index] } #' Get File Extensions @@ -233,7 +235,7 @@ get_project_jira_issues_comments_path <- function(project_name) { #' Get SrcML Filepath #' -#' Gets the SrcML filepath from the project config file +#' Gets the SrcML filepath where the output is stored #' #' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") #' @return the srcml filepath @@ -247,6 +249,38 @@ get_project_srcml_filepath <- function(project_name) { return(srcml_filepath) } +#' Get Pattern4 Class Folder Path +#' +#' Gets the Pattern4 class folder path where the output is stored +#' +#' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") +#' @return the class folder path +#' @export +get_project_pattern4_folder_path <- function(project_name) { + + conf_path <- paste0("conf/", project_name, ".yml") + conf <- yaml::read_yaml(conf_path) + + class_folder_path <- conf[["tool"]][["pattern4"]][["class_folder_path"]] + return(class_folder_path) +} + +#' Get Pattern4 Output Filepath +#' +#' Gets the Pattern4 filepath where the output is stored +#' +#' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") +#' @return the output filepath +#' @export +get_project_pattern4_folder_path <- function(project_name) { + + conf_path <- paste0("conf/", project_name, ".yml") + conf <- yaml::read_yaml(conf_path) + + pattern4_output_filepath <- conf[["tool"]][["pattern4"]][["output_filepath"]] + return(pattern4_output_filepath) +} + #' Get Topics #' #' Gets the topics and keywords @@ -345,7 +379,7 @@ get_project_dv8_flaws_params <- function(project_name) { #' Get GitHub Project Owner #' -#' Gets the owner of a GitHub project form the config file +#' Gets the owner of the GitHub project #' #' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") #' @return the GitHub project owner name @@ -361,7 +395,7 @@ get_project_github_owner <- function(project_name) { #' Get GitHub Repository #' -#' Gets the name of a GitHub repository from the config file +#' Gets the name of the GitHub repository #' #' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") #' @return the GitHub repository name @@ -375,6 +409,22 @@ get_project_github_repo_name <- function(project_name) { return(repo) } +#' Get GitHub Replies Save Path +#' +#' Gets the local save path for the GitHub replies +#' +#' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") +#' @return the local save path for GitHub replies +#' @export +get_project_github_replies_save_path <- function(project_name) { + + conf_path <- paste0("conf/", project_name, ".yml") + conf <- yaml::read_yaml(conf_path) + + save_path <- path.expand(conf[["issue_tracker"]][["github"]][["replies"]]) + return(save_path) +} + #' Get Jira Issue Tracker Domain #' #' Gets the Jira issue tracker domain from the config file @@ -438,3 +488,101 @@ get_project_jira_issue_comments_save_path <- function(project_name) { save_path_issue_comments <- conf[["issue_tracker"]][["jira"]][["issue_comments"]] return(save_path) } + +#' Get Nvd Feed Folder Path +#' +#' Gets the folder path with nvd cve feeds +#' +#' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") +#' @return the folder path with nvd cve feeds +#' @export +get_project_nvdfeed_folder_path <- function(project_name) { + + conf_path <- paste0("conf/", project_name, ".yml") + conf <- yaml::read_yaml(conf_path) + + nvdfeed_folder_path <- conf[["vulnerabilities"]][["nvd_feed"]] + return(nvdfeed_folder_path) +} + +#' Get CVE ID Regex +#' +#' Gets the commit message CVE +#' +#' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") +#' @return the commit message CVE +#' @export +get_project_cveid_regex <- function(project_name) { + + conf_path <- paste0("conf/", project_name, ".yml") + conf <- yaml::read_yaml(conf_path) + + cveid_regex <- conf[["commit_message_id_regex"]][["cve_id"]] + return(cveid_regex) +} + +#' Get Enumeration Commit +#' +#' Gets the enumerated commit intervals for analysis. Since there may be multiple commits for the project, +#' a specific commit must be specified. The order of the commit list can be viewed in the config file. +#' +#' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") +#' @param commit_index the index of the commit in the list +#' @return the commit interval +#' @export +get_project_enumeration_commit <- function(project_name, commit_index) { + + conf_path <- paste0("conf/", project_name, ".yml") + conf <- yaml::read_yaml(conf_path) + + commit <- conf[["analysis"]][["enumeration"]][["commit"]][commit_index] + return(commit) +} + +#' Get Window Start Commit +#' +#' Gets the analysis window start commit +#' +#' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") +#' @return the analysis window size +#' @export +get_project_window_start_commit <- function(project_name) { + + conf_path <- paste0("conf/", project_name, ".yml") + conf <- yaml::read_yaml(conf_path) + + start_commit <- conf[["analysis"]][["window"]][["start_commit"]] + return(start_commit) +} + +#' Get Window End Commit +#' +#' Gets the analysis window end commit +#' +#' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") +#' @return the analysis window size +#' @export +get_project_window_end_commit <- function(project_name) { + + conf_path <- paste0("conf/", project_name, ".yml") + conf <- yaml::read_yaml(conf_path) + + end_commit <- conf[["analysis"]][["window"]][["end_commit"]] + return(end_commit) +} + +#' Get Analysis Window Size +#' +#' Gets the analysis window size +#' +#' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") +#' @return the analysis window size +#' @export +get_project_window_size <- function(project_name) { + + conf_path <- paste0("conf/", project_name, ".yml") + conf <- yaml::read_yaml(conf_path) + + window_size <- conf[["analysis"]][["window"]][["size_days"]] + return(window_size) +} From a7b719f555b0db47cd44739dc5c101539e762d08 Mon Sep 17 00:00:00 2001 From: anthonyjlau Date: Wed, 27 Mar 2024 17:37:51 -1000 Subject: [PATCH 04/32] i #230 updated comments, added catches I normalized the comments by having it follow a format. I added if wrappers to catch null values. --- R/config.R | 345 +++++++++++++++++++++++++++++++++++------------------ 1 file changed, 230 insertions(+), 115 deletions(-) diff --git a/R/config.R b/R/config.R index 6fa8fb3..f88deb3 100644 --- a/R/config.R +++ b/R/config.R @@ -6,9 +6,6 @@ ############## Configuration File Getter Functions ############## - -#### tools.yml #### - #' Get tools.yml #' #' @return the tools.yml file @@ -26,24 +23,28 @@ get_tools <- function() { #' @return the tool path from tools.yml #' @export get_tools_project <- function(tool_name) { + tool <- yaml::read_yaml("tools.yml") tool_path <- tool[[tool_name]] return(tool_path) } - -#### Get Functions #### - #' Get config.yml File #' -#' Gets the configuration file for any project, as long as it exists +#' Gets the configuration file for any project #' #' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") -#' @return the config yaml file +#' @return the config yml file #' @export get_conf <- function(project_name) { + conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) - return(conf) + + if(is.null(conf)) { + stop("This project configuration file is not valid.") + } else { + return(conf) + } } #' Get Project Git Repo Path @@ -57,18 +58,12 @@ get_project_git_repo_path <- function(project_name) { conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) - # check to make sure the path exists - if (!is.null(conf[["version_control"]])) { - if (!is.null(conf[["version_control"]][["log"]])) { + git_repo_path <- conf[["version_control"]][["log"]] - git_repo_path <- conf[["version_control"]][["log"]] - return(git_repo_path) - - } else { - stop("The \"version_control\" field does not exist in the configuration file.") - } + if(is.null(git_repo_path)) { + stop("This field does not exist in the configuration file.") } else { - stop("The \"log\" field does not exist in the configuration file.") + return(git_repo_path) } } @@ -87,11 +82,17 @@ get_project_git_branch <- function(project_name) { conf <- yaml::read_yaml(conf_path) git_branch <- conf[["version_control"]][["branch"]][branch_index] + + if(is.null(git_branch)) { + stop("This field does not exist in the configuration file.") + } else { + return(git_branch) + } } #' Get File Extensions #' -#' Gets the file extensions from the config file for filtering +#' Gets the file extensions for filtering #' #' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") #' @return the file extensions @@ -102,12 +103,17 @@ get_project_file_extensions <- function(project_name) { conf <- yaml::read_yaml(conf_path) file_extensions <- conf[["filter"]][["keep_filepaths_ending_with"]] - return(file_extensions) + + if(is.null(file_extensions)) { + stop("This field does not exist in the configuration file.") + } else { + return(file_extensions) + } } #' Get Substring Filepath #' -#' Gets the substring filepaths from the config file for filtering +#' Gets the substring filepaths for filtering #' #' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") #' @return the substring filepaths @@ -118,12 +124,17 @@ get_project_substring_filepath <- function(project_name) { conf <- yaml::read_yaml(conf_path) substring_filepath <- conf[["filter"]][["remove_filepaths_containing"]] - return(substring_filepath) + + if(is.null(substring_filepath)) { + stop("This field does not exist in the configuration file.") + } else { + return(substring_filepath) + } } #' Get Filter Commit Size #' -#' Gets the commit size to filter out from the config file +#' Gets the commit size to filter out #' #' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") #' @return the commit size to filter out @@ -134,7 +145,12 @@ get_project_filter_commit_size <- function(project_name) { conf <- yaml::read_yaml(conf_path) filter_commit_size <- conf[["filter"]][["remove_filepaths_on_commit_size_greather_than"]] - return(filter_commit_size) + + if(is.null(filter_commit_size)) { + stop("This field does not exist in the configuration file.") + } else { + return(filter_commit_size) + } } #' Get Uctags Line Types @@ -142,7 +158,7 @@ get_project_filter_commit_size <- function(project_name) { #' Gets the Uctags keep lines type #' #' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") -#' @return the uctags line type from the project config file +#' @return the uctags line type #' @export get_project_uctags_line_types <- function(project_name) { @@ -150,12 +166,17 @@ get_project_uctags_line_types <- function(project_name) { conf <- yaml::read_yaml(conf_path) kinds <- conf[["tool"]][["uctags"]][["keep_lines_type"]] - return(kinds) + + if(is.null(kinds)) { + stop("This field does not exist in the configuration file.") + } else { + return(kinds) + } } #' Get Code Language #' -#' Gets the code language of the project from the project config file +#' Gets the code language of the project #' #' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") #' @return the code language @@ -166,12 +187,17 @@ get_project_code_language <- function(project_name) { conf <- yaml::read_yaml(conf_path) language <- conf[["tool"]][["depends"]][["code_language"]] - return (language) + + if(is.null(language)) { + stop("This field does not exist in the configuration file.") + } else { + return(language) + } } #' Get Keep Dependencies Type #' -#' Gets the type of dependencies to keep from the config file +#' Gets the type of dependencies to keep #' #' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") #' @return the types of dependencies to keep @@ -182,55 +208,76 @@ get_project_keep_dependencies_type <- function(project_name) { conf <- yaml::read_yaml(conf_path) keep_dependencies_type <- conf[["tool"]][["depends"]][["keep_dependencies_type"]] - return (keep_dependencies_type) + + if(is.null(keep_dependencies_type)) { + stop("This field does not exist in the configuration file.") + } else { + return(keep_dependencies_type) + } } -#' Get Issue Id Regex + +#' Get DV8 Project Folder Path #' -#' Gets the issue ID regex on commit messages from the project config file +#' Gets the dv8 project folder path #' #' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") -#' @return the issue id regex +#' @return the dv8 project folder path #' @export -get_project_issue_id_regex <- function(project_name) { +get_project_dv8_folder_path <- function(project_name) { conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) - issue_id_regex <- conf[["commit_message_id_regex"]][["issue_id"]] - return(issue_id_regex) + project_path <- conf[["tool"]][["dv8"]][["folder_path"]] + + if(is.null(project_path)) { + stop("This field does not exist in the configuration file.") + } else { + return(project_path) + } } -#' Get Jira Issues Path +#' Get Flaws Params #' -#' Gets the path to the Jira issues from the project config file +#' Gets the architectural flaws thresholds #' #' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") -#' @return the Jira issues path +#' @return the flaws params #' @export -get_project_jira_issues_path <- function(project_name) { +get_project_dv8_flaws_params <- function(project_name) { conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) - jira_issues_path <- conf[["issue_tracker"]][["jira"]][["issues"]] - return(jira_issues_path) + flaws_params <- conf[["tool"]][["dv8"]][["architectural_flaws"]] + + if(is.null(flaws_params)) { + stop("This field does not exist in the configuration file.") + } else { + return(flaws_params) + } } -#' Get Jira Issues Comments Path +#' Get Issue Id Regex #' -#' Gets the path to the Jira issues with comments from the project config file +#' Gets the issue ID regex on commit messages #' #' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") -#' @return the Jira issues comments path +#' @return the issue id regex #' @export -get_project_jira_issues_comments_path <- function(project_name) { +get_project_issue_id_regex <- function(project_name) { conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) - jira_issue_comments_path <- conf[["issue_tracker"]][["jira"]][["issue_comments"]] - return(jira_issue_comments_path) + issue_id_regex <- conf[["commit_message_id_regex"]][["issue_id"]] + + if(is.null(issue_id_regex)) { + stop("This field does not exist in the configuration file.") + } else { + return(issue_id_regex) + } } #' Get SrcML Filepath @@ -246,7 +293,12 @@ get_project_srcml_filepath <- function(project_name) { conf <- yaml::read_yaml(conf_path) srcml_filepath <- conf[["tool"]][["srcml"]][["srcml_path"]] - return(srcml_filepath) + + if(is.null(srcml_filepath)) { + stop("This field does not exist in the configuration file.") + } else { + return(srcml_filepath) + } } #' Get Pattern4 Class Folder Path @@ -262,7 +314,12 @@ get_project_pattern4_folder_path <- function(project_name) { conf <- yaml::read_yaml(conf_path) class_folder_path <- conf[["tool"]][["pattern4"]][["class_folder_path"]] - return(class_folder_path) + + if(is.null(class_folder_path)) { + stop("This field does not exist in the configuration file.") + } else { + return(class_folder_path) + } } #' Get Pattern4 Output Filepath @@ -272,18 +329,23 @@ get_project_pattern4_folder_path <- function(project_name) { #' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") #' @return the output filepath #' @export -get_project_pattern4_folder_path <- function(project_name) { +get_project_pattern4_filepath <- function(project_name) { conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) pattern4_output_filepath <- conf[["tool"]][["pattern4"]][["output_filepath"]] - return(pattern4_output_filepath) + + if(is.null(pattern4_output_filepath)) { + stop("This field does not exist in the configuration file.") + } else { + return(pattern4_output_filepath) + } } #' Get Topics #' -#' Gets the topics and keywords +#' Gets the topics and keywords for analysis #' #' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") #' @return the topics @@ -294,7 +356,12 @@ get_project_topics <- function(project_name) { conf <- yaml::read_yaml(conf_path) topics <- conf[["analysis"]][["topics"]] - return(topics) + + if(is.null(topics)) { + stop("This field does not exist in the configuration file.") + } else { + return(topics) + } } #' Get Mbox Save Path @@ -310,7 +377,12 @@ get_project_mbox_path <- function(project_name) { conf <- yaml::read_yaml(conf_path) mbox_path <- conf[["mailing_list"]][["mbox"]] - return(mbox_path) + + if(is.null(mbox_path)) { + stop("This field does not exist in the configuration file.") + } else { + return(mbox_path) + } } #' Get Mbox Domain @@ -325,8 +397,13 @@ get_project_mbox_domain <- function(project_name) { conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) - mod_mbox_url <- conf[["mailing_list"]][["domain"]] - return(mbox_domain) + mod_mbox_domain <- conf[["mailing_list"]][["domain"]] + + if(is.null(mod_mbox_domain)) { + stop("This field does not exist in the configuration file.") + } else { + return(mod_mbox_domain) + } } #' Get Mbox Lists @@ -342,39 +419,12 @@ get_project_mbox_list_key <- function(project_name) { conf <- yaml::read_yaml(conf_path) mailing_list <- conf[["mailing_list"]][["list_key"]] - return(mbox_domain) -} -#' Get DV8 Project Folder Path -#' -#' Gets the dv8 project folder path from the project config file -#' -#' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") -#' @return the dv8 project folder path -#' @export -get_project_dv8_folder_path <- function(project_name) { - - conf_path <- paste0("conf/", project_name, ".yml") - conf <- yaml::read_yaml(conf_path) - - project_path <- conf[["tool"]][["dv8"]][["folder_path"]] - return(project_path) -} - -#' Get Flaws Params -#' -#' Gets the architectural flaws thresholds -#' -#' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") -#' @return the flaws params -#' @export -get_project_dv8_flaws_params <- function(project_name) { - - conf_path <- paste0("conf/", project_name, ".yml") - conf <- yaml::read_yaml(conf_path) - - flaws_params <- conf[["tool"]][["dv8"]][["architectural_flaws"]] - return(flaws_params) + if(is.null(mailing_list)) { + stop("This field does not exist in the configuration file.") + } else { + return(mailing_list) + } } #' Get GitHub Project Owner @@ -390,7 +440,12 @@ get_project_github_owner <- function(project_name) { conf <- yaml::read_yaml(conf_path) owner <- conf[["issue_tracker"]][["github"]][["owner"]] - return(flaws_params) + + if(is.null(owner)) { + stop("This field does not exist in the configuration file.") + } else { + return(owner) + } } #' Get GitHub Repository @@ -406,7 +461,12 @@ get_project_github_repo_name <- function(project_name) { conf <- yaml::read_yaml(conf_path) repo <- conf[["issue_tracker"]][["github"]][["repo"]] - return(repo) + + if(is.null(repo)) { + stop("This field does not exist in the configuration file.") + } else { + return(repo) + } } #' Get GitHub Replies Save Path @@ -422,12 +482,17 @@ get_project_github_replies_save_path <- function(project_name) { conf <- yaml::read_yaml(conf_path) save_path <- path.expand(conf[["issue_tracker"]][["github"]][["replies"]]) - return(save_path) + + if(is.null(save_path)) { + stop("This field does not exist in the configuration file.") + } else { + return(save_path) + } } #' Get Jira Issue Tracker Domain #' -#' Gets the Jira issue tracker domain from the config file +#' Gets the Jira issue tracker domain #' #' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") #' @return the issue tracker domain @@ -438,12 +503,17 @@ get_project_jira_issue_tracker_domain <- function(project_name) { conf <- yaml::read_yaml(conf_path) domain <- conf[["issue_tracker"]][["jira"]][["domain"]] - return(domain) + + if(is.null(domain)) { + stop("This field does not exist in the configuration file.") + } else { + return(domain) + } } #' Get Jira Issue Tracker Project Key #' -#' Gets the Jira issue tracker project key from the config file +#' Gets the Jira issue tracker project key #' #' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") #' @return the issue tracker project key @@ -454,39 +524,54 @@ get_project_jira_issue_tracker_key <- function(project_name) { conf <- yaml::read_yaml(conf_path) key <- conf[["issue_tracker"]][["jira"]][["project_key"]] - return(domain) + + if(is.null(key)) { + stop("This field does not exist in the configuration file.") + } else { + return(key) + } } -#' Get Jira Issue Tracker Issues Path +#' Get Jira Issues Path #' -#' Gets the local path of the Jira issue tracker issues in the config file +#' Gets the path to the Jira issues #' #' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") -#' @return the local issue tracker issues path +#' @return the Jira issues path #' @export -get_project_jira_issue_save_path <- function(project_name) { +get_project_jira_issues_path <- function(project_name) { conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) - save_path_issue <- conf[["issue_tracker"]][["jira"]][["issues"]] - return(save_path_issue) + jira_issues_path <- conf[["issue_tracker"]][["jira"]][["issues"]] + + if(is.null(jira_issues_path)) { + stop("This field does not exist in the configuration file.") + } else { + return(jira_issues_path) + } } -#' Get Jira Issue Tracker Issue Comments Path +#' Get Jira Issues Comments Path #' -#' Gets the local path of the Jira issue tracker issues with comments in the config file +#' Gets the path to the Jira issues with comments #' #' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") -#' @return the local issue tracker issues with comments path +#' @return the Jira issues comments path #' @export -get_project_jira_issue_comments_save_path <- function(project_name) { +get_project_jira_issues_comments_path <- function(project_name) { conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) - save_path_issue_comments <- conf[["issue_tracker"]][["jira"]][["issue_comments"]] - return(save_path) + jira_issue_comments_path <- conf[["issue_tracker"]][["jira"]][["issue_comments"]] + + if(is.null(jira_issue_comments_path)) { + stop("This field does not exist in the configuration file.") + } else { + return(jira_issue_comments_path) + } } #' Get Nvd Feed Folder Path @@ -502,7 +587,12 @@ get_project_nvdfeed_folder_path <- function(project_name) { conf <- yaml::read_yaml(conf_path) nvdfeed_folder_path <- conf[["vulnerabilities"]][["nvd_feed"]] - return(nvdfeed_folder_path) + + if(is.null(nvdfeed_folder_path)) { + stop("This field does not exist in the configuration file.") + } else { + return(nvdfeed_folder_path) + } } #' Get CVE ID Regex @@ -518,7 +608,12 @@ get_project_cveid_regex <- function(project_name) { conf <- yaml::read_yaml(conf_path) cveid_regex <- conf[["commit_message_id_regex"]][["cve_id"]] - return(cveid_regex) + + if(is.null(cveid_regex)) { + stop("This field does not exist in the configuration file.") + } else { + return(cveid_regex) + } } #' Get Enumeration Commit @@ -536,7 +631,12 @@ get_project_enumeration_commit <- function(project_name, commit_index) { conf <- yaml::read_yaml(conf_path) commit <- conf[["analysis"]][["enumeration"]][["commit"]][commit_index] - return(commit) + + if(is.null(commit)) { + stop("This field does not exist in the configuration file.") + } else { + return(commit) + } } #' Get Window Start Commit @@ -552,7 +652,12 @@ get_project_window_start_commit <- function(project_name) { conf <- yaml::read_yaml(conf_path) start_commit <- conf[["analysis"]][["window"]][["start_commit"]] - return(start_commit) + + if(is.null(start_commit)) { + stop("This field does not exist in the configuration file.") + } else { + return(start_commit) + } } #' Get Window End Commit @@ -568,7 +673,12 @@ get_project_window_end_commit <- function(project_name) { conf <- yaml::read_yaml(conf_path) end_commit <- conf[["analysis"]][["window"]][["end_commit"]] - return(end_commit) + + if(is.null(end_commit)) { + stop("This field does not exist in the configuration file.") + } else { + return(end_commit) + } } #' Get Analysis Window Size @@ -584,5 +694,10 @@ get_project_window_size <- function(project_name) { conf <- yaml::read_yaml(conf_path) window_size <- conf[["analysis"]][["window"]][["size_days"]] - return(window_size) + + if(is.null(window_size)) { + stop("This field does not exist in the configuration file.") + } else { + return(window_size) + } } From a16ab106b5d6bac7b58204b11e5325f76a06cf5f Mon Sep 17 00:00:00 2001 From: anthonyjlau Date: Tue, 2 Apr 2024 18:32:31 -1000 Subject: [PATCH 05/32] i #230 updated jira and mbox funcs to rtn a list I changed the documentation of the JIRA functions to return a list of project keys and storage paths (HADOOP case). I also changed the documentation of the mbox function to return a list of storage paths. --- R/config.R | 56 +++++++++++++++++++++++++----------------------------- 1 file changed, 26 insertions(+), 30 deletions(-) diff --git a/R/config.R b/R/config.R index f88deb3..a7982ff 100644 --- a/R/config.R +++ b/R/config.R @@ -67,21 +67,19 @@ get_project_git_repo_path <- function(project_name) { } } -#' Get Project Git Branch +#' Get Project Git Branches #' -#' Gets a git branch of the project. Since there may be multiple branches for the project, a specific -#' branch must be specified. The order of the branch list can be viewed in the config file. +#' Gets a list of the git branches of the project #' #' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") -#' @param branch_index the index of the branch -#' @return the git branch +#' @return the git branches as a list #' @export -get_project_git_branch <- function(project_name) { +get_project_git_branches <- function(project_name) { conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) - git_branch <- conf[["version_control"]][["branch"]][branch_index] + git_branch <- conf[["version_control"]][["branch"]] if(is.null(git_branch)) { stop("This field does not exist in the configuration file.") @@ -364,14 +362,14 @@ get_project_topics <- function(project_name) { } } -#' Get Mbox Save Path +#' Get Mbox Save Paths #' -#' Gets the local mbox save path from the project config file +#' Gets the list of local paths to store Mbox data #' #' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") -#' @return the local mbox save path +#' @return the list of mbox paths #' @export -get_project_mbox_path <- function(project_name) { +get_project_mbox_paths <- function(project_name) { conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) @@ -511,14 +509,14 @@ get_project_jira_issue_tracker_domain <- function(project_name) { } } -#' Get Jira Issue Tracker Project Key +#' Get Jira Issue Tracker Project Keys #' -#' Gets the Jira issue tracker project key +#' Gets the list of Jira issue tracker project keys #' #' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") -#' @return the issue tracker project key +#' @return the issue tracker project keys #' @export -get_project_jira_issue_tracker_key <- function(project_name) { +get_project_jira_project_keys <- function(project_name) { conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) @@ -532,14 +530,14 @@ get_project_jira_issue_tracker_key <- function(project_name) { } } -#' Get Jira Issues Path +#' Get Jira Issues Paths #' -#' Gets the path to the Jira issues +#' Gets the list of local paths to store Jira issues #' #' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") -#' @return the Jira issues path +#' @return the list of Jira issues paths #' @export -get_project_jira_issues_path <- function(project_name) { +get_project_jira_issues_paths <- function(project_name) { conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) @@ -553,14 +551,14 @@ get_project_jira_issues_path <- function(project_name) { } } -#' Get Jira Issues Comments Path +#' Get Jira Issues Comments Paths #' -#' Gets the path to the Jira issues with comments +#' Gets the list of local paths to store Jira issues with comments #' #' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") -#' @return the Jira issues comments path +#' @return the list of Jira issues comments paths #' @export -get_project_jira_issues_comments_path <- function(project_name) { +get_project_jira_issues_comments_paths <- function(project_name) { conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) @@ -616,21 +614,19 @@ get_project_cveid_regex <- function(project_name) { } } -#' Get Enumeration Commit +#' Get Enumeration Commits #' -#' Gets the enumerated commit intervals for analysis. Since there may be multiple commits for the project, -#' a specific commit must be specified. The order of the commit list can be viewed in the config file. +#' Gets the list of enumerated commit intervals for analysis. #' #' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") -#' @param commit_index the index of the commit in the list -#' @return the commit interval +#' @return the commit intervals as a list #' @export -get_project_enumeration_commit <- function(project_name, commit_index) { +get_project_enumeration_commits <- function(project_name) { conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) - commit <- conf[["analysis"]][["enumeration"]][["commit"]][commit_index] + commit <- conf[["analysis"]][["enumeration"]][["commit"]] if(is.null(commit)) { stop("This field does not exist in the configuration file.") From f2497092b2aae106d951a855210d94329ddef6db Mon Sep 17 00:00:00 2001 From: anthonyjlau Date: Wed, 10 Apr 2024 02:30:36 -1000 Subject: [PATCH 06/32] i #230 added the project_key_index for Jira --- R/config.R | 71 +++++++++++++++++++++++++++++++++++------------------- 1 file changed, 46 insertions(+), 25 deletions(-) diff --git a/R/config.R b/R/config.R index a7982ff..b25f34d 100644 --- a/R/config.R +++ b/R/config.R @@ -69,7 +69,7 @@ get_project_git_repo_path <- function(project_name) { #' Get Project Git Branches #' -#' Gets a list of the git branches of the project +#' Gets the list of git branches of the project #' #' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") #' @return the git branches as a list @@ -488,19 +488,40 @@ get_project_github_replies_save_path <- function(project_name) { } } -#' Get Jira Issue Tracker Domain +#' Get Jira Issue Tracker Project Keys #' -#' Gets the Jira issue tracker domain +#' Gets the list of Jira issue tracker project keys #' #' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") -#' @return the issue tracker domain +#' @return the list of issue tracker project keys +#' @export +get_project_jira_project_keys <- function(project_name) { + + conf_path <- paste0("conf/", project_name, ".yml") + conf <- yaml::read_yaml(conf_path) + + key <- conf[["issue_tracker"]][["jira"]][["project_key"]] + + if(is.null(key)) { + stop("This field does not exist in the configuration file.") + } else { + return(key) + } +} + +#' Get Jira Project Domain +#' +#' Gets the Jira domain for a specific project key index +#' +#' @param project_key_index the name of the index of theproject key (e.g. "project_key_1" or "project_key_2") +#' @return the Jira domain of the project key index #' @export -get_project_jira_issue_tracker_domain <- function(project_name) { +get_project_jira_domain <- function(project_key) { conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) - domain <- conf[["issue_tracker"]][["jira"]][["domain"]] + domain <- conf[["issue_tracker"]][["jira"]][[project_key]][["domain"]] if(is.null(domain)) { stop("This field does not exist in the configuration file.") @@ -509,40 +530,40 @@ get_project_jira_issue_tracker_domain <- function(project_name) { } } -#' Get Jira Issue Tracker Project Keys +#' Get Jira Project Key Name #' -#' Gets the list of Jira issue tracker project keys +#' Gets the project key name for a specific project key index #' -#' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") -#' @return the issue tracker project keys +#' @param project_key_index the name of the index of theproject key (e.g. "project_key_1" or "project_key_2") +#' @return the project key name #' @export -get_project_jira_project_keys <- function(project_name) { +get_project_jira_project_key_name <- function(project_key_index) { conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) - key <- conf[["issue_tracker"]][["jira"]][["project_key"]] + name <- conf[["issue_tracker"]][["jira"]][[project_key_index]][["project_key"]] - if(is.null(key)) { + if(is.null(jira_issues_path)) { stop("This field does not exist in the configuration file.") } else { - return(key) + return(jira_issues_path) } } -#' Get Jira Issues Paths +#' Get Jira Issues Path #' -#' Gets the list of local paths to store Jira issues +#' Gets the local path to store Jira issues for a specific project key index #' -#' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") -#' @return the list of Jira issues paths +#' @param project_key_index the name of the index of theproject key (e.g. "project_key_1" or "project_key_2") +#' @return the Jira issue path #' @export -get_project_jira_issues_paths <- function(project_name) { +get_project_jira_issues_paths <- function(project_key_index) { conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) - jira_issues_path <- conf[["issue_tracker"]][["jira"]][["issues"]] + jira_issues_path <- conf[["issue_tracker"]][["jira"]][[project_key_index]][["issues"]] if(is.null(jira_issues_path)) { stop("This field does not exist in the configuration file.") @@ -551,19 +572,19 @@ get_project_jira_issues_paths <- function(project_name) { } } -#' Get Jira Issues Comments Paths +#' Get Jira Issues Comments Path #' -#' Gets the list of local paths to store Jira issues with comments +#' Gets the local path to store Jira issues with comments for a specific project key index #' -#' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") +#' @param project_key_index the name of the index of theproject key (e.g. "project_key_1" or "project_key_2") #' @return the list of Jira issues comments paths #' @export -get_project_jira_issues_comments_paths <- function(project_name) { +get_project_jira_issues_comments_paths <- function(project_key_index) { conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) - jira_issue_comments_path <- conf[["issue_tracker"]][["jira"]][["issue_comments"]] + jira_issue_comments_path <- conf[["issue_tracker"]][["jira"]][[project_key_index]][["issue_comments"]] if(is.null(jira_issue_comments_path)) { stop("This field does not exist in the configuration file.") From f6e8e319112f676d705362a62932d39fa78abcd6 Mon Sep 17 00:00:00 2001 From: anthonyjlau Date: Wed, 10 Apr 2024 02:39:21 -1000 Subject: [PATCH 07/32] i #230 added function to return GitHub keys --- R/config.R | 27 ++++++++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/R/config.R b/R/config.R index b25f34d..9263ade 100644 --- a/R/config.R +++ b/R/config.R @@ -72,7 +72,7 @@ get_project_git_repo_path <- function(project_name) { #' Gets the list of git branches of the project #' #' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") -#' @return the git branches as a list +#' @return the list of git branches #' @export get_project_git_branches <- function(project_name) { @@ -425,6 +425,27 @@ get_project_mbox_list_key <- function(project_name) { } } +#' Get GitHub Project Keys +#' +#' Gets the list of GitHub project keys +#' +#' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") +#' @return the list of GitHub project keys +#' @export +get_project_github_project_keys <- function(project_name) { + + conf_path <- paste0("conf/", project_name, ".yml") + conf <- yaml::read_yaml(conf_path) + + keys <- conf[["issue_tracker"]][["github"]] + + if(is.null(keys)) { + stop("This field does not exist in the configuration file.") + } else { + return(keys) + } +} + #' Get GitHub Project Owner #' #' Gets the owner of the GitHub project @@ -544,10 +565,10 @@ get_project_jira_project_key_name <- function(project_key_index) { name <- conf[["issue_tracker"]][["jira"]][[project_key_index]][["project_key"]] - if(is.null(jira_issues_path)) { + if(is.null(name)) { stop("This field does not exist in the configuration file.") } else { - return(jira_issues_path) + return(name) } } From 42fee3429f2d5a7028cd797f627d7f15b3592018 Mon Sep 17 00:00:00 2001 From: anthonyjlau Date: Sat, 27 Apr 2024 16:26:13 -1000 Subject: [PATCH 08/32] i #288 added changes to github, mail structure --- R/config.R | 304 ++++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 233 insertions(+), 71 deletions(-) diff --git a/R/config.R b/R/config.R index 9263ade..8bdae9a 100644 --- a/R/config.R +++ b/R/config.R @@ -54,7 +54,7 @@ get_conf <- function(project_name) { #' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") #' @return the local git repo path #' @export -get_project_git_repo_path <- function(project_name) { +get_git_repo_path <- function(project_name) { conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) @@ -74,7 +74,7 @@ get_project_git_repo_path <- function(project_name) { #' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") #' @return the list of git branches #' @export -get_project_git_branches <- function(project_name) { +get_git_branches <- function(project_name) { conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) @@ -95,7 +95,7 @@ get_project_git_branches <- function(project_name) { #' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") #' @return the file extensions #' @export -get_project_file_extensions <- function(project_name) { +get_file_extensions <- function(project_name) { conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) @@ -116,7 +116,7 @@ get_project_file_extensions <- function(project_name) { #' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") #' @return the substring filepaths #' @export -get_project_substring_filepath <- function(project_name) { +get_substring_filepath <- function(project_name) { conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) @@ -137,7 +137,7 @@ get_project_substring_filepath <- function(project_name) { #' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") #' @return the commit size to filter out #' @export -get_project_filter_commit_size <- function(project_name) { +get_filter_commit_size <- function(project_name) { conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) @@ -158,7 +158,7 @@ get_project_filter_commit_size <- function(project_name) { #' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") #' @return the uctags line type #' @export -get_project_uctags_line_types <- function(project_name) { +get_uctags_line_types <- function(project_name) { conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) @@ -179,7 +179,7 @@ get_project_uctags_line_types <- function(project_name) { #' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") #' @return the code language #' @export -get_project_code_language <- function(project_name) { +get_code_language <- function(project_name) { conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) @@ -200,7 +200,7 @@ get_project_code_language <- function(project_name) { #' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") #' @return the types of dependencies to keep #' @export -get_project_keep_dependencies_type <- function(project_name) { +get_keep_dependencies_type <- function(project_name) { conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) @@ -222,7 +222,7 @@ get_project_keep_dependencies_type <- function(project_name) { #' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") #' @return the dv8 project folder path #' @export -get_project_dv8_folder_path <- function(project_name) { +get_dv8_folder_path <- function(project_name) { conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) @@ -243,7 +243,7 @@ get_project_dv8_folder_path <- function(project_name) { #' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") #' @return the flaws params #' @export -get_project_dv8_flaws_params <- function(project_name) { +get_dv8_flaws_params <- function(project_name) { conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) @@ -264,7 +264,7 @@ get_project_dv8_flaws_params <- function(project_name) { #' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") #' @return the issue id regex #' @export -get_project_issue_id_regex <- function(project_name) { +get_issue_id_regex <- function(project_name) { conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) @@ -285,7 +285,7 @@ get_project_issue_id_regex <- function(project_name) { #' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") #' @return the srcml filepath #' @export -get_project_srcml_filepath <- function(project_name) { +get_srcml_filepath <- function(project_name) { conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) @@ -306,7 +306,7 @@ get_project_srcml_filepath <- function(project_name) { #' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") #' @return the class folder path #' @export -get_project_pattern4_folder_path <- function(project_name) { +get_pattern4_folder_path <- function(project_name) { conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) @@ -327,7 +327,7 @@ get_project_pattern4_folder_path <- function(project_name) { #' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") #' @return the output filepath #' @export -get_project_pattern4_filepath <- function(project_name) { +get_pattern4_filepath <- function(project_name) { conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) @@ -348,7 +348,7 @@ get_project_pattern4_filepath <- function(project_name) { #' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") #' @return the topics #' @export -get_project_topics <- function(project_name) { +get_topics <- function(project_name) { conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) @@ -362,19 +362,41 @@ get_project_topics <- function(project_name) { } } -#' Get Mbox Save Paths +#' Get Mailing List Mod Mbox Key Indexes #' -#' Gets the list of local paths to store Mbox data +#' Gets the list of mod mbox mail key indexes #' #' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") -#' @return the list of mbox paths +#' @return the list of mod mbox mail key indexes #' @export -get_project_mbox_paths <- function(project_name) { +get_mbox_key_indexes <- function(project_name) { conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) - mbox_path <- conf[["mailing_list"]][["mbox"]] + mbox_keys <- conf[["mailing_list"]][["mod_mbox"]] + + if(is.null(mbox_keys)) { + stop("This field does not exist in the configuration file.") + } else { + return(mbox_keys) + } +} + +#' Get Mbox Save Path +#' +#' Gets the local path to store Mbox data for a specific project key index +#' +#' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") +#' @param project_key_index the name of the index of the project key (e.g. "project_key_1" or "project_key_2") +#' @return the mbox path +#' @export +get_mbox_path <- function(project_name, project_key_index) { + + conf_path <- paste0("conf/", project_name, ".yml") + conf <- yaml::read_yaml(conf_path) + + mbox_path <- conf[["mailing_list"]][["mod_mbox"]][[project_key_index]][["mbox"]] if(is.null(mbox_path)) { stop("This field does not exist in the configuration file.") @@ -383,40 +405,42 @@ get_project_mbox_paths <- function(project_name) { } } -#' Get Mbox Domain +#' Get Mbox Archive URL #' -#' Gets the domain of the mailing list archive +#' Gets the Mbox archive URL for a specific project key index #' #' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") +#' @param project_key_index the name of the index of the project key (e.g. "project_key_1" or "project_key_2") #' @return the domain of the mailing list archive #' @export -get_project_mbox_domain <- function(project_name) { +get_mbox_domain <- function(project_name, project_key_index) { conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) - mod_mbox_domain <- conf[["mailing_list"]][["domain"]] + mbox_url <- conf[["mailing_list"]][["mod_mbox"]][[project_key_index]][["archive_url"]] - if(is.null(mod_mbox_domain)) { + if(is.null(mbox_url)) { stop("This field does not exist in the configuration file.") } else { - return(mod_mbox_domain) + return(mbox_url) } } -#' Get Mbox Lists +#' Get Mod Mbox Mailing List #' -#' Gets the list keys of the domain to be used +#' Gets the Mbox mailing list for a specific project key index #' #' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") -#' @return the domain of the mailing list archive +#' @param project_key_index the name of the index of the project key (e.g. "project_key_1" or "project_key_2") +#' @return the mbox mailing list #' @export -get_project_mbox_list_key <- function(project_name) { +get_mbox_mailing_list <- function(project_name, project_key_index) { conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) - mailing_list <- conf[["mailing_list"]][["list_key"]] + mailing_list <- conf[["mailing_list"]][["mod_mbox"]][[project_key_index]][["mailing_list"]] if(is.null(mailing_list)) { stop("This field does not exist in the configuration file.") @@ -425,14 +449,36 @@ get_project_mbox_list_key <- function(project_name) { } } -#' Get GitHub Project Keys +#' Get Mod Mbox Archive Type +#' +#' Gets the Mbox archive type for a specific project key index +#' +#' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") +#' @param project_key_index the name of the index of the project key (e.g. "project_key_1" or "project_key_2") +#' @return the mbox mailing list +#' @export +get_mbox_mailing_list <- function(project_name, project_key_index) { + + conf_path <- paste0("conf/", project_name, ".yml") + conf <- yaml::read_yaml(conf_path) + + archive_type <- conf[["mailing_list"]][["mod_mbox"]][[project_key_index]][["archive_type"]] + + if(is.null(archive_type)) { + stop("This field does not exist in the configuration file.") + } else { + return(archive_type) + } +} + +#' Get GitHub Issue Tracker Project Key Indexes #' -#' Gets the list of GitHub project keys +#' Gets the list of GitHub issue tracker project key indexes #' #' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") -#' @return the list of GitHub project keys +#' @return the list of issue tracker project keys #' @export -get_project_github_project_keys <- function(project_name) { +get_github_key_indexes <- function(project_name) { conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) @@ -446,19 +492,20 @@ get_project_github_project_keys <- function(project_name) { } } -#' Get GitHub Project Owner +#' Get GitHub Owner #' -#' Gets the owner of the GitHub project +#' Gets the owner of the GitHub repository for a specific project key index #' #' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") +#' @param project_key_index the name of the index of the project key (e.g. "project_key_1" or "project_key_2") #' @return the GitHub project owner name #' @export -get_project_github_owner <- function(project_name) { +get_github_owner <- function(project_name, project_key_index) { conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) - owner <- conf[["issue_tracker"]][["github"]][["owner"]] + owner <- conf[["issue_tracker"]][["github"]][[project_key_index]][["owner"]] if(is.null(owner)) { stop("This field does not exist in the configuration file.") @@ -469,17 +516,18 @@ get_project_github_owner <- function(project_name) { #' Get GitHub Repository #' -#' Gets the name of the GitHub repository +#' Gets the name of the GitHub repository for a specific project key index #' #' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") -#' @return the GitHub repository name +#' @param project_key_index the name of the index of the project key (e.g. "project_key_1" or "project_key_2") +#' @return the GitHub repository #' @export -get_project_github_repo_name <- function(project_name) { +get_github_repo <- function(project_name, project_key_index) { conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) - repo <- conf[["issue_tracker"]][["github"]][["repo"]] + repo <- conf[["issue_tracker"]][["github"]][[project_key_index]][["repo"]] if(is.null(repo)) { stop("This field does not exist in the configuration file.") @@ -488,45 +536,134 @@ get_project_github_repo_name <- function(project_name) { } } -#' Get GitHub Replies Save Path +#' Get GitHub Issue Save Path +#' +#' Gets the local save path for GitHub issues for a specific project key index +#' +#' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") +#' @param project_key_index the name of the index of the project key (e.g. "project_key_1" or "project_key_2") +#' @return the local save path for GitHub issues +#' @export +get_github_issue_path <- function(project_name, project_key_index) { + + conf_path <- paste0("conf/", project_name, ".yml") + conf <- yaml::read_yaml(conf_path) + + issue_path <- conf[["issue_tracker"]][["github"]][[project_key_index]][["issue"]] + + if(is.null(issue_path)) { + stop("This field does not exist in the configuration file.") + } else { + return(issue_path) + } +} + +#' Get GitHub Issue Or PR Comment Save Path #' -#' Gets the local save path for the GitHub replies +#' Gets the local save path for GitHub Issues or PR Comments for a specific project key index #' #' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") -#' @return the local save path for GitHub replies +#' @param project_key_index the name of the index of the project key (e.g. "project_key_1" or "project_key_2") +#' @return the local save path for Github Issues or PR comments #' @export -get_project_github_replies_save_path <- function(project_name) { +get_github_issue_or_pr_comment_path <- function(project_name, project_key_index) { conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) - save_path <- path.expand(conf[["issue_tracker"]][["github"]][["replies"]]) + issue_or_pr_comment_path <- conf[["issue_tracker"]][["github"]][[project_key_index]][["issue_or_pr_comment"]] - if(is.null(save_path)) { + if(is.null(issue_or_pr_comment_path)) { stop("This field does not exist in the configuration file.") } else { - return(save_path) + return(issue_or_pr_comment_path) } } -#' Get Jira Issue Tracker Project Keys +#' Get GitHub Issue Search Save Path #' -#' Gets the list of Jira issue tracker project keys +#' Gets the local save path for GitHub issue search for a specific project key index +#' +#' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") +#' @param project_key_index the name of the index of the project key (e.g. "project_key_1" or "project_key_2") +#' @return the local save path for GitHub issue search +#' @export +get_github_issue_search_path <- function(project_name, project_key_index) { + + conf_path <- paste0("conf/", project_name, ".yml") + conf <- yaml::read_yaml(conf_path) + + issue_search_path <- conf[["issue_tracker"]][["github"]][[project_key_index]][["issue_search"]] + + if(is.null(issue_search_path)) { + stop("This field does not exist in the configuration file.") + } else { + return(issue_search_path) + } +} + +#' Get GitHub Pull Request Save Path +#' +#' Gets the local save path for GitHub pull requests for a specific project key index +#' +#' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") +#' @param project_key_index the name of the index of the project key (e.g. "project_key_1" or "project_key_2") +#' @return the local save path for GitHub pull requests +#' @export +get_github_pull_request_path <- function(project_name, project_key_index) { + + conf_path <- paste0("conf/", project_name, ".yml") + conf <- yaml::read_yaml(conf_path) + + pull_request_path <- conf[["issue_tracker"]][["github"]][[project_key_index]][["pull_request"]] + + if(is.null(pull_request_path)) { + stop("This field does not exist in the configuration file.") + } else { + return(pull_request_path) + } +} + +#' Get GitHub Commit Save Path +#' +#' Gets the local save path for GitHub commits for a specific project key index +#' +#' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") +#' @param project_key_index the name of the index of the project key (e.g. "project_key_1" or "project_key_2") +#' @return the local save path for GitHub commits +#' @export +get_github_commit_path <- function(project_name, project_key_index) { + + conf_path <- paste0("conf/", project_name, ".yml") + conf <- yaml::read_yaml(conf_path) + + commit_path <- conf[["issue_tracker"]][["github"]][[project_key_index]][["commit"]] + + if(is.null(commit_path)) { + stop("This field does not exist in the configuration file.") + } else { + return(commit_path) + } +} + +#' Get Jira Issue Tracker Project Key Indexes +#' +#' Gets the list of Jira issue tracker project key indexes #' #' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") #' @return the list of issue tracker project keys #' @export -get_project_jira_project_keys <- function(project_name) { +get_jira_key_indexes <- function(project_name) { conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) - key <- conf[["issue_tracker"]][["jira"]][["project_key"]] + keys <- conf[["issue_tracker"]][["jira"]] - if(is.null(key)) { + if(is.null(keys)) { stop("This field does not exist in the configuration file.") } else { - return(key) + return(keys) } } @@ -534,15 +671,16 @@ get_project_jira_project_keys <- function(project_name) { #' #' Gets the Jira domain for a specific project key index #' -#' @param project_key_index the name of the index of theproject key (e.g. "project_key_1" or "project_key_2") +#' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") +#' @param project_key_index the name of the index of the project key (e.g. "project_key_1" or "project_key_2") #' @return the Jira domain of the project key index #' @export -get_project_jira_domain <- function(project_key) { +get_jira_domain <- function(project_name, project_key_index) { conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) - domain <- conf[["issue_tracker"]][["jira"]][[project_key]][["domain"]] + domain <- conf[["issue_tracker"]][["jira"]][[project_key_index]][["domain"]] if(is.null(domain)) { stop("This field does not exist in the configuration file.") @@ -555,10 +693,11 @@ get_project_jira_domain <- function(project_key) { #' #' Gets the project key name for a specific project key index #' -#' @param project_key_index the name of the index of theproject key (e.g. "project_key_1" or "project_key_2") +#' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") +#' @param project_key_index the name of the index of the project key (e.g. "project_key_1" or "project_key_2") #' @return the project key name #' @export -get_project_jira_project_key_name <- function(project_key_index) { +get_jira_project_key_name <- function(project_name, project_key_index) { conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) @@ -576,10 +715,11 @@ get_project_jira_project_key_name <- function(project_key_index) { #' #' Gets the local path to store Jira issues for a specific project key index #' -#' @param project_key_index the name of the index of theproject key (e.g. "project_key_1" or "project_key_2") +#' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") +#' @param project_key_index the name of the index of the project key (e.g. "project_key_1" or "project_key_2") #' @return the Jira issue path #' @export -get_project_jira_issues_paths <- function(project_key_index) { +get_jira_issues_path <- function(project_name, project_key_index) { conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) @@ -597,10 +737,11 @@ get_project_jira_issues_paths <- function(project_key_index) { #' #' Gets the local path to store Jira issues with comments for a specific project key index #' -#' @param project_key_index the name of the index of theproject key (e.g. "project_key_1" or "project_key_2") +#' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") +#' @param project_key_index the name of the index of the project key (e.g. "project_key_1" or "project_key_2") #' @return the list of Jira issues comments paths #' @export -get_project_jira_issues_comments_paths <- function(project_key_index) { +get_jira_issues_comments_path <- function(project_name, project_key_index) { conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) @@ -614,6 +755,27 @@ get_project_jira_issues_comments_paths <- function(project_key_index) { } } +#' Get Bugzilla Project Key +#' +#' Gets the project key for the Bugzilla project +#' +#' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") +#' @return the list of Jira issues comments paths +#' @export +get_bugzilla_project_key <- function(project_name) { + + conf_path <- paste0("conf/", project_name, ".yml") + conf <- yaml::read_yaml(conf_path) + + key <- conf[["issue_tracker"]][["bugzilla"]][["project_key_index"project_key]] + + if(is.null(key)) { + stop("This field does not exist in the configuration file.") + } else { + return(key) + } +} + #' Get Nvd Feed Folder Path #' #' Gets the folder path with nvd cve feeds @@ -621,7 +783,7 @@ get_project_jira_issues_comments_paths <- function(project_key_index) { #' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") #' @return the folder path with nvd cve feeds #' @export -get_project_nvdfeed_folder_path <- function(project_name) { +get_nvdfeed_folder_path <- function(project_name) { conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) @@ -642,7 +804,7 @@ get_project_nvdfeed_folder_path <- function(project_name) { #' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") #' @return the commit message CVE #' @export -get_project_cveid_regex <- function(project_name) { +get_cveid_regex <- function(project_name) { conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) @@ -663,7 +825,7 @@ get_project_cveid_regex <- function(project_name) { #' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") #' @return the commit intervals as a list #' @export -get_project_enumeration_commits <- function(project_name) { +get_enumeration_commits <- function(project_name) { conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) @@ -684,7 +846,7 @@ get_project_enumeration_commits <- function(project_name) { #' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") #' @return the analysis window size #' @export -get_project_window_start_commit <- function(project_name) { +get_window_start_commit <- function(project_name) { conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) @@ -705,7 +867,7 @@ get_project_window_start_commit <- function(project_name) { #' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") #' @return the analysis window size #' @export -get_project_window_end_commit <- function(project_name) { +get_window_end_commit <- function(project_name) { conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) @@ -726,7 +888,7 @@ get_project_window_end_commit <- function(project_name) { #' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") #' @return the analysis window size #' @export -get_project_window_size <- function(project_name) { +get_window_size <- function(project_name) { conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) From b1e4001e7a41dcae256e761ccb35c79b63a6a398 Mon Sep 17 00:00:00 2001 From: Carlos Paradis Date: Sun, 28 Apr 2024 02:42:10 -0700 Subject: [PATCH 09/32] fix github checks --- .github/workflows/R-CMD-check.yml | 4 ++-- .github/workflows/test-coverage.yml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/R-CMD-check.yml b/.github/workflows/R-CMD-check.yml index 39b5968..2350bf8 100644 --- a/.github/workflows/R-CMD-check.yml +++ b/.github/workflows/R-CMD-check.yml @@ -12,7 +12,7 @@ name: R-CMD-check jobs: R-CMD-check: - runs-on: macOS-latest + runs-on: macOS-13 strategy: matrix: r-version: ['4.2'] @@ -65,7 +65,7 @@ jobs: - name: Install UCtags and Update tools.yml if: always() run: | - brew tap universal-ctags/universal-ctags + brew tap homebrew/core brew install --HEAD universal-ctags utags_head=$(ls /usr/local/Cellar/universal-ctags | tail -n 1) sed -i -e "s|utags: \/usr\/local\/Cellar\/universal-ctags\/HEAD-62f0144\/bin\/ctags|utags: \/usr\/local\/Cellar\/universal-ctags\/${utags_head}\/bin\/ctags|g" tools.yml diff --git a/.github/workflows/test-coverage.yml b/.github/workflows/test-coverage.yml index cfc2fec..e70821a 100644 --- a/.github/workflows/test-coverage.yml +++ b/.github/workflows/test-coverage.yml @@ -10,7 +10,7 @@ name: test-coverage jobs: test-coverage: - runs-on: macOS-latest + runs-on: macOS-13 strategy: matrix: r-version: ['4.2'] @@ -57,7 +57,7 @@ jobs: - name: Install UCtags and Update tools.yml if: always() run: | - brew tap universal-ctags/universal-ctags + brew tap homebrew/core brew install --HEAD universal-ctags utags_head=$(ls /usr/local/Cellar/universal-ctags | tail -n 1) sed -i -e "s|utags: \/usr\/local\/Cellar\/universal-ctags\/HEAD-62f0144\/bin\/ctags|utags: \/usr\/local\/Cellar\/universal-ctags\/${utags_head}\/bin\/ctags|g" tools.yml From 1b1535b8e3eb746e03ec33ce9e63f50d26d48df5 Mon Sep 17 00:00:00 2001 From: Carlos Paradis Date: Sun, 28 Apr 2024 03:38:01 -0700 Subject: [PATCH 10/32] fixes compiling error --- R/config.R | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/R/config.R b/R/config.R index 8bdae9a..7c3eb87 100644 --- a/R/config.R +++ b/R/config.R @@ -767,7 +767,7 @@ get_bugzilla_project_key <- function(project_name) { conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) - key <- conf[["issue_tracker"]][["bugzilla"]][["project_key_index"project_key]] + key <- conf[["issue_tracker"]][["bugzilla"]][["project_key_index"]][["project_key"]] if(is.null(key)) { stop("This field does not exist in the configuration file.") From f160003a709df65cc3ef6dc5a9952dadeec35417 Mon Sep 17 00:00:00 2001 From: anthonyjlau Date: Sun, 28 Apr 2024 18:57:48 -1000 Subject: [PATCH 11/32] i #230 added config file changes --- conf/ambari.yml | 52 +++++++++----- conf/apr.yml | 47 +++++++----- conf/calculator.yml | 32 +++++++-- conf/camel.yml | 53 +++++++++++--- conf/chromium.yml | 28 +++++--- conf/geronimo.yml | 50 ++++++++----- conf/helix.yml | 54 ++++++++------ conf/junit5.yml | 34 +++++---- conf/kaiaulu.yml | 41 ++++++++--- conf/openssl.yml | 61 ++++++++++------ conf/redhat.yml | 172 ++++++++++++++++++++++++++++++++++++++++++++ conf/spark.yml | 56 +++++++++------ conf/thrift.yml | 50 ++++++++----- conf/tomcat.yml | 59 ++++++++------- conf/tse_apex.yml | 32 +++++---- 15 files changed, 595 insertions(+), 226 deletions(-) create mode 100644 conf/redhat.yml diff --git a/conf/ambari.yml b/conf/ambari.yml index 405ad4d..a81d84a 100644 --- a/conf/ambari.yml +++ b/conf/ambari.yml @@ -51,28 +51,44 @@ version_control: - branch-2.5 mailing_list: - # Where is the mbox located locally? - mbox: ../../rawdata/mbox/ambari-dev.mbox - # What is the domain of the chosen mailing list archive? - domain: http://mail-archives.apache.org/mod_mbox - # Which lists of the domain will be used? - list_key: - - ambari-dev + mod_mbox: + mail_key_1: + archive_url: http://mail-archives.apache.org/mod_mbox/ambari-dev + mbox: ../../rawdata/ambari/mod_mbox/ambari-dev/ + mailing_list: ambari-dev + archive_type: apache + mail_key_2: + archive_url: http://mail-archives.apache.org/mod_mbox/ambari-user + mbox: ../../rawdata/geronimo/mod_mbox/ambari-user/ + mailing_list: ambari-user + archive_type: apache + pipermail: + mail_key_1: + archive_url: http://some/pipermail/url + mbox: ../../rawdata/geronimo/pipermail/geronimo-dev/ issue_tracker: jira: - # Obtained from the project's JIRA URL - domain: https://issues.apache.org/jira - project_key: AMBARI - # Download using `download_jira_data.Rmd` - #issues: ../../rawdata/issue_tracker/ambari_issues.json - #issue_comments: ../../rawdata/issue_tracker/ambari_issue_comments.json + project_key_1: + # Obtained from the project's JIRA URL + domain: https://issues.apache.org/jira + project_key: AMBARI + # Download using `download_jira_data.Rmd` + # issues: ../../rawdata/ambari/jira/issues/ambari/ + # issue_comments: ../../rawdata/ambari/jira/issue_comments/ambari/ github: - # Obtained from the project's GitHub URL - owner: apache - repo: ambari - # Download using `download_github_comments.Rmd` - #replies: ../../rawdata/github/ambari/ + project_key_1: + # Obtained from the project's GitHub URL + owner: apache + repo: ambari + # Download using `download_github_comments.Rmd` + issue_or_pr_comment: ../../rawdata/ambari/github/issue_or_pr_comment/apache_ambari/ + issue: ../../rawdata/ambari/github/issue/apache_ambari/ + issue_search: ../..rawdata/ambari/github/issue_search/apache_ambari/ + pull_request: ../../rawdata/ambari/github/pull_request/apache_ambari/ + commit: ../../rawdata/ambari/github/commit/apache_ambari/ + # bugzilla: + # project_key: ambari #vulnerabilities: # Folder path with nvd cve feeds (e.g. nvdcve-1.1-2018.json) diff --git a/conf/apr.yml b/conf/apr.yml index 65892ed..9558d71 100644 --- a/conf/apr.yml +++ b/conf/apr.yml @@ -45,28 +45,39 @@ version_control: - trunk mailing_list: - # Where is the mbox located locally? - mbox: ../../rawdata/mbox/apr-dev_2012_2019.mbox - # What is the domain of the chosen mailing list archive? - domain: http://mail-archives.apache.org/mod_mbox - # Which lists of the domain will be used? - list_key: - - apr-dev + mod_mbox: + mail_key_1: + archive_url: http://mail-archives.apache.org/mod_mbox/apr-dev + mbox: ../../rawdata/apr/mod_mbox/apr-dev/ + mailing_list: apr-dev + archive_type: apache + pipermail: + mail_key_1: + archive_url: http://some/pipermail/url + mbox: ../../rawdata/geronimo/pipermail/geronimo-dev/ issue_tracker: jira: - # Obtained from the project's JIRA URL - domain: https://issues.apache.org/jira - #project_key: HELIX - # Download using `download_jira_data.Rmd` - #issues: ../../rawdata/issue_tracker/helix_issues.json - #issue_comments: ../../rawdata/issue_tracker/helix_issue_comments.json + project_key_1: + # Obtained from the project's JIRA URL + domain: https://issues.apache.org/jira + #project_key: HELIX + # Download using `download_jira_data.Rmd` + # issues: ../../rawdata/apr/jira/issues/helix/ + # issue_comments: ../../rawdata/apr/jira/issue_comments/helix/ github: - # Obtained from the project's GitHub URL - owner: apache - repo: apr - # Download using `download_github_comments.Rmd` - replies: ../../rawdata/github/apr/ + project_key_1: + # Obtained from the project's GitHub URL + owner: apache + repo: apr + # Download using `download_github_comments.Rmd` + issue_or_pr_comment: ../../rawdata/apr/github/issue_or_pr_comment/apache_apr/ + issue: ../../rawdata/apr/github/issue/apache_apr/ + issue_search: ../..rawdata/apr/github/issue_search/apache_apr/ + pull_request: ../../rawdata/apr/github/pull_request/apache_apr/ + commit: ../../rawdata/apr/github/commit/apache_apr/ + + #vulnerabilities: # Folder path with nvd cve feeds (e.g. nvdcve-1.1-2018.json) diff --git a/conf/calculator.yml b/conf/calculator.yml index 2b95b6f..7184b59 100644 --- a/conf/calculator.yml +++ b/conf/calculator.yml @@ -58,14 +58,32 @@ mailing_list: # domain: https://issues.apache.org/jira #project_key: HELIX # Download using `download_jira_data.Rmd` - #issues: ../../rawdata/issue_tracker/helix_issues.json - #issue_comments: ../../rawdata/issue_tracker/helix_issue_comments.json + #issues: ../../rawdata/helix/jira/issues/ + #issue_comments: ../../rawdata/helix/jira/issue_comments/ github: - # Obtained from the project's GitHub URL - owner: HouariZegai - repo: Calculator - # Download using `download_github_comments.Rmd` - replies: ../../rawdata/github/Calculator/ + + replies: ../../rawdata/Calculator/github/ + +issue_tracker: + jira: + project_key_1: + # Obtained from the project's JIRA URL + # domain: https://issues.apache.org/jira + # project_key: HELIX + # Download using `download_jira_data.Rmd` + # issues: ../../rawdata/helix/jira/issues/helix/ + # issue_comments: ../../rawdata/helix/jira/issue_comments/helix/ + github: + project_key_1: + # Obtained from the project's GitHub URL + owner: HouariZegai + repo: Calculator + # Download using `download_github_comments.Rmd` + issue_or_pr_comment: ../../rawdata/Calculator/github/issue_or_pr_comment/HouariZegai_Calculator/ + issue: ../../rawdata/Calculator/github/issue/HouariZegai_Calculator/ + issue_search: ../../rawdata/Calculator/github/issue_search/HouariZegai_Calculator/ + pull_request: ../../rawdata/Calculator/github/pull_request/HouariZegai_Calculator/ + commit: ../../rawdata/Calculator/github/commit/HouariZegai_Calculator/ #vulnerabilities: # Folder path with nvd cve feeds (e.g. nvdcve-1.1-2018.json) diff --git a/conf/camel.yml b/conf/camel.yml index 7a14fa7..284dfcf 100644 --- a/conf/camel.yml +++ b/conf/camel.yml @@ -46,14 +46,22 @@ version_control: - camel-3.21.0 - camel-1.0.0 -#mailing_list: - # Where is the mbox located locally? -# mbox: ../../rawdata/mbox/apr-dev_2012_2019.mbox - # What is the domain of the chosen mailing list archive? -# domain: http://mail-archives.apache.org/mod_mbox - # Which lists of the domain will be used? -# list_key: -# - apr-dev +mailing_list: + mod_mbox: + mail_key_1: + archive_url: http://mail-archives.apache.org/mod_mbox/camel-dev + mbox: ../../rawdata/camel/mod_mbox/camel-dev/ + mailing_list: camel-dev + archive_type: apache + mail_key_2: + archive_url: http://mail-archives.apache.org/mod_mbox/camel-users + mbox: ../../rawdata/camel/mod_mbox/camel-users/ + mailing_list: camel-users + archive_type: apache + pipermail: + mail_key_1: + archive_url: http://some/pipermail/url + mbox: ../../rawdata/geronimo/pipermail/geronimo-dev/ issue_tracker: jira: @@ -61,14 +69,37 @@ issue_tracker: # domain: https://issues.apache.org/jira project_key: CAMEL # Download using `download_jira_data.Rmd` - issues: ../../rawdata/issue_tracker/camel_issues.json - issue_comments: ../../rawdata/issue_tracker/camel_issue_comments.json + issues: ../../rawdata/camel/jira/issues/ + issue_comments: ../../rawdata/camel/jira/issue_comments/ # github: # Obtained from the project's GitHub URL # owner: apache # repo: apr # Download using `download_github_comments.Rmd` -# replies: ../../rawdata/github/apr/ +# replies: ../../rawdata/apr/github/ + + +issue_tracker: + jira: + project_key_1: + # Obtained from the project's JIRA URL + # domain: https://issues.apache.org/jira + project_key: CAMEL + # Download using `download_jira_data.Rmd` + issues: ../../rawdata/camel/jira/issues/camel/ + issue_comments: ../../rawdata/camel/jira/issue_comments/camel/ + github: + project_key_1: + # Obtained from the project's GitHub URL + # owner: apache + # repo: apr + # Download using `download_github_comments.Rmd` + # issue_or_pr_comment: ../../rawdata/apr/github/issue_or_pr_comment/apache_apr/ + # issue: ../../rawdata/apr/github/issue/apache_apr/ + # issue_search: ../../rawdata/apr/github/issue_search/apache_apr/ + # pull_request: ../../rawdata/apr/github/pull_request/apache_apr/ + # commit: ../../rawdata/apr/github/commit/apache_apr/ + #vulnerabilities: # Folder path with nvd cve feeds (e.g. nvdcve-1.1-2018.json) diff --git a/conf/chromium.yml b/conf/chromium.yml index 3d0f128..cafed7a 100644 --- a/conf/chromium.yml +++ b/conf/chromium.yml @@ -54,18 +54,24 @@ mailing_list: issue_tracker: jira: - # Obtained from the project's JIRA URL - #domain: https://issues.apache.org/jira - #project_key: GERONIMO - # Download using `download_jira_data.Rmd` - #issues: ../../rawdata/issue_tracker/geronimo_issues.json - #issue_comments: ../../rawdata/issue_tracker/geronimo_issue_comments.json + project_key_1: + # Obtained from the project's JIRA URL + # domain: https://issues.apache.org/jira + #project_key: HELIX + # Download using `download_jira_data.Rmd` + # issues: ../../rawdata/helix/jira/issues/helix/ + # issue_comments: ../../rawdata/helix/jira/issue_comments/helix/ github: - # Obtained from the project's GitHub URL - #owner: sailuh - #repo: kaiaulu - # Download using `download_github_comments.Rmd` - #replies: ../../rawdata/github/kaiaulu/ + project_key_1: + # Obtained from the project's GitHub URL + # owner: apache + # repo: apr + # # Download using `download_github_comments.Rmd` + # issue_or_pr_comment: ../../rawdata/apr/github/issue_or_pr_comment/apache_apr/ + # issue: ../../rawdata/apr/github/issue/apache_apr/ + # issue_search: ../..rawdata/apr/github/issue_search/apache_apr/ + # pull_request: ../../rawdata/apr/github/pull_request/apache_apr/ + # commit: ../../rawdata/apr/github/commit/apache_apr/ vulnerabilities: # Folder path with nvd cve feeds (e.g. nvdcve-1.1-2018.json) diff --git a/conf/geronimo.yml b/conf/geronimo.yml index 99ee59a..55161d3 100644 --- a/conf/geronimo.yml +++ b/conf/geronimo.yml @@ -44,28 +44,42 @@ version_control: - trunk mailing_list: - # Where is the mbox located locally? - mbox: ../../rawdata/mbox/geronimo-dev.mbox - # What is the domain of the chosen mailing list archive? - domain: http://mail-archives.apache.org/mod_mbox - # Which lists of the domain will be used? - list_key: - - geronimo-dev + mod_mbox: + mail_key_1: + archive_url: http://mail-archives.apache.org/mod_mbox/geronimo-dev + mbox: ../../rawdata/geronimo/mod_mbox/geronimo-dev/ + mailing_list: geronimo-dev + archive_type: apache + mail_key_2: + archive_url: http://mail-archives.apache.org/mod_mbox/geronimo-user + mbox: ../../rawdata/geronimo/mod_mbox/geronimo-user/ + mailing_list: geronimo-user + archive_type: apache + pipermail: + mail_key_1: + archive_url: http://some/pipermail/url + mbox: ../../rawdata/geronimo/pipermail/geronimo-dev/ issue_tracker: jira: - # Obtained from the project's JIRA URL - domain: https://issues.apache.org/jira - project_key: GERONIMO - # Download using `download_jira_data.Rmd` - issues: ../../rawdata/issue_tracker/geronimo_issues.json - issue_comments: ../../rawdata/issue_tracker/geronimo_issue_comments.json + project_key_1: + # Obtained from the project's JIRA URL + domain: https://issues.apache.org/jira + project_key: GERONIMO + # Download using `download_jira_data.Rmd` + issues: ../../rawdata/geronimo/jira/issues/geronimo + issue_comments: ../../rawdata/geronimo/jira/issue_comments/geronimo github: - # Obtained from the project's GitHub URL - owner: apache - repo: geronimo - # Download using `download_github_comments.Rmd` - replies: ../../rawdata/github/geronimo/ + project_key_1: + # Obtained from the project's GitHub URL + owner: apache + repo: geronimo + # Download using `download_github_comments.Rmd` + issue_or_pr_comment: ../../rawdata/geronimo/github/issue_or_pr_comment/apache_geronimo/ + issue: ../../rawdata/geronimo/github/issue/apache_geronimo/ + issue_search: ../../rawdata/geronimo/github/issue_search/apache_geronimo/ + pull_request: ../../rawdata/geronimo/github/pull_request/apache_geronimo/ + commit: ../../rawdata/geronimo/github/commit/apache_geronimo/ #vulnerabilities: # Folder path with nvd cve feeds (e.g. nvdcve-1.1-2018.json) diff --git a/conf/helix.yml b/conf/helix.yml index 2effc52..fa48ad5 100644 --- a/conf/helix.yml +++ b/conf/helix.yml @@ -48,30 +48,44 @@ version_control: - revert-1685-master mailing_list: - # Where is the mbox located locally? - # This is the path to the .git of the project repository you are analyzing. - # The .git is hidden, so you can see it using `ls -a` - mbox: ../../rawdata/mbox/helix_mbox - # What is the domain of the chosen mailing list archive? - domain: http://mail-archives.apache.org/mod_mbox - # Which lists of the domain will be used? - list_key: - - helix-dev + mod_mbox: + mail_key_1: + archive_url: http://mail-archives.apache.org/mod_mbox/helix-dev + mbox: ../../rawdata/helix/mod_mbox/helix-dev/ + mailing_list: helix-dev + archive_type: apache + mail_key_2: + archive_url: http://mail-archives.apache.org/mod_mbox/helix-user + mbox: ../../rawdata/helix/mod_mbox/helix-user/ + mailing_list: helix-user + archive_type: apache + pipermail: + mail_key_1: + archive_url: http://some/pipermail/url + mbox: ../../rawdata/geronimo/pipermail/geronimo-dev/ issue_tracker: jira: - # Obtained from the project's JIRA URL - domain: https://issues.apache.org/jira - project_key: HELIX - # Download using `download_jira_data.Rmd` - issues: ../../rawdata/issue_tracker/helix_issues.json - issue_comments: ../../rawdata/issue_tracker/helix_issue_comments.json + project_key_1: + # Obtained from the project's JIRA URL + domain: https://issues.apache.org/jira + project_key: HELIX + # Download using `download_jira_data.Rmd` + issues: ../../rawdata/helix/jira/issues/helix + issue_comments: ../../rawdata/helix/jira/issue_comments/helix github: - # Obtained from the project's GitHub URL - owner: apache - repo: helix - # Download using `download_github_comments.Rmd` - replies: ../../rawdata/github/helix/ + project_key_1: + # Obtained from the project's GitHub URL + owner: apache + repo: helix + # Download using `download_github_comments.Rmd` + issue_or_pr_comment: ../../rawdata/helix/github/issue_or_pr_comment/apache_helix/ + issue: ../../rawdata/helix/github/issue/apache_helix/ + issue_search: ../../rawdata/helix/github/issue_search/apache_helix/ + pull_request: ../../rawdata/helix/github/pull_request/apache_helix/ + commit: ../../rawdata/helix/github/commit/apache_helix/ + #bugzilla: + #project_key: helix #vulnerabilities: # Folder path with nvd cve feeds (e.g. nvdcve-1.1-2018.json) diff --git a/conf/junit5.yml b/conf/junit5.yml index cdf0a33..25c4cb6 100644 --- a/conf/junit5.yml +++ b/conf/junit5.yml @@ -52,20 +52,26 @@ version_control: # list_key: # - apr-dev -#issue_tracker: -# jira: - # Obtained from the project's JIRA URL -# domain: https://issues.apache.org/jira - #project_key: HELIX - # Download using `download_jira_data.Rmd` - #issues: ../../rawdata/issue_tracker/helix_issues.json - #issue_comments: ../../rawdata/issue_tracker/helix_issue_comments.json -# github: - # Obtained from the project's GitHub URL -# owner: apache -# repo: apr - # Download using `download_github_comments.Rmd` -# replies: ../../rawdata/github/apr/ +# issue_tracker: +# jira: +# project_key_1: +# # Obtained from the project's JIRA URL +# domain: https://issues.apache.org/jira +# #project_key: HELIX +# # Download using `download_jira_data.Rmd` +# # issues: ../../rawdata/helix/jira/issues/helix/ +# # issue_comments: ../../rawdata/helix/jira/issue_comments/helix/ +# github: +# project_key_1: +# # Obtained from the project's GitHub URL +# owner: apache +# repo: apr +# # Download using `download_github_comments.Rmd` +# issue_or_pr_comment: ../../rawdata/apr/github/issue_or_pr_comment/apache_apr/ +# issue: ../../rawdata/apr/github/issue/apache_apr/ +# issue_search: ../../rawdata/apr/github/issue_search/apache_apr/ +# pull_request: ../../rawdata/apr/github/pull_request/apache_apr/ +# commit: ../../rawdata/apr/github/commit/apache_apr/ #vulnerabilities: # Folder path with nvd cve feeds (e.g. nvdcve-1.1-2018.json) diff --git a/conf/kaiaulu.yml b/conf/kaiaulu.yml index a5f007c..fc26a92 100644 --- a/conf/kaiaulu.yml +++ b/conf/kaiaulu.yml @@ -54,18 +54,37 @@ mailing_list: issue_tracker: jira: - # Obtained from the project's JIRA URL - #domain: https://issues.apache.org/jira - #project_key: GERONIMO - # Download using `download_jira_data.Rmd` - #issues: ../../rawdata/issue_tracker/geronimo_issues.json - #issue_comments: ../../rawdata/issue_tracker/geronimo_issue_comments.json + project_key_1: + # Obtained from the project's JIRA URL + domain: https://sailuh.atlassian.net + project_key: SAILUH + # Download using `download_jira_data.Rmd` + issues: ../../rawdata/kaiaulu/jira/issues/sailuh/ + issue_comments: ../../rawdata/kaiaulu/jira/issue_comments/sailuh/ github: - # Obtained from the project's GitHub URL - owner: sailuh - repo: kaiaulu - # Download using `download_github_comments.Rmd` - replies: ../../rawdata/github/kaiaulu + project_key_1: + # Obtained from the project's GitHub URL + owner: sailuh + repo: kaiaulu + # Download using `download_github_comments.Rmd` + issue_or_pr_comment: ../../rawdata/kaiaulu/github/issue_or_pr_comment/sailuh_kaiaulu/ + issue: ../../rawdata/kaiaulu/github/issue/sailuh_kaiaulu/ + issue_search: ../..rawdata/kaiaulu/github/issue_search/sailuh_kaiaulu/ + pull_request: ../../kaiaulu/github/pull_request/sailuh_kaiaulu/ + commit: ../../rawdata/kaiaulu/github/commit/sailuh_kaiaulu/ + # project_key_2: + # # Obtained from the project's GitHub URL + # owner: ssunoo2 + # repo: kaiaulu + # # Download using `download_github_comments.Rmd` + # issue_or_pr_comment: ../../rawdata/kaiaulu/github/issue_or_pr_comment/ssunoo2_kaiaulu/ + # issue: ../../rawdata/kaiaulu/github/issue/ssunoo2_kaiaulu/ + # refresh_issues: ../..rawdata/kaiaulu/github/refresh_issues/ssunoo2_kaiaulu + # pull_request: ../../kaiaulu/github/pull_request/ssunoo2_kaiaulu/ + # commit: ../../rawdata/kaiaulu/github/commit/ssunoo2_kaiaulu/ + #bugzilla: + #project_key: kaiaulu + #vulnerabilities: # Folder path with nvd cve feeds (e.g. nvdcve-1.1-2018.json) diff --git a/conf/openssl.yml b/conf/openssl.yml index aa7b225..6f88a9b 100644 --- a/conf/openssl.yml +++ b/conf/openssl.yml @@ -45,29 +45,46 @@ version_control: - master mailing_list: - # Where is the mbox located locally? - #mbox: ../../rawdata/mbox/openssl_dev_mbox # 2004-2008 fields are complete - mbox: ../../rawdata/mbox/openssl-dev.mbx # 2002-2019 gmail field is redacted due to google groups - # What is the domain of the chosen mailing list archive? - #domain: http://mail-archives.apache.org/mod_mbox - # Which lists of the domain will be used? - #list_key: - # - apr-dev + mod_mbox: + mail_key_1: + archive_url: http://mail-archives.apache.org/mod_mbox/apr-dev + mbox: ../../rawdata/apr/mod_mbox/apr-dev/ + mailing_list: apr-dev + archive_type: apache + pipermail: + mail_key_1: + archive_url: https://mta.openssl.org/pipermail/openssl-dev/ + mbox: ../../rawdata/openssl/pipermail/openssl-dev/ + mailing_list: openssl-dev + archive_type: mta + mail_key_2: + archive_url: https://mta.openssl.org/pipermail/openssl-users/ + mbox: ../../rawdata/openssl/pipermail/openssl-users/ + mailing_list: openssl-users + archive_type: mta -#issue_tracker: - #jira: - # Obtained from the project's JIRA URL - #domain: https://issues.apache.org/jira - #project_key: HELIX - # Download using `download_jira_data.Rmd` - #issues: ../../rawdata/issue_tracker/helix_issues.json - #issue_comments: ../../rawdata/issue_tracker/helix_issue_comments.json - #github: - # Obtained from the project's GitHub URL - #owner: apache - #repo: apr - # Download using `download_github_comments.Rmd` - #replies: ../../rawdata/github/apr/ +# issue_tracker: +# jira: +# project_key_1: +# # Obtained from the project's JIRA URL +# domain: https://issues.apache.org/jira +# #project_key: HELIX +# # Download using `download_jira_data.Rmd` +# # issues: ../../rawdata/helix/jira/issues/helix/ +# # issue_comments: ../../rawdata/helix/jira/issue_comments/helix/ +# github: +# project_key_1: +# # Obtained from the project's GitHub URL +# owner: apache +# repo: apr +# # Download using `download_github_comments.Rmd` +# issue_or_pr_comment: ../../rawdata/apr/github/issue_or_pr_comment/apache_apr/ +# issue: ../../rawdata/apr/github/issue/apache_apr/ +# issue_search: ../../rawdata/apr/github/issue_search/apache_apr/ +# pull_request: ../../rawdata/apr/github/pull_request/apache_apr/ +# commit: ../../rawdata/apr/github/commit/apache_apr/ +# bugzilla: +# project_key: openssl vulnerabilities: # Folder path with nvd cve feeds (e.g. nvdcve-1.1-2018.json) diff --git a/conf/redhat.yml b/conf/redhat.yml new file mode 100644 index 0000000..611ef93 --- /dev/null +++ b/conf/redhat.yml @@ -0,0 +1,172 @@ +# -*- yaml -*- +# https://github.com/sailuh/kaiaulu +# +# Copying and distribution of this file, with or without modification, +# are permitted in any medium without royalty provided the copyright +# notice and this notice are preserved. This file is offered as-is, +# without any warranty. + +# Project Configuration File # +# +# To perform analysis on open source projects, you need to manually +# collect some information from the project's website. As there is +# no standardized website format, this file serves to distill +# important data source information so it can be reused by others +# and understood by Kaiaulu. +# +# Please check https://github.com/sailuh/kaiaulu/tree/master/conf to +# see if a project configuration file already exists. Otherwise, we +# would appreciate if you share your curated file with us by sending a +# Pull Request: https://github.com/sailuh/kaiaulu/pulls +# +# Note, you do NOT need to specify this entire file to conduct analysis. +# Each R Notebook uses a different portion of this file. To know what +# information is used, see the project configuration file section at +# the start of each R Notebook. +# +# Please comment unused parameters instead of deleting them for clarity. +# If you have questions, please open a discussion: +# https://github.com/sailuh/kaiaulu/discussions + +project: + website: http://itm0.shidler.hawaii.edu/kaiaulu + openhub: https://www.openhub.net/p/kaiaulu + +version_control: + # Where is the git log located locally? + # This is the path to the .git of the project repository you are analyzing. + # The .git is hidden, so you can see it using `ls -a` + log: ../../rawdata/git_repo/kaiaulu/.git + # From where the git log was downloaded? + log_url: https://github.com/sailuh/kaiaulu + # List of branches used for analysis + branch: + - master + +mailing_list: + # Where is the mbox located locally? + #mbox: ../../rawdata/mbox/geronimo-dev.mbox + # What is the domain of the chosen mailing list archive? + #domain: http://mail-archives.apache.org/mod_mbox + # Which lists of the domain will be used? + #list_key: + # - geronimo-dev + +issue_tracker: + jira: + project_key_1: + # Obtained from the project's JIRA URL + domain: https://sailuh.atlassian.net + project_key: SAILUH + # Download using `download_jira_data.Rmd` + issues: ../../rawdata/kaiaulu/jira/issues/sailuh/ + issue_comments: ../../rawdata/kaiaulu/jira/issue_comments/sailuh/ + github: + project_key_1: + # Obtained from the project's GitHub URL + owner: sailuh + repo: kaiaulu + # Download using `download_github_comments.Rmd` + issue_or_pr_comment: ../../rawdata/kaiaulu/github/issue_or_pr_comment/sailuh_kaiaulu/ + issue: ../../rawdata/kaiaulu/github/issue/sailuh_kaiaulu/ + issue_search: ../..rawdata/kaiaulu/github/issue_search/sailuh_kaiaulu/ + pull_request: ../../kaiaulu/github/pull_request/sailuh_kaiaulu/ + commit: ../../rawdata/kaiaulu/github/commit/sailuh_kaiaulu/ + # project_key_2: + # # Obtained from the project's GitHub URL + # owner: ssunoo2 + # repo: kaiaulu + # # Download using `download_github_comments.Rmd` + # issue_or_pr_comment: ../../rawdata/kaiaulu/github/issue_or_pr_comment/ssunoo2_kaiaulu/ + # issue: ../../rawdata/kaiaulu/github/issue/ssunoo2_kaiaulu/ + # refresh_issues: ../..rawdata/kaiaulu/github/refresh_issues/ssunoo2_kaiaulu + # pull_request: ../../kaiaulu/github/pull_request/ssunoo2_kaiaulu/ + # commit: ../../rawdata/kaiaulu/github/commit/ssunoo2_kaiaulu/ + bugzilla: + project_key: redhat + + +#vulnerabilities: + # Folder path with nvd cve feeds (e.g. nvdcve-1.1-2018.json) + # Download at: https://nvd.nist.gov/vuln/data-feeds + #nvd_feed: rawdata/nvdfeed + +# Commit message CVE or Issue Regular Expression (regex) +# See project's commit message for examples to create the regex +commit_message_id_regex: + issue_id: \#[0-9]+ + #cve_id: ? + +filter: + keep_filepaths_ending_with: + - R + remove_filepaths_containing: + - test + + +# Third Party Tools Configuration # +# +# See Kaiaulu's README.md for details on how to setup these tools. +tool: + # Depends allow to parse file-file static dependencies. + depends: + # accepts one language at a time: cpp, java, ruby, python, pom + # You can obtain this information on OpenHub or the project GiHub page right pane. + code_language: java + # Specify which types of Dependencies to keep - see the Depends tool README.md for details. + keep_dependencies_type: + - Cast + - Call + - Import + - Return + - Set + - Use + - Implement + - ImplLink + - Extend + - Create + - Throw + - Parameter + - Contain + # Uctags allows finer file-file dependency parsing (e.g. functions, classes, structs) + uctags: + # See https://github.com/sailuh/kaiaulu/wiki/Universal-Ctags for details + # What types of file-file dependencies should be considered? If all + # dependencies are specified, Kaiaulu will use all of them if available. + keep_lines_type: + c: + - f # function definition + cpp: + - c # classes + - f # function definition + java: + - c # classes + - m # methods + python: + - c # classes + - f # functions + r: + - f # functions + +# Analysis Configuration # +analysis: + # You can specify the intervals in 2 ways: window, or enumeration + window: + # If using gitlog, use start_commit and end_commit. Timestamp is inferred from gitlog + start_commit: 224a729f44f554af311ca52cf01b105ded87499b + end_commit: 74cd4d4835a02e01e310476c6776192ad0d97173 + # Use datetime only if no gitlog is used in the analysis. + #start_datetime: 2013-05-01 00:00:00 + #end_datetime: 2013-11-01 00:00:00 + size_days: 30 +# enumeration: + # If using gitlog, specify the commits +# commit: +# - 9eae9e96f15e1f216162810cef4271a439a74223 +# - f1d2d568776b3708dd6a3077376e2331f9268b04 +# - c33a2ce74c84f0d435bfa2dd8953d132ebf7a77a + # Use datetime only if no gitlog is used in the analysis. Timestamp is inferred from gitlog +# datetime: +# - 2013-05-01 00:00:00 +# - 2013-08-01 00:00:00 +# - 2013-11-01 00:00:00 diff --git a/conf/spark.yml b/conf/spark.yml index bafca66..d861e80 100644 --- a/conf/spark.yml +++ b/conf/spark.yml @@ -42,28 +42,42 @@ version_control: - master mailing_list: - # Where is the mbox located locally? - #mbox: ../rawdata/mbox/spark-dev.mbox - # What is the domain of the chosen mailing list archive? - #domain: http://mail-archives.apache.org/mod_mbox - # Which lists of the domain will be used? - #list_key: - # - spark-dev + mod_mbox: + mail_key_1: + archive_url: http://mail-archives.apache.org/mod_mbox/spark-dev + mbox: ../../rawdata/spark/mod_mbox/spark-dev/ + mailing_list: spark-dev + archive_type: apache + mail_key_2: + archive_url: http://mail-archives.apache.org/mod_mbox/spark-user + mbox: ../../rawdata/spark/mod_mbox/spark-user/ + mailing_list: spark-user + archive_type: apache + pipermail: + mail_key_1: + archive_url: http://some/pipermail/url + mbox: ../../rawdata/geronimo/pipermail/geronimo-dev/ -issue_tracker: - jira: - # Obtained from the project's JIRA URL - #domain: https://issues.apache.org/jira - #project_key: SPARK - # Download using `download_jira_data.Rmd` - #issues: ../../rawdata/issue_tracker/spark_issues.json - #issue_comments: ../../rawdata/issue_tracker/sparj_issue_comments.json - github: - # Obtained from the project's GitHub URL - #owner: apache - #repo: spark - # Download using `download_github_comments.Rmd` - #replies: ../../rawdata/github/spark/ +# issue_tracker: +# jira: +# project_key_1: +# # Obtained from the project's JIRA URL +# domain: https://issues.apache.org/jira +# #project_key: HELIX +# # Download using `download_jira_data.Rmd` +# # issues: ../../rawdata/helix/jira/issues/helix/ +# # issue_comments: ../../rawdata/helix/jira/issue_comments/helix/ +# github: +# project_key_1: +# # Obtained from the project's GitHub URL +# owner: apache +# repo: apr +# # Download using `download_github_comments.Rmd` +# issue_or_pr_comment: ../../rawdata/apr/github/issue_or_pr_comment/apache_apr/ +# issue: ../../rawdata/apr/github/issue/apache_apr/ +# issue_search: ../../rawdata/apr/github/issue_search/apache_apr/ +# pull_request: ../../rawdata/apr/github/pull_request/apache_apr/ +# commit: ../../rawdata/apr/github/commit/apache_apr/ #vulnerabilities: # Folder path with nvd cve feeds (e.g. nvdcve-1.1-2018.json) diff --git a/conf/thrift.yml b/conf/thrift.yml index f47062b..25959b3 100644 --- a/conf/thrift.yml +++ b/conf/thrift.yml @@ -42,28 +42,42 @@ version_control: - master mailing_list: - # Where is the mbox located locally? - mbox: ../../rawdata/mbox/thrift-dev.mbox # Download here: https://cdn.lfdr.de/stmc/ieee_tse_data/mail/thrift-dev.mbox - # What is the domain of the chosen mailing list archive? - domain: http://mail-archives.apache.org/mod_mbox - # Which lists of the domain will be used? - list_key: - - thrift-dev + mod_mbox: + mail_key_1: + archive_url: http://mail-archives.apache.org/mod_mbox/thrift-dev + mbox: ../../rawdata/thrift/mod_mbox/thrift-dev/ + mailing_list: thrift-dev + archive_type: apache + mail_key_2: + archive_url: http://mail-archives.apache.org/mod_mbox/thrift-user + mbox: ../../rawdata/thrift/mod_mbox/thrift-user/ + mailing_list: thrift-user + archive_type: apache + pipermail: + mail_key_1: + archive_url: http://some/pipermail/url + mbox: ../../rawdata/geronimo/pipermail/geronimo-dev/ issue_tracker: jira: - # Obtained from the project's JIRA URL - domain: https://issues.apache.org/jira - project_key: THRIFT - # Download using `download_jira_data.Rmd` - issues: ../../rawdata/issue_tracker/thrift_issues.json - issue_comments: ../../rawdata/issue_tracker/thrift_issue_comments.json + project_key_1: + # Obtained from the project's JIRA URL + domain: https://issues.apache.org/jira + project_key: THRIFT + # Download using `download_jira_data.Rmd` + issues: ../../rawdata/thrift/jira/issues/thrift/ + issue_comments: ../../rawdata/thrift/jira/issue_comments/thrift/ github: - # Obtained from the project's GitHub URL - owner: apache - repo: thrift - # Download using `download_github_comments.Rmd` - replies: ../../rawdata/github/thrift/ + project_key_1: + # Obtained from the project's GitHub URL + owner: apache + repo: thrift + # Download using `download_github_comments.Rmd` + issue_or_pr_comment: ../../rawdata/thrift/github/issue_or_pr_comment/apache_thrift/ + issue: ../../rawdata/thrift/github/issue/apache_thrift/ + issue_search: ../../rawdata/thrift/github/issue_search/apache_thrift/ + pull_request: ../../rawdata/thrift/github/pull_request/apache_thrift/ + commit: ../../rawdata/thrift/github/commit/apache_thrift/ #vulnerabilities: # Folder path with nvd cve feeds (e.g. nvdcve-1.1-2018.json) diff --git a/conf/tomcat.yml b/conf/tomcat.yml index 33884ba..5d1c131 100644 --- a/conf/tomcat.yml +++ b/conf/tomcat.yml @@ -44,31 +44,42 @@ version_control: - master mailing_list: - # Where is the mbox located locally? - #mbox: ../../rawdata/mbox/tomcat-dev_2013_2019.mbox - # What is the domain of the chosen mailing list archive? - domain: http://mail-archives.apache.org/mod_mbox - # Which lists of the domain will be used? - list_key: - - tomcat-dev + mod_mbox: + mail_key_1: + archive_url: http://mail-archives.apache.org/mod_mbox/tomcat-dev + mbox: ../../rawdata/tomcat/mod_mbox/tomcat-dev/ + mailing_list: tomcat-dev + archive_type: apache + mail_key_2: + archive_url: http://mail-archives.apache.org/mod_mbox/tomcat-users + mbox: ../../rawdata/tomcat/mod_mbox/tomcat-users/ + mailing_list: tomcat-users + archive_type: apache + pipermail: + mail_key_1: + archive_url: http://some/pipermail/url + mbox: ../../rawdata/geronimo/pipermail/geronimo-dev/ -issue_tracker: - jira: - # Obtained from the project's JIRA URL - #domain: https://issues.apache.org/jira - #project_key: GERONIMO - # Download using `download_jira_data.Rmd` - #issues: ../../rawdata/issue_tracker/geronimo_issues.json - #issue_comments: ../../rawdata/issue_tracker/geronimo_issue_comments.json - github: - # Obtained from the project's GitHub URL - #owner: apache - #repo: geronimo - # Download using `download_github_comments.Rmd` - #replies: ../../rawdata/github/geronimo/ - # Currently not supported - #bugzilla: - #url: https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&no_redirect=1&order=Importance&product=Tomcat%209&query_format=specific +# issue_tracker: +# jira: +# project_key_1: +# # Obtained from the project's JIRA URL +# domain: https://issues.apache.org/jira +# #project_key: HELIX +# # Download using `download_jira_data.Rmd` +# # issues: ../../rawdata/helix/jira/issues/helix/ +# # issue_comments: ../../rawdata/helix/jira/issue_comments/helix/ +# github: +# project_key_1: +# # Obtained from the project's GitHub URL +# owner: apache +# repo: apr +# # Download using `download_github_comments.Rmd` +# issue_or_pr_comment: ../../rawdata/apr/github/issue_or_pr_comment/apache_apr/ +# issue: ../../rawdata/apr/github/issue/apache_apr/ +# issue_search: ../../rawdata/apr/github/issue_search/apache_apr/ +# pull_request: ../../rawdata/apr/github/pull_request/apache_apr/ +# commit: ../../rawdata/apr/github/commit/apache_apr/ #vulnerabilities: # Folder path with nvd cve feeds (e.g. nvdcve-1.1-2018.json) diff --git a/conf/tse_apex.yml b/conf/tse_apex.yml index 46841ce..1a41a6b 100644 --- a/conf/tse_apex.yml +++ b/conf/tse_apex.yml @@ -52,20 +52,26 @@ mailing_list: # list_key: # - geronimo-dev -issue_tracker: + issue_tracker: jira: - # Obtained from the project's JIRA URL - domain: https://issues.apache.org/jira - project_key: APEXCORE - # Download using `download_jira_data.Rmd` - issues: ../../../../tse_motif_2021/dataset/jira/apex - #issue_comments: ../../rawdata/issue_tracker/geronimo_issue_comments.json - #github: - # Obtained from the project's GitHub URL - #owner: apache - #repo: geronimo - # Download using `download_github_comments.Rmd` - #replies: ../../rawdata/github/geronimo/ + project_key_1: + # Obtained from the project's JIRA URL + domain: https://issues.apache.org/jira + project_key: APEXCORE + # Download using `download_jira_data.Rmd` + issues: ../../rawdata/apex/jira/issues/apexcore/ + issue_comments: ../../rawdata/apex/jira/issue_comments/apexcore/ +# github: +# project_key_1: +# # Obtained from the project's GitHub URL +# owner: apache +# repo: apr +# # Download using `download_github_comments.Rmd` +# issue_or_pr_comment: ../../rawdata/apr/github/issue_or_pr_comment/apache_apr/ +# issue: ../../rawdata/apr/github/issue/apache_apr/ +# issue_search: ../../rawdata/apr/github/issue_search/apache_apr/ +# pull_request: ../../rawdata/apr/github/pull_request/apache_apr/ +# commit: ../../rawdata/apr/github/commit/apache_apr/ #vulnerabilities: # Folder path with nvd cve feeds (e.g. nvdcve-1.1-2018.json) From 4fe896d8f6946311086e5c2967bc0b6bfa5edcfb Mon Sep 17 00:00:00 2001 From: Nicholas Beydler Date: Tue, 10 Sep 2024 15:11:03 -1000 Subject: [PATCH 12/32] Documentation edit for PR reflection test. Confirming setup for committing and PR reflection. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 3fc3e83..65d4da2 100644 --- a/README.md +++ b/README.md @@ -33,7 +33,7 @@ I also recommend you download the repo to have some example project configuratio 4. Build the documentation `devtools::document(roclets = c('rd', 'collate', 'namespace'))`. 5. Build Kaiaulu (Top right pane in RStudio -> Build tab -> Install and Restart) 6. Run `vignettes/kaiaulu_architecture.Rmd` - 7. See the Wiki's [Third Party Tools Setup](https://github.com/sailuh/kaiaulu/wiki/Third-Party-Tools-Setup) if you are using a Notebook that relies on them. These require very minimal overhead by downloading a binary file, and specifying their path on `tools.yml` (see example on the repository). + 7. See the Wiki's [Third Party Tools Setup](https://github.com/sailuh/kaiaulu/wiki/Third-Party-Tools-Setup) if you are using a Notebook that relies on them. These require very minimal overhead by downloading a binary file and specifying their path on `tools.yml` (see example on the repository). ### Getting started From 720c0286a16cf88ad85ef114765ffffe7b123015 Mon Sep 17 00:00:00 2001 From: Mark Burgess Date: Thu, 12 Sep 2024 11:07:19 -1000 Subject: [PATCH 13/32] Minor Documentation Edit for PR Reflection Test Confirming setup for committing and PR reflection. --- README.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/README.md b/README.md index 65d4da2..5e77998 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,6 @@ For detailed functionality, see Kaiaulu's [API](http://itm0.shidler.hawaii.edu/k Please [ask questions on Discussions](https://github.com/sailuh/kaiaulu/discussions) or open an issue on the [issue tracker](https://github.com/sailuh/kaiaulu/issues) if you found a bug, or your answer can't be found in the documentation. A more comprehensive and ever growing list of features is available on the [Project Wiki](https://github.com/sailuh/kaiaulu/wiki). - ## Installation Kaiaulu has been tested on OS X and Ubuntu. For Windows and other OS users, try [Virtualbox](https://www.virtualbox.org/), @@ -41,13 +40,10 @@ To get started, browse through [the docs](http://itm0.shidler.hawaii.edu/kaiaulu ### Cheatsheets - | Social Smells | Architectural Flaws | | ------------- | ------------- | | | | - - ## Stay up-to-date * Read the [NEWS file](https://github.com/sailuh/kaiaulu/blob/master/NEWS.md). From ef42bd39d878d9dea3236e1abb7a0628f24c9eda Mon Sep 17 00:00:00 2001 From: Nicholas Beydler Date: Thu, 19 Sep 2024 14:51:25 -1000 Subject: [PATCH 14/32] i #230 replace a notebook's paths to get functions In each notebook, the working directory is the vignettes/ directory, however, the getwd() command states that the working directory is the kaiaulu/ folder itself. This is because each R code chunk considers its directory to be the working directory. To test the functionality of the get functions, I edited the config file to reflect the relative directory of vignettes/, thus parent directory ../ file path changes were added to each function. --- R/config.R | 86 ++++++++++++------------ vignettes/blamed_line_types_showcase.Rmd | 17 ++--- 2 files changed, 52 insertions(+), 51 deletions(-) diff --git a/R/config.R b/R/config.R index 7c3eb87..8b1ad24 100644 --- a/R/config.R +++ b/R/config.R @@ -11,7 +11,7 @@ #' @return the tools.yml file #' @export get_tools <- function() { - tool <- yaml::read_yaml("tools.yml") + tool <- yaml::read_yaml("../tools.yml") return(tool) } @@ -23,7 +23,7 @@ get_tools <- function() { #' @return the tool path from tools.yml #' @export get_tools_project <- function(tool_name) { - tool <- yaml::read_yaml("tools.yml") + tool <- yaml::read_yaml("../tools.yml") tool_path <- tool[[tool_name]] return(tool_path) } @@ -37,7 +37,7 @@ get_tools_project <- function(tool_name) { #' @export get_conf <- function(project_name) { - conf_path <- paste0("conf/", project_name, ".yml") + conf_path <- paste0("../conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) if(is.null(conf)) { @@ -55,7 +55,7 @@ get_conf <- function(project_name) { #' @return the local git repo path #' @export get_git_repo_path <- function(project_name) { - conf_path <- paste0("conf/", project_name, ".yml") + conf_path <- paste0("../conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) git_repo_path <- conf[["version_control"]][["log"]] @@ -76,7 +76,7 @@ get_git_repo_path <- function(project_name) { #' @export get_git_branches <- function(project_name) { - conf_path <- paste0("conf/", project_name, ".yml") + conf_path <- paste0("../conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) git_branch <- conf[["version_control"]][["branch"]] @@ -97,7 +97,7 @@ get_git_branches <- function(project_name) { #' @export get_file_extensions <- function(project_name) { - conf_path <- paste0("conf/", project_name, ".yml") + conf_path <- paste0("../conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) file_extensions <- conf[["filter"]][["keep_filepaths_ending_with"]] @@ -118,7 +118,7 @@ get_file_extensions <- function(project_name) { #' @export get_substring_filepath <- function(project_name) { - conf_path <- paste0("conf/", project_name, ".yml") + conf_path <- paste0("../conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) substring_filepath <- conf[["filter"]][["remove_filepaths_containing"]] @@ -139,7 +139,7 @@ get_substring_filepath <- function(project_name) { #' @export get_filter_commit_size <- function(project_name) { - conf_path <- paste0("conf/", project_name, ".yml") + conf_path <- paste0("../conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) filter_commit_size <- conf[["filter"]][["remove_filepaths_on_commit_size_greather_than"]] @@ -160,7 +160,7 @@ get_filter_commit_size <- function(project_name) { #' @export get_uctags_line_types <- function(project_name) { - conf_path <- paste0("conf/", project_name, ".yml") + conf_path <- paste0("../conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) kinds <- conf[["tool"]][["uctags"]][["keep_lines_type"]] @@ -181,7 +181,7 @@ get_uctags_line_types <- function(project_name) { #' @export get_code_language <- function(project_name) { - conf_path <- paste0("conf/", project_name, ".yml") + conf_path <- paste0("../conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) language <- conf[["tool"]][["depends"]][["code_language"]] @@ -202,7 +202,7 @@ get_code_language <- function(project_name) { #' @export get_keep_dependencies_type <- function(project_name) { - conf_path <- paste0("conf/", project_name, ".yml") + conf_path <- paste0("../conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) keep_dependencies_type <- conf[["tool"]][["depends"]][["keep_dependencies_type"]] @@ -224,7 +224,7 @@ get_keep_dependencies_type <- function(project_name) { #' @export get_dv8_folder_path <- function(project_name) { - conf_path <- paste0("conf/", project_name, ".yml") + conf_path <- paste0("../conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) project_path <- conf[["tool"]][["dv8"]][["folder_path"]] @@ -245,7 +245,7 @@ get_dv8_folder_path <- function(project_name) { #' @export get_dv8_flaws_params <- function(project_name) { - conf_path <- paste0("conf/", project_name, ".yml") + conf_path <- paste0("../conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) flaws_params <- conf[["tool"]][["dv8"]][["architectural_flaws"]] @@ -266,7 +266,7 @@ get_dv8_flaws_params <- function(project_name) { #' @export get_issue_id_regex <- function(project_name) { - conf_path <- paste0("conf/", project_name, ".yml") + conf_path <- paste0("../conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) issue_id_regex <- conf[["commit_message_id_regex"]][["issue_id"]] @@ -287,7 +287,7 @@ get_issue_id_regex <- function(project_name) { #' @export get_srcml_filepath <- function(project_name) { - conf_path <- paste0("conf/", project_name, ".yml") + conf_path <- paste0("../conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) srcml_filepath <- conf[["tool"]][["srcml"]][["srcml_path"]] @@ -308,7 +308,7 @@ get_srcml_filepath <- function(project_name) { #' @export get_pattern4_folder_path <- function(project_name) { - conf_path <- paste0("conf/", project_name, ".yml") + conf_path <- paste0("../conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) class_folder_path <- conf[["tool"]][["pattern4"]][["class_folder_path"]] @@ -329,7 +329,7 @@ get_pattern4_folder_path <- function(project_name) { #' @export get_pattern4_filepath <- function(project_name) { - conf_path <- paste0("conf/", project_name, ".yml") + conf_path <- paste0("../conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) pattern4_output_filepath <- conf[["tool"]][["pattern4"]][["output_filepath"]] @@ -350,7 +350,7 @@ get_pattern4_filepath <- function(project_name) { #' @export get_topics <- function(project_name) { - conf_path <- paste0("conf/", project_name, ".yml") + conf_path <- paste0("../conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) topics <- conf[["analysis"]][["topics"]] @@ -371,7 +371,7 @@ get_topics <- function(project_name) { #' @export get_mbox_key_indexes <- function(project_name) { - conf_path <- paste0("conf/", project_name, ".yml") + conf_path <- paste0("../conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) mbox_keys <- conf[["mailing_list"]][["mod_mbox"]] @@ -393,7 +393,7 @@ get_mbox_key_indexes <- function(project_name) { #' @export get_mbox_path <- function(project_name, project_key_index) { - conf_path <- paste0("conf/", project_name, ".yml") + conf_path <- paste0("../conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) mbox_path <- conf[["mailing_list"]][["mod_mbox"]][[project_key_index]][["mbox"]] @@ -415,7 +415,7 @@ get_mbox_path <- function(project_name, project_key_index) { #' @export get_mbox_domain <- function(project_name, project_key_index) { - conf_path <- paste0("conf/", project_name, ".yml") + conf_path <- paste0("../conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) mbox_url <- conf[["mailing_list"]][["mod_mbox"]][[project_key_index]][["archive_url"]] @@ -437,7 +437,7 @@ get_mbox_domain <- function(project_name, project_key_index) { #' @export get_mbox_mailing_list <- function(project_name, project_key_index) { - conf_path <- paste0("conf/", project_name, ".yml") + conf_path <- paste0("../conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) mailing_list <- conf[["mailing_list"]][["mod_mbox"]][[project_key_index]][["mailing_list"]] @@ -459,7 +459,7 @@ get_mbox_mailing_list <- function(project_name, project_key_index) { #' @export get_mbox_mailing_list <- function(project_name, project_key_index) { - conf_path <- paste0("conf/", project_name, ".yml") + conf_path <- paste0("../conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) archive_type <- conf[["mailing_list"]][["mod_mbox"]][[project_key_index]][["archive_type"]] @@ -480,7 +480,7 @@ get_mbox_mailing_list <- function(project_name, project_key_index) { #' @export get_github_key_indexes <- function(project_name) { - conf_path <- paste0("conf/", project_name, ".yml") + conf_path <- paste0("../conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) keys <- conf[["issue_tracker"]][["github"]] @@ -502,7 +502,7 @@ get_github_key_indexes <- function(project_name) { #' @export get_github_owner <- function(project_name, project_key_index) { - conf_path <- paste0("conf/", project_name, ".yml") + conf_path <- paste0("../conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) owner <- conf[["issue_tracker"]][["github"]][[project_key_index]][["owner"]] @@ -524,7 +524,7 @@ get_github_owner <- function(project_name, project_key_index) { #' @export get_github_repo <- function(project_name, project_key_index) { - conf_path <- paste0("conf/", project_name, ".yml") + conf_path <- paste0("../conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) repo <- conf[["issue_tracker"]][["github"]][[project_key_index]][["repo"]] @@ -546,7 +546,7 @@ get_github_repo <- function(project_name, project_key_index) { #' @export get_github_issue_path <- function(project_name, project_key_index) { - conf_path <- paste0("conf/", project_name, ".yml") + conf_path <- paste0("../conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) issue_path <- conf[["issue_tracker"]][["github"]][[project_key_index]][["issue"]] @@ -568,7 +568,7 @@ get_github_issue_path <- function(project_name, project_key_index) { #' @export get_github_issue_or_pr_comment_path <- function(project_name, project_key_index) { - conf_path <- paste0("conf/", project_name, ".yml") + conf_path <- paste0("../conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) issue_or_pr_comment_path <- conf[["issue_tracker"]][["github"]][[project_key_index]][["issue_or_pr_comment"]] @@ -590,7 +590,7 @@ get_github_issue_or_pr_comment_path <- function(project_name, project_key_index) #' @export get_github_issue_search_path <- function(project_name, project_key_index) { - conf_path <- paste0("conf/", project_name, ".yml") + conf_path <- paste0("../conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) issue_search_path <- conf[["issue_tracker"]][["github"]][[project_key_index]][["issue_search"]] @@ -612,7 +612,7 @@ get_github_issue_search_path <- function(project_name, project_key_index) { #' @export get_github_pull_request_path <- function(project_name, project_key_index) { - conf_path <- paste0("conf/", project_name, ".yml") + conf_path <- paste0("../conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) pull_request_path <- conf[["issue_tracker"]][["github"]][[project_key_index]][["pull_request"]] @@ -634,7 +634,7 @@ get_github_pull_request_path <- function(project_name, project_key_index) { #' @export get_github_commit_path <- function(project_name, project_key_index) { - conf_path <- paste0("conf/", project_name, ".yml") + conf_path <- paste0("../conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) commit_path <- conf[["issue_tracker"]][["github"]][[project_key_index]][["commit"]] @@ -655,7 +655,7 @@ get_github_commit_path <- function(project_name, project_key_index) { #' @export get_jira_key_indexes <- function(project_name) { - conf_path <- paste0("conf/", project_name, ".yml") + conf_path <- paste0("../conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) keys <- conf[["issue_tracker"]][["jira"]] @@ -677,7 +677,7 @@ get_jira_key_indexes <- function(project_name) { #' @export get_jira_domain <- function(project_name, project_key_index) { - conf_path <- paste0("conf/", project_name, ".yml") + conf_path <- paste0("../conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) domain <- conf[["issue_tracker"]][["jira"]][[project_key_index]][["domain"]] @@ -699,7 +699,7 @@ get_jira_domain <- function(project_name, project_key_index) { #' @export get_jira_project_key_name <- function(project_name, project_key_index) { - conf_path <- paste0("conf/", project_name, ".yml") + conf_path <- paste0("../conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) name <- conf[["issue_tracker"]][["jira"]][[project_key_index]][["project_key"]] @@ -721,7 +721,7 @@ get_jira_project_key_name <- function(project_name, project_key_index) { #' @export get_jira_issues_path <- function(project_name, project_key_index) { - conf_path <- paste0("conf/", project_name, ".yml") + conf_path <- paste0("../conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) jira_issues_path <- conf[["issue_tracker"]][["jira"]][[project_key_index]][["issues"]] @@ -743,7 +743,7 @@ get_jira_issues_path <- function(project_name, project_key_index) { #' @export get_jira_issues_comments_path <- function(project_name, project_key_index) { - conf_path <- paste0("conf/", project_name, ".yml") + conf_path <- paste0("../conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) jira_issue_comments_path <- conf[["issue_tracker"]][["jira"]][[project_key_index]][["issue_comments"]] @@ -764,7 +764,7 @@ get_jira_issues_comments_path <- function(project_name, project_key_index) { #' @export get_bugzilla_project_key <- function(project_name) { - conf_path <- paste0("conf/", project_name, ".yml") + conf_path <- paste0("../conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) key <- conf[["issue_tracker"]][["bugzilla"]][["project_key_index"]][["project_key"]] @@ -785,7 +785,7 @@ get_bugzilla_project_key <- function(project_name) { #' @export get_nvdfeed_folder_path <- function(project_name) { - conf_path <- paste0("conf/", project_name, ".yml") + conf_path <- paste0("../conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) nvdfeed_folder_path <- conf[["vulnerabilities"]][["nvd_feed"]] @@ -806,7 +806,7 @@ get_nvdfeed_folder_path <- function(project_name) { #' @export get_cveid_regex <- function(project_name) { - conf_path <- paste0("conf/", project_name, ".yml") + conf_path <- paste0("../conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) cveid_regex <- conf[["commit_message_id_regex"]][["cve_id"]] @@ -827,7 +827,7 @@ get_cveid_regex <- function(project_name) { #' @export get_enumeration_commits <- function(project_name) { - conf_path <- paste0("conf/", project_name, ".yml") + conf_path <- paste0("../conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) commit <- conf[["analysis"]][["enumeration"]][["commit"]] @@ -848,7 +848,7 @@ get_enumeration_commits <- function(project_name) { #' @export get_window_start_commit <- function(project_name) { - conf_path <- paste0("conf/", project_name, ".yml") + conf_path <- paste0("../conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) start_commit <- conf[["analysis"]][["window"]][["start_commit"]] @@ -869,7 +869,7 @@ get_window_start_commit <- function(project_name) { #' @export get_window_end_commit <- function(project_name) { - conf_path <- paste0("conf/", project_name, ".yml") + conf_path <- paste0("../conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) end_commit <- conf[["analysis"]][["window"]][["end_commit"]] @@ -890,7 +890,7 @@ get_window_end_commit <- function(project_name) { #' @export get_window_size <- function(project_name) { - conf_path <- paste0("conf/", project_name, ".yml") + conf_path <- paste0("../conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) window_size <- conf[["analysis"]][["window"]][["size_days"]] diff --git a/vignettes/blamed_line_types_showcase.Rmd b/vignettes/blamed_line_types_showcase.Rmd index 3f12eb0..82f54a0 100644 --- a/vignettes/blamed_line_types_showcase.Rmd +++ b/vignettes/blamed_line_types_showcase.Rmd @@ -84,22 +84,23 @@ filter: We load the above various sections of the single .yaml project configuration file as follows: ```{r} -tool <- yaml::read_yaml("../tools.yml") -conf <- yaml::read_yaml("../conf/apr.yml") +source("../R/config.R") +tool <- get_tools() +conf <- get_conf("apr") # 3rd Party Tools -perceval_path <- tool[["perceval"]] -utags_path <- tool[["utags"]] +perceval_path <- get_tools_project("perceval") +utags_path <- get_tools_project("utags") # Ctags Line Types -kinds <- conf[["tool"]][["uctags"]][["keep_lines_type"]] +kinds <- get_uctags_line_types("apr") # Local Git Repo Folder Path -git_repo_path <- conf[["version_control"]][["log"]] +git_repo_path <- get_git_repo_path("apr") # File Filters -file_extensions <- conf[["filter"]][["keep_filepaths_ending_with"]] -substring_filepath <- conf[["filter"]][["remove_filepaths_containing"]] +file_extensions <- get_file_extensions("apr") +substring_filepath <- get_substring_filepath("apr") ``` From c15223c7870cb49ee8a25e408a6c5ccad5b9876f Mon Sep 17 00:00:00 2001 From: Nicholas Beydler Date: Thu, 19 Sep 2024 20:04:44 -1000 Subject: [PATCH 15/32] i #230 removed source call from modified notebook The source("../R/config.R") reference was previously used to import the get() functions from config.R, however I wasn't building the project correctly. Now, this incorrect reference can be removed. --- DESCRIPTION | 2 +- NAMESPACE | 42 +++++++++++++++++++ man/commit_message_id_coverage.Rd | 2 +- man/download_jira_issues_by_date.Rd | 4 +- man/download_jira_issues_by_issue_key.Rd | 4 +- man/get_bugzilla_project_key.Rd | 17 ++++++++ man/get_code_language.Rd | 17 ++++++++ man/get_conf.Rd | 17 ++++++++ man/get_cveid_regex.Rd | 17 ++++++++ man/get_dv8_flaws_params.Rd | 17 ++++++++ man/get_dv8_folder_path.Rd | 17 ++++++++ man/get_enumeration_commits.Rd | 17 ++++++++ man/get_file_extensions.Rd | 17 ++++++++ man/get_filter_commit_size.Rd | 17 ++++++++ man/get_git_branches.Rd | 17 ++++++++ man/get_git_repo_path.Rd | 17 ++++++++ man/get_github_commit_path.Rd | 19 +++++++++ man/get_github_issue_or_pr_comment_path.Rd | 19 +++++++++ man/get_github_issue_path.Rd | 19 +++++++++ man/get_github_issue_search_path.Rd | 19 +++++++++ man/get_github_key_indexes.Rd | 17 ++++++++ man/get_github_owner.Rd | 19 +++++++++ man/get_github_pull_request_path.Rd | 19 +++++++++ man/get_github_repo.Rd | 19 +++++++++ man/get_issue_id_regex.Rd | 17 ++++++++ man/get_jira_domain.Rd | 19 +++++++++ man/get_jira_issues_comments_path.Rd | 19 +++++++++ man/get_jira_issues_path.Rd | 19 +++++++++ man/get_jira_key_indexes.Rd | 17 ++++++++ man/get_jira_project_key_name.Rd | 19 +++++++++ man/get_keep_dependencies_type.Rd | 17 ++++++++ man/get_mbox_domain.Rd | 19 +++++++++ man/get_mbox_key_indexes.Rd | 17 ++++++++ man/get_mbox_mailing_list.Rd | 25 +++++++++++ man/get_mbox_path.Rd | 19 +++++++++ man/get_nvdfeed_folder_path.Rd | 17 ++++++++ man/get_pattern4_filepath.Rd | 17 ++++++++ man/get_pattern4_folder_path.Rd | 17 ++++++++ man/get_srcml_filepath.Rd | 17 ++++++++ man/get_substring_filepath.Rd | 17 ++++++++ man/get_tools.Rd | 14 +++++++ man/get_tools_project.Rd | 17 ++++++++ man/get_topics.Rd | 17 ++++++++ man/get_uctags_line_types.Rd | 17 ++++++++ man/get_window_end_commit.Rd | 17 ++++++++ man/get_window_size.Rd | 17 ++++++++ man/get_window_start_commit.Rd | 17 ++++++++ man/metric_churn_per_commit_interval.Rd | 2 +- man/metric_churn_per_commit_per_file.Rd | 2 +- man/metric_file_bug_churn.Rd | 2 +- man/metric_file_bug_frequency.Rd | 2 +- man/metric_file_churn.Rd | 2 +- man/metric_file_non_bug_churn.Rd | 2 +- man/metric_file_non_bug_frequency.Rd | 2 +- man/motif_factory_anti_square.Rd | 4 +- man/motif_factory_anti_triangle.Rd | 4 +- man/motif_factory_square.Rd | 4 +- man/motif_factory_triangle.Rd | 4 +- ...e_bugzilla_perceval_rest_issue_comments.Rd | 4 +- ...lla_perceval_traditional_issue_comments.Rd | 4 +- man/parse_bugzilla_rest_comments.Rd | 4 +- man/parse_bugzilla_rest_issues.Rd | 2 +- man/parse_bugzilla_rest_issues_comments.Rd | 2 +- man/parse_commit_message_id.Rd | 4 +- man/parse_dependencies.Rd | 4 +- man/parse_dv8_clusters.Rd | 4 +- man/parse_gitlog.Rd | 4 +- man/parse_jira.Rd | 2 +- man/parse_jira_latest_date.Rd | 4 +- man/parse_jira_rss_xml.Rd | 4 +- man/parse_mbox.Rd | 4 +- man/parse_nvdfeed.Rd | 4 +- man/refresh_jira_issues.Rd | 8 ++-- vignettes/blamed_line_types_showcase.Rmd | 1 - 74 files changed, 837 insertions(+), 51 deletions(-) create mode 100644 man/get_bugzilla_project_key.Rd create mode 100644 man/get_code_language.Rd create mode 100644 man/get_conf.Rd create mode 100644 man/get_cveid_regex.Rd create mode 100644 man/get_dv8_flaws_params.Rd create mode 100644 man/get_dv8_folder_path.Rd create mode 100644 man/get_enumeration_commits.Rd create mode 100644 man/get_file_extensions.Rd create mode 100644 man/get_filter_commit_size.Rd create mode 100644 man/get_git_branches.Rd create mode 100644 man/get_git_repo_path.Rd create mode 100644 man/get_github_commit_path.Rd create mode 100644 man/get_github_issue_or_pr_comment_path.Rd create mode 100644 man/get_github_issue_path.Rd create mode 100644 man/get_github_issue_search_path.Rd create mode 100644 man/get_github_key_indexes.Rd create mode 100644 man/get_github_owner.Rd create mode 100644 man/get_github_pull_request_path.Rd create mode 100644 man/get_github_repo.Rd create mode 100644 man/get_issue_id_regex.Rd create mode 100644 man/get_jira_domain.Rd create mode 100644 man/get_jira_issues_comments_path.Rd create mode 100644 man/get_jira_issues_path.Rd create mode 100644 man/get_jira_key_indexes.Rd create mode 100644 man/get_jira_project_key_name.Rd create mode 100644 man/get_keep_dependencies_type.Rd create mode 100644 man/get_mbox_domain.Rd create mode 100644 man/get_mbox_key_indexes.Rd create mode 100644 man/get_mbox_mailing_list.Rd create mode 100644 man/get_mbox_path.Rd create mode 100644 man/get_nvdfeed_folder_path.Rd create mode 100644 man/get_pattern4_filepath.Rd create mode 100644 man/get_pattern4_folder_path.Rd create mode 100644 man/get_srcml_filepath.Rd create mode 100644 man/get_substring_filepath.Rd create mode 100644 man/get_tools.Rd create mode 100644 man/get_tools_project.Rd create mode 100644 man/get_topics.Rd create mode 100644 man/get_uctags_line_types.Rd create mode 100644 man/get_window_end_commit.Rd create mode 100644 man/get_window_size.Rd create mode 100644 man/get_window_start_commit.Rd diff --git a/DESCRIPTION b/DESCRIPTION index 128ee12..1607fb2 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -49,4 +49,4 @@ Imports: VignetteBuilder: knitr URL: https://github.com/sailuh/kaiaulu BugReports: https://github.com/sailuh/kaiaulu/issues -RoxygenNote: 7.2.3 +RoxygenNote: 7.3.2 diff --git a/NAMESPACE b/NAMESPACE index 2e3b17b..0ddd6e6 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -48,7 +48,49 @@ export(filter_by_file_extension) export(filter_by_filepath_substring) export(filter_by_last_files_change) export(format_name_email) +export(get_bugzilla_project_key) +export(get_code_language) +export(get_conf) +export(get_cveid_regex) export(get_date_from_commit_hash) +export(get_dv8_flaws_params) +export(get_dv8_folder_path) +export(get_enumeration_commits) +export(get_file_extensions) +export(get_filter_commit_size) +export(get_git_branches) +export(get_git_repo_path) +export(get_github_commit_path) +export(get_github_issue_or_pr_comment_path) +export(get_github_issue_path) +export(get_github_issue_search_path) +export(get_github_key_indexes) +export(get_github_owner) +export(get_github_pull_request_path) +export(get_github_repo) +export(get_issue_id_regex) +export(get_jira_domain) +export(get_jira_issues_comments_path) +export(get_jira_issues_path) +export(get_jira_key_indexes) +export(get_jira_project_key_name) +export(get_keep_dependencies_type) +export(get_mbox_domain) +export(get_mbox_key_indexes) +export(get_mbox_mailing_list) +export(get_mbox_path) +export(get_nvdfeed_folder_path) +export(get_pattern4_filepath) +export(get_pattern4_folder_path) +export(get_srcml_filepath) +export(get_substring_filepath) +export(get_tools) +export(get_tools_project) +export(get_topics) +export(get_uctags_line_types) +export(get_window_end_commit) +export(get_window_size) +export(get_window_start_commit) export(git_add) export(git_blame) export(git_checkout) diff --git a/man/commit_message_id_coverage.Rd b/man/commit_message_id_coverage.Rd index 68fad76..e7f0c6e 100644 --- a/man/commit_message_id_coverage.Rd +++ b/man/commit_message_id_coverage.Rd @@ -22,9 +22,9 @@ Calculates the number of commits from the git log which contains the message id. \code{\link{parse_gitlog}} to obtain additions and deletions from gitlog Other {metrics}: +\code{\link{metric_churn}()}, \code{\link{metric_churn_per_commit_interval}()}, \code{\link{metric_churn_per_commit_per_file}()}, -\code{\link{metric_churn}()}, \code{\link{metric_file_bug_churn}()}, \code{\link{metric_file_bug_frequency}()}, \code{\link{metric_file_churn}()}, diff --git a/man/download_jira_issues_by_date.Rd b/man/download_jira_issues_by_date.Rd index 697fdb4..ccb3c7c 100644 --- a/man/download_jira_issues_by_date.Rd +++ b/man/download_jira_issues_by_date.Rd @@ -72,13 +72,13 @@ For further details on the `created` JQL Query see [the associated JIRA API docu \code{\link{refresh_jira_issues}} to obtain more recent data from any of the downloader functions Other jira: -\code{\link{download_jira_issues_by_issue_key}()}, \code{\link{download_jira_issues}()}, +\code{\link{download_jira_issues_by_issue_key}()}, \code{\link{refresh_jira_issues}()} Other downloaders: -\code{\link{download_jira_issues_by_issue_key}()}, \code{\link{download_jira_issues}()}, +\code{\link{download_jira_issues_by_issue_key}()}, \code{\link{refresh_jira_issues}()} } \concept{downloaders} diff --git a/man/download_jira_issues_by_issue_key.Rd b/man/download_jira_issues_by_issue_key.Rd index b452878..8213ee1 100644 --- a/man/download_jira_issues_by_issue_key.Rd +++ b/man/download_jira_issues_by_issue_key.Rd @@ -67,13 +67,13 @@ For further details on the `issueKey` JQL Query see [the associated JIRA API doc \code{\link{refresh_jira_issues}} to obtain more recent data from any of the downloader functions Other jira: -\code{\link{download_jira_issues_by_date}()}, \code{\link{download_jira_issues}()}, +\code{\link{download_jira_issues_by_date}()}, \code{\link{refresh_jira_issues}()} Other downloaders: -\code{\link{download_jira_issues_by_date}()}, \code{\link{download_jira_issues}()}, +\code{\link{download_jira_issues_by_date}()}, \code{\link{refresh_jira_issues}()} } \concept{downloaders} diff --git a/man/get_bugzilla_project_key.Rd b/man/get_bugzilla_project_key.Rd new file mode 100644 index 0000000..61b42af --- /dev/null +++ b/man/get_bugzilla_project_key.Rd @@ -0,0 +1,17 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/config.R +\name{get_bugzilla_project_key} +\alias{get_bugzilla_project_key} +\title{Get Bugzilla Project Key} +\usage{ +get_bugzilla_project_key(project_name) +} +\arguments{ +\item{project_name}{the name of the project config file (e.g. "kaiaulu" or "geronimo")} +} +\value{ +the list of Jira issues comments paths +} +\description{ +Gets the project key for the Bugzilla project +} diff --git a/man/get_code_language.Rd b/man/get_code_language.Rd new file mode 100644 index 0000000..81cfc86 --- /dev/null +++ b/man/get_code_language.Rd @@ -0,0 +1,17 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/config.R +\name{get_code_language} +\alias{get_code_language} +\title{Get Code Language} +\usage{ +get_code_language(project_name) +} +\arguments{ +\item{project_name}{the name of the project config file (e.g. "kaiaulu" or "geronimo")} +} +\value{ +the code language +} +\description{ +Gets the code language of the project +} diff --git a/man/get_conf.Rd b/man/get_conf.Rd new file mode 100644 index 0000000..2ddb39d --- /dev/null +++ b/man/get_conf.Rd @@ -0,0 +1,17 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/config.R +\name{get_conf} +\alias{get_conf} +\title{Get config.yml File} +\usage{ +get_conf(project_name) +} +\arguments{ +\item{project_name}{the name of the project config file (e.g. "kaiaulu" or "geronimo")} +} +\value{ +the config yml file +} +\description{ +Gets the configuration file for any project +} diff --git a/man/get_cveid_regex.Rd b/man/get_cveid_regex.Rd new file mode 100644 index 0000000..c753a3f --- /dev/null +++ b/man/get_cveid_regex.Rd @@ -0,0 +1,17 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/config.R +\name{get_cveid_regex} +\alias{get_cveid_regex} +\title{Get CVE ID Regex} +\usage{ +get_cveid_regex(project_name) +} +\arguments{ +\item{project_name}{the name of the project config file (e.g. "kaiaulu" or "geronimo")} +} +\value{ +the commit message CVE +} +\description{ +Gets the commit message CVE +} diff --git a/man/get_dv8_flaws_params.Rd b/man/get_dv8_flaws_params.Rd new file mode 100644 index 0000000..0bcdc7a --- /dev/null +++ b/man/get_dv8_flaws_params.Rd @@ -0,0 +1,17 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/config.R +\name{get_dv8_flaws_params} +\alias{get_dv8_flaws_params} +\title{Get Flaws Params} +\usage{ +get_dv8_flaws_params(project_name) +} +\arguments{ +\item{project_name}{the name of the project config file (e.g. "kaiaulu" or "geronimo")} +} +\value{ +the flaws params +} +\description{ +Gets the architectural flaws thresholds +} diff --git a/man/get_dv8_folder_path.Rd b/man/get_dv8_folder_path.Rd new file mode 100644 index 0000000..ee6e72b --- /dev/null +++ b/man/get_dv8_folder_path.Rd @@ -0,0 +1,17 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/config.R +\name{get_dv8_folder_path} +\alias{get_dv8_folder_path} +\title{Get DV8 Project Folder Path} +\usage{ +get_dv8_folder_path(project_name) +} +\arguments{ +\item{project_name}{the name of the project config file (e.g. "kaiaulu" or "geronimo")} +} +\value{ +the dv8 project folder path +} +\description{ +Gets the dv8 project folder path +} diff --git a/man/get_enumeration_commits.Rd b/man/get_enumeration_commits.Rd new file mode 100644 index 0000000..f9ae4e3 --- /dev/null +++ b/man/get_enumeration_commits.Rd @@ -0,0 +1,17 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/config.R +\name{get_enumeration_commits} +\alias{get_enumeration_commits} +\title{Get Enumeration Commits} +\usage{ +get_enumeration_commits(project_name) +} +\arguments{ +\item{project_name}{the name of the project config file (e.g. "kaiaulu" or "geronimo")} +} +\value{ +the commit intervals as a list +} +\description{ +Gets the list of enumerated commit intervals for analysis. +} diff --git a/man/get_file_extensions.Rd b/man/get_file_extensions.Rd new file mode 100644 index 0000000..36662ee --- /dev/null +++ b/man/get_file_extensions.Rd @@ -0,0 +1,17 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/config.R +\name{get_file_extensions} +\alias{get_file_extensions} +\title{Get File Extensions} +\usage{ +get_file_extensions(project_name) +} +\arguments{ +\item{project_name}{the name of the project config file (e.g. "kaiaulu" or "geronimo")} +} +\value{ +the file extensions +} +\description{ +Gets the file extensions for filtering +} diff --git a/man/get_filter_commit_size.Rd b/man/get_filter_commit_size.Rd new file mode 100644 index 0000000..29c4e69 --- /dev/null +++ b/man/get_filter_commit_size.Rd @@ -0,0 +1,17 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/config.R +\name{get_filter_commit_size} +\alias{get_filter_commit_size} +\title{Get Filter Commit Size} +\usage{ +get_filter_commit_size(project_name) +} +\arguments{ +\item{project_name}{the name of the project config file (e.g. "kaiaulu" or "geronimo")} +} +\value{ +the commit size to filter out +} +\description{ +Gets the commit size to filter out +} diff --git a/man/get_git_branches.Rd b/man/get_git_branches.Rd new file mode 100644 index 0000000..0dc06ae --- /dev/null +++ b/man/get_git_branches.Rd @@ -0,0 +1,17 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/config.R +\name{get_git_branches} +\alias{get_git_branches} +\title{Get Project Git Branches} +\usage{ +get_git_branches(project_name) +} +\arguments{ +\item{project_name}{the name of the project config file (e.g. "kaiaulu" or "geronimo")} +} +\value{ +the list of git branches +} +\description{ +Gets the list of git branches of the project +} diff --git a/man/get_git_repo_path.Rd b/man/get_git_repo_path.Rd new file mode 100644 index 0000000..10e1a5e --- /dev/null +++ b/man/get_git_repo_path.Rd @@ -0,0 +1,17 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/config.R +\name{get_git_repo_path} +\alias{get_git_repo_path} +\title{Get Project Git Repo Path} +\usage{ +get_git_repo_path(project_name) +} +\arguments{ +\item{project_name}{the name of the project config file (e.g. "kaiaulu" or "geronimo")} +} +\value{ +the local git repo path +} +\description{ +Gets the local project git repo path from the config file +} diff --git a/man/get_github_commit_path.Rd b/man/get_github_commit_path.Rd new file mode 100644 index 0000000..9b2573f --- /dev/null +++ b/man/get_github_commit_path.Rd @@ -0,0 +1,19 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/config.R +\name{get_github_commit_path} +\alias{get_github_commit_path} +\title{Get GitHub Commit Save Path} +\usage{ +get_github_commit_path(project_name, project_key_index) +} +\arguments{ +\item{project_name}{the name of the project config file (e.g. "kaiaulu" or "geronimo")} + +\item{project_key_index}{the name of the index of the project key (e.g. "project_key_1" or "project_key_2")} +} +\value{ +the local save path for GitHub commits +} +\description{ +Gets the local save path for GitHub commits for a specific project key index +} diff --git a/man/get_github_issue_or_pr_comment_path.Rd b/man/get_github_issue_or_pr_comment_path.Rd new file mode 100644 index 0000000..5b2f702 --- /dev/null +++ b/man/get_github_issue_or_pr_comment_path.Rd @@ -0,0 +1,19 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/config.R +\name{get_github_issue_or_pr_comment_path} +\alias{get_github_issue_or_pr_comment_path} +\title{Get GitHub Issue Or PR Comment Save Path} +\usage{ +get_github_issue_or_pr_comment_path(project_name, project_key_index) +} +\arguments{ +\item{project_name}{the name of the project config file (e.g. "kaiaulu" or "geronimo")} + +\item{project_key_index}{the name of the index of the project key (e.g. "project_key_1" or "project_key_2")} +} +\value{ +the local save path for Github Issues or PR comments +} +\description{ +Gets the local save path for GitHub Issues or PR Comments for a specific project key index +} diff --git a/man/get_github_issue_path.Rd b/man/get_github_issue_path.Rd new file mode 100644 index 0000000..69682bc --- /dev/null +++ b/man/get_github_issue_path.Rd @@ -0,0 +1,19 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/config.R +\name{get_github_issue_path} +\alias{get_github_issue_path} +\title{Get GitHub Issue Save Path} +\usage{ +get_github_issue_path(project_name, project_key_index) +} +\arguments{ +\item{project_name}{the name of the project config file (e.g. "kaiaulu" or "geronimo")} + +\item{project_key_index}{the name of the index of the project key (e.g. "project_key_1" or "project_key_2")} +} +\value{ +the local save path for GitHub issues +} +\description{ +Gets the local save path for GitHub issues for a specific project key index +} diff --git a/man/get_github_issue_search_path.Rd b/man/get_github_issue_search_path.Rd new file mode 100644 index 0000000..3594443 --- /dev/null +++ b/man/get_github_issue_search_path.Rd @@ -0,0 +1,19 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/config.R +\name{get_github_issue_search_path} +\alias{get_github_issue_search_path} +\title{Get GitHub Issue Search Save Path} +\usage{ +get_github_issue_search_path(project_name, project_key_index) +} +\arguments{ +\item{project_name}{the name of the project config file (e.g. "kaiaulu" or "geronimo")} + +\item{project_key_index}{the name of the index of the project key (e.g. "project_key_1" or "project_key_2")} +} +\value{ +the local save path for GitHub issue search +} +\description{ +Gets the local save path for GitHub issue search for a specific project key index +} diff --git a/man/get_github_key_indexes.Rd b/man/get_github_key_indexes.Rd new file mode 100644 index 0000000..232ca0d --- /dev/null +++ b/man/get_github_key_indexes.Rd @@ -0,0 +1,17 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/config.R +\name{get_github_key_indexes} +\alias{get_github_key_indexes} +\title{Get GitHub Issue Tracker Project Key Indexes} +\usage{ +get_github_key_indexes(project_name) +} +\arguments{ +\item{project_name}{the name of the project config file (e.g. "kaiaulu" or "geronimo")} +} +\value{ +the list of issue tracker project keys +} +\description{ +Gets the list of GitHub issue tracker project key indexes +} diff --git a/man/get_github_owner.Rd b/man/get_github_owner.Rd new file mode 100644 index 0000000..c6551e3 --- /dev/null +++ b/man/get_github_owner.Rd @@ -0,0 +1,19 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/config.R +\name{get_github_owner} +\alias{get_github_owner} +\title{Get GitHub Owner} +\usage{ +get_github_owner(project_name, project_key_index) +} +\arguments{ +\item{project_name}{the name of the project config file (e.g. "kaiaulu" or "geronimo")} + +\item{project_key_index}{the name of the index of the project key (e.g. "project_key_1" or "project_key_2")} +} +\value{ +the GitHub project owner name +} +\description{ +Gets the owner of the GitHub repository for a specific project key index +} diff --git a/man/get_github_pull_request_path.Rd b/man/get_github_pull_request_path.Rd new file mode 100644 index 0000000..c3eb6a5 --- /dev/null +++ b/man/get_github_pull_request_path.Rd @@ -0,0 +1,19 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/config.R +\name{get_github_pull_request_path} +\alias{get_github_pull_request_path} +\title{Get GitHub Pull Request Save Path} +\usage{ +get_github_pull_request_path(project_name, project_key_index) +} +\arguments{ +\item{project_name}{the name of the project config file (e.g. "kaiaulu" or "geronimo")} + +\item{project_key_index}{the name of the index of the project key (e.g. "project_key_1" or "project_key_2")} +} +\value{ +the local save path for GitHub pull requests +} +\description{ +Gets the local save path for GitHub pull requests for a specific project key index +} diff --git a/man/get_github_repo.Rd b/man/get_github_repo.Rd new file mode 100644 index 0000000..64a1948 --- /dev/null +++ b/man/get_github_repo.Rd @@ -0,0 +1,19 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/config.R +\name{get_github_repo} +\alias{get_github_repo} +\title{Get GitHub Repository} +\usage{ +get_github_repo(project_name, project_key_index) +} +\arguments{ +\item{project_name}{the name of the project config file (e.g. "kaiaulu" or "geronimo")} + +\item{project_key_index}{the name of the index of the project key (e.g. "project_key_1" or "project_key_2")} +} +\value{ +the GitHub repository +} +\description{ +Gets the name of the GitHub repository for a specific project key index +} diff --git a/man/get_issue_id_regex.Rd b/man/get_issue_id_regex.Rd new file mode 100644 index 0000000..1f4fb30 --- /dev/null +++ b/man/get_issue_id_regex.Rd @@ -0,0 +1,17 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/config.R +\name{get_issue_id_regex} +\alias{get_issue_id_regex} +\title{Get Issue Id Regex} +\usage{ +get_issue_id_regex(project_name) +} +\arguments{ +\item{project_name}{the name of the project config file (e.g. "kaiaulu" or "geronimo")} +} +\value{ +the issue id regex +} +\description{ +Gets the issue ID regex on commit messages +} diff --git a/man/get_jira_domain.Rd b/man/get_jira_domain.Rd new file mode 100644 index 0000000..c28cf03 --- /dev/null +++ b/man/get_jira_domain.Rd @@ -0,0 +1,19 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/config.R +\name{get_jira_domain} +\alias{get_jira_domain} +\title{Get Jira Project Domain} +\usage{ +get_jira_domain(project_name, project_key_index) +} +\arguments{ +\item{project_name}{the name of the project config file (e.g. "kaiaulu" or "geronimo")} + +\item{project_key_index}{the name of the index of the project key (e.g. "project_key_1" or "project_key_2")} +} +\value{ +the Jira domain of the project key index +} +\description{ +Gets the Jira domain for a specific project key index +} diff --git a/man/get_jira_issues_comments_path.Rd b/man/get_jira_issues_comments_path.Rd new file mode 100644 index 0000000..28d4bc6 --- /dev/null +++ b/man/get_jira_issues_comments_path.Rd @@ -0,0 +1,19 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/config.R +\name{get_jira_issues_comments_path} +\alias{get_jira_issues_comments_path} +\title{Get Jira Issues Comments Path} +\usage{ +get_jira_issues_comments_path(project_name, project_key_index) +} +\arguments{ +\item{project_name}{the name of the project config file (e.g. "kaiaulu" or "geronimo")} + +\item{project_key_index}{the name of the index of the project key (e.g. "project_key_1" or "project_key_2")} +} +\value{ +the list of Jira issues comments paths +} +\description{ +Gets the local path to store Jira issues with comments for a specific project key index +} diff --git a/man/get_jira_issues_path.Rd b/man/get_jira_issues_path.Rd new file mode 100644 index 0000000..d4d739a --- /dev/null +++ b/man/get_jira_issues_path.Rd @@ -0,0 +1,19 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/config.R +\name{get_jira_issues_path} +\alias{get_jira_issues_path} +\title{Get Jira Issues Path} +\usage{ +get_jira_issues_path(project_name, project_key_index) +} +\arguments{ +\item{project_name}{the name of the project config file (e.g. "kaiaulu" or "geronimo")} + +\item{project_key_index}{the name of the index of the project key (e.g. "project_key_1" or "project_key_2")} +} +\value{ +the Jira issue path +} +\description{ +Gets the local path to store Jira issues for a specific project key index +} diff --git a/man/get_jira_key_indexes.Rd b/man/get_jira_key_indexes.Rd new file mode 100644 index 0000000..c41d175 --- /dev/null +++ b/man/get_jira_key_indexes.Rd @@ -0,0 +1,17 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/config.R +\name{get_jira_key_indexes} +\alias{get_jira_key_indexes} +\title{Get Jira Issue Tracker Project Key Indexes} +\usage{ +get_jira_key_indexes(project_name) +} +\arguments{ +\item{project_name}{the name of the project config file (e.g. "kaiaulu" or "geronimo")} +} +\value{ +the list of issue tracker project keys +} +\description{ +Gets the list of Jira issue tracker project key indexes +} diff --git a/man/get_jira_project_key_name.Rd b/man/get_jira_project_key_name.Rd new file mode 100644 index 0000000..8111ff9 --- /dev/null +++ b/man/get_jira_project_key_name.Rd @@ -0,0 +1,19 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/config.R +\name{get_jira_project_key_name} +\alias{get_jira_project_key_name} +\title{Get Jira Project Key Name} +\usage{ +get_jira_project_key_name(project_name, project_key_index) +} +\arguments{ +\item{project_name}{the name of the project config file (e.g. "kaiaulu" or "geronimo")} + +\item{project_key_index}{the name of the index of the project key (e.g. "project_key_1" or "project_key_2")} +} +\value{ +the project key name +} +\description{ +Gets the project key name for a specific project key index +} diff --git a/man/get_keep_dependencies_type.Rd b/man/get_keep_dependencies_type.Rd new file mode 100644 index 0000000..ae7b083 --- /dev/null +++ b/man/get_keep_dependencies_type.Rd @@ -0,0 +1,17 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/config.R +\name{get_keep_dependencies_type} +\alias{get_keep_dependencies_type} +\title{Get Keep Dependencies Type} +\usage{ +get_keep_dependencies_type(project_name) +} +\arguments{ +\item{project_name}{the name of the project config file (e.g. "kaiaulu" or "geronimo")} +} +\value{ +the types of dependencies to keep +} +\description{ +Gets the type of dependencies to keep +} diff --git a/man/get_mbox_domain.Rd b/man/get_mbox_domain.Rd new file mode 100644 index 0000000..32bb5c5 --- /dev/null +++ b/man/get_mbox_domain.Rd @@ -0,0 +1,19 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/config.R +\name{get_mbox_domain} +\alias{get_mbox_domain} +\title{Get Mbox Archive URL} +\usage{ +get_mbox_domain(project_name, project_key_index) +} +\arguments{ +\item{project_name}{the name of the project config file (e.g. "kaiaulu" or "geronimo")} + +\item{project_key_index}{the name of the index of the project key (e.g. "project_key_1" or "project_key_2")} +} +\value{ +the domain of the mailing list archive +} +\description{ +Gets the Mbox archive URL for a specific project key index +} diff --git a/man/get_mbox_key_indexes.Rd b/man/get_mbox_key_indexes.Rd new file mode 100644 index 0000000..284d21c --- /dev/null +++ b/man/get_mbox_key_indexes.Rd @@ -0,0 +1,17 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/config.R +\name{get_mbox_key_indexes} +\alias{get_mbox_key_indexes} +\title{Get Mailing List Mod Mbox Key Indexes} +\usage{ +get_mbox_key_indexes(project_name) +} +\arguments{ +\item{project_name}{the name of the project config file (e.g. "kaiaulu" or "geronimo")} +} +\value{ +the list of mod mbox mail key indexes +} +\description{ +Gets the list of mod mbox mail key indexes +} diff --git a/man/get_mbox_mailing_list.Rd b/man/get_mbox_mailing_list.Rd new file mode 100644 index 0000000..648fc71 --- /dev/null +++ b/man/get_mbox_mailing_list.Rd @@ -0,0 +1,25 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/config.R +\name{get_mbox_mailing_list} +\alias{get_mbox_mailing_list} +\title{Get Mod Mbox Mailing List} +\usage{ +get_mbox_mailing_list(project_name, project_key_index) + +get_mbox_mailing_list(project_name, project_key_index) +} +\arguments{ +\item{project_name}{the name of the project config file (e.g. "kaiaulu" or "geronimo")} + +\item{project_key_index}{the name of the index of the project key (e.g. "project_key_1" or "project_key_2")} +} +\value{ +the mbox mailing list + +the mbox mailing list +} +\description{ +Gets the Mbox mailing list for a specific project key index + +Gets the Mbox archive type for a specific project key index +} diff --git a/man/get_mbox_path.Rd b/man/get_mbox_path.Rd new file mode 100644 index 0000000..c6bfd74 --- /dev/null +++ b/man/get_mbox_path.Rd @@ -0,0 +1,19 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/config.R +\name{get_mbox_path} +\alias{get_mbox_path} +\title{Get Mbox Save Path} +\usage{ +get_mbox_path(project_name, project_key_index) +} +\arguments{ +\item{project_name}{the name of the project config file (e.g. "kaiaulu" or "geronimo")} + +\item{project_key_index}{the name of the index of the project key (e.g. "project_key_1" or "project_key_2")} +} +\value{ +the mbox path +} +\description{ +Gets the local path to store Mbox data for a specific project key index +} diff --git a/man/get_nvdfeed_folder_path.Rd b/man/get_nvdfeed_folder_path.Rd new file mode 100644 index 0000000..20419c3 --- /dev/null +++ b/man/get_nvdfeed_folder_path.Rd @@ -0,0 +1,17 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/config.R +\name{get_nvdfeed_folder_path} +\alias{get_nvdfeed_folder_path} +\title{Get Nvd Feed Folder Path} +\usage{ +get_nvdfeed_folder_path(project_name) +} +\arguments{ +\item{project_name}{the name of the project config file (e.g. "kaiaulu" or "geronimo")} +} +\value{ +the folder path with nvd cve feeds +} +\description{ +Gets the folder path with nvd cve feeds +} diff --git a/man/get_pattern4_filepath.Rd b/man/get_pattern4_filepath.Rd new file mode 100644 index 0000000..fdae9b4 --- /dev/null +++ b/man/get_pattern4_filepath.Rd @@ -0,0 +1,17 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/config.R +\name{get_pattern4_filepath} +\alias{get_pattern4_filepath} +\title{Get Pattern4 Output Filepath} +\usage{ +get_pattern4_filepath(project_name) +} +\arguments{ +\item{project_name}{the name of the project config file (e.g. "kaiaulu" or "geronimo")} +} +\value{ +the output filepath +} +\description{ +Gets the Pattern4 filepath where the output is stored +} diff --git a/man/get_pattern4_folder_path.Rd b/man/get_pattern4_folder_path.Rd new file mode 100644 index 0000000..001679a --- /dev/null +++ b/man/get_pattern4_folder_path.Rd @@ -0,0 +1,17 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/config.R +\name{get_pattern4_folder_path} +\alias{get_pattern4_folder_path} +\title{Get Pattern4 Class Folder Path} +\usage{ +get_pattern4_folder_path(project_name) +} +\arguments{ +\item{project_name}{the name of the project config file (e.g. "kaiaulu" or "geronimo")} +} +\value{ +the class folder path +} +\description{ +Gets the Pattern4 class folder path where the output is stored +} diff --git a/man/get_srcml_filepath.Rd b/man/get_srcml_filepath.Rd new file mode 100644 index 0000000..cbd59c9 --- /dev/null +++ b/man/get_srcml_filepath.Rd @@ -0,0 +1,17 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/config.R +\name{get_srcml_filepath} +\alias{get_srcml_filepath} +\title{Get SrcML Filepath} +\usage{ +get_srcml_filepath(project_name) +} +\arguments{ +\item{project_name}{the name of the project config file (e.g. "kaiaulu" or "geronimo")} +} +\value{ +the srcml filepath +} +\description{ +Gets the SrcML filepath where the output is stored +} diff --git a/man/get_substring_filepath.Rd b/man/get_substring_filepath.Rd new file mode 100644 index 0000000..503049f --- /dev/null +++ b/man/get_substring_filepath.Rd @@ -0,0 +1,17 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/config.R +\name{get_substring_filepath} +\alias{get_substring_filepath} +\title{Get Substring Filepath} +\usage{ +get_substring_filepath(project_name) +} +\arguments{ +\item{project_name}{the name of the project config file (e.g. "kaiaulu" or "geronimo")} +} +\value{ +the substring filepaths +} +\description{ +Gets the substring filepaths for filtering +} diff --git a/man/get_tools.Rd b/man/get_tools.Rd new file mode 100644 index 0000000..6978b2b --- /dev/null +++ b/man/get_tools.Rd @@ -0,0 +1,14 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/config.R +\name{get_tools} +\alias{get_tools} +\title{Get tools.yml} +\usage{ +get_tools() +} +\value{ +the tools.yml file +} +\description{ +Get tools.yml +} diff --git a/man/get_tools_project.Rd b/man/get_tools_project.Rd new file mode 100644 index 0000000..32d6f37 --- /dev/null +++ b/man/get_tools_project.Rd @@ -0,0 +1,17 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/config.R +\name{get_tools_project} +\alias{get_tools_project} +\title{Get Tool Path} +\usage{ +get_tools_project(tool_name) +} +\arguments{ +\item{tool_name}{the name of the tool (e.g. "perceval" or "dv8")} +} +\value{ +the tool path from tools.yml +} +\description{ +Gets the tool path from the tools.yml file +} diff --git a/man/get_topics.Rd b/man/get_topics.Rd new file mode 100644 index 0000000..255241d --- /dev/null +++ b/man/get_topics.Rd @@ -0,0 +1,17 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/config.R +\name{get_topics} +\alias{get_topics} +\title{Get Topics} +\usage{ +get_topics(project_name) +} +\arguments{ +\item{project_name}{the name of the project config file (e.g. "kaiaulu" or "geronimo")} +} +\value{ +the topics +} +\description{ +Gets the topics and keywords for analysis +} diff --git a/man/get_uctags_line_types.Rd b/man/get_uctags_line_types.Rd new file mode 100644 index 0000000..163c175 --- /dev/null +++ b/man/get_uctags_line_types.Rd @@ -0,0 +1,17 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/config.R +\name{get_uctags_line_types} +\alias{get_uctags_line_types} +\title{Get Uctags Line Types} +\usage{ +get_uctags_line_types(project_name) +} +\arguments{ +\item{project_name}{the name of the project config file (e.g. "kaiaulu" or "geronimo")} +} +\value{ +the uctags line type +} +\description{ +Gets the Uctags keep lines type +} diff --git a/man/get_window_end_commit.Rd b/man/get_window_end_commit.Rd new file mode 100644 index 0000000..6de1391 --- /dev/null +++ b/man/get_window_end_commit.Rd @@ -0,0 +1,17 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/config.R +\name{get_window_end_commit} +\alias{get_window_end_commit} +\title{Get Window End Commit} +\usage{ +get_window_end_commit(project_name) +} +\arguments{ +\item{project_name}{the name of the project config file (e.g. "kaiaulu" or "geronimo")} +} +\value{ +the analysis window size +} +\description{ +Gets the analysis window end commit +} diff --git a/man/get_window_size.Rd b/man/get_window_size.Rd new file mode 100644 index 0000000..d853a69 --- /dev/null +++ b/man/get_window_size.Rd @@ -0,0 +1,17 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/config.R +\name{get_window_size} +\alias{get_window_size} +\title{Get Analysis Window Size} +\usage{ +get_window_size(project_name) +} +\arguments{ +\item{project_name}{the name of the project config file (e.g. "kaiaulu" or "geronimo")} +} +\value{ +the analysis window size +} +\description{ +Gets the analysis window size +} diff --git a/man/get_window_start_commit.Rd b/man/get_window_start_commit.Rd new file mode 100644 index 0000000..5ad314e --- /dev/null +++ b/man/get_window_start_commit.Rd @@ -0,0 +1,17 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/config.R +\name{get_window_start_commit} +\alias{get_window_start_commit} +\title{Get Window Start Commit} +\usage{ +get_window_start_commit(project_name) +} +\arguments{ +\item{project_name}{the name of the project config file (e.g. "kaiaulu" or "geronimo")} +} +\value{ +the analysis window size +} +\description{ +Gets the analysis window start commit +} diff --git a/man/metric_churn_per_commit_interval.Rd b/man/metric_churn_per_commit_interval.Rd index 21f5e49..6969492 100644 --- a/man/metric_churn_per_commit_interval.Rd +++ b/man/metric_churn_per_commit_interval.Rd @@ -20,8 +20,8 @@ Calculates the churn metric for a sequence of commits Other {metrics}: \code{\link{commit_message_id_coverage}()}, -\code{\link{metric_churn_per_commit_per_file}()}, \code{\link{metric_churn}()}, +\code{\link{metric_churn_per_commit_per_file}()}, \code{\link{metric_file_bug_churn}()}, \code{\link{metric_file_bug_frequency}()}, \code{\link{metric_file_churn}()}, diff --git a/man/metric_churn_per_commit_per_file.Rd b/man/metric_churn_per_commit_per_file.Rd index 75b48c8..577d3f6 100644 --- a/man/metric_churn_per_commit_per_file.Rd +++ b/man/metric_churn_per_commit_per_file.Rd @@ -20,8 +20,8 @@ Calculates the churn metric for a sequence of commits per commit per file Other {metrics}: \code{\link{commit_message_id_coverage}()}, -\code{\link{metric_churn_per_commit_interval}()}, \code{\link{metric_churn}()}, +\code{\link{metric_churn_per_commit_interval}()}, \code{\link{metric_file_bug_churn}()}, \code{\link{metric_file_bug_frequency}()}, \code{\link{metric_file_churn}()}, diff --git a/man/metric_file_bug_churn.Rd b/man/metric_file_bug_churn.Rd index 29bef17..7bea610 100644 --- a/man/metric_file_bug_churn.Rd +++ b/man/metric_file_bug_churn.Rd @@ -20,9 +20,9 @@ The total churn sum of commits of all closed bug type issues the file was involv \seealso{ Other {metrics}: \code{\link{commit_message_id_coverage}()}, +\code{\link{metric_churn}()}, \code{\link{metric_churn_per_commit_interval}()}, \code{\link{metric_churn_per_commit_per_file}()}, -\code{\link{metric_churn}()}, \code{\link{metric_file_bug_frequency}()}, \code{\link{metric_file_churn}()}, \code{\link{metric_file_non_bug_churn}()}, diff --git a/man/metric_file_bug_frequency.Rd b/man/metric_file_bug_frequency.Rd index 607aef6..f978666 100644 --- a/man/metric_file_bug_frequency.Rd +++ b/man/metric_file_bug_frequency.Rd @@ -20,9 +20,9 @@ The total number of commits of all closed bug type issues the file was involved. \seealso{ Other {metrics}: \code{\link{commit_message_id_coverage}()}, +\code{\link{metric_churn}()}, \code{\link{metric_churn_per_commit_interval}()}, \code{\link{metric_churn_per_commit_per_file}()}, -\code{\link{metric_churn}()}, \code{\link{metric_file_bug_churn}()}, \code{\link{metric_file_churn}()}, \code{\link{metric_file_non_bug_churn}()}, diff --git a/man/metric_file_churn.Rd b/man/metric_file_churn.Rd index 3e2babd..67049ea 100644 --- a/man/metric_file_churn.Rd +++ b/man/metric_file_churn.Rd @@ -18,9 +18,9 @@ The total churn of a file \seealso{ Other {metrics}: \code{\link{commit_message_id_coverage}()}, +\code{\link{metric_churn}()}, \code{\link{metric_churn_per_commit_interval}()}, \code{\link{metric_churn_per_commit_per_file}()}, -\code{\link{metric_churn}()}, \code{\link{metric_file_bug_churn}()}, \code{\link{metric_file_bug_frequency}()}, \code{\link{metric_file_non_bug_churn}()}, diff --git a/man/metric_file_non_bug_churn.Rd b/man/metric_file_non_bug_churn.Rd index bf35bb1..049b9cd 100644 --- a/man/metric_file_non_bug_churn.Rd +++ b/man/metric_file_non_bug_churn.Rd @@ -20,9 +20,9 @@ The total churn sum of commits of all closed non-bug type issues the file was in \seealso{ Other {metrics}: \code{\link{commit_message_id_coverage}()}, +\code{\link{metric_churn}()}, \code{\link{metric_churn_per_commit_interval}()}, \code{\link{metric_churn_per_commit_per_file}()}, -\code{\link{metric_churn}()}, \code{\link{metric_file_bug_churn}()}, \code{\link{metric_file_bug_frequency}()}, \code{\link{metric_file_churn}()}, diff --git a/man/metric_file_non_bug_frequency.Rd b/man/metric_file_non_bug_frequency.Rd index da87d00..9516ce6 100644 --- a/man/metric_file_non_bug_frequency.Rd +++ b/man/metric_file_non_bug_frequency.Rd @@ -20,9 +20,9 @@ The total number of commits of all closed non-bug type issues the file was invol \seealso{ Other {metrics}: \code{\link{commit_message_id_coverage}()}, +\code{\link{metric_churn}()}, \code{\link{metric_churn_per_commit_interval}()}, \code{\link{metric_churn_per_commit_per_file}()}, -\code{\link{metric_churn}()}, \code{\link{metric_file_bug_churn}()}, \code{\link{metric_file_bug_frequency}()}, \code{\link{metric_file_churn}()}, diff --git a/man/motif_factory_anti_square.Rd b/man/motif_factory_anti_square.Rd index 06cefd8..8850ff3 100644 --- a/man/motif_factory_anti_square.Rd +++ b/man/motif_factory_anti_square.Rd @@ -26,9 +26,9 @@ in IEEE Transactions on Software Engineering, vol. 48, no. 8, pp. 3159-3184, } \seealso{ Other motif: +\code{\link{motif_factory}()}, \code{\link{motif_factory_anti_triangle}()}, \code{\link{motif_factory_square}()}, -\code{\link{motif_factory_triangle}()}, -\code{\link{motif_factory}()} +\code{\link{motif_factory_triangle}()} } \concept{motif} diff --git a/man/motif_factory_anti_triangle.Rd b/man/motif_factory_anti_triangle.Rd index b5a789a..349cce1 100644 --- a/man/motif_factory_anti_triangle.Rd +++ b/man/motif_factory_anti_triangle.Rd @@ -22,9 +22,9 @@ in IEEE Transactions on Software Engineering, vol. 48, no. 8, pp. 3159-3184, } \seealso{ Other motif: +\code{\link{motif_factory}()}, \code{\link{motif_factory_anti_square}()}, \code{\link{motif_factory_square}()}, -\code{\link{motif_factory_triangle}()}, -\code{\link{motif_factory}()} +\code{\link{motif_factory_triangle}()} } \concept{motif} diff --git a/man/motif_factory_square.Rd b/man/motif_factory_square.Rd index 74101df..1c94e2a 100644 --- a/man/motif_factory_square.Rd +++ b/man/motif_factory_square.Rd @@ -26,9 +26,9 @@ in IEEE Transactions on Software Engineering, vol. 48, no. 8, pp. 3159-3184, } \seealso{ Other motif: +\code{\link{motif_factory}()}, \code{\link{motif_factory_anti_square}()}, \code{\link{motif_factory_anti_triangle}()}, -\code{\link{motif_factory_triangle}()}, -\code{\link{motif_factory}()} +\code{\link{motif_factory_triangle}()} } \concept{motif} diff --git a/man/motif_factory_triangle.Rd b/man/motif_factory_triangle.Rd index 61d8131..0a99faa 100644 --- a/man/motif_factory_triangle.Rd +++ b/man/motif_factory_triangle.Rd @@ -22,9 +22,9 @@ in IEEE Transactions on Software Engineering, vol. 48, no. 8, pp. 3159-3184, } \seealso{ Other motif: +\code{\link{motif_factory}()}, \code{\link{motif_factory_anti_square}()}, \code{\link{motif_factory_anti_triangle}()}, -\code{\link{motif_factory_square}()}, -\code{\link{motif_factory}()} +\code{\link{motif_factory_square}()} } \concept{motif} diff --git a/man/parse_bugzilla_perceval_rest_issue_comments.Rd b/man/parse_bugzilla_perceval_rest_issue_comments.Rd index d8788d6..35774ea 100644 --- a/man/parse_bugzilla_perceval_rest_issue_comments.Rd +++ b/man/parse_bugzilla_perceval_rest_issue_comments.Rd @@ -26,15 +26,15 @@ Parse Bugzilla data obtained from Perceval REST API Bugzilla backend Other parsers: \code{\link{parse_bugzilla_perceval_traditional_issue_comments}()}, \code{\link{parse_bugzilla_rest_comments}()}, -\code{\link{parse_bugzilla_rest_issues_comments}()}, \code{\link{parse_bugzilla_rest_issues}()}, +\code{\link{parse_bugzilla_rest_issues_comments}()}, \code{\link{parse_commit_message_id}()}, \code{\link{parse_dependencies}()}, \code{\link{parse_dv8_clusters}()}, \code{\link{parse_gitlog}()}, +\code{\link{parse_jira}()}, \code{\link{parse_jira_latest_date}()}, \code{\link{parse_jira_rss_xml}()}, -\code{\link{parse_jira}()}, \code{\link{parse_mbox}()}, \code{\link{parse_nvdfeed}()} } diff --git a/man/parse_bugzilla_perceval_traditional_issue_comments.Rd b/man/parse_bugzilla_perceval_traditional_issue_comments.Rd index 06f9397..7f9805f 100644 --- a/man/parse_bugzilla_perceval_traditional_issue_comments.Rd +++ b/man/parse_bugzilla_perceval_traditional_issue_comments.Rd @@ -26,15 +26,15 @@ Parse Bugzilla data obtained from Perceval traditional Bugzilla backend Other parsers: \code{\link{parse_bugzilla_perceval_rest_issue_comments}()}, \code{\link{parse_bugzilla_rest_comments}()}, -\code{\link{parse_bugzilla_rest_issues_comments}()}, \code{\link{parse_bugzilla_rest_issues}()}, +\code{\link{parse_bugzilla_rest_issues_comments}()}, \code{\link{parse_commit_message_id}()}, \code{\link{parse_dependencies}()}, \code{\link{parse_dv8_clusters}()}, \code{\link{parse_gitlog}()}, +\code{\link{parse_jira}()}, \code{\link{parse_jira_latest_date}()}, \code{\link{parse_jira_rss_xml}()}, -\code{\link{parse_jira}()}, \code{\link{parse_mbox}()}, \code{\link{parse_nvdfeed}()} } diff --git a/man/parse_bugzilla_rest_comments.Rd b/man/parse_bugzilla_rest_comments.Rd index 8121d87..5e5924b 100644 --- a/man/parse_bugzilla_rest_comments.Rd +++ b/man/parse_bugzilla_rest_comments.Rd @@ -19,15 +19,15 @@ Parse Bugzilla comments data obtained from json files from Bugzilla crawler \cod Other parsers: \code{\link{parse_bugzilla_perceval_rest_issue_comments}()}, \code{\link{parse_bugzilla_perceval_traditional_issue_comments}()}, -\code{\link{parse_bugzilla_rest_issues_comments}()}, \code{\link{parse_bugzilla_rest_issues}()}, +\code{\link{parse_bugzilla_rest_issues_comments}()}, \code{\link{parse_commit_message_id}()}, \code{\link{parse_dependencies}()}, \code{\link{parse_dv8_clusters}()}, \code{\link{parse_gitlog}()}, +\code{\link{parse_jira}()}, \code{\link{parse_jira_latest_date}()}, \code{\link{parse_jira_rss_xml}()}, -\code{\link{parse_jira}()}, \code{\link{parse_mbox}()}, \code{\link{parse_nvdfeed}()} } diff --git a/man/parse_bugzilla_rest_issues.Rd b/man/parse_bugzilla_rest_issues.Rd index 69d55e6..351461b 100644 --- a/man/parse_bugzilla_rest_issues.Rd +++ b/man/parse_bugzilla_rest_issues.Rd @@ -27,9 +27,9 @@ Other parsers: \code{\link{parse_dependencies}()}, \code{\link{parse_dv8_clusters}()}, \code{\link{parse_gitlog}()}, +\code{\link{parse_jira}()}, \code{\link{parse_jira_latest_date}()}, \code{\link{parse_jira_rss_xml}()}, -\code{\link{parse_jira}()}, \code{\link{parse_mbox}()}, \code{\link{parse_nvdfeed}()} } diff --git a/man/parse_bugzilla_rest_issues_comments.Rd b/man/parse_bugzilla_rest_issues_comments.Rd index 68939e2..9ac99a6 100644 --- a/man/parse_bugzilla_rest_issues_comments.Rd +++ b/man/parse_bugzilla_rest_issues_comments.Rd @@ -29,9 +29,9 @@ Other parsers: \code{\link{parse_dependencies}()}, \code{\link{parse_dv8_clusters}()}, \code{\link{parse_gitlog}()}, +\code{\link{parse_jira}()}, \code{\link{parse_jira_latest_date}()}, \code{\link{parse_jira_rss_xml}()}, -\code{\link{parse_jira}()}, \code{\link{parse_mbox}()}, \code{\link{parse_nvdfeed}()} } diff --git a/man/parse_commit_message_id.Rd b/man/parse_commit_message_id.Rd index 1fe5fd3..70a69a2 100644 --- a/man/parse_commit_message_id.Rd +++ b/man/parse_commit_message_id.Rd @@ -19,14 +19,14 @@ Other parsers: \code{\link{parse_bugzilla_perceval_rest_issue_comments}()}, \code{\link{parse_bugzilla_perceval_traditional_issue_comments}()}, \code{\link{parse_bugzilla_rest_comments}()}, -\code{\link{parse_bugzilla_rest_issues_comments}()}, \code{\link{parse_bugzilla_rest_issues}()}, +\code{\link{parse_bugzilla_rest_issues_comments}()}, \code{\link{parse_dependencies}()}, \code{\link{parse_dv8_clusters}()}, \code{\link{parse_gitlog}()}, +\code{\link{parse_jira}()}, \code{\link{parse_jira_latest_date}()}, \code{\link{parse_jira_rss_xml}()}, -\code{\link{parse_jira}()}, \code{\link{parse_mbox}()}, \code{\link{parse_nvdfeed}()} } diff --git a/man/parse_dependencies.Rd b/man/parse_dependencies.Rd index 9cd9d48..ba678a5 100644 --- a/man/parse_dependencies.Rd +++ b/man/parse_dependencies.Rd @@ -28,14 +28,14 @@ Other parsers: \code{\link{parse_bugzilla_perceval_rest_issue_comments}()}, \code{\link{parse_bugzilla_perceval_traditional_issue_comments}()}, \code{\link{parse_bugzilla_rest_comments}()}, -\code{\link{parse_bugzilla_rest_issues_comments}()}, \code{\link{parse_bugzilla_rest_issues}()}, +\code{\link{parse_bugzilla_rest_issues_comments}()}, \code{\link{parse_commit_message_id}()}, \code{\link{parse_dv8_clusters}()}, \code{\link{parse_gitlog}()}, +\code{\link{parse_jira}()}, \code{\link{parse_jira_latest_date}()}, \code{\link{parse_jira_rss_xml}()}, -\code{\link{parse_jira}()}, \code{\link{parse_mbox}()}, \code{\link{parse_nvdfeed}()} } diff --git a/man/parse_dv8_clusters.Rd b/man/parse_dv8_clusters.Rd index 474205b..8a86613 100644 --- a/man/parse_dv8_clusters.Rd +++ b/man/parse_dv8_clusters.Rd @@ -17,14 +17,14 @@ Other parsers: \code{\link{parse_bugzilla_perceval_rest_issue_comments}()}, \code{\link{parse_bugzilla_perceval_traditional_issue_comments}()}, \code{\link{parse_bugzilla_rest_comments}()}, -\code{\link{parse_bugzilla_rest_issues_comments}()}, \code{\link{parse_bugzilla_rest_issues}()}, +\code{\link{parse_bugzilla_rest_issues_comments}()}, \code{\link{parse_commit_message_id}()}, \code{\link{parse_dependencies}()}, \code{\link{parse_gitlog}()}, +\code{\link{parse_jira}()}, \code{\link{parse_jira_latest_date}()}, \code{\link{parse_jira_rss_xml}()}, -\code{\link{parse_jira}()}, \code{\link{parse_mbox}()}, \code{\link{parse_nvdfeed}()} diff --git a/man/parse_gitlog.Rd b/man/parse_gitlog.Rd index 5552e83..6799fc1 100644 --- a/man/parse_gitlog.Rd +++ b/man/parse_gitlog.Rd @@ -23,14 +23,14 @@ Other parsers: \code{\link{parse_bugzilla_perceval_rest_issue_comments}()}, \code{\link{parse_bugzilla_perceval_traditional_issue_comments}()}, \code{\link{parse_bugzilla_rest_comments}()}, -\code{\link{parse_bugzilla_rest_issues_comments}()}, \code{\link{parse_bugzilla_rest_issues}()}, +\code{\link{parse_bugzilla_rest_issues_comments}()}, \code{\link{parse_commit_message_id}()}, \code{\link{parse_dependencies}()}, \code{\link{parse_dv8_clusters}()}, +\code{\link{parse_jira}()}, \code{\link{parse_jira_latest_date}()}, \code{\link{parse_jira_rss_xml}()}, -\code{\link{parse_jira}()}, \code{\link{parse_mbox}()}, \code{\link{parse_nvdfeed}()} } diff --git a/man/parse_jira.Rd b/man/parse_jira.Rd index 26b2da1..896ea0c 100644 --- a/man/parse_jira.Rd +++ b/man/parse_jira.Rd @@ -33,8 +33,8 @@ Other parsers: \code{\link{parse_bugzilla_perceval_rest_issue_comments}()}, \code{\link{parse_bugzilla_perceval_traditional_issue_comments}()}, \code{\link{parse_bugzilla_rest_comments}()}, -\code{\link{parse_bugzilla_rest_issues_comments}()}, \code{\link{parse_bugzilla_rest_issues}()}, +\code{\link{parse_bugzilla_rest_issues_comments}()}, \code{\link{parse_commit_message_id}()}, \code{\link{parse_dependencies}()}, \code{\link{parse_dv8_clusters}()}, diff --git a/man/parse_jira_latest_date.Rd b/man/parse_jira_latest_date.Rd index f5b8b18..d9c8f0f 100644 --- a/man/parse_jira_latest_date.Rd +++ b/man/parse_jira_latest_date.Rd @@ -25,14 +25,14 @@ Other parsers: \code{\link{parse_bugzilla_perceval_rest_issue_comments}()}, \code{\link{parse_bugzilla_perceval_traditional_issue_comments}()}, \code{\link{parse_bugzilla_rest_comments}()}, -\code{\link{parse_bugzilla_rest_issues_comments}()}, \code{\link{parse_bugzilla_rest_issues}()}, +\code{\link{parse_bugzilla_rest_issues_comments}()}, \code{\link{parse_commit_message_id}()}, \code{\link{parse_dependencies}()}, \code{\link{parse_dv8_clusters}()}, \code{\link{parse_gitlog}()}, -\code{\link{parse_jira_rss_xml}()}, \code{\link{parse_jira}()}, +\code{\link{parse_jira_rss_xml}()}, \code{\link{parse_mbox}()}, \code{\link{parse_nvdfeed}()} } diff --git a/man/parse_jira_rss_xml.Rd b/man/parse_jira_rss_xml.Rd index 38bb694..915677a 100644 --- a/man/parse_jira_rss_xml.Rd +++ b/man/parse_jira_rss_xml.Rd @@ -28,14 +28,14 @@ Other parsers: \code{\link{parse_bugzilla_perceval_rest_issue_comments}()}, \code{\link{parse_bugzilla_perceval_traditional_issue_comments}()}, \code{\link{parse_bugzilla_rest_comments}()}, -\code{\link{parse_bugzilla_rest_issues_comments}()}, \code{\link{parse_bugzilla_rest_issues}()}, +\code{\link{parse_bugzilla_rest_issues_comments}()}, \code{\link{parse_commit_message_id}()}, \code{\link{parse_dependencies}()}, \code{\link{parse_dv8_clusters}()}, \code{\link{parse_gitlog}()}, -\code{\link{parse_jira_latest_date}()}, \code{\link{parse_jira}()}, +\code{\link{parse_jira_latest_date}()}, \code{\link{parse_mbox}()}, \code{\link{parse_nvdfeed}()} } diff --git a/man/parse_mbox.Rd b/man/parse_mbox.Rd index f048bd4..bc20d43 100644 --- a/man/parse_mbox.Rd +++ b/man/parse_mbox.Rd @@ -23,15 +23,15 @@ Other parsers: \code{\link{parse_bugzilla_perceval_rest_issue_comments}()}, \code{\link{parse_bugzilla_perceval_traditional_issue_comments}()}, \code{\link{parse_bugzilla_rest_comments}()}, -\code{\link{parse_bugzilla_rest_issues_comments}()}, \code{\link{parse_bugzilla_rest_issues}()}, +\code{\link{parse_bugzilla_rest_issues_comments}()}, \code{\link{parse_commit_message_id}()}, \code{\link{parse_dependencies}()}, \code{\link{parse_dv8_clusters}()}, \code{\link{parse_gitlog}()}, +\code{\link{parse_jira}()}, \code{\link{parse_jira_latest_date}()}, \code{\link{parse_jira_rss_xml}()}, -\code{\link{parse_jira}()}, \code{\link{parse_nvdfeed}()} } \concept{parsers} diff --git a/man/parse_nvdfeed.Rd b/man/parse_nvdfeed.Rd index e861f2a..f52fedc 100644 --- a/man/parse_nvdfeed.Rd +++ b/man/parse_nvdfeed.Rd @@ -18,15 +18,15 @@ Other parsers: \code{\link{parse_bugzilla_perceval_rest_issue_comments}()}, \code{\link{parse_bugzilla_perceval_traditional_issue_comments}()}, \code{\link{parse_bugzilla_rest_comments}()}, -\code{\link{parse_bugzilla_rest_issues_comments}()}, \code{\link{parse_bugzilla_rest_issues}()}, +\code{\link{parse_bugzilla_rest_issues_comments}()}, \code{\link{parse_commit_message_id}()}, \code{\link{parse_dependencies}()}, \code{\link{parse_dv8_clusters}()}, \code{\link{parse_gitlog}()}, +\code{\link{parse_jira}()}, \code{\link{parse_jira_latest_date}()}, \code{\link{parse_jira_rss_xml}()}, -\code{\link{parse_jira}()}, \code{\link{parse_mbox}()} } \concept{parsers} diff --git a/man/refresh_jira_issues.Rd b/man/refresh_jira_issues.Rd index 6e7118e..20be888 100644 --- a/man/refresh_jira_issues.Rd +++ b/man/refresh_jira_issues.Rd @@ -61,14 +61,14 @@ data. \code{\link{parse_jira_latest_date}} to retrieve the file path of the latest issue key Other downloaders: +\code{\link{download_jira_issues}()}, \code{\link{download_jira_issues_by_date}()}, -\code{\link{download_jira_issues_by_issue_key}()}, -\code{\link{download_jira_issues}()} +\code{\link{download_jira_issues_by_issue_key}()} Other jira: +\code{\link{download_jira_issues}()}, \code{\link{download_jira_issues_by_date}()}, -\code{\link{download_jira_issues_by_issue_key}()}, -\code{\link{download_jira_issues}()} +\code{\link{download_jira_issues_by_issue_key}()} } \concept{downloaders} \concept{jira} diff --git a/vignettes/blamed_line_types_showcase.Rmd b/vignettes/blamed_line_types_showcase.Rmd index 82f54a0..1f7bbe4 100644 --- a/vignettes/blamed_line_types_showcase.Rmd +++ b/vignettes/blamed_line_types_showcase.Rmd @@ -84,7 +84,6 @@ filter: We load the above various sections of the single .yaml project configuration file as follows: ```{r} -source("../R/config.R") tool <- get_tools() conf <- get_conf("apr") From b8d482b6858a4f369b140ad1058775d63675d79c Mon Sep 17 00:00:00 2001 From: Nicholas Beydler Date: Mon, 23 Sep 2024 20:18:58 -1000 Subject: [PATCH 16/32] i #230 removed incorrect pathing in config.R Due to a minor misunderstanding on my part, I added in relative paths in the config.R file from the notebook's directory, this was due to the IDE RStudio changing the working directory to the current running notebook directory rather than staying at the project directory. --- R/config.R | 86 +++++++++++++++++++++++++++--------------------------- 1 file changed, 43 insertions(+), 43 deletions(-) diff --git a/R/config.R b/R/config.R index 8b1ad24..7c3eb87 100644 --- a/R/config.R +++ b/R/config.R @@ -11,7 +11,7 @@ #' @return the tools.yml file #' @export get_tools <- function() { - tool <- yaml::read_yaml("../tools.yml") + tool <- yaml::read_yaml("tools.yml") return(tool) } @@ -23,7 +23,7 @@ get_tools <- function() { #' @return the tool path from tools.yml #' @export get_tools_project <- function(tool_name) { - tool <- yaml::read_yaml("../tools.yml") + tool <- yaml::read_yaml("tools.yml") tool_path <- tool[[tool_name]] return(tool_path) } @@ -37,7 +37,7 @@ get_tools_project <- function(tool_name) { #' @export get_conf <- function(project_name) { - conf_path <- paste0("../conf/", project_name, ".yml") + conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) if(is.null(conf)) { @@ -55,7 +55,7 @@ get_conf <- function(project_name) { #' @return the local git repo path #' @export get_git_repo_path <- function(project_name) { - conf_path <- paste0("../conf/", project_name, ".yml") + conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) git_repo_path <- conf[["version_control"]][["log"]] @@ -76,7 +76,7 @@ get_git_repo_path <- function(project_name) { #' @export get_git_branches <- function(project_name) { - conf_path <- paste0("../conf/", project_name, ".yml") + conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) git_branch <- conf[["version_control"]][["branch"]] @@ -97,7 +97,7 @@ get_git_branches <- function(project_name) { #' @export get_file_extensions <- function(project_name) { - conf_path <- paste0("../conf/", project_name, ".yml") + conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) file_extensions <- conf[["filter"]][["keep_filepaths_ending_with"]] @@ -118,7 +118,7 @@ get_file_extensions <- function(project_name) { #' @export get_substring_filepath <- function(project_name) { - conf_path <- paste0("../conf/", project_name, ".yml") + conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) substring_filepath <- conf[["filter"]][["remove_filepaths_containing"]] @@ -139,7 +139,7 @@ get_substring_filepath <- function(project_name) { #' @export get_filter_commit_size <- function(project_name) { - conf_path <- paste0("../conf/", project_name, ".yml") + conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) filter_commit_size <- conf[["filter"]][["remove_filepaths_on_commit_size_greather_than"]] @@ -160,7 +160,7 @@ get_filter_commit_size <- function(project_name) { #' @export get_uctags_line_types <- function(project_name) { - conf_path <- paste0("../conf/", project_name, ".yml") + conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) kinds <- conf[["tool"]][["uctags"]][["keep_lines_type"]] @@ -181,7 +181,7 @@ get_uctags_line_types <- function(project_name) { #' @export get_code_language <- function(project_name) { - conf_path <- paste0("../conf/", project_name, ".yml") + conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) language <- conf[["tool"]][["depends"]][["code_language"]] @@ -202,7 +202,7 @@ get_code_language <- function(project_name) { #' @export get_keep_dependencies_type <- function(project_name) { - conf_path <- paste0("../conf/", project_name, ".yml") + conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) keep_dependencies_type <- conf[["tool"]][["depends"]][["keep_dependencies_type"]] @@ -224,7 +224,7 @@ get_keep_dependencies_type <- function(project_name) { #' @export get_dv8_folder_path <- function(project_name) { - conf_path <- paste0("../conf/", project_name, ".yml") + conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) project_path <- conf[["tool"]][["dv8"]][["folder_path"]] @@ -245,7 +245,7 @@ get_dv8_folder_path <- function(project_name) { #' @export get_dv8_flaws_params <- function(project_name) { - conf_path <- paste0("../conf/", project_name, ".yml") + conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) flaws_params <- conf[["tool"]][["dv8"]][["architectural_flaws"]] @@ -266,7 +266,7 @@ get_dv8_flaws_params <- function(project_name) { #' @export get_issue_id_regex <- function(project_name) { - conf_path <- paste0("../conf/", project_name, ".yml") + conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) issue_id_regex <- conf[["commit_message_id_regex"]][["issue_id"]] @@ -287,7 +287,7 @@ get_issue_id_regex <- function(project_name) { #' @export get_srcml_filepath <- function(project_name) { - conf_path <- paste0("../conf/", project_name, ".yml") + conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) srcml_filepath <- conf[["tool"]][["srcml"]][["srcml_path"]] @@ -308,7 +308,7 @@ get_srcml_filepath <- function(project_name) { #' @export get_pattern4_folder_path <- function(project_name) { - conf_path <- paste0("../conf/", project_name, ".yml") + conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) class_folder_path <- conf[["tool"]][["pattern4"]][["class_folder_path"]] @@ -329,7 +329,7 @@ get_pattern4_folder_path <- function(project_name) { #' @export get_pattern4_filepath <- function(project_name) { - conf_path <- paste0("../conf/", project_name, ".yml") + conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) pattern4_output_filepath <- conf[["tool"]][["pattern4"]][["output_filepath"]] @@ -350,7 +350,7 @@ get_pattern4_filepath <- function(project_name) { #' @export get_topics <- function(project_name) { - conf_path <- paste0("../conf/", project_name, ".yml") + conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) topics <- conf[["analysis"]][["topics"]] @@ -371,7 +371,7 @@ get_topics <- function(project_name) { #' @export get_mbox_key_indexes <- function(project_name) { - conf_path <- paste0("../conf/", project_name, ".yml") + conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) mbox_keys <- conf[["mailing_list"]][["mod_mbox"]] @@ -393,7 +393,7 @@ get_mbox_key_indexes <- function(project_name) { #' @export get_mbox_path <- function(project_name, project_key_index) { - conf_path <- paste0("../conf/", project_name, ".yml") + conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) mbox_path <- conf[["mailing_list"]][["mod_mbox"]][[project_key_index]][["mbox"]] @@ -415,7 +415,7 @@ get_mbox_path <- function(project_name, project_key_index) { #' @export get_mbox_domain <- function(project_name, project_key_index) { - conf_path <- paste0("../conf/", project_name, ".yml") + conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) mbox_url <- conf[["mailing_list"]][["mod_mbox"]][[project_key_index]][["archive_url"]] @@ -437,7 +437,7 @@ get_mbox_domain <- function(project_name, project_key_index) { #' @export get_mbox_mailing_list <- function(project_name, project_key_index) { - conf_path <- paste0("../conf/", project_name, ".yml") + conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) mailing_list <- conf[["mailing_list"]][["mod_mbox"]][[project_key_index]][["mailing_list"]] @@ -459,7 +459,7 @@ get_mbox_mailing_list <- function(project_name, project_key_index) { #' @export get_mbox_mailing_list <- function(project_name, project_key_index) { - conf_path <- paste0("../conf/", project_name, ".yml") + conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) archive_type <- conf[["mailing_list"]][["mod_mbox"]][[project_key_index]][["archive_type"]] @@ -480,7 +480,7 @@ get_mbox_mailing_list <- function(project_name, project_key_index) { #' @export get_github_key_indexes <- function(project_name) { - conf_path <- paste0("../conf/", project_name, ".yml") + conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) keys <- conf[["issue_tracker"]][["github"]] @@ -502,7 +502,7 @@ get_github_key_indexes <- function(project_name) { #' @export get_github_owner <- function(project_name, project_key_index) { - conf_path <- paste0("../conf/", project_name, ".yml") + conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) owner <- conf[["issue_tracker"]][["github"]][[project_key_index]][["owner"]] @@ -524,7 +524,7 @@ get_github_owner <- function(project_name, project_key_index) { #' @export get_github_repo <- function(project_name, project_key_index) { - conf_path <- paste0("../conf/", project_name, ".yml") + conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) repo <- conf[["issue_tracker"]][["github"]][[project_key_index]][["repo"]] @@ -546,7 +546,7 @@ get_github_repo <- function(project_name, project_key_index) { #' @export get_github_issue_path <- function(project_name, project_key_index) { - conf_path <- paste0("../conf/", project_name, ".yml") + conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) issue_path <- conf[["issue_tracker"]][["github"]][[project_key_index]][["issue"]] @@ -568,7 +568,7 @@ get_github_issue_path <- function(project_name, project_key_index) { #' @export get_github_issue_or_pr_comment_path <- function(project_name, project_key_index) { - conf_path <- paste0("../conf/", project_name, ".yml") + conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) issue_or_pr_comment_path <- conf[["issue_tracker"]][["github"]][[project_key_index]][["issue_or_pr_comment"]] @@ -590,7 +590,7 @@ get_github_issue_or_pr_comment_path <- function(project_name, project_key_index) #' @export get_github_issue_search_path <- function(project_name, project_key_index) { - conf_path <- paste0("../conf/", project_name, ".yml") + conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) issue_search_path <- conf[["issue_tracker"]][["github"]][[project_key_index]][["issue_search"]] @@ -612,7 +612,7 @@ get_github_issue_search_path <- function(project_name, project_key_index) { #' @export get_github_pull_request_path <- function(project_name, project_key_index) { - conf_path <- paste0("../conf/", project_name, ".yml") + conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) pull_request_path <- conf[["issue_tracker"]][["github"]][[project_key_index]][["pull_request"]] @@ -634,7 +634,7 @@ get_github_pull_request_path <- function(project_name, project_key_index) { #' @export get_github_commit_path <- function(project_name, project_key_index) { - conf_path <- paste0("../conf/", project_name, ".yml") + conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) commit_path <- conf[["issue_tracker"]][["github"]][[project_key_index]][["commit"]] @@ -655,7 +655,7 @@ get_github_commit_path <- function(project_name, project_key_index) { #' @export get_jira_key_indexes <- function(project_name) { - conf_path <- paste0("../conf/", project_name, ".yml") + conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) keys <- conf[["issue_tracker"]][["jira"]] @@ -677,7 +677,7 @@ get_jira_key_indexes <- function(project_name) { #' @export get_jira_domain <- function(project_name, project_key_index) { - conf_path <- paste0("../conf/", project_name, ".yml") + conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) domain <- conf[["issue_tracker"]][["jira"]][[project_key_index]][["domain"]] @@ -699,7 +699,7 @@ get_jira_domain <- function(project_name, project_key_index) { #' @export get_jira_project_key_name <- function(project_name, project_key_index) { - conf_path <- paste0("../conf/", project_name, ".yml") + conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) name <- conf[["issue_tracker"]][["jira"]][[project_key_index]][["project_key"]] @@ -721,7 +721,7 @@ get_jira_project_key_name <- function(project_name, project_key_index) { #' @export get_jira_issues_path <- function(project_name, project_key_index) { - conf_path <- paste0("../conf/", project_name, ".yml") + conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) jira_issues_path <- conf[["issue_tracker"]][["jira"]][[project_key_index]][["issues"]] @@ -743,7 +743,7 @@ get_jira_issues_path <- function(project_name, project_key_index) { #' @export get_jira_issues_comments_path <- function(project_name, project_key_index) { - conf_path <- paste0("../conf/", project_name, ".yml") + conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) jira_issue_comments_path <- conf[["issue_tracker"]][["jira"]][[project_key_index]][["issue_comments"]] @@ -764,7 +764,7 @@ get_jira_issues_comments_path <- function(project_name, project_key_index) { #' @export get_bugzilla_project_key <- function(project_name) { - conf_path <- paste0("../conf/", project_name, ".yml") + conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) key <- conf[["issue_tracker"]][["bugzilla"]][["project_key_index"]][["project_key"]] @@ -785,7 +785,7 @@ get_bugzilla_project_key <- function(project_name) { #' @export get_nvdfeed_folder_path <- function(project_name) { - conf_path <- paste0("../conf/", project_name, ".yml") + conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) nvdfeed_folder_path <- conf[["vulnerabilities"]][["nvd_feed"]] @@ -806,7 +806,7 @@ get_nvdfeed_folder_path <- function(project_name) { #' @export get_cveid_regex <- function(project_name) { - conf_path <- paste0("../conf/", project_name, ".yml") + conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) cveid_regex <- conf[["commit_message_id_regex"]][["cve_id"]] @@ -827,7 +827,7 @@ get_cveid_regex <- function(project_name) { #' @export get_enumeration_commits <- function(project_name) { - conf_path <- paste0("../conf/", project_name, ".yml") + conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) commit <- conf[["analysis"]][["enumeration"]][["commit"]] @@ -848,7 +848,7 @@ get_enumeration_commits <- function(project_name) { #' @export get_window_start_commit <- function(project_name) { - conf_path <- paste0("../conf/", project_name, ".yml") + conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) start_commit <- conf[["analysis"]][["window"]][["start_commit"]] @@ -869,7 +869,7 @@ get_window_start_commit <- function(project_name) { #' @export get_window_end_commit <- function(project_name) { - conf_path <- paste0("../conf/", project_name, ".yml") + conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) end_commit <- conf[["analysis"]][["window"]][["end_commit"]] @@ -890,7 +890,7 @@ get_window_end_commit <- function(project_name) { #' @export get_window_size <- function(project_name) { - conf_path <- paste0("../conf/", project_name, ".yml") + conf_path <- paste0("conf/", project_name, ".yml") conf <- yaml::read_yaml(conf_path) window_size <- conf[["analysis"]][["window"]][["size_days"]] From f9d20ec05d9d830ef881bfc797a7244acc2dc256 Mon Sep 17 00:00:00 2001 From: Nicholas Beydler Date: Wed, 25 Sep 2024 01:39:20 -1000 Subject: [PATCH 17/32] i #230 redefined get functions and updated an .Rmd - Function titles, descriptions, and parameter documentation were reviewed and redefined. - Removed inefficient hardcoding of tools.yml and duplicated "config" path code. - Appropriate warning messages were added to each function in the case of the return value possessing the NULL value. - Notebook blamed_line_types_showcase.Rmd was updated to reflect follow the redefined R/config.R get functions. --- R/config.R | 835 +++++++++------------ man/get_bugzilla_project_key.Rd | 8 +- man/get_code_language.Rd | 4 +- man/get_conf.Rd | 10 +- man/get_cveid_regex.Rd | 4 +- man/get_dv8_flaws_params.Rd | 6 +- man/get_dv8_folder_path.Rd | 4 +- man/get_enumeration_commits.Rd | 4 +- man/get_file_extensions.Rd | 4 +- man/get_filter_commit_size.Rd | 4 +- man/get_git_branches.Rd | 4 +- man/get_git_repo_path.Rd | 8 +- man/get_github_commit_path.Rd | 8 +- man/get_github_issue_or_pr_comment_path.Rd | 8 +- man/get_github_issue_path.Rd | 8 +- man/get_github_issue_search_path.Rd | 8 +- man/get_github_key_indexes.Rd | 6 +- man/get_github_owner.Rd | 8 +- man/get_github_pull_request_path.Rd | 8 +- man/get_github_repo.Rd | 8 +- man/get_issue_id_regex.Rd | 6 +- man/get_jira_domain.Rd | 8 +- man/get_jira_issues_comments_path.Rd | 8 +- man/get_jira_issues_path.Rd | 8 +- man/get_jira_key_indexes.Rd | 6 +- man/get_jira_project_key_name.Rd | 10 +- man/get_keep_dependencies_type.Rd | 4 +- man/get_mbox_domain.Rd | 8 +- man/get_mbox_key_indexes.Rd | 8 +- man/get_mbox_mailing_list.Rd | 12 +- man/get_mbox_path.Rd | 8 +- man/get_nvdfeed_folder_path.Rd | 8 +- man/get_pattern4_filepath.Rd | 6 +- man/get_pattern4_folder_path.Rd | 6 +- man/get_srcml_filepath.Rd | 6 +- man/get_substring_filepath.Rd | 6 +- man/get_tools.Rd | 11 +- man/get_tools_project.Rd | 12 +- man/get_topics.Rd | 4 +- man/get_uctags_line_types.Rd | 4 +- man/get_window_end_commit.Rd | 6 +- man/get_window_size.Rd | 4 +- man/get_window_start_commit.Rd | 6 +- vignettes/blamed_line_types_showcase.Rmd | 14 +- 44 files changed, 517 insertions(+), 619 deletions(-) diff --git a/R/config.R b/R/config.R index 7c3eb87..15adcdc 100644 --- a/R/config.R +++ b/R/config.R @@ -6,212 +6,201 @@ ############## Configuration File Getter Functions ############## -#' Get tools.yml +#' Get Parsed Tools File #' -#' @return the tools.yml file +#' @param tool_path The path to the tools file, defaulted at tools.yml +#' @return the parsed tools file #' @export -get_tools <- function() { - tool <- yaml::read_yaml("tools.yml") - return(tool) +get_tools <- function(tool_path = "tools.yml") { + + tools <- yaml::read_yaml(tool_path) + + if (is.null(tools)) { + warning("Path does not exist.") + } + + return(tools) } -#' Get Tool Path +#' Get Tools Project #' -#' Gets the tool path from the tools.yml file +#' Gets the tools project from the parsed tools file #' -#' @param tool_name the name of the tool (e.g. "perceval" or "dv8") -#' @return the tool path from tools.yml +#' @param tool_name The name of the tool (e.g. "perceval" or "dv8") +#' @param tools_file The parsed tools file, defaulted at `get_tools()` +#' @return the specified `tool_name` tools project from `tools_file` #' @export -get_tools_project <- function(tool_name) { - tool <- yaml::read_yaml("tools.yml") - tool_path <- tool[[tool_name]] +get_tools_project <- function(tool_name, tools_file = get_tools()) { + + tool_path <- tools_file[[tool_name]] + + if (is.null(tool_path)) { + warning("Attribute does not exist.") + } + return(tool_path) } -#' Get config.yml File +#' Get Parsed Config File #' -#' Gets the configuration file for any project +#' Gets the parsed configuration file for any path-specified project #' -#' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") -#' @return the config yml file +#' @param config_path The path of the config file from the kaiaulu directory (e.g. "conf/kaiaulu.yml") +#' @return the parsed config file whose path is specified by `config_path` #' @export -get_conf <- function(project_name) { +get_conf <- function(config_path) { - conf_path <- paste0("conf/", project_name, ".yml") - conf <- yaml::read_yaml(conf_path) + conf <- yaml::read_yaml(config_path) - if(is.null(conf)) { - stop("This project configuration file is not valid.") - } else { - return(conf) + if (is.null(conf)) { + warning("Path does not exist.") } + + return(conf) } #' Get Project Git Repo Path #' -#' Gets the local project git repo path from the config file +#' Gets the local project git repository path of the project #' -#' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") -#' @return the local git repo path +#' @param config_file The parsed config file +#' @return the local git repository path specified in `config_file` #' @export -get_git_repo_path <- function(project_name) { - conf_path <- paste0("conf/", project_name, ".yml") - conf <- yaml::read_yaml(conf_path) +get_git_repo_path <- function(config_file) { - git_repo_path <- conf[["version_control"]][["log"]] + git_repo_path <- config_file[["version_control"]][["log"]] - if(is.null(git_repo_path)) { - stop("This field does not exist in the configuration file.") - } else { - return(git_repo_path) + if (is.null(git_repo_path)) { + warning("Attribute does not exist in the configuration file.") } + + return(git_repo_path) } #' Get Project Git Branches #' #' Gets the list of git branches of the project #' -#' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") +#' @param config_file The parsed config file #' @return the list of git branches #' @export -get_git_branches <- function(project_name) { - - conf_path <- paste0("conf/", project_name, ".yml") - conf <- yaml::read_yaml(conf_path) +get_git_branches <- function(config_file) { - git_branch <- conf[["version_control"]][["branch"]] + git_branch <- config_file[["version_control"]][["branch"]] - if(is.null(git_branch)) { - stop("This field does not exist in the configuration file.") - } else { - return(git_branch) + if (is.null(git_branch)) { + warning("Attribute does not exist in the configuration file.") } + + return(git_branch) } #' Get File Extensions #' #' Gets the file extensions for filtering #' -#' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") +#' @param config_file The parsed config file #' @return the file extensions #' @export -get_file_extensions <- function(project_name) { +get_file_extensions <- function(config_file) { - conf_path <- paste0("conf/", project_name, ".yml") - conf <- yaml::read_yaml(conf_path) + file_extensions <- config_file[["filter"]][["keep_filepaths_ending_with"]] - file_extensions <- conf[["filter"]][["keep_filepaths_ending_with"]] - - if(is.null(file_extensions)) { - stop("This field does not exist in the configuration file.") - } else { - return(file_extensions) + if (is.null(file_extensions)) { + warning("Attribute does not exist in the configuration file.") } + + return(file_extensions) } -#' Get Substring Filepath +#' Get Substring Filepaths #' #' Gets the substring filepaths for filtering #' -#' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") +#' @param config_file The parsed config file #' @return the substring filepaths #' @export -get_substring_filepath <- function(project_name) { - - conf_path <- paste0("conf/", project_name, ".yml") - conf <- yaml::read_yaml(conf_path) +get_substring_filepath <- function(config_file) { - substring_filepath <- conf[["filter"]][["remove_filepaths_containing"]] + substring_filepath <- config_file[["filter"]][["remove_filepaths_containing"]] - if(is.null(substring_filepath)) { - stop("This field does not exist in the configuration file.") - } else { - return(substring_filepath) + if (is.null(substring_filepath)) { + warning("Attribute does not exist in the configuration file.") } + + return(substring_filepath) } #' Get Filter Commit Size #' #' Gets the commit size to filter out #' -#' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") +#' @param config_file The parsed config file #' @return the commit size to filter out #' @export -get_filter_commit_size <- function(project_name) { - - conf_path <- paste0("conf/", project_name, ".yml") - conf <- yaml::read_yaml(conf_path) +get_filter_commit_size <- function(config_file) { - filter_commit_size <- conf[["filter"]][["remove_filepaths_on_commit_size_greather_than"]] + filter_commit_size <- config_file[["filter"]][["remove_filepaths_on_commit_size_greather_than"]] - if(is.null(filter_commit_size)) { - stop("This field does not exist in the configuration file.") - } else { - return(filter_commit_size) + if (is.null(filter_commit_size)) { + warning("Attribute does not exist in the configuration file.") } + + return(filter_commit_size) } #' Get Uctags Line Types #' #' Gets the Uctags keep lines type #' -#' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") +#' @param config_file The parsed config file #' @return the uctags line type #' @export -get_uctags_line_types <- function(project_name) { +get_uctags_line_types <- function(config_file) { - conf_path <- paste0("conf/", project_name, ".yml") - conf <- yaml::read_yaml(conf_path) + kinds <- config_file[["tool"]][["uctags"]][["keep_lines_type"]] - kinds <- conf[["tool"]][["uctags"]][["keep_lines_type"]] - - if(is.null(kinds)) { - stop("This field does not exist in the configuration file.") - } else { - return(kinds) + if (is.null(kinds)) { + warning("Attribute does not exist in the configuration file.") } + + return(kinds) } #' Get Code Language #' #' Gets the code language of the project #' -#' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") +#' @param config_file The parsed config file #' @return the code language #' @export -get_code_language <- function(project_name) { - - conf_path <- paste0("conf/", project_name, ".yml") - conf <- yaml::read_yaml(conf_path) +get_code_language <- function(config_file) { - language <- conf[["tool"]][["depends"]][["code_language"]] + language <- config_file[["tool"]][["depends"]][["code_language"]] - if(is.null(language)) { - stop("This field does not exist in the configuration file.") - } else { - return(language) + if (is.null(language)) { + warning("Attribute does not exist in the configuration file.") } + + return(language) } #' Get Keep Dependencies Type #' #' Gets the type of dependencies to keep #' -#' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") +#' @param config_file The parsed config file #' @return the types of dependencies to keep #' @export -get_keep_dependencies_type <- function(project_name) { - - conf_path <- paste0("conf/", project_name, ".yml") - conf <- yaml::read_yaml(conf_path) +get_keep_dependencies_type <- function(config_file) { - keep_dependencies_type <- conf[["tool"]][["depends"]][["keep_dependencies_type"]] + keep_dependencies_type <- config_file[["tool"]][["depends"]][["keep_dependencies_type"]] - if(is.null(keep_dependencies_type)) { - stop("This field does not exist in the configuration file.") - } else { - return(keep_dependencies_type) + if (is.null(keep_dependencies_type)) { + warning("Attribute does not exist in the configuration file.") } + + return(keep_dependencies_type) } @@ -219,685 +208,589 @@ get_keep_dependencies_type <- function(project_name) { #' #' Gets the dv8 project folder path #' -#' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") +#' @param config_file The parsed config file #' @return the dv8 project folder path #' @export -get_dv8_folder_path <- function(project_name) { - - conf_path <- paste0("conf/", project_name, ".yml") - conf <- yaml::read_yaml(conf_path) +get_dv8_folder_path <- function(config_file) { - project_path <- conf[["tool"]][["dv8"]][["folder_path"]] + project_path <- config_file[["tool"]][["dv8"]][["folder_path"]] - if(is.null(project_path)) { - stop("This field does not exist in the configuration file.") - } else { - return(project_path) + if (is.null(project_path)) { + warning("Attribute does not exist in the configuration file.") } + + return(project_path) } #' Get Flaws Params #' #' Gets the architectural flaws thresholds #' -#' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") -#' @return the flaws params +#' @param config_file The parsed config file +#' @return the architectural flaws thresholds #' @export -get_dv8_flaws_params <- function(project_name) { +get_dv8_flaws_params <- function(config_file) { - conf_path <- paste0("conf/", project_name, ".yml") - conf <- yaml::read_yaml(conf_path) + dv8_flaws_params <- config_file[["tool"]][["dv8"]][["architectural_flaws"]] - flaws_params <- conf[["tool"]][["dv8"]][["architectural_flaws"]] - - if(is.null(flaws_params)) { - stop("This field does not exist in the configuration file.") - } else { - return(flaws_params) + if (is.null(dv8_flaws_params)) { + warning("Attribute does not exist in the configuration file.") } + + return(dv8_flaws_params) } #' Get Issue Id Regex #' #' Gets the issue ID regex on commit messages #' -#' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") -#' @return the issue id regex +#' @param config_file The parsed config file +#' @return the issue ID regex #' @export -get_issue_id_regex <- function(project_name) { - - conf_path <- paste0("conf/", project_name, ".yml") - conf <- yaml::read_yaml(conf_path) +get_issue_id_regex <- function(config_file) { - issue_id_regex <- conf[["commit_message_id_regex"]][["issue_id"]] + issue_id_regex <- config_file[["commit_message_id_regex"]][["issue_id"]] - if(is.null(issue_id_regex)) { - stop("This field does not exist in the configuration file.") - } else { - return(issue_id_regex) + if (is.null(issue_id_regex)) { + warning("Attribute does not exist in the configuration file.") } + + return(issue_id_regex) } #' Get SrcML Filepath #' #' Gets the SrcML filepath where the output is stored #' -#' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") -#' @return the srcml filepath +#' @param config_file The parsed config file +#' @return the SrcML filepath #' @export -get_srcml_filepath <- function(project_name) { - - conf_path <- paste0("conf/", project_name, ".yml") - conf <- yaml::read_yaml(conf_path) +get_srcml_filepath <- function(config_file) { - srcml_filepath <- conf[["tool"]][["srcml"]][["srcml_path"]] + srcml_filepath <- config_file[["tool"]][["srcml"]][["srcml_path"]] - if(is.null(srcml_filepath)) { - stop("This field does not exist in the configuration file.") - } else { - return(srcml_filepath) + if (is.null(srcml_filepath)) { + warning("Attribute does not exist in the configuration file.") } + + return(srcml_filepath) } #' Get Pattern4 Class Folder Path #' #' Gets the Pattern4 class folder path where the output is stored #' -#' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") -#' @return the class folder path +#' @param config_file The parsed config file +#' @return the Pattern4 class folder path #' @export -get_pattern4_folder_path <- function(project_name) { +get_pattern4_folder_path <- function(config_file) { - conf_path <- paste0("conf/", project_name, ".yml") - conf <- yaml::read_yaml(conf_path) + pattern4_folder_path <- config_file[["tool"]][["pattern4"]][["class_folder_path"]] - class_folder_path <- conf[["tool"]][["pattern4"]][["class_folder_path"]] - - if(is.null(class_folder_path)) { - stop("This field does not exist in the configuration file.") - } else { - return(class_folder_path) + if (is.null(pattern4_folder_path)) { + warning("Attribute does not exist in the configuration file.") } + + return(pattern4_folder_path) } #' Get Pattern4 Output Filepath #' #' Gets the Pattern4 filepath where the output is stored #' -#' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") -#' @return the output filepath +#' @param config_file The parsed config file +#' @return the Pattern4 output filepath #' @export -get_pattern4_filepath <- function(project_name) { - - conf_path <- paste0("conf/", project_name, ".yml") - conf <- yaml::read_yaml(conf_path) +get_pattern4_filepath <- function(config_file) { - pattern4_output_filepath <- conf[["tool"]][["pattern4"]][["output_filepath"]] + pattern4_filepath <- config_file[["tool"]][["pattern4"]][["output_filepath"]] - if(is.null(pattern4_output_filepath)) { - stop("This field does not exist in the configuration file.") - } else { - return(pattern4_output_filepath) + if (is.null(pattern4_filepath)) { + warning("Attribute does not exist in the configuration file.") } + + return(pattern4_filepath) } #' Get Topics #' #' Gets the topics and keywords for analysis #' -#' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") +#' @param config_file The parsed config file #' @return the topics #' @export -get_topics <- function(project_name) { - - conf_path <- paste0("conf/", project_name, ".yml") - conf <- yaml::read_yaml(conf_path) +get_topics <- function(config_file) { - topics <- conf[["analysis"]][["topics"]] + topics <- config_file[["analysis"]][["topics"]] - if(is.null(topics)) { - stop("This field does not exist in the configuration file.") - } else { - return(topics) + if (is.null(topics)) { + warning("Attribute does not exist in the configuration file.") } + + return(topics) } #' Get Mailing List Mod Mbox Key Indexes #' -#' Gets the list of mod mbox mail key indexes +#' Gets the list of mod Mbox mail key indexes #' -#' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") -#' @return the list of mod mbox mail key indexes +#' @param config_file The parsed config file +#' @return the list of mod Mbox mail key indexes #' @export -get_mbox_key_indexes <- function(project_name) { +get_mbox_key_indexes <- function(config_file) { - conf_path <- paste0("conf/", project_name, ".yml") - conf <- yaml::read_yaml(conf_path) + mbox_keys <- config_file[["mailing_list"]][["mod_mbox"]] - mbox_keys <- conf[["mailing_list"]][["mod_mbox"]] - - if(is.null(mbox_keys)) { - stop("This field does not exist in the configuration file.") - } else { - return(mbox_keys) + if (is.null(mbox_keys)) { + warning("Attribute does not exist in the configuration file.") } + + return(mbox_keys) } #' Get Mbox Save Path #' #' Gets the local path to store Mbox data for a specific project key index #' -#' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") -#' @param project_key_index the name of the index of the project key (e.g. "project_key_1" or "project_key_2") -#' @return the mbox path +#' @param config_file The parsed config file +#' @param project_key_index The name of the index of the project key (e.g. "project_key_1" or "project_key_2") +#' @return the local Mbox path for project specified by key index `project_key_index` #' @export -get_mbox_path <- function(project_name, project_key_index) { - - conf_path <- paste0("conf/", project_name, ".yml") - conf <- yaml::read_yaml(conf_path) +get_mbox_path <- function(config_file, project_key_index) { - mbox_path <- conf[["mailing_list"]][["mod_mbox"]][[project_key_index]][["mbox"]] + mbox_path <- config_file[["mailing_list"]][["mod_mbox"]][[project_key_index]][["mbox"]] - if(is.null(mbox_path)) { - stop("This field does not exist in the configuration file.") - } else { - return(mbox_path) + if (is.null(mbox_path)) { + warning("Attribute does not exist in the configuration file.") } + + return(mbox_path) } #' Get Mbox Archive URL #' #' Gets the Mbox archive URL for a specific project key index #' -#' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") -#' @param project_key_index the name of the index of the project key (e.g. "project_key_1" or "project_key_2") -#' @return the domain of the mailing list archive +#' @param config_file The parsed config file +#' @param project_key_index The name of the index of the project key (e.g. "project_key_1" or "project_key_2") +#' @return the domain of the mailing list archive for project specified by key index `project_key_index` #' @export -get_mbox_domain <- function(project_name, project_key_index) { - - conf_path <- paste0("conf/", project_name, ".yml") - conf <- yaml::read_yaml(conf_path) +get_mbox_domain <- function(config_file, project_key_index) { - mbox_url <- conf[["mailing_list"]][["mod_mbox"]][[project_key_index]][["archive_url"]] + mbox_url <- config_file[["mailing_list"]][["mod_mbox"]][[project_key_index]][["archive_url"]] - if(is.null(mbox_url)) { - stop("This field does not exist in the configuration file.") - } else { - return(mbox_url) + if (is.null(mbox_url)) { + warning("Attribute does not exist in the configuration file.") } + + return(mbox_url) } #' Get Mod Mbox Mailing List #' #' Gets the Mbox mailing list for a specific project key index #' -#' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") -#' @param project_key_index the name of the index of the project key (e.g. "project_key_1" or "project_key_2") -#' @return the mbox mailing list +#' @param config_file The parsed config file +#' @param project_key_index The name of the index of the project key (e.g. "project_key_1" or "project_key_2") +#' @return the Mbox mailing list for project specified by key index `project_key_index` #' @export -get_mbox_mailing_list <- function(project_name, project_key_index) { +get_mbox_mailing_list <- function(config_file, project_key_index) { - conf_path <- paste0("conf/", project_name, ".yml") - conf <- yaml::read_yaml(conf_path) + mailing_list <- config_file[["mailing_list"]][["mod_mbox"]][[project_key_index]][["mailing_list"]] - mailing_list <- conf[["mailing_list"]][["mod_mbox"]][[project_key_index]][["mailing_list"]] - - if(is.null(mailing_list)) { - stop("This field does not exist in the configuration file.") - } else { - return(mailing_list) + if (is.null(mailing_list)) { + warning("Attribute does not exist in the configuration file.") } + + return(mailing_list) } #' Get Mod Mbox Archive Type #' #' Gets the Mbox archive type for a specific project key index #' -#' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") -#' @param project_key_index the name of the index of the project key (e.g. "project_key_1" or "project_key_2") -#' @return the mbox mailing list +#' @param config_file The parsed config file +#' @param project_key_index The name of the index of the project key (e.g. "project_key_1" or "project_key_2") +#' @return the Mbox archive type for project specified by key index `project_key_index` #' @export -get_mbox_mailing_list <- function(project_name, project_key_index) { +get_mbox_mailing_list <- function(config_file, project_key_index) { - conf_path <- paste0("conf/", project_name, ".yml") - conf <- yaml::read_yaml(conf_path) + archive_type <- config_file[["mailing_list"]][["mod_mbox"]][[project_key_index]][["archive_type"]] - archive_type <- conf[["mailing_list"]][["mod_mbox"]][[project_key_index]][["archive_type"]] - - if(is.null(archive_type)) { - stop("This field does not exist in the configuration file.") - } else { - return(archive_type) + if (is.null(archive_type)) { + warning("Attribute does not exist in the configuration file.") } + + return(archive_type) } #' Get GitHub Issue Tracker Project Key Indexes #' #' Gets the list of GitHub issue tracker project key indexes #' -#' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") -#' @return the list of issue tracker project keys +#' @param config_file The parsed config file +#' @return the list of issue tracker project key indexes #' @export -get_github_key_indexes <- function(project_name) { - - conf_path <- paste0("conf/", project_name, ".yml") - conf <- yaml::read_yaml(conf_path) +get_github_key_indexes <- function(config_file) { - keys <- conf[["issue_tracker"]][["github"]] + keys <- config_file[["issue_tracker"]][["github"]] - if(is.null(keys)) { - stop("This field does not exist in the configuration file.") - } else { - return(keys) + if (is.null(keys)) { + warning("Attribute does not exist in the configuration file.") } + + return(keys) } #' Get GitHub Owner #' #' Gets the owner of the GitHub repository for a specific project key index #' -#' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") -#' @param project_key_index the name of the index of the project key (e.g. "project_key_1" or "project_key_2") -#' @return the GitHub project owner name +#' @param config_file The parsed config file +#' @param project_key_index The name of the index of the project key (e.g. "project_key_1" or "project_key_2") +#' @return the GitHub project owner name for project specified by key index `project_key_index` #' @export -get_github_owner <- function(project_name, project_key_index) { - - conf_path <- paste0("conf/", project_name, ".yml") - conf <- yaml::read_yaml(conf_path) +get_github_owner <- function(config_file, project_key_index) { - owner <- conf[["issue_tracker"]][["github"]][[project_key_index]][["owner"]] + owner <- config_file[["issue_tracker"]][["github"]][[project_key_index]][["owner"]] - if(is.null(owner)) { - stop("This field does not exist in the configuration file.") - } else { - return(owner) + if (is.null(owner)) { + warning("Attribute does not exist in the configuration file.") } + + return(owner) } #' Get GitHub Repository #' #' Gets the name of the GitHub repository for a specific project key index #' -#' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") -#' @param project_key_index the name of the index of the project key (e.g. "project_key_1" or "project_key_2") -#' @return the GitHub repository +#' @param config_file The parsed config file +#' @param project_key_index The name of the index of the project key (e.g. "project_key_1" or "project_key_2") +#' @return the name of the GitHub repository for project specified by key index `project_key_index` #' @export -get_github_repo <- function(project_name, project_key_index) { +get_github_repo <- function(config_file, project_key_index) { - conf_path <- paste0("conf/", project_name, ".yml") - conf <- yaml::read_yaml(conf_path) + repo <- config_file[["issue_tracker"]][["github"]][[project_key_index]][["repo"]] - repo <- conf[["issue_tracker"]][["github"]][[project_key_index]][["repo"]] - - if(is.null(repo)) { - stop("This field does not exist in the configuration file.") - } else { - return(repo) + if (is.null(repo)) { + warning("Attribute does not exist in the configuration file.") } + + return(repo) } #' Get GitHub Issue Save Path #' #' Gets the local save path for GitHub issues for a specific project key index #' -#' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") -#' @param project_key_index the name of the index of the project key (e.g. "project_key_1" or "project_key_2") -#' @return the local save path for GitHub issues +#' @param config_file The parsed config file +#' @param project_key_index The name of the index of the project key (e.g. "project_key_1" or "project_key_2") +#' @return the local save path for GitHub issues for project specified by key index `project_key_index` #' @export -get_github_issue_path <- function(project_name, project_key_index) { - - conf_path <- paste0("conf/", project_name, ".yml") - conf <- yaml::read_yaml(conf_path) +get_github_issue_path <- function(config_file, project_key_index) { - issue_path <- conf[["issue_tracker"]][["github"]][[project_key_index]][["issue"]] + issue_path <- config_file[["issue_tracker"]][["github"]][[project_key_index]][["issue"]] - if(is.null(issue_path)) { - stop("This field does not exist in the configuration file.") - } else { - return(issue_path) + if (is.null(issue_path)) { + warning("Attribute does not exist in the configuration file.") } + + return(issue_path) } #' Get GitHub Issue Or PR Comment Save Path #' #' Gets the local save path for GitHub Issues or PR Comments for a specific project key index #' -#' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") -#' @param project_key_index the name of the index of the project key (e.g. "project_key_1" or "project_key_2") -#' @return the local save path for Github Issues or PR comments +#' @param config_file The parsed config file +#' @param project_key_index The name of the index of the project key (e.g. "project_key_1" or "project_key_2") +#' @return the local save path for Github Issues or PR comments for project specified by key index `project_key_index` #' @export -get_github_issue_or_pr_comment_path <- function(project_name, project_key_index) { - - conf_path <- paste0("conf/", project_name, ".yml") - conf <- yaml::read_yaml(conf_path) +get_github_issue_or_pr_comment_path <- function(config_file, project_key_index) { - issue_or_pr_comment_path <- conf[["issue_tracker"]][["github"]][[project_key_index]][["issue_or_pr_comment"]] + issue_or_pr_comment_path <- config_file[["issue_tracker"]][["github"]][[project_key_index]][["issue_or_pr_comment"]] - if(is.null(issue_or_pr_comment_path)) { - stop("This field does not exist in the configuration file.") - } else { - return(issue_or_pr_comment_path) + if (is.null(issue_or_pr_comment_path)) { + warning("Attribute does not exist in the configuration file.") } + + return(issue_or_pr_comment_path) } #' Get GitHub Issue Search Save Path #' #' Gets the local save path for GitHub issue search for a specific project key index #' -#' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") -#' @param project_key_index the name of the index of the project key (e.g. "project_key_1" or "project_key_2") -#' @return the local save path for GitHub issue search +#' @param config_file The parsed config file +#' @param project_key_index The name of the index of the project key (e.g. "project_key_1" or "project_key_2") +#' @return the local save path for GitHub issue search for project specified by key index `project_key_index` #' @export -get_github_issue_search_path <- function(project_name, project_key_index) { +get_github_issue_search_path <- function(config_file, project_key_index) { - conf_path <- paste0("conf/", project_name, ".yml") - conf <- yaml::read_yaml(conf_path) + issue_search_path <- config_file[["issue_tracker"]][["github"]][[project_key_index]][["issue_search"]] - issue_search_path <- conf[["issue_tracker"]][["github"]][[project_key_index]][["issue_search"]] - - if(is.null(issue_search_path)) { - stop("This field does not exist in the configuration file.") - } else { - return(issue_search_path) + if (is.null(issue_search_path)) { + warning("Attribute does not exist in the configuration file.") } + + return(issue_search_path) } #' Get GitHub Pull Request Save Path #' #' Gets the local save path for GitHub pull requests for a specific project key index #' -#' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") -#' @param project_key_index the name of the index of the project key (e.g. "project_key_1" or "project_key_2") -#' @return the local save path for GitHub pull requests +#' @param config_file The parsed config file +#' @param project_key_index The name of the index of the project key (e.g. "project_key_1" or "project_key_2") +#' @return the local save path for GitHub pull requests for project specified by key index `project_key_index` #' @export -get_github_pull_request_path <- function(project_name, project_key_index) { - - conf_path <- paste0("conf/", project_name, ".yml") - conf <- yaml::read_yaml(conf_path) +get_github_pull_request_path <- function(config_file, project_key_index) { - pull_request_path <- conf[["issue_tracker"]][["github"]][[project_key_index]][["pull_request"]] + pull_request_path <- config_file[["issue_tracker"]][["github"]][[project_key_index]][["pull_request"]] - if(is.null(pull_request_path)) { - stop("This field does not exist in the configuration file.") - } else { - return(pull_request_path) + if (is.null(pull_request_path)) { + warning("Attribute does not exist in the configuration file.") } + + return(pull_request_path) } #' Get GitHub Commit Save Path #' #' Gets the local save path for GitHub commits for a specific project key index #' -#' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") -#' @param project_key_index the name of the index of the project key (e.g. "project_key_1" or "project_key_2") -#' @return the local save path for GitHub commits +#' @param config_file The parsed config file +#' @param project_key_index The name of the index of the project key (e.g. "project_key_1" or "project_key_2") +#' @return the local save path for GitHub commits for project specified by key index `project_key_index` #' @export -get_github_commit_path <- function(project_name, project_key_index) { - - conf_path <- paste0("conf/", project_name, ".yml") - conf <- yaml::read_yaml(conf_path) +get_github_commit_path <- function(config_file, project_key_index) { - commit_path <- conf[["issue_tracker"]][["github"]][[project_key_index]][["commit"]] + commit_path <- config_file[["issue_tracker"]][["github"]][[project_key_index]][["commit"]] - if(is.null(commit_path)) { - stop("This field does not exist in the configuration file.") - } else { - return(commit_path) + if (is.null(commit_path)) { + warning("Attribute does not exist in the configuration file.") } + + return(commit_path) } #' Get Jira Issue Tracker Project Key Indexes #' #' Gets the list of Jira issue tracker project key indexes #' -#' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") -#' @return the list of issue tracker project keys +#' @param config_file The parsed config file +#' @return the list of Jira issue tracker project key indexes #' @export -get_jira_key_indexes <- function(project_name) { +get_jira_key_indexes <- function(config_file) { - conf_path <- paste0("conf/", project_name, ".yml") - conf <- yaml::read_yaml(conf_path) + jira_key <- config_file[["issue_tracker"]][["jira"]] - keys <- conf[["issue_tracker"]][["jira"]] - - if(is.null(keys)) { - stop("This field does not exist in the configuration file.") - } else { - return(keys) + if (is.null(jira_key)) { + warning("Attribute does not exist in the configuration file.") } + + return(jira_key) } #' Get Jira Project Domain #' #' Gets the Jira domain for a specific project key index #' -#' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") -#' @param project_key_index the name of the index of the project key (e.g. "project_key_1" or "project_key_2") -#' @return the Jira domain of the project key index +#' @param config_file The parsed config file +#' @param project_key_index The name of the index of the project key (e.g. "project_key_1" or "project_key_2") +#' @return the Jira domain of the project key index for project specified by key index `project_key_index` #' @export -get_jira_domain <- function(project_name, project_key_index) { - - conf_path <- paste0("conf/", project_name, ".yml") - conf <- yaml::read_yaml(conf_path) +get_jira_domain <- function(config_file, project_key_index) { - domain <- conf[["issue_tracker"]][["jira"]][[project_key_index]][["domain"]] + domain <- config_file[["issue_tracker"]][["jira"]][[project_key_index]][["domain"]] - if(is.null(domain)) { - stop("This field does not exist in the configuration file.") - } else { - return(domain) + if (is.null(domain)) { + warning("Attribute does not exist in the configuration file.") } + + return(domain) } #' Get Jira Project Key Name #' -#' Gets the project key name for a specific project key index +#' Gets the Jira project key name for a specific project key index #' -#' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") -#' @param project_key_index the name of the index of the project key (e.g. "project_key_1" or "project_key_2") -#' @return the project key name +#' @param config_file The parsed config file +#' @param project_key_index The name of the index of the project key (e.g. "project_key_1" or "project_key_2") +#' @return the Jira project key name for project specified by key index `project_key_index` #' @export -get_jira_project_key_name <- function(project_name, project_key_index) { +get_jira_project_key_name <- function(config_file, project_key_index) { - conf_path <- paste0("conf/", project_name, ".yml") - conf <- yaml::read_yaml(conf_path) + name <- config_file[["issue_tracker"]][["jira"]][[project_key_index]][["project_key"]] - name <- conf[["issue_tracker"]][["jira"]][[project_key_index]][["project_key"]] - - if(is.null(name)) { - stop("This field does not exist in the configuration file.") - } else { - return(name) + if (is.null(name)) { + warning("Attribute does not exist in the configuration file.") } + + return(name) } #' Get Jira Issues Path #' #' Gets the local path to store Jira issues for a specific project key index #' -#' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") -#' @param project_key_index the name of the index of the project key (e.g. "project_key_1" or "project_key_2") -#' @return the Jira issue path +#' @param config_file The parsed config file +#' @param project_key_index The name of the index of the project key (e.g. "project_key_1" or "project_key_2") +#' @return the Jira issue path for project specified by key index `project_key_index` #' @export -get_jira_issues_path <- function(project_name, project_key_index) { - - conf_path <- paste0("conf/", project_name, ".yml") - conf <- yaml::read_yaml(conf_path) +get_jira_issues_path <- function(config_file, project_key_index) { - jira_issues_path <- conf[["issue_tracker"]][["jira"]][[project_key_index]][["issues"]] + jira_issues_path <- config_file[["issue_tracker"]][["jira"]][[project_key_index]][["issues"]] - if(is.null(jira_issues_path)) { - stop("This field does not exist in the configuration file.") - } else { - return(jira_issues_path) + if (is.null(jira_issues_path)) { + warning("Attribute does not exist in the configuration file.") } + + return(jira_issues_path) } #' Get Jira Issues Comments Path #' #' Gets the local path to store Jira issues with comments for a specific project key index #' -#' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") -#' @param project_key_index the name of the index of the project key (e.g. "project_key_1" or "project_key_2") -#' @return the list of Jira issues comments paths +#' @param config_file The parsed config file +#' @param project_key_index The name of the index of the project key (e.g. "project_key_1" or "project_key_2") +#' @return the list of Jira issues comments paths for project specified by key index `project_key_index` #' @export -get_jira_issues_comments_path <- function(project_name, project_key_index) { - - conf_path <- paste0("conf/", project_name, ".yml") - conf <- yaml::read_yaml(conf_path) +get_jira_issues_comments_path <- function(config_file, project_key_index) { - jira_issue_comments_path <- conf[["issue_tracker"]][["jira"]][[project_key_index]][["issue_comments"]] + jira_issue_comments_path <- config_file[["issue_tracker"]][["jira"]][[project_key_index]][["issue_comments"]] - if(is.null(jira_issue_comments_path)) { - stop("This field does not exist in the configuration file.") - } else { - return(jira_issue_comments_path) + if (is.null(jira_issue_comments_path)) { + warning("Attribute does not exist in the configuration file.") } + + return(jira_issue_comments_path) } #' Get Bugzilla Project Key #' -#' Gets the project key for the Bugzilla project +#' Gets the project key name for the Bugzilla project #' -#' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") -#' @return the list of Jira issues comments paths +#' @param config_file The parsed config file +#' @return the project key name #' @export -get_bugzilla_project_key <- function(project_name) { - - conf_path <- paste0("conf/", project_name, ".yml") - conf <- yaml::read_yaml(conf_path) +get_bugzilla_project_key <- function(config_file) { - key <- conf[["issue_tracker"]][["bugzilla"]][["project_key_index"]][["project_key"]] + bugzilla_key <- config_file[["issue_tracker"]][["bugzilla"]][["project_key_index"]][["project_key"]] - if(is.null(key)) { - stop("This field does not exist in the configuration file.") - } else { - return(key) + if (is.null(bugzilla_key)) { + warning("Attribute does not exist in the configuration file.") } + + return(bugzilla_key) } #' Get Nvd Feed Folder Path #' -#' Gets the folder path with nvd cve feeds +#' Gets the folder path with nvd feeds #' -#' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") -#' @return the folder path with nvd cve feeds +#' @param config_file The parsed config file +#' @return the folder path with nvd feeds #' @export -get_nvdfeed_folder_path <- function(project_name) { +get_nvdfeed_folder_path <- function(config_file) { - conf_path <- paste0("conf/", project_name, ".yml") - conf <- yaml::read_yaml(conf_path) + nvdfeed_folder_path <- config_file[["vulnerabilities"]][["nvd_feed"]] - nvdfeed_folder_path <- conf[["vulnerabilities"]][["nvd_feed"]] - - if(is.null(nvdfeed_folder_path)) { - stop("This field does not exist in the configuration file.") - } else { - return(nvdfeed_folder_path) + if (is.null(nvdfeed_folder_path)) { + warning("Attribute does not exist in the configuration file.") } + + return(nvdfeed_folder_path) } #' Get CVE ID Regex #' #' Gets the commit message CVE #' -#' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") +#' @param config_file The parsed config file #' @return the commit message CVE #' @export -get_cveid_regex <- function(project_name) { - - conf_path <- paste0("conf/", project_name, ".yml") - conf <- yaml::read_yaml(conf_path) +get_cveid_regex <- function(config_file) { - cveid_regex <- conf[["commit_message_id_regex"]][["cve_id"]] + cveid_regex <- config_file[["commit_message_id_regex"]][["cve_id"]] - if(is.null(cveid_regex)) { - stop("This field does not exist in the configuration file.") - } else { - return(cveid_regex) + if (is.null(cveid_regex)) { + warning("Attribute does not exist in the configuration file.") } + + return(cveid_regex) } #' Get Enumeration Commits #' #' Gets the list of enumerated commit intervals for analysis. #' -#' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") +#' @param config_file The parsed config file #' @return the commit intervals as a list #' @export -get_enumeration_commits <- function(project_name) { - - conf_path <- paste0("conf/", project_name, ".yml") - conf <- yaml::read_yaml(conf_path) +get_enumeration_commits <- function(config_file) { - commit <- conf[["analysis"]][["enumeration"]][["commit"]] + enumeration_commit <- config_file[["analysis"]][["enumeration"]][["commit"]] - if(is.null(commit)) { - stop("This field does not exist in the configuration file.") - } else { - return(commit) + if (is.null(enumeration_commit)) { + warning("Attribute does not exist in the configuration file.") } + + return(enumeration_commit) } #' Get Window Start Commit #' #' Gets the analysis window start commit #' -#' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") -#' @return the analysis window size +#' @param config_file The parsed config file +#' @return the analysis window start commit #' @export -get_window_start_commit <- function(project_name) { - - conf_path <- paste0("conf/", project_name, ".yml") - conf <- yaml::read_yaml(conf_path) +get_window_start_commit <- function(config_file) { - start_commit <- conf[["analysis"]][["window"]][["start_commit"]] + start_commit <- config_file[["analysis"]][["window"]][["start_commit"]] - if(is.null(start_commit)) { - stop("This field does not exist in the configuration file.") - } else { - return(start_commit) + if (is.null(start_commit)) { + warning("Attribute does not exist in the configuration file.") } + + return(start_commit) } #' Get Window End Commit #' #' Gets the analysis window end commit #' -#' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") -#' @return the analysis window size +#' @param config_file The parsed config file +#' @return the analysis window end commit #' @export -get_window_end_commit <- function(project_name) { - - conf_path <- paste0("conf/", project_name, ".yml") - conf <- yaml::read_yaml(conf_path) +get_window_end_commit <- function(config_file) { - end_commit <- conf[["analysis"]][["window"]][["end_commit"]] + end_commit <- config_file[["analysis"]][["window"]][["end_commit"]] - if(is.null(end_commit)) { - stop("This field does not exist in the configuration file.") - } else { - return(end_commit) + if (is.null(end_commit)) { + warning("Attribute does not exist in the configuration file.") } + + return(end_commit) } #' Get Analysis Window Size #' #' Gets the analysis window size #' -#' @param project_name the name of the project config file (e.g. "kaiaulu" or "geronimo") +#' @param config_file The parsed config file #' @return the analysis window size #' @export -get_window_size <- function(project_name) { +get_window_size <- function(config_file) { - conf_path <- paste0("conf/", project_name, ".yml") - conf <- yaml::read_yaml(conf_path) + window_size <- config_file[["analysis"]][["window"]][["size_days"]] - window_size <- conf[["analysis"]][["window"]][["size_days"]] - - if(is.null(window_size)) { - stop("This field does not exist in the configuration file.") - } else { - return(window_size) + if (is.null(window_size)) { + warning("Attribute does not exist in the configuration file.") } + + return(window_size) } diff --git a/man/get_bugzilla_project_key.Rd b/man/get_bugzilla_project_key.Rd index 61b42af..c98b567 100644 --- a/man/get_bugzilla_project_key.Rd +++ b/man/get_bugzilla_project_key.Rd @@ -4,14 +4,14 @@ \alias{get_bugzilla_project_key} \title{Get Bugzilla Project Key} \usage{ -get_bugzilla_project_key(project_name) +get_bugzilla_project_key(config_file) } \arguments{ -\item{project_name}{the name of the project config file (e.g. "kaiaulu" or "geronimo")} +\item{config_file}{The parsed config file} } \value{ -the list of Jira issues comments paths +the project key name } \description{ -Gets the project key for the Bugzilla project +Gets the project key name for the Bugzilla project } diff --git a/man/get_code_language.Rd b/man/get_code_language.Rd index 81cfc86..adad0b1 100644 --- a/man/get_code_language.Rd +++ b/man/get_code_language.Rd @@ -4,10 +4,10 @@ \alias{get_code_language} \title{Get Code Language} \usage{ -get_code_language(project_name) +get_code_language(config_file) } \arguments{ -\item{project_name}{the name of the project config file (e.g. "kaiaulu" or "geronimo")} +\item{config_file}{The parsed config file} } \value{ the code language diff --git a/man/get_conf.Rd b/man/get_conf.Rd index 2ddb39d..1db5609 100644 --- a/man/get_conf.Rd +++ b/man/get_conf.Rd @@ -2,16 +2,16 @@ % Please edit documentation in R/config.R \name{get_conf} \alias{get_conf} -\title{Get config.yml File} +\title{Get Parsed Config File} \usage{ -get_conf(project_name) +get_conf(config_path) } \arguments{ -\item{project_name}{the name of the project config file (e.g. "kaiaulu" or "geronimo")} +\item{config_path}{The path of the config file from the kaiaulu directory (e.g. "conf/kaiaulu.yml")} } \value{ -the config yml file +the parsed config file whose path is specified by `config_path` } \description{ -Gets the configuration file for any project +Gets the parsed configuration file for any path-specified project } diff --git a/man/get_cveid_regex.Rd b/man/get_cveid_regex.Rd index c753a3f..60e660b 100644 --- a/man/get_cveid_regex.Rd +++ b/man/get_cveid_regex.Rd @@ -4,10 +4,10 @@ \alias{get_cveid_regex} \title{Get CVE ID Regex} \usage{ -get_cveid_regex(project_name) +get_cveid_regex(config_file) } \arguments{ -\item{project_name}{the name of the project config file (e.g. "kaiaulu" or "geronimo")} +\item{config_file}{The parsed config file} } \value{ the commit message CVE diff --git a/man/get_dv8_flaws_params.Rd b/man/get_dv8_flaws_params.Rd index 0bcdc7a..7c43e04 100644 --- a/man/get_dv8_flaws_params.Rd +++ b/man/get_dv8_flaws_params.Rd @@ -4,13 +4,13 @@ \alias{get_dv8_flaws_params} \title{Get Flaws Params} \usage{ -get_dv8_flaws_params(project_name) +get_dv8_flaws_params(config_file) } \arguments{ -\item{project_name}{the name of the project config file (e.g. "kaiaulu" or "geronimo")} +\item{config_file}{The parsed config file} } \value{ -the flaws params +the architectural flaws thresholds } \description{ Gets the architectural flaws thresholds diff --git a/man/get_dv8_folder_path.Rd b/man/get_dv8_folder_path.Rd index ee6e72b..9077511 100644 --- a/man/get_dv8_folder_path.Rd +++ b/man/get_dv8_folder_path.Rd @@ -4,10 +4,10 @@ \alias{get_dv8_folder_path} \title{Get DV8 Project Folder Path} \usage{ -get_dv8_folder_path(project_name) +get_dv8_folder_path(config_file) } \arguments{ -\item{project_name}{the name of the project config file (e.g. "kaiaulu" or "geronimo")} +\item{config_file}{The parsed config file} } \value{ the dv8 project folder path diff --git a/man/get_enumeration_commits.Rd b/man/get_enumeration_commits.Rd index f9ae4e3..737fa95 100644 --- a/man/get_enumeration_commits.Rd +++ b/man/get_enumeration_commits.Rd @@ -4,10 +4,10 @@ \alias{get_enumeration_commits} \title{Get Enumeration Commits} \usage{ -get_enumeration_commits(project_name) +get_enumeration_commits(config_file) } \arguments{ -\item{project_name}{the name of the project config file (e.g. "kaiaulu" or "geronimo")} +\item{config_file}{The parsed config file} } \value{ the commit intervals as a list diff --git a/man/get_file_extensions.Rd b/man/get_file_extensions.Rd index 36662ee..753c5bf 100644 --- a/man/get_file_extensions.Rd +++ b/man/get_file_extensions.Rd @@ -4,10 +4,10 @@ \alias{get_file_extensions} \title{Get File Extensions} \usage{ -get_file_extensions(project_name) +get_file_extensions(config_file) } \arguments{ -\item{project_name}{the name of the project config file (e.g. "kaiaulu" or "geronimo")} +\item{config_file}{The parsed config file} } \value{ the file extensions diff --git a/man/get_filter_commit_size.Rd b/man/get_filter_commit_size.Rd index 29c4e69..39a7f4f 100644 --- a/man/get_filter_commit_size.Rd +++ b/man/get_filter_commit_size.Rd @@ -4,10 +4,10 @@ \alias{get_filter_commit_size} \title{Get Filter Commit Size} \usage{ -get_filter_commit_size(project_name) +get_filter_commit_size(config_file) } \arguments{ -\item{project_name}{the name of the project config file (e.g. "kaiaulu" or "geronimo")} +\item{config_file}{The parsed config file} } \value{ the commit size to filter out diff --git a/man/get_git_branches.Rd b/man/get_git_branches.Rd index 0dc06ae..8cd79b6 100644 --- a/man/get_git_branches.Rd +++ b/man/get_git_branches.Rd @@ -4,10 +4,10 @@ \alias{get_git_branches} \title{Get Project Git Branches} \usage{ -get_git_branches(project_name) +get_git_branches(config_file) } \arguments{ -\item{project_name}{the name of the project config file (e.g. "kaiaulu" or "geronimo")} +\item{config_file}{The parsed config file} } \value{ the list of git branches diff --git a/man/get_git_repo_path.Rd b/man/get_git_repo_path.Rd index 10e1a5e..c449988 100644 --- a/man/get_git_repo_path.Rd +++ b/man/get_git_repo_path.Rd @@ -4,14 +4,14 @@ \alias{get_git_repo_path} \title{Get Project Git Repo Path} \usage{ -get_git_repo_path(project_name) +get_git_repo_path(config_file) } \arguments{ -\item{project_name}{the name of the project config file (e.g. "kaiaulu" or "geronimo")} +\item{config_file}{The parsed config file} } \value{ -the local git repo path +the local git repository path specified in `config_file` } \description{ -Gets the local project git repo path from the config file +Gets the local project git repository path of the project } diff --git a/man/get_github_commit_path.Rd b/man/get_github_commit_path.Rd index 9b2573f..ae38662 100644 --- a/man/get_github_commit_path.Rd +++ b/man/get_github_commit_path.Rd @@ -4,15 +4,15 @@ \alias{get_github_commit_path} \title{Get GitHub Commit Save Path} \usage{ -get_github_commit_path(project_name, project_key_index) +get_github_commit_path(config_file, project_key_index) } \arguments{ -\item{project_name}{the name of the project config file (e.g. "kaiaulu" or "geronimo")} +\item{config_file}{The parsed config file} -\item{project_key_index}{the name of the index of the project key (e.g. "project_key_1" or "project_key_2")} +\item{project_key_index}{The name of the index of the project key (e.g. "project_key_1" or "project_key_2")} } \value{ -the local save path for GitHub commits +the local save path for GitHub commits for project specified by key index `project_key_index` } \description{ Gets the local save path for GitHub commits for a specific project key index diff --git a/man/get_github_issue_or_pr_comment_path.Rd b/man/get_github_issue_or_pr_comment_path.Rd index 5b2f702..1c306ce 100644 --- a/man/get_github_issue_or_pr_comment_path.Rd +++ b/man/get_github_issue_or_pr_comment_path.Rd @@ -4,15 +4,15 @@ \alias{get_github_issue_or_pr_comment_path} \title{Get GitHub Issue Or PR Comment Save Path} \usage{ -get_github_issue_or_pr_comment_path(project_name, project_key_index) +get_github_issue_or_pr_comment_path(config_file, project_key_index) } \arguments{ -\item{project_name}{the name of the project config file (e.g. "kaiaulu" or "geronimo")} +\item{config_file}{The parsed config file} -\item{project_key_index}{the name of the index of the project key (e.g. "project_key_1" or "project_key_2")} +\item{project_key_index}{The name of the index of the project key (e.g. "project_key_1" or "project_key_2")} } \value{ -the local save path for Github Issues or PR comments +the local save path for Github Issues or PR comments for project specified by key index `project_key_index` } \description{ Gets the local save path for GitHub Issues or PR Comments for a specific project key index diff --git a/man/get_github_issue_path.Rd b/man/get_github_issue_path.Rd index 69682bc..11e354f 100644 --- a/man/get_github_issue_path.Rd +++ b/man/get_github_issue_path.Rd @@ -4,15 +4,15 @@ \alias{get_github_issue_path} \title{Get GitHub Issue Save Path} \usage{ -get_github_issue_path(project_name, project_key_index) +get_github_issue_path(config_file, project_key_index) } \arguments{ -\item{project_name}{the name of the project config file (e.g. "kaiaulu" or "geronimo")} +\item{config_file}{The parsed config file} -\item{project_key_index}{the name of the index of the project key (e.g. "project_key_1" or "project_key_2")} +\item{project_key_index}{The name of the index of the project key (e.g. "project_key_1" or "project_key_2")} } \value{ -the local save path for GitHub issues +the local save path for GitHub issues for project specified by key index `project_key_index` } \description{ Gets the local save path for GitHub issues for a specific project key index diff --git a/man/get_github_issue_search_path.Rd b/man/get_github_issue_search_path.Rd index 3594443..9b55cfc 100644 --- a/man/get_github_issue_search_path.Rd +++ b/man/get_github_issue_search_path.Rd @@ -4,15 +4,15 @@ \alias{get_github_issue_search_path} \title{Get GitHub Issue Search Save Path} \usage{ -get_github_issue_search_path(project_name, project_key_index) +get_github_issue_search_path(config_file, project_key_index) } \arguments{ -\item{project_name}{the name of the project config file (e.g. "kaiaulu" or "geronimo")} +\item{config_file}{The parsed config file} -\item{project_key_index}{the name of the index of the project key (e.g. "project_key_1" or "project_key_2")} +\item{project_key_index}{The name of the index of the project key (e.g. "project_key_1" or "project_key_2")} } \value{ -the local save path for GitHub issue search +the local save path for GitHub issue search for project specified by key index `project_key_index` } \description{ Gets the local save path for GitHub issue search for a specific project key index diff --git a/man/get_github_key_indexes.Rd b/man/get_github_key_indexes.Rd index 232ca0d..12bfa6b 100644 --- a/man/get_github_key_indexes.Rd +++ b/man/get_github_key_indexes.Rd @@ -4,13 +4,13 @@ \alias{get_github_key_indexes} \title{Get GitHub Issue Tracker Project Key Indexes} \usage{ -get_github_key_indexes(project_name) +get_github_key_indexes(config_file) } \arguments{ -\item{project_name}{the name of the project config file (e.g. "kaiaulu" or "geronimo")} +\item{config_file}{The parsed config file} } \value{ -the list of issue tracker project keys +the list of issue tracker project key indexes } \description{ Gets the list of GitHub issue tracker project key indexes diff --git a/man/get_github_owner.Rd b/man/get_github_owner.Rd index c6551e3..7fdd2bf 100644 --- a/man/get_github_owner.Rd +++ b/man/get_github_owner.Rd @@ -4,15 +4,15 @@ \alias{get_github_owner} \title{Get GitHub Owner} \usage{ -get_github_owner(project_name, project_key_index) +get_github_owner(config_file, project_key_index) } \arguments{ -\item{project_name}{the name of the project config file (e.g. "kaiaulu" or "geronimo")} +\item{config_file}{The parsed config file} -\item{project_key_index}{the name of the index of the project key (e.g. "project_key_1" or "project_key_2")} +\item{project_key_index}{The name of the index of the project key (e.g. "project_key_1" or "project_key_2")} } \value{ -the GitHub project owner name +the GitHub project owner name for project specified by key index `project_key_index` } \description{ Gets the owner of the GitHub repository for a specific project key index diff --git a/man/get_github_pull_request_path.Rd b/man/get_github_pull_request_path.Rd index c3eb6a5..8673b09 100644 --- a/man/get_github_pull_request_path.Rd +++ b/man/get_github_pull_request_path.Rd @@ -4,15 +4,15 @@ \alias{get_github_pull_request_path} \title{Get GitHub Pull Request Save Path} \usage{ -get_github_pull_request_path(project_name, project_key_index) +get_github_pull_request_path(config_file, project_key_index) } \arguments{ -\item{project_name}{the name of the project config file (e.g. "kaiaulu" or "geronimo")} +\item{config_file}{The parsed config file} -\item{project_key_index}{the name of the index of the project key (e.g. "project_key_1" or "project_key_2")} +\item{project_key_index}{The name of the index of the project key (e.g. "project_key_1" or "project_key_2")} } \value{ -the local save path for GitHub pull requests +the local save path for GitHub pull requests for project specified by key index `project_key_index` } \description{ Gets the local save path for GitHub pull requests for a specific project key index diff --git a/man/get_github_repo.Rd b/man/get_github_repo.Rd index 64a1948..f6b4cd4 100644 --- a/man/get_github_repo.Rd +++ b/man/get_github_repo.Rd @@ -4,15 +4,15 @@ \alias{get_github_repo} \title{Get GitHub Repository} \usage{ -get_github_repo(project_name, project_key_index) +get_github_repo(config_file, project_key_index) } \arguments{ -\item{project_name}{the name of the project config file (e.g. "kaiaulu" or "geronimo")} +\item{config_file}{The parsed config file} -\item{project_key_index}{the name of the index of the project key (e.g. "project_key_1" or "project_key_2")} +\item{project_key_index}{The name of the index of the project key (e.g. "project_key_1" or "project_key_2")} } \value{ -the GitHub repository +the name of the GitHub repository for project specified by key index `project_key_index` } \description{ Gets the name of the GitHub repository for a specific project key index diff --git a/man/get_issue_id_regex.Rd b/man/get_issue_id_regex.Rd index 1f4fb30..d305868 100644 --- a/man/get_issue_id_regex.Rd +++ b/man/get_issue_id_regex.Rd @@ -4,13 +4,13 @@ \alias{get_issue_id_regex} \title{Get Issue Id Regex} \usage{ -get_issue_id_regex(project_name) +get_issue_id_regex(config_file) } \arguments{ -\item{project_name}{the name of the project config file (e.g. "kaiaulu" or "geronimo")} +\item{config_file}{The parsed config file} } \value{ -the issue id regex +the issue ID regex } \description{ Gets the issue ID regex on commit messages diff --git a/man/get_jira_domain.Rd b/man/get_jira_domain.Rd index c28cf03..1f43aa8 100644 --- a/man/get_jira_domain.Rd +++ b/man/get_jira_domain.Rd @@ -4,15 +4,15 @@ \alias{get_jira_domain} \title{Get Jira Project Domain} \usage{ -get_jira_domain(project_name, project_key_index) +get_jira_domain(config_file, project_key_index) } \arguments{ -\item{project_name}{the name of the project config file (e.g. "kaiaulu" or "geronimo")} +\item{config_file}{The parsed config file} -\item{project_key_index}{the name of the index of the project key (e.g. "project_key_1" or "project_key_2")} +\item{project_key_index}{The name of the index of the project key (e.g. "project_key_1" or "project_key_2")} } \value{ -the Jira domain of the project key index +the Jira domain of the project key index for project specified by key index `project_key_index` } \description{ Gets the Jira domain for a specific project key index diff --git a/man/get_jira_issues_comments_path.Rd b/man/get_jira_issues_comments_path.Rd index 28d4bc6..46d9871 100644 --- a/man/get_jira_issues_comments_path.Rd +++ b/man/get_jira_issues_comments_path.Rd @@ -4,15 +4,15 @@ \alias{get_jira_issues_comments_path} \title{Get Jira Issues Comments Path} \usage{ -get_jira_issues_comments_path(project_name, project_key_index) +get_jira_issues_comments_path(config_file, project_key_index) } \arguments{ -\item{project_name}{the name of the project config file (e.g. "kaiaulu" or "geronimo")} +\item{config_file}{The parsed config file} -\item{project_key_index}{the name of the index of the project key (e.g. "project_key_1" or "project_key_2")} +\item{project_key_index}{The name of the index of the project key (e.g. "project_key_1" or "project_key_2")} } \value{ -the list of Jira issues comments paths +the list of Jira issues comments paths for project specified by key index `project_key_index` } \description{ Gets the local path to store Jira issues with comments for a specific project key index diff --git a/man/get_jira_issues_path.Rd b/man/get_jira_issues_path.Rd index d4d739a..e15ea23 100644 --- a/man/get_jira_issues_path.Rd +++ b/man/get_jira_issues_path.Rd @@ -4,15 +4,15 @@ \alias{get_jira_issues_path} \title{Get Jira Issues Path} \usage{ -get_jira_issues_path(project_name, project_key_index) +get_jira_issues_path(config_file, project_key_index) } \arguments{ -\item{project_name}{the name of the project config file (e.g. "kaiaulu" or "geronimo")} +\item{config_file}{The parsed config file} -\item{project_key_index}{the name of the index of the project key (e.g. "project_key_1" or "project_key_2")} +\item{project_key_index}{The name of the index of the project key (e.g. "project_key_1" or "project_key_2")} } \value{ -the Jira issue path +the Jira issue path for project specified by key index `project_key_index` } \description{ Gets the local path to store Jira issues for a specific project key index diff --git a/man/get_jira_key_indexes.Rd b/man/get_jira_key_indexes.Rd index c41d175..14d26c6 100644 --- a/man/get_jira_key_indexes.Rd +++ b/man/get_jira_key_indexes.Rd @@ -4,13 +4,13 @@ \alias{get_jira_key_indexes} \title{Get Jira Issue Tracker Project Key Indexes} \usage{ -get_jira_key_indexes(project_name) +get_jira_key_indexes(config_file) } \arguments{ -\item{project_name}{the name of the project config file (e.g. "kaiaulu" or "geronimo")} +\item{config_file}{The parsed config file} } \value{ -the list of issue tracker project keys +the list of Jira issue tracker project key indexes } \description{ Gets the list of Jira issue tracker project key indexes diff --git a/man/get_jira_project_key_name.Rd b/man/get_jira_project_key_name.Rd index 8111ff9..9a1b9f8 100644 --- a/man/get_jira_project_key_name.Rd +++ b/man/get_jira_project_key_name.Rd @@ -4,16 +4,16 @@ \alias{get_jira_project_key_name} \title{Get Jira Project Key Name} \usage{ -get_jira_project_key_name(project_name, project_key_index) +get_jira_project_key_name(config_file, project_key_index) } \arguments{ -\item{project_name}{the name of the project config file (e.g. "kaiaulu" or "geronimo")} +\item{config_file}{The parsed config file} -\item{project_key_index}{the name of the index of the project key (e.g. "project_key_1" or "project_key_2")} +\item{project_key_index}{The name of the index of the project key (e.g. "project_key_1" or "project_key_2")} } \value{ -the project key name +the Jira project key name for project specified by key index `project_key_index` } \description{ -Gets the project key name for a specific project key index +Gets the Jira project key name for a specific project key index } diff --git a/man/get_keep_dependencies_type.Rd b/man/get_keep_dependencies_type.Rd index ae7b083..ec68f05 100644 --- a/man/get_keep_dependencies_type.Rd +++ b/man/get_keep_dependencies_type.Rd @@ -4,10 +4,10 @@ \alias{get_keep_dependencies_type} \title{Get Keep Dependencies Type} \usage{ -get_keep_dependencies_type(project_name) +get_keep_dependencies_type(config_file) } \arguments{ -\item{project_name}{the name of the project config file (e.g. "kaiaulu" or "geronimo")} +\item{config_file}{The parsed config file} } \value{ the types of dependencies to keep diff --git a/man/get_mbox_domain.Rd b/man/get_mbox_domain.Rd index 32bb5c5..53d91ba 100644 --- a/man/get_mbox_domain.Rd +++ b/man/get_mbox_domain.Rd @@ -4,15 +4,15 @@ \alias{get_mbox_domain} \title{Get Mbox Archive URL} \usage{ -get_mbox_domain(project_name, project_key_index) +get_mbox_domain(config_file, project_key_index) } \arguments{ -\item{project_name}{the name of the project config file (e.g. "kaiaulu" or "geronimo")} +\item{config_file}{The parsed config file} -\item{project_key_index}{the name of the index of the project key (e.g. "project_key_1" or "project_key_2")} +\item{project_key_index}{The name of the index of the project key (e.g. "project_key_1" or "project_key_2")} } \value{ -the domain of the mailing list archive +the domain of the mailing list archive for project specified by key index `project_key_index` } \description{ Gets the Mbox archive URL for a specific project key index diff --git a/man/get_mbox_key_indexes.Rd b/man/get_mbox_key_indexes.Rd index 284d21c..d5d0a4c 100644 --- a/man/get_mbox_key_indexes.Rd +++ b/man/get_mbox_key_indexes.Rd @@ -4,14 +4,14 @@ \alias{get_mbox_key_indexes} \title{Get Mailing List Mod Mbox Key Indexes} \usage{ -get_mbox_key_indexes(project_name) +get_mbox_key_indexes(config_file) } \arguments{ -\item{project_name}{the name of the project config file (e.g. "kaiaulu" or "geronimo")} +\item{config_file}{The parsed config file} } \value{ -the list of mod mbox mail key indexes +the list of mod Mbox mail key indexes } \description{ -Gets the list of mod mbox mail key indexes +Gets the list of mod Mbox mail key indexes } diff --git a/man/get_mbox_mailing_list.Rd b/man/get_mbox_mailing_list.Rd index 648fc71..60c3350 100644 --- a/man/get_mbox_mailing_list.Rd +++ b/man/get_mbox_mailing_list.Rd @@ -4,19 +4,19 @@ \alias{get_mbox_mailing_list} \title{Get Mod Mbox Mailing List} \usage{ -get_mbox_mailing_list(project_name, project_key_index) +get_mbox_mailing_list(config_file, project_key_index) -get_mbox_mailing_list(project_name, project_key_index) +get_mbox_mailing_list(config_file, project_key_index) } \arguments{ -\item{project_name}{the name of the project config file (e.g. "kaiaulu" or "geronimo")} +\item{config_file}{The parsed config file} -\item{project_key_index}{the name of the index of the project key (e.g. "project_key_1" or "project_key_2")} +\item{project_key_index}{The name of the index of the project key (e.g. "project_key_1" or "project_key_2")} } \value{ -the mbox mailing list +the Mbox mailing list for project specified by key index `project_key_index` -the mbox mailing list +the Mbox archive type for project specified by key index `project_key_index` } \description{ Gets the Mbox mailing list for a specific project key index diff --git a/man/get_mbox_path.Rd b/man/get_mbox_path.Rd index c6bfd74..dd7c813 100644 --- a/man/get_mbox_path.Rd +++ b/man/get_mbox_path.Rd @@ -4,15 +4,15 @@ \alias{get_mbox_path} \title{Get Mbox Save Path} \usage{ -get_mbox_path(project_name, project_key_index) +get_mbox_path(config_file, project_key_index) } \arguments{ -\item{project_name}{the name of the project config file (e.g. "kaiaulu" or "geronimo")} +\item{config_file}{The parsed config file} -\item{project_key_index}{the name of the index of the project key (e.g. "project_key_1" or "project_key_2")} +\item{project_key_index}{The name of the index of the project key (e.g. "project_key_1" or "project_key_2")} } \value{ -the mbox path +the local Mbox path for project specified by key index `project_key_index` } \description{ Gets the local path to store Mbox data for a specific project key index diff --git a/man/get_nvdfeed_folder_path.Rd b/man/get_nvdfeed_folder_path.Rd index 20419c3..240cb04 100644 --- a/man/get_nvdfeed_folder_path.Rd +++ b/man/get_nvdfeed_folder_path.Rd @@ -4,14 +4,14 @@ \alias{get_nvdfeed_folder_path} \title{Get Nvd Feed Folder Path} \usage{ -get_nvdfeed_folder_path(project_name) +get_nvdfeed_folder_path(config_file) } \arguments{ -\item{project_name}{the name of the project config file (e.g. "kaiaulu" or "geronimo")} +\item{config_file}{The parsed config file} } \value{ -the folder path with nvd cve feeds +the folder path with nvd feeds } \description{ -Gets the folder path with nvd cve feeds +Gets the folder path with nvd feeds } diff --git a/man/get_pattern4_filepath.Rd b/man/get_pattern4_filepath.Rd index fdae9b4..b4aefb9 100644 --- a/man/get_pattern4_filepath.Rd +++ b/man/get_pattern4_filepath.Rd @@ -4,13 +4,13 @@ \alias{get_pattern4_filepath} \title{Get Pattern4 Output Filepath} \usage{ -get_pattern4_filepath(project_name) +get_pattern4_filepath(config_file) } \arguments{ -\item{project_name}{the name of the project config file (e.g. "kaiaulu" or "geronimo")} +\item{config_file}{The parsed config file} } \value{ -the output filepath +the Pattern4 output filepath } \description{ Gets the Pattern4 filepath where the output is stored diff --git a/man/get_pattern4_folder_path.Rd b/man/get_pattern4_folder_path.Rd index 001679a..ead6e45 100644 --- a/man/get_pattern4_folder_path.Rd +++ b/man/get_pattern4_folder_path.Rd @@ -4,13 +4,13 @@ \alias{get_pattern4_folder_path} \title{Get Pattern4 Class Folder Path} \usage{ -get_pattern4_folder_path(project_name) +get_pattern4_folder_path(config_file) } \arguments{ -\item{project_name}{the name of the project config file (e.g. "kaiaulu" or "geronimo")} +\item{config_file}{The parsed config file} } \value{ -the class folder path +the Pattern4 class folder path } \description{ Gets the Pattern4 class folder path where the output is stored diff --git a/man/get_srcml_filepath.Rd b/man/get_srcml_filepath.Rd index cbd59c9..f719480 100644 --- a/man/get_srcml_filepath.Rd +++ b/man/get_srcml_filepath.Rd @@ -4,13 +4,13 @@ \alias{get_srcml_filepath} \title{Get SrcML Filepath} \usage{ -get_srcml_filepath(project_name) +get_srcml_filepath(config_file) } \arguments{ -\item{project_name}{the name of the project config file (e.g. "kaiaulu" or "geronimo")} +\item{config_file}{The parsed config file} } \value{ -the srcml filepath +the SrcML filepath } \description{ Gets the SrcML filepath where the output is stored diff --git a/man/get_substring_filepath.Rd b/man/get_substring_filepath.Rd index 503049f..4111ef5 100644 --- a/man/get_substring_filepath.Rd +++ b/man/get_substring_filepath.Rd @@ -2,12 +2,12 @@ % Please edit documentation in R/config.R \name{get_substring_filepath} \alias{get_substring_filepath} -\title{Get Substring Filepath} +\title{Get Substring Filepaths} \usage{ -get_substring_filepath(project_name) +get_substring_filepath(config_file) } \arguments{ -\item{project_name}{the name of the project config file (e.g. "kaiaulu" or "geronimo")} +\item{config_file}{The parsed config file} } \value{ the substring filepaths diff --git a/man/get_tools.Rd b/man/get_tools.Rd index 6978b2b..800c81e 100644 --- a/man/get_tools.Rd +++ b/man/get_tools.Rd @@ -2,13 +2,16 @@ % Please edit documentation in R/config.R \name{get_tools} \alias{get_tools} -\title{Get tools.yml} +\title{Get Parsed Tools File} \usage{ -get_tools() +get_tools(tool_path = "tools.yml") +} +\arguments{ +\item{tool_path}{The path to the tools file, defaulted at tools.yml} } \value{ -the tools.yml file +the parsed tools file } \description{ -Get tools.yml +Get Parsed Tools File } diff --git a/man/get_tools_project.Rd b/man/get_tools_project.Rd index 32d6f37..cd81e2a 100644 --- a/man/get_tools_project.Rd +++ b/man/get_tools_project.Rd @@ -2,16 +2,18 @@ % Please edit documentation in R/config.R \name{get_tools_project} \alias{get_tools_project} -\title{Get Tool Path} +\title{Get Tools Project} \usage{ -get_tools_project(tool_name) +get_tools_project(tool_name, tools_file = get_tools()) } \arguments{ -\item{tool_name}{the name of the tool (e.g. "perceval" or "dv8")} +\item{tool_name}{The name of the tool (e.g. "perceval" or "dv8")} + +\item{tools_file}{The parsed tools file, defaulted at `get_tools()`} } \value{ -the tool path from tools.yml +the specified `tool_name` tools project from `tools_file` } \description{ -Gets the tool path from the tools.yml file +Gets the tools project from the parsed tools file } diff --git a/man/get_topics.Rd b/man/get_topics.Rd index 255241d..fd2f099 100644 --- a/man/get_topics.Rd +++ b/man/get_topics.Rd @@ -4,10 +4,10 @@ \alias{get_topics} \title{Get Topics} \usage{ -get_topics(project_name) +get_topics(config_file) } \arguments{ -\item{project_name}{the name of the project config file (e.g. "kaiaulu" or "geronimo")} +\item{config_file}{The parsed config file} } \value{ the topics diff --git a/man/get_uctags_line_types.Rd b/man/get_uctags_line_types.Rd index 163c175..02ccdb7 100644 --- a/man/get_uctags_line_types.Rd +++ b/man/get_uctags_line_types.Rd @@ -4,10 +4,10 @@ \alias{get_uctags_line_types} \title{Get Uctags Line Types} \usage{ -get_uctags_line_types(project_name) +get_uctags_line_types(config_file) } \arguments{ -\item{project_name}{the name of the project config file (e.g. "kaiaulu" or "geronimo")} +\item{config_file}{The parsed config file} } \value{ the uctags line type diff --git a/man/get_window_end_commit.Rd b/man/get_window_end_commit.Rd index 6de1391..47d94ad 100644 --- a/man/get_window_end_commit.Rd +++ b/man/get_window_end_commit.Rd @@ -4,13 +4,13 @@ \alias{get_window_end_commit} \title{Get Window End Commit} \usage{ -get_window_end_commit(project_name) +get_window_end_commit(config_file) } \arguments{ -\item{project_name}{the name of the project config file (e.g. "kaiaulu" or "geronimo")} +\item{config_file}{The parsed config file} } \value{ -the analysis window size +the analysis window end commit } \description{ Gets the analysis window end commit diff --git a/man/get_window_size.Rd b/man/get_window_size.Rd index d853a69..a9b3a41 100644 --- a/man/get_window_size.Rd +++ b/man/get_window_size.Rd @@ -4,10 +4,10 @@ \alias{get_window_size} \title{Get Analysis Window Size} \usage{ -get_window_size(project_name) +get_window_size(config_file) } \arguments{ -\item{project_name}{the name of the project config file (e.g. "kaiaulu" or "geronimo")} +\item{config_file}{The parsed config file} } \value{ the analysis window size diff --git a/man/get_window_start_commit.Rd b/man/get_window_start_commit.Rd index 5ad314e..a24379b 100644 --- a/man/get_window_start_commit.Rd +++ b/man/get_window_start_commit.Rd @@ -4,13 +4,13 @@ \alias{get_window_start_commit} \title{Get Window Start Commit} \usage{ -get_window_start_commit(project_name) +get_window_start_commit(config_file) } \arguments{ -\item{project_name}{the name of the project config file (e.g. "kaiaulu" or "geronimo")} +\item{config_file}{The parsed config file} } \value{ -the analysis window size +the analysis window start commit } \description{ Gets the analysis window start commit diff --git a/vignettes/blamed_line_types_showcase.Rmd b/vignettes/blamed_line_types_showcase.Rmd index 1f7bbe4..0f852d4 100644 --- a/vignettes/blamed_line_types_showcase.Rmd +++ b/vignettes/blamed_line_types_showcase.Rmd @@ -85,21 +85,21 @@ We load the above various sections of the single .yaml project configuration fil ```{r} tool <- get_tools() -conf <- get_conf("apr") +conf <- get_conf("conf/apr.yml") # 3rd Party Tools -perceval_path <- get_tools_project("perceval") -utags_path <- get_tools_project("utags") +perceval_path <- get_tools_project("perceval", tool) +utags_path <- get_tools_project("utags", tool) # Ctags Line Types -kinds <- get_uctags_line_types("apr") +kinds <- get_uctags_line_types(conf) # Local Git Repo Folder Path -git_repo_path <- get_git_repo_path("apr") +git_repo_path <- get_git_repo_path(conf) # File Filters -file_extensions <- get_file_extensions("apr") -substring_filepath <- get_substring_filepath("apr") +file_extensions <- get_file_extensions(conf) +substring_filepath <- get_substring_filepath(conf) ``` From cccb8efaa49c1971bba276260b3f60a558142014 Mon Sep 17 00:00:00 2001 From: Nicholas Beydler Date: Sun, 29 Sep 2024 00:35:56 -1000 Subject: [PATCH 18/32] i #230 Fix config.R Function Descriptions and Implement Notebooks - config.R was modified to possess descriptive get function titles and descriptions as well as a separation of getter functions into groups for clarity. - Some appropriate notebooks (every notebook in vignettes/ that doesn't have an "_" prefix) were decoupled to use the get() functions from config.R in lieu of hard-coded paths to the configuration files. --- NAMESPACE | 10 +- R/config.R | 654 +++++++++++++-------- man/get_bugzilla_project_key.Rd | 12 +- man/get_code_language.Rd | 12 +- man/get_conf.Rd | 17 - man/get_cveid_regex.Rd | 13 +- man/get_dv8_flaws_params.Rd | 12 +- man/get_dv8_folder_path.Rd | 13 +- man/get_enumeration_commits.Rd | 12 +- man/get_file_extensions.Rd | 12 +- man/get_filter_commit_size.Rd | 12 +- man/get_git_branches.Rd | 12 +- man/get_git_repo_path.Rd | 12 +- man/get_github_commit_path.Rd | 15 +- man/get_github_issue_or_pr_comment_path.Rd | 15 +- man/get_github_issue_path.Rd | 14 +- man/get_github_issue_search_path.Rd | 15 +- man/get_github_key_indexes.Rd | 17 - man/get_github_keys.Rd | 21 + man/get_github_owner.Rd | 14 +- man/get_github_pull_request_path.Rd | 16 +- man/get_github_repo.Rd | 14 +- man/get_issue_id_regex.Rd | 12 +- man/get_jira_domain.Rd | 14 +- man/get_jira_issues_comments_path.Rd | 15 +- man/get_jira_issues_path.Rd | 14 +- man/get_jira_key_indexes.Rd | 17 - man/get_jira_keys.Rd | 21 + man/get_jira_project_key_name.Rd | 14 +- man/get_keep_dependencies_type.Rd | 12 +- man/get_mbox_archive_type.Rd | 23 + man/get_mbox_domain.Rd | 14 +- man/get_mbox_key_indexes.Rd | 12 +- man/get_mbox_mailing_list.Rd | 20 +- man/get_mbox_path.Rd | 15 +- man/get_nvdfeed_folder_path.Rd | 13 +- man/get_parsed.Rd | 21 + man/get_pattern4_filepath.Rd | 12 +- man/get_pattern4_folder_path.Rd | 12 +- man/get_srcml_filepath.Rd | 12 +- man/get_substring_filepath.Rd | 12 +- man/get_tool_project.Rd | 24 + man/get_tools.Rd | 17 - man/get_tools_project.Rd | 19 - man/get_topics.Rd | 12 +- man/get_uctags_line_types.Rd | 12 +- man/get_window_end_commit.Rd | 12 +- man/get_window_size.Rd | 11 +- man/get_window_start_commit.Rd | 12 +- vignettes/blamed_line_types_showcase.Rmd | 8 +- vignettes/bug_count.Rmd | 17 +- vignettes/causal_flaws.Rmd | 45 +- vignettes/community_detection_showcase.Rmd | 20 +- vignettes/depends_showcase.Rmd | 18 +- vignettes/download_jira_issues.Rmd | 22 +- vignettes/download_mod_mbox.Rmd | 14 +- vignettes/dv8_showcase.Rmd | 26 +- 57 files changed, 945 insertions(+), 573 deletions(-) delete mode 100644 man/get_conf.Rd delete mode 100644 man/get_github_key_indexes.Rd create mode 100644 man/get_github_keys.Rd delete mode 100644 man/get_jira_key_indexes.Rd create mode 100644 man/get_jira_keys.Rd create mode 100644 man/get_mbox_archive_type.Rd create mode 100644 man/get_parsed.Rd create mode 100644 man/get_tool_project.Rd delete mode 100644 man/get_tools.Rd delete mode 100644 man/get_tools_project.Rd diff --git a/NAMESPACE b/NAMESPACE index 0ddd6e6..f2d0527 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -50,7 +50,6 @@ export(filter_by_last_files_change) export(format_name_email) export(get_bugzilla_project_key) export(get_code_language) -export(get_conf) export(get_cveid_regex) export(get_date_from_commit_hash) export(get_dv8_flaws_params) @@ -64,7 +63,7 @@ export(get_github_commit_path) export(get_github_issue_or_pr_comment_path) export(get_github_issue_path) export(get_github_issue_search_path) -export(get_github_key_indexes) +export(get_github_keys) export(get_github_owner) export(get_github_pull_request_path) export(get_github_repo) @@ -72,20 +71,21 @@ export(get_issue_id_regex) export(get_jira_domain) export(get_jira_issues_comments_path) export(get_jira_issues_path) -export(get_jira_key_indexes) +export(get_jira_keys) export(get_jira_project_key_name) export(get_keep_dependencies_type) +export(get_mbox_archive_type) export(get_mbox_domain) export(get_mbox_key_indexes) export(get_mbox_mailing_list) export(get_mbox_path) export(get_nvdfeed_folder_path) +export(get_parsed) export(get_pattern4_filepath) export(get_pattern4_folder_path) export(get_srcml_filepath) export(get_substring_filepath) -export(get_tools) -export(get_tools_project) +export(get_tool_project) export(get_topics) export(get_uctags_line_types) export(get_window_end_commit) diff --git a/R/config.R b/R/config.R index 15adcdc..da63398 100644 --- a/R/config.R +++ b/R/config.R @@ -4,35 +4,48 @@ # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at https://mozilla.org/MPL/2.0/. -############## Configuration File Getter Functions ############## +########## Configuration File Getter Functions ########## -#' Get Parsed Tools File +##### General Getter Functions ##### + +#' Returns the parsed configuration file (.yml). +#' +#' @description The input file is expected to be in the .yml format. +#' The function returns a parsed version of the input .yml file, and it will +#' inform the user if the input .yml file path does not exist. The contents +#' of the input .yml file may contain machine-dependent paths that may need to +#' be modified by the user. #' -#' @param tool_path The path to the tools file, defaulted at tools.yml -#' @return the parsed tools file +#' @param config_path The path of the config file from the kaiaulu directory (e.g. "conf/kaiaulu.yml"). +#' @return The parsed config file whose path is specified by `config_path`. #' @export -get_tools <- function(tool_path = "tools.yml") { +get_parsed <- function(config_path) { - tools <- yaml::read_yaml(tool_path) + conf <- yaml::read_yaml(config_path) - if (is.null(tools)) { + if (is.null(conf)) { warning("Path does not exist.") } - return(tools) + return(conf) } -#' Get Tools Project +#' Returns the specified tool project from a parsed tool configuration file. #' -#' Gets the tools project from the parsed tools file +#' @description This function returns a path to a specified tool from a +#' specified parsed tool configuration file. The function takes the input +#' `tool_name` and uses it to index a specific tool project in a parsed +#' tool configuration file, `config_file`, where it then returns the specified +#' tool project. The function will inform the user if the specified attribute, +#' `tool_name`, exists in the parsed configuration file, `config_file`. #' -#' @param tool_name The name of the tool (e.g. "perceval" or "dv8") -#' @param tools_file The parsed tools file, defaulted at `get_tools()` -#' @return the specified `tool_name` tools project from `tools_file` +#' @param tool_name The name of the tool (e.g. "perceval" or "dv8"). +#' @param config_file The parsed configuration file. +#' @return The specified `tool_name` tool project from `config_file`. #' @export -get_tools_project <- function(tool_name, tools_file = get_tools()) { +get_tool_project <- function(tool_name, config_file) { - tool_path <- tools_file[[tool_name]] + tool_path <- config_file[[tool_name]] if (is.null(tool_path)) { warning("Attribute does not exist.") @@ -41,30 +54,18 @@ get_tools_project <- function(tool_name, tools_file = get_tools()) { return(tool_path) } -#' Get Parsed Config File -#' -#' Gets the parsed configuration file for any path-specified project -#' -#' @param config_path The path of the config file from the kaiaulu directory (e.g. "conf/kaiaulu.yml") -#' @return the parsed config file whose path is specified by `config_path` -#' @export -get_conf <- function(config_path) { - - conf <- yaml::read_yaml(config_path) - - if (is.null(conf)) { - warning("Path does not exist.") - } - - return(conf) -} +##### Git Getter Functions ##### -#' Get Project Git Repo Path +#' Returns the path to the .git of the project repository that is being analyzed. #' -#' Gets the local project git repository path of the project +#' @description This function returns the specific path to the .git of the +#' project repository that is being analyzed specified in the input parameter +#' `config_file`. The input, `config_file` must be a parsed configuration file. +#' The function will inform the user if the .git path of the project repository +#' exists in the parsed configuration file, `config_file`. #' -#' @param config_file The parsed config file -#' @return the local git repository path specified in `config_file` +#' @param config_file The parsed configuration file. +#' @return The local git repository path specified in `config_file`. #' @export get_git_repo_path <- function(config_file) { @@ -77,12 +78,16 @@ get_git_repo_path <- function(config_file) { return(git_repo_path) } -#' Get Project Git Branches +#' Returns the list of git branches used for analysis in the current project. #' -#' Gets the list of git branches of the project +#' @description This function returns a list of the git branches used for +#' analysis in the current project specified in the input parameter +#' `config_file`. The input, `config_file` must be a parsed configuration file. +#' The function will inform the user if the list of branches to be analyzed +#' exists in the parsed configuration file, `config_file`. #' -#' @param config_file The parsed config file -#' @return the list of git branches +#' @param config_file The parsed configuration file. +#' @return The list of git branches. #' @export get_git_branches <- function(config_file) { @@ -95,12 +100,18 @@ get_git_branches <- function(config_file) { return(git_branch) } -#' Get File Extensions +##### Filtering Getter Functions ##### + +#' Returns the list of file extensions used for filtering files to keep. #' -#' Gets the file extensions for filtering +#' @description This function returns the list of file extensions that will be +#' used for filtering files specified in the input parameter `config_file`. The +#' input, `config_file` must be a parsed configuration file. The function will +#' inform the user if the list of file extensions exists in the parsed +#' configuration file, `config_file`. #' -#' @param config_file The parsed config file -#' @return the file extensions +#' @param config_file The parsed configuration file. +#' @return The list of file extensions to keep. #' @export get_file_extensions <- function(config_file) { @@ -113,12 +124,16 @@ get_file_extensions <- function(config_file) { return(file_extensions) } -#' Get Substring Filepaths +#' Returns the list of file extensions used for filtering files to remove. #' -#' Gets the substring filepaths for filtering +#' @description This function returns the list of file extensions that will be +#' used for filtering files specified in the input parameter `config_file`. The +#' input, `config_file` must be a parsed configuration file. The function will +#' inform the user if the list of file extensions exists in the parsed +#' configuration file, `config_file`. #' -#' @param config_file The parsed config file -#' @return the substring filepaths +#' @param config_file The parsed configuration file. +#' @return The list of file extensions to remove. #' @export get_substring_filepath <- function(config_file) { @@ -131,12 +146,16 @@ get_substring_filepath <- function(config_file) { return(substring_filepath) } -#' Get Filter Commit Size +#' Returns the commit size threshold to remove file paths. #' -#' Gets the commit size to filter out +#' @description This function returns an integer number that represents the +#' threshold for a commit size to remove file paths specified in the input +#' parameter `config_file`. The input, `config_file` must be a parsed +#' configuration file. The function will inform the user if the commit size +#' threshold exists in the parsed configuration file, `config_file`. #' -#' @param config_file The parsed config file -#' @return the commit size to filter out +#' @param config_file The parsed configuration file. +#' @return The commit size to filter out. #' @export get_filter_commit_size <- function(config_file) { @@ -149,12 +168,18 @@ get_filter_commit_size <- function(config_file) { return(filter_commit_size) } -#' Get Uctags Line Types +##### Third Party Tools Getter Functions ##### + +#' Returns the types to keep to to be considered for analysis. #' -#' Gets the Uctags keep lines type +#' @description This function returns the types of file-file dependencies that +#' should be considered, that are specified in the input parameter +#' `config_file`. The input, `config_file` must be a parsed configuration file. +#' The function will inform the user if the lines type to keep exists in the +#' parsed configuration file, `config_file`. #' -#' @param config_file The parsed config file -#' @return the uctags line type +#' @param config_file The parsed configuration file. +#' @return The lines type to keep for analysis. #' @export get_uctags_line_types <- function(config_file) { @@ -167,12 +192,16 @@ get_uctags_line_types <- function(config_file) { return(kinds) } -#' Get Code Language +#' Returns the code language for analysis. #' -#' Gets the code language of the project +#' @description This function returns the specified code language that should +#' be used to parse file-file static dependencies with the depends tool, that +#' is specified in the input parameter `config_file`. The input, `config_file` +#' must be a parsed configuration file. The function will inform the user if +#' the code language exists in the parsed configuration file, `config_file`. #' -#' @param config_file The parsed config file -#' @return the code language +#' @param config_file The parsed configuration file. +#' @return The code language for parsing file-file static dependencies. #' @export get_code_language <- function(config_file) { @@ -185,12 +214,16 @@ get_code_language <- function(config_file) { return(language) } -#' Get Keep Dependencies Type +#' Returns a list of the types of dependencies to keep for analysis. #' -#' Gets the type of dependencies to keep +#' @description This function returns the specified types of dependencies to +#' keep for analysis with the depends tool, that is specified in the input +#' parameter `config_file`. The input, `config_file` must be a parsed +#' configuration file. The function will inform the user if the list of the +#' types of dependencies exists in the parsed configuration file, `config_file`. #' -#' @param config_file The parsed config file -#' @return the types of dependencies to keep +#' @param config_file The parsed configuration file. +#' @return A list of the types of dependencies to keep for analysis. #' @export get_keep_dependencies_type <- function(config_file) { @@ -204,12 +237,17 @@ get_keep_dependencies_type <- function(config_file) { } -#' Get DV8 Project Folder Path +#' Returns the path to the folder used to store files for DV8 analysis. #' -#' Gets the dv8 project folder path +#' @description This function returns the path to the folder that will be +#' used to store various intermediate files for DV8 analysis, that is specified +#' in the input parameter `config_file`. The input, `config_file` must be a +#' parsed configuration file. The function will inform the user if the path +#' path to the folder for intermediate file storage for DV8 analysis exists in +#' the parsed configuration file, `config_file`. #' -#' @param config_file The parsed config file -#' @return the dv8 project folder path +#' @param config_file The parsed configuration file. +#' @return The DV8 project folder path. #' @export get_dv8_folder_path <- function(config_file) { @@ -222,12 +260,16 @@ get_dv8_folder_path <- function(config_file) { return(project_path) } -#' Get Flaws Params +#' Returns the list of architectural flaws thresholds for DV8 analysis. #' -#' Gets the architectural flaws thresholds +#' @description This function returns the list of architectural flaws thresholds +#' for DV8 analysis, that is specified in the input parameter `config_file`. +#' The input, `config_file` must be a parsed configuration file. The function +#' will inform the user if the list of architectural flaws thresholds +#' exists in the parsed configuration file, `config_file`. #' -#' @param config_file The parsed config file -#' @return the architectural flaws thresholds +#' @param config_file The parsed configuration file. +#' @return The list of DV8 architectural flaws thresholds. #' @export get_dv8_flaws_params <- function(config_file) { @@ -240,30 +282,16 @@ get_dv8_flaws_params <- function(config_file) { return(dv8_flaws_params) } -#' Get Issue Id Regex -#' -#' Gets the issue ID regex on commit messages -#' -#' @param config_file The parsed config file -#' @return the issue ID regex -#' @export -get_issue_id_regex <- function(config_file) { - - issue_id_regex <- config_file[["commit_message_id_regex"]][["issue_id"]] - - if (is.null(issue_id_regex)) { - warning("Attribute does not exist in the configuration file.") - } - - return(issue_id_regex) -} - -#' Get SrcML Filepath +#' Returns the file path for the output of the srcML analysis for the project. #' -#' Gets the SrcML filepath where the output is stored +#' @description This function returns the file path to be used to store the +#' output of the srcML analysis for the project, that is specified in the +#' input parameter `config_file`. The input, `config_file` must be a parsed +#' configuration file. The function will inform the user if the file path +#' exists in the parsed configuration file, `config_file`. #' -#' @param config_file The parsed config file -#' @return the SrcML filepath +#' @param config_file The parsed configuration file. +#' @return The output file path for srcML analysis. #' @export get_srcml_filepath <- function(config_file) { @@ -276,12 +304,16 @@ get_srcml_filepath <- function(config_file) { return(srcml_filepath) } -#' Get Pattern4 Class Folder Path +#' Returns the folder path for class pattern4 analysis. #' -#' Gets the Pattern4 class folder path where the output is stored +#' @description This function returns the folder path used to store the classes +#' for the pattern4 analysis for the project, that is specified in the input +#' parameter `config_file`. The input, `config_file` must be a parsed +#' configuration file. The function will inform the user if the folder path +#' exists in the parsed configuration file, `config_file`. #' -#' @param config_file The parsed config file -#' @return the Pattern4 class folder path +#' @param config_file The parsed configuration file. +#' @return The Pattern4 class folder path. #' @export get_pattern4_folder_path <- function(config_file) { @@ -294,12 +326,16 @@ get_pattern4_folder_path <- function(config_file) { return(pattern4_folder_path) } -#' Get Pattern4 Output Filepath +#' Returns the folder path for the output of the pattern4 analysis. #' -#' Gets the Pattern4 filepath where the output is stored +#' @description This function returns the folder path that contains the +#' output of the pattern4 analysis for the project, that is specified in the +#' input parameter `config_file`. The input, `config_file` must be a parsed +#' configuration file. The function will inform the user if the folder path +#' exists in the parsed configuration file, `config_file`. #' -#' @param config_file The parsed config file -#' @return the Pattern4 output filepath +#' @param config_file The parsed configuration file. +#' @return The Pattern4 output folder path. #' @export get_pattern4_filepath <- function(config_file) { @@ -312,30 +348,18 @@ get_pattern4_filepath <- function(config_file) { return(pattern4_filepath) } -#' Get Topics -#' -#' Gets the topics and keywords for analysis -#' -#' @param config_file The parsed config file -#' @return the topics -#' @export -get_topics <- function(config_file) { - - topics <- config_file[["analysis"]][["topics"]] +##### Mailing List Getter Functions ##### - if (is.null(topics)) { - warning("Attribute does not exist in the configuration file.") - } - - return(topics) -} - -#' Get Mailing List Mod Mbox Key Indexes +#' Returns the list of mailing list mod mbox project keys. #' -#' Gets the list of mod Mbox mail key indexes +#' @description This function returns the list of mailing list mod mbox project +#' keys, that is specified in the input parameter `config_file`. The input, +#' `config_file` must be a parsed configuration file. The function will inform +#' the user if the project keys exist in the parsed configuration +#' file, `config_file`. #' -#' @param config_file The parsed config file -#' @return the list of mod Mbox mail key indexes +#' @param config_file The parsed configuration file. +#' @return The list of mod mbox mailing list keys. #' @export get_mbox_key_indexes <- function(config_file) { @@ -348,13 +372,18 @@ get_mbox_key_indexes <- function(config_file) { return(mbox_keys) } -#' Get Mbox Save Path +#' Returns the local folder path to store mbox data for a specific project key. #' -#' Gets the local path to store Mbox data for a specific project key index +#' @description This function returns the local folder path used to store +#' mbox data for a specific project key, `project_key_index`, that is specified +#' in the input parameter `config_file`. The input, `config_file` must be a +#' parsed configuration file. The function will inform the user if the specific +#' local folder path to store mbox data exists in the parsed configuration +#' file, `config_file`. #' -#' @param config_file The parsed config file -#' @param project_key_index The name of the index of the project key (e.g. "project_key_1" or "project_key_2") -#' @return the local Mbox path for project specified by key index `project_key_index` +#' @param config_file The parsed configuration file. +#' @param project_key_index The name of the index of the project key (e.g. "project_key_1" or "project_key_2"). +#' @return The local mbox path for project specified by key `project_key_index`. #' @export get_mbox_path <- function(config_file, project_key_index) { @@ -367,13 +396,17 @@ get_mbox_path <- function(config_file, project_key_index) { return(mbox_path) } -#' Get Mbox Archive URL +#' Returns the URL to the archives for mbox for a specific project key. #' -#' Gets the Mbox archive URL for a specific project key index +#' @description This function returns the URL to the archives for a specific +#' project key, `project_key_index`, that is specified in the input parameter +#' `config_file`. The input, `config_file` must be a parsed configuration file. +#' The function will inform the user if the specific URL to the archives for +#' mbox exists in the parsed configuration file, `config_file`. #' -#' @param config_file The parsed config file -#' @param project_key_index The name of the index of the project key (e.g. "project_key_1" or "project_key_2") -#' @return the domain of the mailing list archive for project specified by key index `project_key_index` +#' @param config_file The parsed configuration file. +#' @param project_key_index The name of the index of the project key (e.g. "project_key_1" or "project_key_2"). +#' @return The URL of the mailing list archive for project specified by key `project_key_index`. #' @export get_mbox_domain <- function(config_file, project_key_index) { @@ -386,13 +419,17 @@ get_mbox_domain <- function(config_file, project_key_index) { return(mbox_url) } -#' Get Mod Mbox Mailing List +#' Returns the mbox mailing list for a specific project key. #' -#' Gets the Mbox mailing list for a specific project key index +#' @description This function returns the specific mbox mailing list for a +#' specific project key, `project_key_index`, that is specified in the input +#' parameter `config_file`. The input, `config_file` must be a parsed +#' configuration file. The function will inform the user if the mailing +#' list for mbox exists in the parsed configuration file, `config_file`. #' -#' @param config_file The parsed config file -#' @param project_key_index The name of the index of the project key (e.g. "project_key_1" or "project_key_2") -#' @return the Mbox mailing list for project specified by key index `project_key_index` +#' @param config_file The parsed configuration file. +#' @param project_key_index The name of the index of the project key (e.g. "project_key_1" or "project_key_2"). +#' @return The mbox mailing list for project specified by key `project_key_index`. #' @export get_mbox_mailing_list <- function(config_file, project_key_index) { @@ -405,15 +442,19 @@ get_mbox_mailing_list <- function(config_file, project_key_index) { return(mailing_list) } -#' Get Mod Mbox Archive Type +#' Returns the mbox archive type for a specific project key. #' -#' Gets the Mbox archive type for a specific project key index +#' @description This function returns the specific mbox archive type for a +#' specific project key, `project_key_index`, that is specified in the input +#' parameter `config_file`. The input, `config_file` must be a parsed +#' configuration file. The function will inform the user if the archive type +#' for mbox exists in the parsed configuration file, `config_file`. #' -#' @param config_file The parsed config file -#' @param project_key_index The name of the index of the project key (e.g. "project_key_1" or "project_key_2") -#' @return the Mbox archive type for project specified by key index `project_key_index` +#' @param config_file The parsed configuration file. +#' @param project_key_index The name of the index of the project key (e.g. "project_key_1" or "project_key_2"). +#' @return The mbox archive type for project specified by key `project_key_index`. #' @export -get_mbox_mailing_list <- function(config_file, project_key_index) { +get_mbox_archive_type <- function(config_file, project_key_index) { archive_type <- config_file[["mailing_list"]][["mod_mbox"]][[project_key_index]][["archive_type"]] @@ -424,14 +465,20 @@ get_mbox_mailing_list <- function(config_file, project_key_index) { return(archive_type) } -#' Get GitHub Issue Tracker Project Key Indexes +##### Issue Tracker Getter Functions ##### + +#' Returns the list of GitHub issue tracker project keys. #' -#' Gets the list of GitHub issue tracker project key indexes +#' @description This function returns the list of GitHub issue tracker project +#' keys, that is specified in the input parameter `config_file`. The input, +#' `config_file` must be a parsed configuration file. The function will inform +#' the user if the project keys exist in the parsed configuration +#' file, `config_file`. #' -#' @param config_file The parsed config file -#' @return the list of issue tracker project key indexes +#' @param config_file The parsed configuration file. +#' @return The list of GitHub issue tracker project keys. #' @export -get_github_key_indexes <- function(config_file) { +get_github_keys <- function(config_file) { keys <- config_file[["issue_tracker"]][["github"]] @@ -442,13 +489,17 @@ get_github_key_indexes <- function(config_file) { return(keys) } -#' Get GitHub Owner +#' Returns the owner for a GitHub repository for a specific project key. #' -#' Gets the owner of the GitHub repository for a specific project key index +#' @description This function returns the owner for a GitHub repository for a +#' specific project key, that is specified in the input parameter `config_file`. +#' The input, `config_file` must be a parsed configuration file. The function +#' will inform the user if the owner for the GitHub repository exists in the +#' parsed configuration file, `config_file`. #' -#' @param config_file The parsed config file -#' @param project_key_index The name of the index of the project key (e.g. "project_key_1" or "project_key_2") -#' @return the GitHub project owner name for project specified by key index `project_key_index` +#' @param config_file The parsed configuration file. +#' @param project_key_index The name of the index of the project key (e.g. "project_key_1" or "project_key_2"). +#' @return The GitHub project owner name for project specified by key `project_key_index`. #' @export get_github_owner <- function(config_file, project_key_index) { @@ -461,13 +512,17 @@ get_github_owner <- function(config_file, project_key_index) { return(owner) } -#' Get GitHub Repository +#' Returns the name of the GitHub repository for a specific project key. #' -#' Gets the name of the GitHub repository for a specific project key index +#' @description This function returns the name of the GitHub repository for a +#' specific project key, that is specified in the input parameter `config_file`. +#' The input, `config_file` must be a parsed configuration file. The function +#' will inform the user if the name of the GitHub repository exists in the +#' parsed configuration file, `config_file`. #' -#' @param config_file The parsed config file -#' @param project_key_index The name of the index of the project key (e.g. "project_key_1" or "project_key_2") -#' @return the name of the GitHub repository for project specified by key index `project_key_index` +#' @param config_file The parsed configuration file. +#' @param project_key_index The name of the index of the project key (e.g. "project_key_1" or "project_key_2"). +#' @return The name of the GitHub repository for project specified by key `project_key_index`. #' @export get_github_repo <- function(config_file, project_key_index) { @@ -480,13 +535,17 @@ get_github_repo <- function(config_file, project_key_index) { return(repo) } -#' Get GitHub Issue Save Path +#' Returns the local folder path for GitHub issues for a specific project key. #' -#' Gets the local save path for GitHub issues for a specific project key index +#' @description This function returns the local folder path for GitHub issues +#' for a specific project key, that is specified in the input parameter +#' `config_file`. The input, `config_file` must be a parsed configuration file. +#' The function will inform the user if the folder path for GitHub issues exists +#' in the parsed configuration file, `config_file`. #' -#' @param config_file The parsed config file -#' @param project_key_index The name of the index of the project key (e.g. "project_key_1" or "project_key_2") -#' @return the local save path for GitHub issues for project specified by key index `project_key_index` +#' @param config_file The parsed configuration file. +#' @param project_key_index The name of the index of the project key (e.g. "project_key_1" or "project_key_2"). +#' @return The local folder path for GitHub issues for project specified by key `project_key_index`. #' @export get_github_issue_path <- function(config_file, project_key_index) { @@ -499,13 +558,18 @@ get_github_issue_path <- function(config_file, project_key_index) { return(issue_path) } -#' Get GitHub Issue Or PR Comment Save Path +#' Returns the local folder path for GitHub Issue or Pull Request comments for +#' a specific project key. #' -#' Gets the local save path for GitHub Issues or PR Comments for a specific project key index +#' @description This function returns the local folder path for GitHub Issue or +#' Pull Request comments for a specific project key, that is specified in the +#' input parameter `config_file`. The input, `config_file` must be a parsed +#' configuration file. The function will inform the user if the local folder +#' path for the comments exists in the parsed configuration file, `config_file`. #' -#' @param config_file The parsed config file -#' @param project_key_index The name of the index of the project key (e.g. "project_key_1" or "project_key_2") -#' @return the local save path for Github Issues or PR comments for project specified by key index `project_key_index` +#' @param config_file The parsed configuration file. +#' @param project_key_index The name of the index of the project key (e.g. "project_key_1" or "project_key_2"). +#' @return The local folder path for GitHub Issues or PR comments for project specified by key `project_key_index`. #' @export get_github_issue_or_pr_comment_path <- function(config_file, project_key_index) { @@ -518,13 +582,18 @@ get_github_issue_or_pr_comment_path <- function(config_file, project_key_index) return(issue_or_pr_comment_path) } -#' Get GitHub Issue Search Save Path +#' Returns the local folder path for GitHub Issue Searches for a specific +#' project key. #' -#' Gets the local save path for GitHub issue search for a specific project key index +#' @description This function returns the local folder path for GitHub Issue +#' Searches for a specific project key, that is specified in the input parameter +#' `config_file`. The input, `config_file` must be a parsed configuration file. +#' The function will inform the user if the local folder path for the issue +#' searches exists in the parsed configuration file, `config_file`. #' -#' @param config_file The parsed config file -#' @param project_key_index The name of the index of the project key (e.g. "project_key_1" or "project_key_2") -#' @return the local save path for GitHub issue search for project specified by key index `project_key_index` +#' @param config_file The parsed configuration file. +#' @param project_key_index The name of the index of the project key (e.g. "project_key_1" or "project_key_2"). +#' @return The local folder path for GitHub issue search for project specified by key `project_key_index`. #' @export get_github_issue_search_path <- function(config_file, project_key_index) { @@ -537,13 +606,19 @@ get_github_issue_search_path <- function(config_file, project_key_index) { return(issue_search_path) } -#' Get GitHub Pull Request Save Path +#' Returns the local folder path for GitHub Pull Requests for a specific +#' project key. #' -#' Gets the local save path for GitHub pull requests for a specific project key index +#' @description This function returns the local folder path for GitHub Pull +#' Requests for a specific project key, that is specified in the input +#' parameter `config_file`. The input, `config_file` must be a parsed +#' configuration file. The function will inform the user if the local folder +#' path for the pull requests exists in the parsed configuration file, +#' `config_file`. #' -#' @param config_file The parsed config file -#' @param project_key_index The name of the index of the project key (e.g. "project_key_1" or "project_key_2") -#' @return the local save path for GitHub pull requests for project specified by key index `project_key_index` +#' @param config_file The parsed configuration file. +#' @param project_key_index The name of the index of the project key (e.g. "project_key_1" or "project_key_2"). +#' @return The local folder path for GitHub pull requests for project specified by key `project_key_index`. #' @export get_github_pull_request_path <- function(config_file, project_key_index) { @@ -556,13 +631,18 @@ get_github_pull_request_path <- function(config_file, project_key_index) { return(pull_request_path) } -#' Get GitHub Commit Save Path +#' Returns the local folder path for GitHub commits for a specific project key. #' -#' Gets the local save path for GitHub commits for a specific project key index +#' @description This function returns the local folder path for GitHub commits +#' for a specific project key, that is specified in the input +#' parameter `config_file`. The input, `config_file` must be a parsed +#' configuration file. The function will inform the user if the local folder +#' path for the commits exists in the parsed configuration file, +#' `config_file`. #' -#' @param config_file The parsed config file -#' @param project_key_index The name of the index of the project key (e.g. "project_key_1" or "project_key_2") -#' @return the local save path for GitHub commits for project specified by key index `project_key_index` +#' @param config_file The parsed configuration file. +#' @param project_key_index The name of the index of the project key (e.g. "project_key_1" or "project_key_2"). +#' @return The local folder path for GitHub commits for project specified by key `project_key_index`. #' @export get_github_commit_path <- function(config_file, project_key_index) { @@ -575,14 +655,18 @@ get_github_commit_path <- function(config_file, project_key_index) { return(commit_path) } -#' Get Jira Issue Tracker Project Key Indexes +#' Returns the list of Jira issue tracker project keys. #' -#' Gets the list of Jira issue tracker project key indexes +#' @description This function returns the list of Jira issue tracker project +#' keys, that is specified in the input parameter `config_file`. The input, +#' `config_file` must be a parsed configuration file. The function will inform +#' the user if the project keys exist in the parsed configuration +#' file, `config_file`. #' -#' @param config_file The parsed config file -#' @return the list of Jira issue tracker project key indexes +#' @param config_file The parsed configuration file. +#' @return The list of Jira issue tracker project keys. #' @export -get_jira_key_indexes <- function(config_file) { +get_jira_keys <- function(config_file) { jira_key <- config_file[["issue_tracker"]][["jira"]] @@ -593,13 +677,17 @@ get_jira_key_indexes <- function(config_file) { return(jira_key) } -#' Get Jira Project Domain +#' Returns the Jira project domain for a specific project key. #' -#' Gets the Jira domain for a specific project key index +#' @description This function returns the Jira project domain for a specific +#' project key, that is specified in the input parameter `config_file`. +#' The input, `config_file` must be a parsed configuration file. The function +#' will inform the user if the domain exists in the parsed configuration file, +#' `config_file`. #' -#' @param config_file The parsed config file -#' @param project_key_index The name of the index of the project key (e.g. "project_key_1" or "project_key_2") -#' @return the Jira domain of the project key index for project specified by key index `project_key_index` +#' @param config_file The parsed configuration file. +#' @param project_key_index The name of the index of the project key (e.g. "project_key_1" or "project_key_2"). +#' @return The Jira domain for project specified by key `project_key_index`. #' @export get_jira_domain <- function(config_file, project_key_index) { @@ -612,13 +700,17 @@ get_jira_domain <- function(config_file, project_key_index) { return(domain) } -#' Get Jira Project Key Name +#' Returns the name of the Jira project key for a specific project key. #' -#' Gets the Jira project key name for a specific project key index +#' @description This function returns the Jira project key name for a specific +#' project key, that is specified in the input parameter `config_file`. +#' The input, `config_file` must be a parsed configuration file. The function +#' will inform the user if the project key name exists in the parsed +#' configuration file, `config_file`. #' -#' @param config_file The parsed config file -#' @param project_key_index The name of the index of the project key (e.g. "project_key_1" or "project_key_2") -#' @return the Jira project key name for project specified by key index `project_key_index` +#' @param config_file The parsed configuration file. +#' @param project_key_index The name of the index of the project key (e.g. "project_key_1" or "project_key_2"). +#' @return The Jira project key name for project specified by key `project_key_index`. #' @export get_jira_project_key_name <- function(config_file, project_key_index) { @@ -631,13 +723,17 @@ get_jira_project_key_name <- function(config_file, project_key_index) { return(name) } -#' Get Jira Issues Path +#' Returns the local folder path for Jira issues for a specific project key. #' -#' Gets the local path to store Jira issues for a specific project key index +#' @description This function returns the folder path for Jira issues for a +#' specific project key, that is specified in the input parameter `config_file`. +#' The input, `config_file` must be a parsed configuration file. The function +#' will inform the user if the folder path for Jira issues exists in the parsed +#' configuration file, `config_file`. #' -#' @param config_file The parsed config file -#' @param project_key_index The name of the index of the project key (e.g. "project_key_1" or "project_key_2") -#' @return the Jira issue path for project specified by key index `project_key_index` +#' @param config_file The parsed configuration file. +#' @param project_key_index The name of the index of the project key (e.g. "project_key_1" or "project_key_2"). +#' @return The Jira issue folder path for project specified by key `project_key_index`. #' @export get_jira_issues_path <- function(config_file, project_key_index) { @@ -650,13 +746,18 @@ get_jira_issues_path <- function(config_file, project_key_index) { return(jira_issues_path) } -#' Get Jira Issues Comments Path +#' Returns the local folder path for Jira issue comments for a specific +#' project key. #' -#' Gets the local path to store Jira issues with comments for a specific project key index +#' @description This function returns the local folder path for Jira issue +#' comments for a specific project key, that is specified in the input +#' parameter `config_file`. The input, `config_file` must be a parsed +#' configuration file. The function will inform the user if the local folder +#' path for the comments exists in the parsed configuration file, `config_file`. #' -#' @param config_file The parsed config file -#' @param project_key_index The name of the index of the project key (e.g. "project_key_1" or "project_key_2") -#' @return the list of Jira issues comments paths for project specified by key index `project_key_index` +#' @param config_file The parsed configuration file. +#' @param project_key_index The name of the index of the project key (e.g. "project_key_1" or "project_key_2"). +#' @return The folder path for Jira issue comments for project specified by key `project_key_index`. #' @export get_jira_issues_comments_path <- function(config_file, project_key_index) { @@ -669,12 +770,16 @@ get_jira_issues_comments_path <- function(config_file, project_key_index) { return(jira_issue_comments_path) } -#' Get Bugzilla Project Key +#' Returns the name of the Bugzilla project key. #' -#' Gets the project key name for the Bugzilla project +#' @description This function returns the name of the Bugzilla project key, that +#' is specified in the input parameter `config_file`. The input, `config_file` +#' must be a parsed configuration file. The function will inform the user if +#' the name of the Bugzilla project key exists in the parsed configuration +#' file, `config_file`. #' -#' @param config_file The parsed config file -#' @return the project key name +#' @param config_file The parsed configuration file. +#' @return The Bugzilla project key name. #' @export get_bugzilla_project_key <- function(config_file) { @@ -687,12 +792,19 @@ get_bugzilla_project_key <- function(config_file) { return(bugzilla_key) } -#' Get Nvd Feed Folder Path +##### Vulnerability Getter Functions ##### + +#' Returns the local folder path that contains the nvd (National Vulnerability +#' Database) feeds. #' -#' Gets the folder path with nvd feeds +#' @description This function returns the local folder path for nvd feeds, +#' that is specified in the input parameter `config_file`. The input, +#' `config_file` must be a parsed configuration file. The function will inform +#' the user if the local folder path for the nvd feeds exists in the parsed +#' configuration file, `config_file`. #' -#' @param config_file The parsed config file -#' @return the folder path with nvd feeds +#' @param config_file The parsed configuration file. +#' @return The folder path with nvd feeds. #' @export get_nvdfeed_folder_path <- function(config_file) { @@ -705,12 +817,19 @@ get_nvdfeed_folder_path <- function(config_file) { return(nvdfeed_folder_path) } -#' Get CVE ID Regex +##### Regular Expression Getter Functions ##### + +#' Returns the cve (Common Vulnerabilities and Exposures) regular expression +#' for commit messages. #' -#' Gets the commit message CVE +#' @description This function returns the cve regular expression for commit +#' messages, that is specified in the input parameter `config_file`. The input, +#' `config_file` must be a parsed configuration file. The function will inform +#' the user if the cve regular expression for commit messages exists in the +#' parsed configuration file, `config_file`. #' -#' @param config_file The parsed config file -#' @return the commit message CVE +#' @param config_file The parsed configuration file. +#' @return The commit message CVE regular expression. #' @export get_cveid_regex <- function(config_file) { @@ -723,12 +842,40 @@ get_cveid_regex <- function(config_file) { return(cveid_regex) } -#' Get Enumeration Commits +#' Returns the issue Id regular expression for commit messages. #' -#' Gets the list of enumerated commit intervals for analysis. +#' @description This function returns the issue Id regular expression for commit +#' messages, that is specified in the input parameter `config_file`. The input, +#' `config_file` must be a parsed configuration file. The function will inform +#' the user if the issue Id regular expression for commit messages exists in the +#' parsed configuration file, `config_file`. #' -#' @param config_file The parsed config file -#' @return the commit intervals as a list +#' @param config_file The parsed configuration file. +#' @return The commit message issue Id regular expression. +#' @export +get_issue_id_regex <- function(config_file) { + + issue_id_regex <- config_file[["commit_message_id_regex"]][["issue_id"]] + + if (is.null(issue_id_regex)) { + warning("Attribute does not exist in the configuration file.") + } + + return(issue_id_regex) +} + +##### Analysis Getter Functions ##### + +#' Returns the list of enumerated commit intervals for analysis. +#' +#' @description This function returns a list of enumerated commit intervals, +#' that is specified in the input parameter `config_file`. The input, +#' `config_file` must be a parsed configuration file. The function will inform +#' the user if the list of enumerated commit intervals exists in the parsed +#' configuration file, `config_file`. +#' +#' @param config_file The parsed configuration file. +#' @return The list of enumerated commit intervals. #' @export get_enumeration_commits <- function(config_file) { @@ -741,12 +888,16 @@ get_enumeration_commits <- function(config_file) { return(enumeration_commit) } -#' Get Window Start Commit +#' Returns the starting commit for a window for analysis. #' -#' Gets the analysis window start commit +#' @description This function returns the starting commit for a window of time +#' for analysis (the time stamp is inferred from gitlog), that is specified in +#' the input parameter `config_file`. The input, `config_file` must be a parsed +#' configuration file. The function will inform the user if the start commit +#' exists in the parsed configuration file, `config_file`. #' -#' @param config_file The parsed config file -#' @return the analysis window start commit +#' @param config_file The parsed configuration file. +#' @return The start commit for a window for analysis. #' @export get_window_start_commit <- function(config_file) { @@ -759,12 +910,16 @@ get_window_start_commit <- function(config_file) { return(start_commit) } -#' Get Window End Commit +#' Returns the ending commit for a window for analysis. #' -#' Gets the analysis window end commit +#' @description This function returns the ending commit for a window of time +#' for analysis (the time stamp is inferred from gitlog), that is specified in +#' the input parameter `config_file`. The input, `config_file` must be a parsed +#' configuration file. The function will inform the user if the end commit +#' exists in the parsed configuration file, `config_file`. #' -#' @param config_file The parsed config file -#' @return the analysis window end commit +#' @param config_file The parsed configuration file. +#' @return The end commit for a window for analysis. #' @export get_window_end_commit <- function(config_file) { @@ -777,12 +932,15 @@ get_window_end_commit <- function(config_file) { return(end_commit) } -#' Get Analysis Window Size +#' Returns the size of a window for analysis. #' -#' Gets the analysis window size +#' @description This function returns the size of a window, that is +#' specified in the input parameter `config_file`. The input, `config_file` +#' must be a parsed configuration file. The function will inform the user if +#' the window size exists in the parsed configuration file, `config_file`. #' -#' @param config_file The parsed config file -#' @return the analysis window size +#' @param config_file The parsed configuration file. +#' @return The size of a window for analysis. #' @export get_window_size <- function(config_file) { @@ -794,3 +952,25 @@ get_window_size <- function(config_file) { return(window_size) } + +#' Returns the list of topics and keywords for analysis. +#' +#' @description This function returns the list of keywords and topics for +#' analysis, that is specified in the input parameter `config_file`. The +#' input, `config_file` must be a parsed configuration file. The function will +#' inform the user if the list of keywords and topics exists in the parsed +#' configuration file, `config_file`. +#' +#' @param config_file The parsed configuration file. +#' @return The list of keywords and topics for analysis. +#' @export +get_topics <- function(config_file) { + + topics <- config_file[["analysis"]][["topics"]] + + if (is.null(topics)) { + warning("Attribute does not exist in the configuration file.") + } + + return(topics) +} diff --git a/man/get_bugzilla_project_key.Rd b/man/get_bugzilla_project_key.Rd index c98b567..39cf34b 100644 --- a/man/get_bugzilla_project_key.Rd +++ b/man/get_bugzilla_project_key.Rd @@ -2,16 +2,20 @@ % Please edit documentation in R/config.R \name{get_bugzilla_project_key} \alias{get_bugzilla_project_key} -\title{Get Bugzilla Project Key} +\title{Returns the name of the Bugzilla project key.} \usage{ get_bugzilla_project_key(config_file) } \arguments{ -\item{config_file}{The parsed config file} +\item{config_file}{The parsed configuration file.} } \value{ -the project key name +The Bugzilla project key name. } \description{ -Gets the project key name for the Bugzilla project +This function returns the name of the Bugzilla project key, that +is specified in the input parameter `config_file`. The input, `config_file` +must be a parsed configuration file. The function will inform the user if +the name of the Bugzilla project key exists in the parsed configuration +file, `config_file`. } diff --git a/man/get_code_language.Rd b/man/get_code_language.Rd index adad0b1..8962986 100644 --- a/man/get_code_language.Rd +++ b/man/get_code_language.Rd @@ -2,16 +2,20 @@ % Please edit documentation in R/config.R \name{get_code_language} \alias{get_code_language} -\title{Get Code Language} +\title{Returns the code language for analysis.} \usage{ get_code_language(config_file) } \arguments{ -\item{config_file}{The parsed config file} +\item{config_file}{The parsed configuration file.} } \value{ -the code language +The code language for parsing file-file static dependencies. } \description{ -Gets the code language of the project +This function returns the specified code language that should +be used to parse file-file static dependencies with the depends tool, that +is specified in the input parameter `config_file`. The input, `config_file` +must be a parsed configuration file. The function will inform the user if +the code language exists in the parsed configuration file, `config_file`. } diff --git a/man/get_conf.Rd b/man/get_conf.Rd deleted file mode 100644 index 1db5609..0000000 --- a/man/get_conf.Rd +++ /dev/null @@ -1,17 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/config.R -\name{get_conf} -\alias{get_conf} -\title{Get Parsed Config File} -\usage{ -get_conf(config_path) -} -\arguments{ -\item{config_path}{The path of the config file from the kaiaulu directory (e.g. "conf/kaiaulu.yml")} -} -\value{ -the parsed config file whose path is specified by `config_path` -} -\description{ -Gets the parsed configuration file for any path-specified project -} diff --git a/man/get_cveid_regex.Rd b/man/get_cveid_regex.Rd index 60e660b..8fe6680 100644 --- a/man/get_cveid_regex.Rd +++ b/man/get_cveid_regex.Rd @@ -2,16 +2,21 @@ % Please edit documentation in R/config.R \name{get_cveid_regex} \alias{get_cveid_regex} -\title{Get CVE ID Regex} +\title{Returns the cve (Common Vulnerabilities and Exposures) regular expression +for commit messages.} \usage{ get_cveid_regex(config_file) } \arguments{ -\item{config_file}{The parsed config file} +\item{config_file}{The parsed configuration file.} } \value{ -the commit message CVE +The commit message CVE regular expression. } \description{ -Gets the commit message CVE +This function returns the cve regular expression for commit +messages, that is specified in the input parameter `config_file`. The input, +`config_file` must be a parsed configuration file. The function will inform +the user if the cve regular expression for commit messages exists in the +parsed configuration file, `config_file`. } diff --git a/man/get_dv8_flaws_params.Rd b/man/get_dv8_flaws_params.Rd index 7c43e04..bf23b31 100644 --- a/man/get_dv8_flaws_params.Rd +++ b/man/get_dv8_flaws_params.Rd @@ -2,16 +2,20 @@ % Please edit documentation in R/config.R \name{get_dv8_flaws_params} \alias{get_dv8_flaws_params} -\title{Get Flaws Params} +\title{Returns the list of architectural flaws thresholds for DV8 analysis.} \usage{ get_dv8_flaws_params(config_file) } \arguments{ -\item{config_file}{The parsed config file} +\item{config_file}{The parsed configuration file.} } \value{ -the architectural flaws thresholds +The list of DV8 architectural flaws thresholds. } \description{ -Gets the architectural flaws thresholds +This function returns the list of architectural flaws thresholds +for DV8 analysis, that is specified in the input parameter `config_file`. +The input, `config_file` must be a parsed configuration file. The function +will inform the user if the list of architectural flaws thresholds +exists in the parsed configuration file, `config_file`. } diff --git a/man/get_dv8_folder_path.Rd b/man/get_dv8_folder_path.Rd index 9077511..0c36a33 100644 --- a/man/get_dv8_folder_path.Rd +++ b/man/get_dv8_folder_path.Rd @@ -2,16 +2,21 @@ % Please edit documentation in R/config.R \name{get_dv8_folder_path} \alias{get_dv8_folder_path} -\title{Get DV8 Project Folder Path} +\title{Returns the path to the folder used to store files for DV8 analysis.} \usage{ get_dv8_folder_path(config_file) } \arguments{ -\item{config_file}{The parsed config file} +\item{config_file}{The parsed configuration file.} } \value{ -the dv8 project folder path +The DV8 project folder path. } \description{ -Gets the dv8 project folder path +This function returns the path to the folder that will be +used to store various intermediate files for DV8 analysis, that is specified +in the input parameter `config_file`. The input, `config_file` must be a +parsed configuration file. The function will inform the user if the path +path to the folder for intermediate file storage for DV8 analysis exists in +the parsed configuration file, `config_file`. } diff --git a/man/get_enumeration_commits.Rd b/man/get_enumeration_commits.Rd index 737fa95..5a9c58e 100644 --- a/man/get_enumeration_commits.Rd +++ b/man/get_enumeration_commits.Rd @@ -2,16 +2,20 @@ % Please edit documentation in R/config.R \name{get_enumeration_commits} \alias{get_enumeration_commits} -\title{Get Enumeration Commits} +\title{Returns the list of enumerated commit intervals for analysis.} \usage{ get_enumeration_commits(config_file) } \arguments{ -\item{config_file}{The parsed config file} +\item{config_file}{The parsed configuration file.} } \value{ -the commit intervals as a list +The list of enumerated commit intervals. } \description{ -Gets the list of enumerated commit intervals for analysis. +This function returns a list of enumerated commit intervals, +that is specified in the input parameter `config_file`. The input, +`config_file` must be a parsed configuration file. The function will inform +the user if the list of enumerated commit intervals exists in the parsed +configuration file, `config_file`. } diff --git a/man/get_file_extensions.Rd b/man/get_file_extensions.Rd index 753c5bf..8174d13 100644 --- a/man/get_file_extensions.Rd +++ b/man/get_file_extensions.Rd @@ -2,16 +2,20 @@ % Please edit documentation in R/config.R \name{get_file_extensions} \alias{get_file_extensions} -\title{Get File Extensions} +\title{Returns the list of file extensions used for filtering files to keep.} \usage{ get_file_extensions(config_file) } \arguments{ -\item{config_file}{The parsed config file} +\item{config_file}{The parsed configuration file.} } \value{ -the file extensions +The list of file extensions to keep. } \description{ -Gets the file extensions for filtering +This function returns the list of file extensions that will be +used for filtering files specified in the input parameter `config_file`. The +input, `config_file` must be a parsed configuration file. The function will +inform the user if the list of file extensions exists in the parsed +configuration file, `config_file`. } diff --git a/man/get_filter_commit_size.Rd b/man/get_filter_commit_size.Rd index 39a7f4f..96e840b 100644 --- a/man/get_filter_commit_size.Rd +++ b/man/get_filter_commit_size.Rd @@ -2,16 +2,20 @@ % Please edit documentation in R/config.R \name{get_filter_commit_size} \alias{get_filter_commit_size} -\title{Get Filter Commit Size} +\title{Returns the commit size threshold to remove file paths.} \usage{ get_filter_commit_size(config_file) } \arguments{ -\item{config_file}{The parsed config file} +\item{config_file}{The parsed configuration file.} } \value{ -the commit size to filter out +The commit size to filter out. } \description{ -Gets the commit size to filter out +This function returns an integer number that represents the +threshold for a commit size to remove file paths specified in the input +parameter `config_file`. The input, `config_file` must be a parsed +configuration file. The function will inform the user if the commit size +threshold exists in the parsed configuration file, `config_file`. } diff --git a/man/get_git_branches.Rd b/man/get_git_branches.Rd index 8cd79b6..396c57c 100644 --- a/man/get_git_branches.Rd +++ b/man/get_git_branches.Rd @@ -2,16 +2,20 @@ % Please edit documentation in R/config.R \name{get_git_branches} \alias{get_git_branches} -\title{Get Project Git Branches} +\title{Returns the list of git branches used for analysis in the current project.} \usage{ get_git_branches(config_file) } \arguments{ -\item{config_file}{The parsed config file} +\item{config_file}{The parsed configuration file.} } \value{ -the list of git branches +The list of git branches. } \description{ -Gets the list of git branches of the project +This function returns a list of the git branches used for +analysis in the current project specified in the input parameter +`config_file`. The input, `config_file` must be a parsed configuration file. +The function will inform the user if the list of branches to be analyzed +exists in the parsed configuration file, `config_file`. } diff --git a/man/get_git_repo_path.Rd b/man/get_git_repo_path.Rd index c449988..3241519 100644 --- a/man/get_git_repo_path.Rd +++ b/man/get_git_repo_path.Rd @@ -2,16 +2,20 @@ % Please edit documentation in R/config.R \name{get_git_repo_path} \alias{get_git_repo_path} -\title{Get Project Git Repo Path} +\title{Returns the path to the .git of the project repository that is being analyzed.} \usage{ get_git_repo_path(config_file) } \arguments{ -\item{config_file}{The parsed config file} +\item{config_file}{The parsed configuration file.} } \value{ -the local git repository path specified in `config_file` +The local git repository path specified in `config_file`. } \description{ -Gets the local project git repository path of the project +This function returns the specific path to the .git of the +project repository that is being analyzed specified in the input parameter +`config_file`. The input, `config_file` must be a parsed configuration file. +The function will inform the user if the .git path of the project repository +exists in the parsed configuration file, `config_file`. } diff --git a/man/get_github_commit_path.Rd b/man/get_github_commit_path.Rd index ae38662..e6f1ed9 100644 --- a/man/get_github_commit_path.Rd +++ b/man/get_github_commit_path.Rd @@ -2,18 +2,23 @@ % Please edit documentation in R/config.R \name{get_github_commit_path} \alias{get_github_commit_path} -\title{Get GitHub Commit Save Path} +\title{Returns the local folder path for GitHub commits for a specific project key.} \usage{ get_github_commit_path(config_file, project_key_index) } \arguments{ -\item{config_file}{The parsed config file} +\item{config_file}{The parsed configuration file.} -\item{project_key_index}{The name of the index of the project key (e.g. "project_key_1" or "project_key_2")} +\item{project_key_index}{The name of the index of the project key (e.g. "project_key_1" or "project_key_2").} } \value{ -the local save path for GitHub commits for project specified by key index `project_key_index` +The local folder path for GitHub commits for project specified by key `project_key_index`. } \description{ -Gets the local save path for GitHub commits for a specific project key index +This function returns the local folder path for GitHub commits +for a specific project key, that is specified in the input +parameter `config_file`. The input, `config_file` must be a parsed +configuration file. The function will inform the user if the local folder +path for the commits exists in the parsed configuration file, +`config_file`. } diff --git a/man/get_github_issue_or_pr_comment_path.Rd b/man/get_github_issue_or_pr_comment_path.Rd index 1c306ce..46a8263 100644 --- a/man/get_github_issue_or_pr_comment_path.Rd +++ b/man/get_github_issue_or_pr_comment_path.Rd @@ -2,18 +2,23 @@ % Please edit documentation in R/config.R \name{get_github_issue_or_pr_comment_path} \alias{get_github_issue_or_pr_comment_path} -\title{Get GitHub Issue Or PR Comment Save Path} +\title{Returns the local folder path for GitHub Issue or Pull Request comments for +a specific project key.} \usage{ get_github_issue_or_pr_comment_path(config_file, project_key_index) } \arguments{ -\item{config_file}{The parsed config file} +\item{config_file}{The parsed configuration file.} -\item{project_key_index}{The name of the index of the project key (e.g. "project_key_1" or "project_key_2")} +\item{project_key_index}{The name of the index of the project key (e.g. "project_key_1" or "project_key_2").} } \value{ -the local save path for Github Issues or PR comments for project specified by key index `project_key_index` +The local folder path for GitHub Issues or PR comments for project specified by key `project_key_index`. } \description{ -Gets the local save path for GitHub Issues or PR Comments for a specific project key index +This function returns the local folder path for GitHub Issue or +Pull Request comments for a specific project key, that is specified in the +input parameter `config_file`. The input, `config_file` must be a parsed +configuration file. The function will inform the user if the local folder +path for the comments exists in the parsed configuration file, `config_file`. } diff --git a/man/get_github_issue_path.Rd b/man/get_github_issue_path.Rd index 11e354f..042fdb6 100644 --- a/man/get_github_issue_path.Rd +++ b/man/get_github_issue_path.Rd @@ -2,18 +2,22 @@ % Please edit documentation in R/config.R \name{get_github_issue_path} \alias{get_github_issue_path} -\title{Get GitHub Issue Save Path} +\title{Returns the local folder path for GitHub issues for a specific project key.} \usage{ get_github_issue_path(config_file, project_key_index) } \arguments{ -\item{config_file}{The parsed config file} +\item{config_file}{The parsed configuration file.} -\item{project_key_index}{The name of the index of the project key (e.g. "project_key_1" or "project_key_2")} +\item{project_key_index}{The name of the index of the project key (e.g. "project_key_1" or "project_key_2").} } \value{ -the local save path for GitHub issues for project specified by key index `project_key_index` +The local folder path for GitHub issues for project specified by key `project_key_index`. } \description{ -Gets the local save path for GitHub issues for a specific project key index +This function returns the local folder path for GitHub issues +for a specific project key, that is specified in the input parameter +`config_file`. The input, `config_file` must be a parsed configuration file. +The function will inform the user if the folder path for GitHub issues exists +in the parsed configuration file, `config_file`. } diff --git a/man/get_github_issue_search_path.Rd b/man/get_github_issue_search_path.Rd index 9b55cfc..94802c4 100644 --- a/man/get_github_issue_search_path.Rd +++ b/man/get_github_issue_search_path.Rd @@ -2,18 +2,23 @@ % Please edit documentation in R/config.R \name{get_github_issue_search_path} \alias{get_github_issue_search_path} -\title{Get GitHub Issue Search Save Path} +\title{Returns the local folder path for GitHub Issue Searches for a specific +project key.} \usage{ get_github_issue_search_path(config_file, project_key_index) } \arguments{ -\item{config_file}{The parsed config file} +\item{config_file}{The parsed configuration file.} -\item{project_key_index}{The name of the index of the project key (e.g. "project_key_1" or "project_key_2")} +\item{project_key_index}{The name of the index of the project key (e.g. "project_key_1" or "project_key_2").} } \value{ -the local save path for GitHub issue search for project specified by key index `project_key_index` +The local folder path for GitHub issue search for project specified by key `project_key_index`. } \description{ -Gets the local save path for GitHub issue search for a specific project key index +This function returns the local folder path for GitHub Issue +Searches for a specific project key, that is specified in the input parameter +`config_file`. The input, `config_file` must be a parsed configuration file. +The function will inform the user if the local folder path for the issue +searches exists in the parsed configuration file, `config_file`. } diff --git a/man/get_github_key_indexes.Rd b/man/get_github_key_indexes.Rd deleted file mode 100644 index 12bfa6b..0000000 --- a/man/get_github_key_indexes.Rd +++ /dev/null @@ -1,17 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/config.R -\name{get_github_key_indexes} -\alias{get_github_key_indexes} -\title{Get GitHub Issue Tracker Project Key Indexes} -\usage{ -get_github_key_indexes(config_file) -} -\arguments{ -\item{config_file}{The parsed config file} -} -\value{ -the list of issue tracker project key indexes -} -\description{ -Gets the list of GitHub issue tracker project key indexes -} diff --git a/man/get_github_keys.Rd b/man/get_github_keys.Rd new file mode 100644 index 0000000..8ed30a4 --- /dev/null +++ b/man/get_github_keys.Rd @@ -0,0 +1,21 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/config.R +\name{get_github_keys} +\alias{get_github_keys} +\title{Returns the list of GitHub issue tracker project keys.} +\usage{ +get_github_keys(config_file) +} +\arguments{ +\item{config_file}{The parsed configuration file.} +} +\value{ +The list of GitHub issue tracker project keys. +} +\description{ +This function returns the list of GitHub issue tracker project +keys, that is specified in the input parameter `config_file`. The input, +`config_file` must be a parsed configuration file. The function will inform +the user if the project keys exist in the parsed configuration +file, `config_file`. +} diff --git a/man/get_github_owner.Rd b/man/get_github_owner.Rd index 7fdd2bf..5462933 100644 --- a/man/get_github_owner.Rd +++ b/man/get_github_owner.Rd @@ -2,18 +2,22 @@ % Please edit documentation in R/config.R \name{get_github_owner} \alias{get_github_owner} -\title{Get GitHub Owner} +\title{Returns the owner for a GitHub repository for a specific project key.} \usage{ get_github_owner(config_file, project_key_index) } \arguments{ -\item{config_file}{The parsed config file} +\item{config_file}{The parsed configuration file.} -\item{project_key_index}{The name of the index of the project key (e.g. "project_key_1" or "project_key_2")} +\item{project_key_index}{The name of the index of the project key (e.g. "project_key_1" or "project_key_2").} } \value{ -the GitHub project owner name for project specified by key index `project_key_index` +The GitHub project owner name for project specified by key `project_key_index`. } \description{ -Gets the owner of the GitHub repository for a specific project key index +This function returns the owner for a GitHub repository for a +specific project key, that is specified in the input parameter `config_file`. +The input, `config_file` must be a parsed configuration file. The function +will inform the user if the owner for the GitHub repository exists in the +parsed configuration file, `config_file`. } diff --git a/man/get_github_pull_request_path.Rd b/man/get_github_pull_request_path.Rd index 8673b09..2c86cad 100644 --- a/man/get_github_pull_request_path.Rd +++ b/man/get_github_pull_request_path.Rd @@ -2,18 +2,24 @@ % Please edit documentation in R/config.R \name{get_github_pull_request_path} \alias{get_github_pull_request_path} -\title{Get GitHub Pull Request Save Path} +\title{Returns the local folder path for GitHub Pull Requests for a specific +project key.} \usage{ get_github_pull_request_path(config_file, project_key_index) } \arguments{ -\item{config_file}{The parsed config file} +\item{config_file}{The parsed configuration file.} -\item{project_key_index}{The name of the index of the project key (e.g. "project_key_1" or "project_key_2")} +\item{project_key_index}{The name of the index of the project key (e.g. "project_key_1" or "project_key_2").} } \value{ -the local save path for GitHub pull requests for project specified by key index `project_key_index` +The local folder path for GitHub pull requests for project specified by key `project_key_index`. } \description{ -Gets the local save path for GitHub pull requests for a specific project key index +This function returns the local folder path for GitHub Pull +Requests for a specific project key, that is specified in the input +parameter `config_file`. The input, `config_file` must be a parsed +configuration file. The function will inform the user if the local folder +path for the pull requests exists in the parsed configuration file, +`config_file`. } diff --git a/man/get_github_repo.Rd b/man/get_github_repo.Rd index f6b4cd4..911e143 100644 --- a/man/get_github_repo.Rd +++ b/man/get_github_repo.Rd @@ -2,18 +2,22 @@ % Please edit documentation in R/config.R \name{get_github_repo} \alias{get_github_repo} -\title{Get GitHub Repository} +\title{Returns the name of the GitHub repository for a specific project key.} \usage{ get_github_repo(config_file, project_key_index) } \arguments{ -\item{config_file}{The parsed config file} +\item{config_file}{The parsed configuration file.} -\item{project_key_index}{The name of the index of the project key (e.g. "project_key_1" or "project_key_2")} +\item{project_key_index}{The name of the index of the project key (e.g. "project_key_1" or "project_key_2").} } \value{ -the name of the GitHub repository for project specified by key index `project_key_index` +The name of the GitHub repository for project specified by key `project_key_index`. } \description{ -Gets the name of the GitHub repository for a specific project key index +This function returns the name of the GitHub repository for a +specific project key, that is specified in the input parameter `config_file`. +The input, `config_file` must be a parsed configuration file. The function +will inform the user if the name of the GitHub repository exists in the +parsed configuration file, `config_file`. } diff --git a/man/get_issue_id_regex.Rd b/man/get_issue_id_regex.Rd index d305868..a5faf87 100644 --- a/man/get_issue_id_regex.Rd +++ b/man/get_issue_id_regex.Rd @@ -2,16 +2,20 @@ % Please edit documentation in R/config.R \name{get_issue_id_regex} \alias{get_issue_id_regex} -\title{Get Issue Id Regex} +\title{Returns the issue Id regular expression for commit messages.} \usage{ get_issue_id_regex(config_file) } \arguments{ -\item{config_file}{The parsed config file} +\item{config_file}{The parsed configuration file.} } \value{ -the issue ID regex +The commit message issue Id regular expression. } \description{ -Gets the issue ID regex on commit messages +This function returns the issue Id regular expression for commit +messages, that is specified in the input parameter `config_file`. The input, +`config_file` must be a parsed configuration file. The function will inform +the user if the issue Id regular expression for commit messages exists in the +parsed configuration file, `config_file`. } diff --git a/man/get_jira_domain.Rd b/man/get_jira_domain.Rd index 1f43aa8..d50dde7 100644 --- a/man/get_jira_domain.Rd +++ b/man/get_jira_domain.Rd @@ -2,18 +2,22 @@ % Please edit documentation in R/config.R \name{get_jira_domain} \alias{get_jira_domain} -\title{Get Jira Project Domain} +\title{Returns the Jira project domain for a specific project key.} \usage{ get_jira_domain(config_file, project_key_index) } \arguments{ -\item{config_file}{The parsed config file} +\item{config_file}{The parsed configuration file.} -\item{project_key_index}{The name of the index of the project key (e.g. "project_key_1" or "project_key_2")} +\item{project_key_index}{The name of the index of the project key (e.g. "project_key_1" or "project_key_2").} } \value{ -the Jira domain of the project key index for project specified by key index `project_key_index` +The Jira domain for project specified by key `project_key_index`. } \description{ -Gets the Jira domain for a specific project key index +This function returns the Jira project domain for a specific +project key, that is specified in the input parameter `config_file`. +The input, `config_file` must be a parsed configuration file. The function +will inform the user if the domain exists in the parsed configuration file, +`config_file`. } diff --git a/man/get_jira_issues_comments_path.Rd b/man/get_jira_issues_comments_path.Rd index 46d9871..4238bc4 100644 --- a/man/get_jira_issues_comments_path.Rd +++ b/man/get_jira_issues_comments_path.Rd @@ -2,18 +2,23 @@ % Please edit documentation in R/config.R \name{get_jira_issues_comments_path} \alias{get_jira_issues_comments_path} -\title{Get Jira Issues Comments Path} +\title{Returns the local folder path for Jira issue comments for a specific +project key.} \usage{ get_jira_issues_comments_path(config_file, project_key_index) } \arguments{ -\item{config_file}{The parsed config file} +\item{config_file}{The parsed configuration file.} -\item{project_key_index}{The name of the index of the project key (e.g. "project_key_1" or "project_key_2")} +\item{project_key_index}{The name of the index of the project key (e.g. "project_key_1" or "project_key_2").} } \value{ -the list of Jira issues comments paths for project specified by key index `project_key_index` +The folder path for Jira issue comments for project specified by key `project_key_index`. } \description{ -Gets the local path to store Jira issues with comments for a specific project key index +This function returns the local folder path for Jira issue +comments for a specific project key, that is specified in the input +parameter `config_file`. The input, `config_file` must be a parsed +configuration file. The function will inform the user if the local folder +path for the comments exists in the parsed configuration file, `config_file`. } diff --git a/man/get_jira_issues_path.Rd b/man/get_jira_issues_path.Rd index e15ea23..d745dae 100644 --- a/man/get_jira_issues_path.Rd +++ b/man/get_jira_issues_path.Rd @@ -2,18 +2,22 @@ % Please edit documentation in R/config.R \name{get_jira_issues_path} \alias{get_jira_issues_path} -\title{Get Jira Issues Path} +\title{Returns the local folder path for Jira issues for a specific project key.} \usage{ get_jira_issues_path(config_file, project_key_index) } \arguments{ -\item{config_file}{The parsed config file} +\item{config_file}{The parsed configuration file.} -\item{project_key_index}{The name of the index of the project key (e.g. "project_key_1" or "project_key_2")} +\item{project_key_index}{The name of the index of the project key (e.g. "project_key_1" or "project_key_2").} } \value{ -the Jira issue path for project specified by key index `project_key_index` +The Jira issue folder path for project specified by key `project_key_index`. } \description{ -Gets the local path to store Jira issues for a specific project key index +This function returns the folder path for Jira issues for a +specific project key, that is specified in the input parameter `config_file`. +The input, `config_file` must be a parsed configuration file. The function +will inform the user if the folder path for Jira issues exists in the parsed +configuration file, `config_file`. } diff --git a/man/get_jira_key_indexes.Rd b/man/get_jira_key_indexes.Rd deleted file mode 100644 index 14d26c6..0000000 --- a/man/get_jira_key_indexes.Rd +++ /dev/null @@ -1,17 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/config.R -\name{get_jira_key_indexes} -\alias{get_jira_key_indexes} -\title{Get Jira Issue Tracker Project Key Indexes} -\usage{ -get_jira_key_indexes(config_file) -} -\arguments{ -\item{config_file}{The parsed config file} -} -\value{ -the list of Jira issue tracker project key indexes -} -\description{ -Gets the list of Jira issue tracker project key indexes -} diff --git a/man/get_jira_keys.Rd b/man/get_jira_keys.Rd new file mode 100644 index 0000000..d9cd8fc --- /dev/null +++ b/man/get_jira_keys.Rd @@ -0,0 +1,21 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/config.R +\name{get_jira_keys} +\alias{get_jira_keys} +\title{Returns the list of Jira issue tracker project keys.} +\usage{ +get_jira_keys(config_file) +} +\arguments{ +\item{config_file}{The parsed configuration file.} +} +\value{ +The list of Jira issue tracker project keys. +} +\description{ +This function returns the list of Jira issue tracker project +keys, that is specified in the input parameter `config_file`. The input, +`config_file` must be a parsed configuration file. The function will inform +the user if the project keys exist in the parsed configuration +file, `config_file`. +} diff --git a/man/get_jira_project_key_name.Rd b/man/get_jira_project_key_name.Rd index 9a1b9f8..0441d92 100644 --- a/man/get_jira_project_key_name.Rd +++ b/man/get_jira_project_key_name.Rd @@ -2,18 +2,22 @@ % Please edit documentation in R/config.R \name{get_jira_project_key_name} \alias{get_jira_project_key_name} -\title{Get Jira Project Key Name} +\title{Returns the name of the Jira project key for a specific project key.} \usage{ get_jira_project_key_name(config_file, project_key_index) } \arguments{ -\item{config_file}{The parsed config file} +\item{config_file}{The parsed configuration file.} -\item{project_key_index}{The name of the index of the project key (e.g. "project_key_1" or "project_key_2")} +\item{project_key_index}{The name of the index of the project key (e.g. "project_key_1" or "project_key_2").} } \value{ -the Jira project key name for project specified by key index `project_key_index` +The Jira project key name for project specified by key `project_key_index`. } \description{ -Gets the Jira project key name for a specific project key index +This function returns the Jira project key name for a specific +project key, that is specified in the input parameter `config_file`. +The input, `config_file` must be a parsed configuration file. The function +will inform the user if the project key name exists in the parsed +configuration file, `config_file`. } diff --git a/man/get_keep_dependencies_type.Rd b/man/get_keep_dependencies_type.Rd index ec68f05..31a44f7 100644 --- a/man/get_keep_dependencies_type.Rd +++ b/man/get_keep_dependencies_type.Rd @@ -2,16 +2,20 @@ % Please edit documentation in R/config.R \name{get_keep_dependencies_type} \alias{get_keep_dependencies_type} -\title{Get Keep Dependencies Type} +\title{Returns a list of the types of dependencies to keep for analysis.} \usage{ get_keep_dependencies_type(config_file) } \arguments{ -\item{config_file}{The parsed config file} +\item{config_file}{The parsed configuration file.} } \value{ -the types of dependencies to keep +A list of the types of dependencies to keep for analysis. } \description{ -Gets the type of dependencies to keep +This function returns the specified types of dependencies to +keep for analysis with the depends tool, that is specified in the input +parameter `config_file`. The input, `config_file` must be a parsed +configuration file. The function will inform the user if the list of the +types of dependencies exists in the parsed configuration file, `config_file`. } diff --git a/man/get_mbox_archive_type.Rd b/man/get_mbox_archive_type.Rd new file mode 100644 index 0000000..35a51a1 --- /dev/null +++ b/man/get_mbox_archive_type.Rd @@ -0,0 +1,23 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/config.R +\name{get_mbox_archive_type} +\alias{get_mbox_archive_type} +\title{Returns the mbox archive type for a specific project key.} +\usage{ +get_mbox_archive_type(config_file, project_key_index) +} +\arguments{ +\item{config_file}{The parsed configuration file.} + +\item{project_key_index}{The name of the index of the project key (e.g. "project_key_1" or "project_key_2").} +} +\value{ +The mbox archive type for project specified by key `project_key_index`. +} +\description{ +This function returns the specific mbox archive type for a +specific project key, `project_key_index`, that is specified in the input +parameter `config_file`. The input, `config_file` must be a parsed +configuration file. The function will inform the user if the archive type +for mbox exists in the parsed configuration file, `config_file`. +} diff --git a/man/get_mbox_domain.Rd b/man/get_mbox_domain.Rd index 53d91ba..e683531 100644 --- a/man/get_mbox_domain.Rd +++ b/man/get_mbox_domain.Rd @@ -2,18 +2,22 @@ % Please edit documentation in R/config.R \name{get_mbox_domain} \alias{get_mbox_domain} -\title{Get Mbox Archive URL} +\title{Returns the URL to the archives for mbox for a specific project key.} \usage{ get_mbox_domain(config_file, project_key_index) } \arguments{ -\item{config_file}{The parsed config file} +\item{config_file}{The parsed configuration file.} -\item{project_key_index}{The name of the index of the project key (e.g. "project_key_1" or "project_key_2")} +\item{project_key_index}{The name of the index of the project key (e.g. "project_key_1" or "project_key_2").} } \value{ -the domain of the mailing list archive for project specified by key index `project_key_index` +The URL of the mailing list archive for project specified by key `project_key_index`. } \description{ -Gets the Mbox archive URL for a specific project key index +This function returns the URL to the archives for a specific +project key, `project_key_index`, that is specified in the input parameter +`config_file`. The input, `config_file` must be a parsed configuration file. +The function will inform the user if the specific URL to the archives for +mbox exists in the parsed configuration file, `config_file`. } diff --git a/man/get_mbox_key_indexes.Rd b/man/get_mbox_key_indexes.Rd index d5d0a4c..be09cb0 100644 --- a/man/get_mbox_key_indexes.Rd +++ b/man/get_mbox_key_indexes.Rd @@ -2,16 +2,20 @@ % Please edit documentation in R/config.R \name{get_mbox_key_indexes} \alias{get_mbox_key_indexes} -\title{Get Mailing List Mod Mbox Key Indexes} +\title{Returns the list of mailing list mod mbox project keys.} \usage{ get_mbox_key_indexes(config_file) } \arguments{ -\item{config_file}{The parsed config file} +\item{config_file}{The parsed configuration file.} } \value{ -the list of mod Mbox mail key indexes +The list of mod mbox mailing list keys. } \description{ -Gets the list of mod Mbox mail key indexes +This function returns the list of mailing list mod mbox project +keys, that is specified in the input parameter `config_file`. The input, +`config_file` must be a parsed configuration file. The function will inform +the user if the project keys exist in the parsed configuration +file, `config_file`. } diff --git a/man/get_mbox_mailing_list.Rd b/man/get_mbox_mailing_list.Rd index 60c3350..9d9379c 100644 --- a/man/get_mbox_mailing_list.Rd +++ b/man/get_mbox_mailing_list.Rd @@ -2,24 +2,22 @@ % Please edit documentation in R/config.R \name{get_mbox_mailing_list} \alias{get_mbox_mailing_list} -\title{Get Mod Mbox Mailing List} +\title{Returns the mbox mailing list for a specific project key.} \usage{ -get_mbox_mailing_list(config_file, project_key_index) - get_mbox_mailing_list(config_file, project_key_index) } \arguments{ -\item{config_file}{The parsed config file} +\item{config_file}{The parsed configuration file.} -\item{project_key_index}{The name of the index of the project key (e.g. "project_key_1" or "project_key_2")} +\item{project_key_index}{The name of the index of the project key (e.g. "project_key_1" or "project_key_2").} } \value{ -the Mbox mailing list for project specified by key index `project_key_index` - -the Mbox archive type for project specified by key index `project_key_index` +The mbox mailing list for project specified by key `project_key_index`. } \description{ -Gets the Mbox mailing list for a specific project key index - -Gets the Mbox archive type for a specific project key index +This function returns the specific mbox mailing list for a +specific project key, `project_key_index`, that is specified in the input +parameter `config_file`. The input, `config_file` must be a parsed +configuration file. The function will inform the user if the mailing +list for mbox exists in the parsed configuration file, `config_file`. } diff --git a/man/get_mbox_path.Rd b/man/get_mbox_path.Rd index dd7c813..079611d 100644 --- a/man/get_mbox_path.Rd +++ b/man/get_mbox_path.Rd @@ -2,18 +2,23 @@ % Please edit documentation in R/config.R \name{get_mbox_path} \alias{get_mbox_path} -\title{Get Mbox Save Path} +\title{Returns the local folder path to store mbox data for a specific project key.} \usage{ get_mbox_path(config_file, project_key_index) } \arguments{ -\item{config_file}{The parsed config file} +\item{config_file}{The parsed configuration file.} -\item{project_key_index}{The name of the index of the project key (e.g. "project_key_1" or "project_key_2")} +\item{project_key_index}{The name of the index of the project key (e.g. "project_key_1" or "project_key_2").} } \value{ -the local Mbox path for project specified by key index `project_key_index` +The local mbox path for project specified by key `project_key_index`. } \description{ -Gets the local path to store Mbox data for a specific project key index +This function returns the local folder path used to store +mbox data for a specific project key, `project_key_index`, that is specified +in the input parameter `config_file`. The input, `config_file` must be a +parsed configuration file. The function will inform the user if the specific +local folder path to store mbox data exists in the parsed configuration +file, `config_file`. } diff --git a/man/get_nvdfeed_folder_path.Rd b/man/get_nvdfeed_folder_path.Rd index 240cb04..24622d7 100644 --- a/man/get_nvdfeed_folder_path.Rd +++ b/man/get_nvdfeed_folder_path.Rd @@ -2,16 +2,21 @@ % Please edit documentation in R/config.R \name{get_nvdfeed_folder_path} \alias{get_nvdfeed_folder_path} -\title{Get Nvd Feed Folder Path} +\title{Returns the local folder path that contains the nvd (National Vulnerability +Database) feeds.} \usage{ get_nvdfeed_folder_path(config_file) } \arguments{ -\item{config_file}{The parsed config file} +\item{config_file}{The parsed configuration file.} } \value{ -the folder path with nvd feeds +The folder path with nvd feeds. } \description{ -Gets the folder path with nvd feeds +This function returns the local folder path for nvd feeds, +that is specified in the input parameter `config_file`. The input, +`config_file` must be a parsed configuration file. The function will inform +the user if the local folder path for the nvd feeds exists in the parsed +configuration file, `config_file`. } diff --git a/man/get_parsed.Rd b/man/get_parsed.Rd new file mode 100644 index 0000000..ef03989 --- /dev/null +++ b/man/get_parsed.Rd @@ -0,0 +1,21 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/config.R +\name{get_parsed} +\alias{get_parsed} +\title{Returns the parsed configuration file (.yml).} +\usage{ +get_parsed(config_path) +} +\arguments{ +\item{config_path}{The path of the config file from the kaiaulu directory (e.g. "conf/kaiaulu.yml").} +} +\value{ +The parsed config file whose path is specified by `config_path`. +} +\description{ +The input file is expected to be in the .yml format. +The function returns a parsed version of the input .yml file, and it will +inform the user if the input .yml file path does not exist. The contents +of the input .yml file may contain machine-dependent paths that may need to +be modified by the user. +} diff --git a/man/get_pattern4_filepath.Rd b/man/get_pattern4_filepath.Rd index b4aefb9..64d5b4f 100644 --- a/man/get_pattern4_filepath.Rd +++ b/man/get_pattern4_filepath.Rd @@ -2,16 +2,20 @@ % Please edit documentation in R/config.R \name{get_pattern4_filepath} \alias{get_pattern4_filepath} -\title{Get Pattern4 Output Filepath} +\title{Returns the folder path for the output of the pattern4 analysis.} \usage{ get_pattern4_filepath(config_file) } \arguments{ -\item{config_file}{The parsed config file} +\item{config_file}{The parsed configuration file.} } \value{ -the Pattern4 output filepath +The Pattern4 output folder path. } \description{ -Gets the Pattern4 filepath where the output is stored +This function returns the folder path that contains the +output of the pattern4 analysis for the project, that is specified in the +input parameter `config_file`. The input, `config_file` must be a parsed +configuration file. The function will inform the user if the folder path +exists in the parsed configuration file, `config_file`. } diff --git a/man/get_pattern4_folder_path.Rd b/man/get_pattern4_folder_path.Rd index ead6e45..914a438 100644 --- a/man/get_pattern4_folder_path.Rd +++ b/man/get_pattern4_folder_path.Rd @@ -2,16 +2,20 @@ % Please edit documentation in R/config.R \name{get_pattern4_folder_path} \alias{get_pattern4_folder_path} -\title{Get Pattern4 Class Folder Path} +\title{Returns the folder path for class pattern4 analysis.} \usage{ get_pattern4_folder_path(config_file) } \arguments{ -\item{config_file}{The parsed config file} +\item{config_file}{The parsed configuration file.} } \value{ -the Pattern4 class folder path +The Pattern4 class folder path. } \description{ -Gets the Pattern4 class folder path where the output is stored +This function returns the folder path used to store the classes +for the pattern4 analysis for the project, that is specified in the input +parameter `config_file`. The input, `config_file` must be a parsed +configuration file. The function will inform the user if the folder path +exists in the parsed configuration file, `config_file`. } diff --git a/man/get_srcml_filepath.Rd b/man/get_srcml_filepath.Rd index f719480..a313031 100644 --- a/man/get_srcml_filepath.Rd +++ b/man/get_srcml_filepath.Rd @@ -2,16 +2,20 @@ % Please edit documentation in R/config.R \name{get_srcml_filepath} \alias{get_srcml_filepath} -\title{Get SrcML Filepath} +\title{Returns the file path for the output of the srcML analysis for the project.} \usage{ get_srcml_filepath(config_file) } \arguments{ -\item{config_file}{The parsed config file} +\item{config_file}{The parsed configuration file.} } \value{ -the SrcML filepath +The output file path for srcML analysis. } \description{ -Gets the SrcML filepath where the output is stored +This function returns the file path to be used to store the +output of the srcML analysis for the project, that is specified in the +input parameter `config_file`. The input, `config_file` must be a parsed +configuration file. The function will inform the user if the file path +exists in the parsed configuration file, `config_file`. } diff --git a/man/get_substring_filepath.Rd b/man/get_substring_filepath.Rd index 4111ef5..7109f91 100644 --- a/man/get_substring_filepath.Rd +++ b/man/get_substring_filepath.Rd @@ -2,16 +2,20 @@ % Please edit documentation in R/config.R \name{get_substring_filepath} \alias{get_substring_filepath} -\title{Get Substring Filepaths} +\title{Returns the list of file extensions used for filtering files to remove.} \usage{ get_substring_filepath(config_file) } \arguments{ -\item{config_file}{The parsed config file} +\item{config_file}{The parsed configuration file.} } \value{ -the substring filepaths +The list of file extensions to remove. } \description{ -Gets the substring filepaths for filtering +This function returns the list of file extensions that will be +used for filtering files specified in the input parameter `config_file`. The +input, `config_file` must be a parsed configuration file. The function will +inform the user if the list of file extensions exists in the parsed +configuration file, `config_file`. } diff --git a/man/get_tool_project.Rd b/man/get_tool_project.Rd new file mode 100644 index 0000000..23b6122 --- /dev/null +++ b/man/get_tool_project.Rd @@ -0,0 +1,24 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/config.R +\name{get_tool_project} +\alias{get_tool_project} +\title{Returns the specified tool project from a parsed tool configuration file.} +\usage{ +get_tool_project(tool_name, config_file) +} +\arguments{ +\item{tool_name}{The name of the tool (e.g. "perceval" or "dv8").} + +\item{config_file}{The parsed configuration file.} +} +\value{ +The specified `tool_name` tool project from `config_file`. +} +\description{ +This function returns a path to a specified tool from a +specified parsed tool configuration file. The function takes the input +`tool_name` and uses it to index a specific tool project in a parsed +tool configuration file, `config_file`, where it then returns the specified +tool project. The function will inform the user if the specified attribute, +`tool_name`, exists in the parsed configuration file, `config_file`. +} diff --git a/man/get_tools.Rd b/man/get_tools.Rd deleted file mode 100644 index 800c81e..0000000 --- a/man/get_tools.Rd +++ /dev/null @@ -1,17 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/config.R -\name{get_tools} -\alias{get_tools} -\title{Get Parsed Tools File} -\usage{ -get_tools(tool_path = "tools.yml") -} -\arguments{ -\item{tool_path}{The path to the tools file, defaulted at tools.yml} -} -\value{ -the parsed tools file -} -\description{ -Get Parsed Tools File -} diff --git a/man/get_tools_project.Rd b/man/get_tools_project.Rd deleted file mode 100644 index cd81e2a..0000000 --- a/man/get_tools_project.Rd +++ /dev/null @@ -1,19 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/config.R -\name{get_tools_project} -\alias{get_tools_project} -\title{Get Tools Project} -\usage{ -get_tools_project(tool_name, tools_file = get_tools()) -} -\arguments{ -\item{tool_name}{The name of the tool (e.g. "perceval" or "dv8")} - -\item{tools_file}{The parsed tools file, defaulted at `get_tools()`} -} -\value{ -the specified `tool_name` tools project from `tools_file` -} -\description{ -Gets the tools project from the parsed tools file -} diff --git a/man/get_topics.Rd b/man/get_topics.Rd index fd2f099..2f3035a 100644 --- a/man/get_topics.Rd +++ b/man/get_topics.Rd @@ -2,16 +2,20 @@ % Please edit documentation in R/config.R \name{get_topics} \alias{get_topics} -\title{Get Topics} +\title{Returns the list of topics and keywords for analysis.} \usage{ get_topics(config_file) } \arguments{ -\item{config_file}{The parsed config file} +\item{config_file}{The parsed configuration file.} } \value{ -the topics +The list of keywords and topics for analysis. } \description{ -Gets the topics and keywords for analysis +This function returns the list of keywords and topics for +analysis, that is specified in the input parameter `config_file`. The +input, `config_file` must be a parsed configuration file. The function will +inform the user if the list of keywords and topics exists in the parsed +configuration file, `config_file`. } diff --git a/man/get_uctags_line_types.Rd b/man/get_uctags_line_types.Rd index 02ccdb7..8fd5534 100644 --- a/man/get_uctags_line_types.Rd +++ b/man/get_uctags_line_types.Rd @@ -2,16 +2,20 @@ % Please edit documentation in R/config.R \name{get_uctags_line_types} \alias{get_uctags_line_types} -\title{Get Uctags Line Types} +\title{Returns the types to keep to to be considered for analysis.} \usage{ get_uctags_line_types(config_file) } \arguments{ -\item{config_file}{The parsed config file} +\item{config_file}{The parsed configuration file.} } \value{ -the uctags line type +The lines type to keep for analysis. } \description{ -Gets the Uctags keep lines type +This function returns the types of file-file dependencies that +should be considered, that are specified in the input parameter +`config_file`. The input, `config_file` must be a parsed configuration file. +The function will inform the user if the lines type to keep exists in the +parsed configuration file, `config_file`. } diff --git a/man/get_window_end_commit.Rd b/man/get_window_end_commit.Rd index 47d94ad..c3a9e2f 100644 --- a/man/get_window_end_commit.Rd +++ b/man/get_window_end_commit.Rd @@ -2,16 +2,20 @@ % Please edit documentation in R/config.R \name{get_window_end_commit} \alias{get_window_end_commit} -\title{Get Window End Commit} +\title{Returns the ending commit for a window for analysis.} \usage{ get_window_end_commit(config_file) } \arguments{ -\item{config_file}{The parsed config file} +\item{config_file}{The parsed configuration file.} } \value{ -the analysis window end commit +The end commit for a window for analysis. } \description{ -Gets the analysis window end commit +This function returns the ending commit for a window of time +for analysis (the time stamp is inferred from gitlog), that is specified in +the input parameter `config_file`. The input, `config_file` must be a parsed +configuration file. The function will inform the user if the end commit +exists in the parsed configuration file, `config_file`. } diff --git a/man/get_window_size.Rd b/man/get_window_size.Rd index a9b3a41..6ca54e7 100644 --- a/man/get_window_size.Rd +++ b/man/get_window_size.Rd @@ -2,16 +2,19 @@ % Please edit documentation in R/config.R \name{get_window_size} \alias{get_window_size} -\title{Get Analysis Window Size} +\title{Returns the size of a window for analysis.} \usage{ get_window_size(config_file) } \arguments{ -\item{config_file}{The parsed config file} +\item{config_file}{The parsed configuration file.} } \value{ -the analysis window size +The size of a window for analysis. } \description{ -Gets the analysis window size +This function returns the size of a window, that is +specified in the input parameter `config_file`. The input, `config_file` +must be a parsed configuration file. The function will inform the user if +the window size exists in the parsed configuration file, `config_file`. } diff --git a/man/get_window_start_commit.Rd b/man/get_window_start_commit.Rd index a24379b..312f376 100644 --- a/man/get_window_start_commit.Rd +++ b/man/get_window_start_commit.Rd @@ -2,16 +2,20 @@ % Please edit documentation in R/config.R \name{get_window_start_commit} \alias{get_window_start_commit} -\title{Get Window Start Commit} +\title{Returns the starting commit for a window for analysis.} \usage{ get_window_start_commit(config_file) } \arguments{ -\item{config_file}{The parsed config file} +\item{config_file}{The parsed configuration file.} } \value{ -the analysis window start commit +The start commit for a window for analysis. } \description{ -Gets the analysis window start commit +This function returns the starting commit for a window of time +for analysis (the time stamp is inferred from gitlog), that is specified in +the input parameter `config_file`. The input, `config_file` must be a parsed +configuration file. The function will inform the user if the start commit +exists in the parsed configuration file, `config_file`. } diff --git a/vignettes/blamed_line_types_showcase.Rmd b/vignettes/blamed_line_types_showcase.Rmd index 0f852d4..bc06c1d 100644 --- a/vignettes/blamed_line_types_showcase.Rmd +++ b/vignettes/blamed_line_types_showcase.Rmd @@ -84,12 +84,12 @@ filter: We load the above various sections of the single .yaml project configuration file as follows: ```{r} -tool <- get_tools() -conf <- get_conf("conf/apr.yml") +tool <- get_parsed("tools.yml") +conf <- get_parsed("conf/apr.yml") # 3rd Party Tools -perceval_path <- get_tools_project("perceval", tool) -utags_path <- get_tools_project("utags", tool) +perceval_path <- get_tool_project("perceval", tool) +utags_path <- get_tool_project("utags", tool) # Ctags Line Types kinds <- get_uctags_line_types(conf) diff --git a/vignettes/bug_count.Rmd b/vignettes/bug_count.Rmd index bcaf577..4af4802 100644 --- a/vignettes/bug_count.Rmd +++ b/vignettes/bug_count.Rmd @@ -36,19 +36,20 @@ This notebook leverages the JIRA issues data collected from the R Notebook `down As usual, the first step is to load the project configuration file. ```{r} -tool <- yaml::read_yaml("../tools.yml") -conf <- yaml::read_yaml("../conf/geronimo.yml") -perceval_path <- tool[["perceval"]] -git_repo_path <- conf[["version_control"]][["log"]] +tool <- get_parsed("tools.yml") +conf <- get_parsed("conf/geronimo.yml") +perceval_path <- get_tool_project("perceval", tool) +git_repo_path <- get_git_repo_path(conf) # Issue ID Regex on Commit Messages -issue_id_regex <- conf[["commit_message_id_regex"]][["issue_id"]] +issue_id_regex <- get_issue_id_regex(conf) # Path to Jira Issues (obtained using `download_jira_data Notebook`) -jira_issues_path <- conf[["issue_tracker"]][["jira"]][["issues"]] +# Specify project_key_index in get_jira_issues_path() (e.g. "project_key_1") +jira_issues_path <- get_jira_issues_path(conf, "project_key_1") # Filters -file_extensions <- conf[["filter"]][["keep_filepaths_ending_with"]] -substring_filepath <- conf[["filter"]][["remove_filepaths_containing"]] +file_extensions <- get_file_extensions(conf) +substring_filepath <- get_substring_filepath(conf) ``` To establish bug count, we must map each file to its associated issue. In general (but not always), an open source project will adopt a commit message convention to label issue ids. For example, Kaiaulu uses `i #`. JIRA dictates issue ids in the format PROJECT-. We can use this assumption to find the issues that the git log commits are trying to fix. You can create your own regular expression by manually inspecting some of the commit messages (for example, compare the regular expression from the geronimo project used here against [its commit message](https://github.com/apache/geronimo/commits/trunk)). diff --git a/vignettes/causal_flaws.Rmd b/vignettes/causal_flaws.Rmd index 4f8136f..c842021 100644 --- a/vignettes/causal_flaws.Rmd +++ b/vignettes/causal_flaws.Rmd @@ -44,46 +44,47 @@ For implementation details, please refer to the function reference documentation The first step is loading the project configuration file, which contains information for both the project data provenance, and the various parameters used for all the tools. Refer to [Kaiaulu's repo conf folder](https://github.com/sailuh/kaiaulu/tree/master/conf) for the configuration file of interest used in the code block below. ```{r} -tool <- yaml::read_yaml("../tools.yml") -#conf <- yaml::read_yaml("../conf/tse_cassandra.yml") -conf <- yaml::read_yaml("../conf/camel.yml") -perceval_path <- tool[["perceval"]] -dv8_path <- tool[["dv8"]] -scc_path <- tool[["scc"]] +tool <- get_parsed("tools.yml") +#conf <- get_parsed("conf/tse_cassandra.yml") +conf <- get_parsed("conf/camel.yml") +perceval_path <- get_tool_project("perceval", tool) +dv8_path <- get_tool_project("dv8", tool) +scc_path <- get_tool_project("scc", tool) # Gitlog parameters -git_repo_path <- conf[["version_control"]][["log"]] -git_branch <- conf[["version_control"]][["branch"]][4] # camel 1.0.0 +git_repo_path <- get_git_repo_path(conf) +git_branch <- get_git_branches(conf)[4] # camel 1.0.0 # Depends parameters -depends_jar_path <- tool[["depends"]] -language <- conf[["tool"]][["depends"]][["code_language"]] -keep_dependencies_type <- conf[["tool"]][["depends"]][["keep_dependencies_type"]] +depends_jar_path <- get_tool_project("depends", tool) +language <- get_code_language(conf) +keep_dependencies_type <- get_keep_dependencies_type(conf) # Mailing List -mbox_path <- conf[["mailing_list"]][["mbox"]] +# Specify project_key_index in get_mbox_path() (e.g. "project_key_1") +mbox_path <- get_mbox_path(conf, "mail_key_1") # DV8 parameters -project_path <- conf[["tool"]][["dv8"]][["folder_path"]] +project_path <- get_dv8_folder_path(conf) project_name <- stringi::stri_split_regex(project_path,pattern = "/")[[1]] project_name <- project_name[length(project_name)] -flaws_params <- conf[["tool"]][["dv8"]][["architectural_flaws"]] +flaws_params <- get_dv8_flaws_params(conf) # Filters -file_extensions <- conf[["filter"]][["keep_filepaths_ending_with"]] -substring_filepath <- conf[["filter"]][["remove_filepaths_containing"]] -filter_commit_size <- conf[["filter"]][["remove_filepaths_on_commit_size_greather_than"]] +file_extensions <- get_file_extensions(conf) +substring_filepath <- get_substring_filepath(conf) +filter_commit_size <- get_filter_commit_size(conf) # Issue ID Regex on Commit Messages -issue_id_regex <- conf[["commit_message_id_regex"]][["issue_id"]] +issue_id_regex <- get_issue_id_regex(conf) # Path to Jira Issues (obtained using `download_jira_data Notebook`) -jira_issues_path <- conf[["issue_tracker"]][["jira"]][["issues"]] -jira_issue_comments_path <- conf[["issue_tracker"]][["jira"]][["issue_comments"]] - - +# Specify project_key_index in get_jira_issues_path() (e.g. "project_key_1") +jira_issues_path <- get_jira_issues_path(conf, "project_key_1") +# Specify project_key_index in get_jira_issues_comments_path (e.g. "project_key_1") +jira_issue_comments_path <- get_jira_issues_comments_path(conf, "project_key_1") ``` # Raw Data Pre-Processing for DV8 diff --git a/vignettes/community_detection_showcase.Rmd b/vignettes/community_detection_showcase.Rmd index 5e77a4b..43a0f6b 100644 --- a/vignettes/community_detection_showcase.Rmd +++ b/vignettes/community_detection_showcase.Rmd @@ -48,24 +48,24 @@ The remainder of this Notebook illustrates two functions for some of Kaiaulu net As usual, the first step is to load the project configuration file. ```{r} -tool <- yaml::read_yaml("../tools.yml") -conf <- yaml::read_yaml("../conf/apr.yml") +tool <- get_parsed("tools.yml") +conf <- get_parsed("conf/apr.yml") # 3rd Party Tools -perceval_path <- tool[["perceval"]] -utags_path <- tool[["utags"]] -oslom_dir_path <- tool[["oslom_dir"]] -oslom_undir_path <- tool[["oslom_undir"]] +perceval_path <- get_tool_project("perceval", tool) +utags_path <- get_tool_project("utags", tool) +oslom_dir_path <- get_tool_project("oslom_dir", tool) +oslom_undir_path <- get_tool_project("oslom_undir", tool) # Ctags Line Types -kinds <- conf[["tool"]][["uctags"]][["keep_lines_type"]] +kinds <- get_uctags_line_types(conf) # Local Git Repo Folder Path -git_repo_path <- conf[["version_control"]][["log"]] +git_repo_path <- get_git_repo_path(conf) # File Filters -file_extensions <- conf[["filter"]][["keep_filepaths_ending_with"]] -substring_filepath <- conf[["filter"]][["remove_filepaths_containing"]] +file_extensions <- get_file_extensions(conf) +substring_filepath <- get_substring_filepath(conf) ``` # Parse Git Log diff --git a/vignettes/depends_showcase.Rmd b/vignettes/depends_showcase.Rmd index 925f5c2..88b6a5b 100644 --- a/vignettes/depends_showcase.Rmd +++ b/vignettes/depends_showcase.Rmd @@ -29,19 +29,19 @@ require(knitr) ``` ```{r} -tool <- yaml::read_yaml("../tools.yml") -#conf <- yaml::read_yaml("../conf/apr.yml") -conf <- yaml::read_yaml("../conf/helix.yml") -git_repo_path <- conf[["version_control"]][["log"]] +tool <- get_parsed("tools.yml") +#conf <- get_parsed("conf/apr.yml") +conf <- get_parsed("conf/helix.yml") +git_repo_path <- get_git_repo_path(conf) # Depends parameters -depends_jar_path <- tool[["depends"]] -language <- conf[["tool"]][["depends"]][["code_language"]] -keep_dependencies_type <- conf[["tool"]][["depends"]][["keep_dependencies_type"]] +depends_jar_path <- get_tool_project("depends", tool) +language <- get_code_language(conf) +keep_dependencies_type <- get_keep_dependencies_type(conf) # Filters -file_extensions <- conf[["filter"]][["keep_filepaths_ending_with"]] -substring_filepath <- conf[["filter"]][["remove_filepaths_containing"]] +file_extensions <- get_file_extensions(conf) +substring_filepath <- get_substring_filepath(conf) ``` # Construct File Network diff --git a/vignettes/download_jira_issues.Rmd b/vignettes/download_jira_issues.Rmd index 40de087..bcd064c 100644 --- a/vignettes/download_jira_issues.Rmd +++ b/vignettes/download_jira_issues.Rmd @@ -45,16 +45,26 @@ To try out this Notebook, try the geronimo configuration file, and follow along First, we will load the Kaiaulu configuration file: ```{r} -conf <- yaml::read_yaml("../conf/kaiaulu.yml") +conf <- get_parsed("conf/kaiaulu.yml") + # Project domain -issue_tracker_domain <- conf[["issue_tracker"]][["jira"]][["domain"]] +# Specify project_key_index in get_jira_domain() (e.g. "project_key_1") +issue_tracker_domain <- get_jira_domain(conf, "project_key_1") + # Project key -issue_tracker_project_key <- conf[["issue_tracker"]][["jira"]][["project_key"]] +# Specify project_key_index in get_jira_project_key_name() (e.g. "project_key_1") +issue_tracker_project_key <- get_jira_project_key_name(conf, "project_key_1") + # Altered save paths. Important for naming conventions -save_path_issue_tracker_issues <- conf[["issue_tracker"]][["jira"]][["issues"]] -save_path_issue_tracker_issue_comments <- conf[["issue_tracker"]][["jira"]][["issue_comments"]] +# Specify project_key_index in get_jira_issues_path() (e.g. "project_key_1") +save_path_issue_tracker_issues <- get_jira_issues_path(conf, "project_key_1") + +# Specify project_key_index in get_jira_issues_comments_path() (e.g. "project_key_1") +save_path_issue_tracker_issue_comments <- get_jira_issues_comments_path(conf, "project_key_1") + # Unaltered save paths from config file for use with refresh function -refresh_issues <- conf[["issue_tracker"]][["jira"]][["issues"]] +# Specify project_key_index in get_jira_issues_path() (e.g. "project_key_1") +refresh_issues <- get_jira_issues_path(conf, "project_key_1") ``` If authentication is needed, save your username (e-mail) and password (API token) in a file, e.g. atlassian_credentials, where the first line is the username, and the second the API token, e.g. diff --git a/vignettes/download_mod_mbox.Rmd b/vignettes/download_mod_mbox.Rmd index 44a354b..a17fcf2 100644 --- a/vignettes/download_mod_mbox.Rmd +++ b/vignettes/download_mod_mbox.Rmd @@ -33,10 +33,16 @@ As usual, the first step is to load the project configuration file. # Project Configuration File ```{r} -conf <- yaml::read_yaml("../conf/helix.yml") -save_path_mbox <- conf[["mailing_list"]][["mbox"]] -mod_mbox_url <- conf[["mailing_list"]][["domain"]] -mailing_list <- conf[["mailing_list"]][["list_key"]] +conf <- get_parsed("conf/helix.yml") +#Specify project_key_index in get_mbox_path() (e.g. "project_key_1") +save_path_mbox <- get_mbox_path(conf, "mail_key_1") + +#Specify project_key_index in get_mbox_domain() (e.g. "project_key_1") +mod_mbox_url <- get_mbox_domain(conf, "mail_key_1") + +#Specify project_key_index in get_mbox_mailing_list() (e.g. "project_key_1") +mailing_list <- get_mbox_mailing_list(conf, "mail_key_1") + start_year <- 2017 end_year <- 2018 ``` diff --git a/vignettes/dv8_showcase.Rmd b/vignettes/dv8_showcase.Rmd index 3d95f14..10cbdec 100644 --- a/vignettes/dv8_showcase.Rmd +++ b/vignettes/dv8_showcase.Rmd @@ -30,30 +30,30 @@ require(openxlsx) ``` ```{r} -tool <- yaml::read_yaml("../tools.yml") -conf <- yaml::read_yaml("../conf/calculator.yml") -perceval_path <- tool[["perceval"]] -dv8_path <- tool[["dv8"]] +tool <- get_parsed("tools.yml") +conf <- get_parsed("conf/calculator.yml") +perceval_path <- get_tool_project("perceval", tool) +dv8_path <- get_tool_project("dv8", tool) # Gitlog parameters -git_repo_path <- conf[["version_control"]][["log"]] +git_repo_path <- get_git_repo_path(conf) # Depends parameters -depends_jar_path <- tool[["depends"]] -language <- conf[["tool"]][["depends"]][["code_language"]] -keep_dependencies_type <- conf[["tool"]][["depends"]][["keep_dependencies_type"]] +depends_jar_path <- get_tool_project("depends", tool) +language <- get_code_language(conf) +keep_dependencies_type <- get_keep_dependencies_type(conf) # DV8 parameters -project_path <- conf[["tool"]][["dv8"]][["folder_path"]] +project_path <- get_dv8_folder_path(conf) project_name <- stringi::stri_split_regex(project_path,pattern = "/")[[1]] project_name <- project_name[length(project_name)] -flaws_params <- conf[["tool"]][["dv8"]][["architectural_flaws"]] +flaws_params <- get_dv8_flaws_params(conf) # Filters -file_extensions <- conf[["filter"]][["keep_filepaths_ending_with"]] -substring_filepath <- conf[["filter"]][["remove_filepaths_containing"]] -filter_commit_size <- conf[["filter"]][["remove_filepaths_on_commit_size_greather_than"]] +file_extensions <- get_file_extensions(conf) +substring_filepath <- get_substring_filepath(conf) +filter_commit_size <- get_filter_commit_size(conf) ``` # Preparing Gitlog and Dependencies for DV8 From 1219265f319dc2eb71fccf772cdc6b0c0d830c37 Mon Sep 17 00:00:00 2001 From: Mark Burgess Date: Tue, 1 Oct 2024 21:14:19 -1000 Subject: [PATCH 19/32] i #230 Update and Refactor Conf/ Files - Updated mailing_list for conf/ files - Updated issue_tracker for conf/ files --- conf/ambari.yml | 29 ++++++++------ conf/apr.yml | 49 ++++++++++++++++------- conf/calculator.yml | 71 ++++++++++++++++++++------------- conf/camel.yml | 85 ++++++++++++++++++++-------------------- conf/chromium.yml | 83 ++++++++++++++++++++++++++------------- conf/geronimo.yml | 39 ++++++++++++++----- conf/helix.yml | 31 +++++++++------ conf/junit5.yml | 65 ++++++++++++++++++++++--------- conf/kaiaulu.yml | 55 ++++++++++++++++---------- conf/openssl.yml | 65 +++++++++++++++++++------------ conf/redhat.yml | 95 ++++++++++++++++++++++++++------------------- conf/spark.yml | 61 +++++++++++++++++++---------- conf/thrift.yml | 41 +++++++++++++------ conf/tomcat.yml | 61 +++++++++++++++++++---------- conf/tse_apex.yml | 59 ++++++++++++++++++++-------- 15 files changed, 569 insertions(+), 320 deletions(-) diff --git a/conf/ambari.yml b/conf/ambari.yml index a81d84a..0009fb7 100644 --- a/conf/ambari.yml +++ b/conf/ambari.yml @@ -52,20 +52,27 @@ version_control: mailing_list: mod_mbox: - mail_key_1: - archive_url: http://mail-archives.apache.org/mod_mbox/ambari-dev + project_key_1: + mailing_list: http://mail-archives.apache.org/mod_mbox/ambari-dev mbox: ../../rawdata/ambari/mod_mbox/ambari-dev/ - mailing_list: ambari-dev + mailing_list_type: ambari-dev archive_type: apache - mail_key_2: - archive_url: http://mail-archives.apache.org/mod_mbox/ambari-user + project_key_2: + mailing_list: http://mail-archives.apache.org/mod_mbox/ambari-user mbox: ../../rawdata/geronimo/mod_mbox/ambari-user/ - mailing_list: ambari-user + mailing_list_type: ambari-user archive_type: apache - pipermail: - mail_key_1: - archive_url: http://some/pipermail/url - mbox: ../../rawdata/geronimo/pipermail/geronimo-dev/ + # pipermail: + # project_key_1: + # mailing_list: https://mta.openssl.org/pipermail/openssl-dev/ + # mbox: ../../rawdata/openssl/pipermail/openssl-dev/ + # mailing_list_type: openssl-dev + # archive_type: mta + # project_key_2: + # mailing_list: https://mta.openssl.org/pipermail/openssl-users/ + # mbox: ../../rawdata/openssl/pipermail/openssl-users/ + # mailing_list_type: openssl-users + # archive_type: mta issue_tracker: jira: @@ -88,7 +95,7 @@ issue_tracker: pull_request: ../../rawdata/ambari/github/pull_request/apache_ambari/ commit: ../../rawdata/ambari/github/commit/apache_ambari/ # bugzilla: - # project_key: ambari + # project_key: ambari #vulnerabilities: # Folder path with nvd cve feeds (e.g. nvdcve-1.1-2018.json) diff --git a/conf/apr.yml b/conf/apr.yml index 9558d71..c3d22ea 100644 --- a/conf/apr.yml +++ b/conf/apr.yml @@ -46,25 +46,32 @@ version_control: mailing_list: mod_mbox: - mail_key_1: - archive_url: http://mail-archives.apache.org/mod_mbox/apr-dev + project_key_1: + mailing_list: http://mail-archives.apache.org/mod_mbox/apr-dev mbox: ../../rawdata/apr/mod_mbox/apr-dev/ - mailing_list: apr-dev + mailing_list_type: apr-dev archive_type: apache - pipermail: - mail_key_1: - archive_url: http://some/pipermail/url - mbox: ../../rawdata/geronimo/pipermail/geronimo-dev/ + # pipermail: + # project_key_1: + # mailing_list: https://mta.openssl.org/pipermail/openssl-dev/ + # mbox: ../../rawdata/openssl/pipermail/openssl-dev/ + # mailing_list_type: openssl-dev + # archive_type: mta + # project_key_2: + # mailing_list: https://mta.openssl.org/pipermail/openssl-users/ + # mbox: ../../rawdata/openssl/pipermail/openssl-users/ + # mailing_list_type: openssl-users + # archive_type: mta issue_tracker: - jira: - project_key_1: - # Obtained from the project's JIRA URL - domain: https://issues.apache.org/jira - #project_key: HELIX - # Download using `download_jira_data.Rmd` - # issues: ../../rawdata/apr/jira/issues/helix/ - # issue_comments: ../../rawdata/apr/jira/issue_comments/helix/ + # jira: + # project_key_1: + # # Obtained from the project's JIRA URL + # domain: https://issues.apache.org/jira + # project_key: HELIX + # # Download using `download_jira_data.Rmd` + # issues: ../../rawdata/apr/jira/issues/helix/ + # issue_comments: ../../rawdata/apr/jira/issue_comments/helix/ github: project_key_1: # Obtained from the project's GitHub URL @@ -76,6 +83,18 @@ issue_tracker: issue_search: ../..rawdata/apr/github/issue_search/apache_apr/ pull_request: ../../rawdata/apr/github/pull_request/apache_apr/ commit: ../../rawdata/apr/github/commit/apache_apr/ + # project_key_2: + # # Obtained from the project's GitHub URL + # owner: ssunoo2 + # repo: kaiaulu + # # Download using `download_github_comments.Rmd` + # issue_or_pr_comment: ../../rawdata/kaiaulu/github/issue_or_pr_comment/ssunoo2_kaiaulu/ + # issue: ../../rawdata/kaiaulu/github/issue/ssunoo2_kaiaulu/ + # refresh_issues: ../..rawdata/kaiaulu/github/refresh_issues/ssunoo2_kaiaulu + # pull_request: ../../kaiaulu/github/pull_request/ssunoo2_kaiaulu/ + # commit: ../../rawdata/kaiaulu/github/commit/ssunoo2_kaiaulu/ +# bugzilla: +# project_key: kaiaulu diff --git a/conf/calculator.yml b/conf/calculator.yml index 7184b59..f621b06 100644 --- a/conf/calculator.yml +++ b/conf/calculator.yml @@ -43,36 +43,39 @@ version_control: branch: - master -mailing_list: - # Where is the mbox located locally? - #mbox: ../../rawdata/mbox/apr-dev_2012_2019.mbox - # What is the domain of the chosen mailing list archive? - #domain: http://mail-archives.apache.org/mod_mbox - # Which lists of the domain will be used? - #list_key: - # - apr-dev - -#issue_tracker: -# jira: - # Obtained from the project's JIRA URL -# domain: https://issues.apache.org/jira - #project_key: HELIX - # Download using `download_jira_data.Rmd` - #issues: ../../rawdata/helix/jira/issues/ - #issue_comments: ../../rawdata/helix/jira/issue_comments/ - github: - - replies: ../../rawdata/Calculator/github/ +# mailing_list: +# mod_mbox: +# project_key_1: +# mailing_list: http://mail-archives.apache.org/mod_mbox/geronimo-dev +# mbox: ./../../../tse_motif_2021/dataset/mbox/apex-dev.mbox +# mailing_list_type: geronimo-dev +# archive_type: apache +# project_key_2: +# mailing_list: http://mail-archives.apache.org/mod_mbox/geronimo-user +# mbox: ../../rawdata/geronimo/mod_mbox/geronimo-user/ +# mailing_list_type: geronimo-user +# archive_type: apache +# pipermail: +# project_key_1: +# mailing_list: https://mta.openssl.org/pipermail/openssl-dev/ +# mbox: ../../rawdata/openssl/pipermail/openssl-dev/ +# mailing_list_type: openssl-dev +# archive_type: mta +# project_key_2: +# mailing_list: https://mta.openssl.org/pipermail/openssl-users/ +# mbox: ../../rawdata/openssl/pipermail/openssl-users/ +# mailing_list_type: openssl-users +# archive_type: mta issue_tracker: - jira: - project_key_1: - # Obtained from the project's JIRA URL - # domain: https://issues.apache.org/jira - # project_key: HELIX - # Download using `download_jira_data.Rmd` - # issues: ../../rawdata/helix/jira/issues/helix/ - # issue_comments: ../../rawdata/helix/jira/issue_comments/helix/ +# jira: +# project_key_1: +# # Obtained from the project's JIRA URL +# domain: https://sailuh.atlassian.net +# project_key: SAILUH +# # Download using `download_jira_data.Rmd` +# issues: ../../rawdata/kaiaulu/jira/issues/sailuh/ +# issue_comments: ../../rawdata/kaiaulu/jira/issue_comments/sailuh/ github: project_key_1: # Obtained from the project's GitHub URL @@ -84,6 +87,18 @@ issue_tracker: issue_search: ../../rawdata/Calculator/github/issue_search/HouariZegai_Calculator/ pull_request: ../../rawdata/Calculator/github/pull_request/HouariZegai_Calculator/ commit: ../../rawdata/Calculator/github/commit/HouariZegai_Calculator/ +# project_key_2: +# # Obtained from the project's GitHub URL +# owner: ssunoo2 +# repo: kaiaulu +# # Download using `download_github_comments.Rmd` +# issue_or_pr_comment: ../../rawdata/kaiaulu/github/issue_or_pr_comment/ssunoo2_kaiaulu/ +# issue: ../../rawdata/kaiaulu/github/issue/ssunoo2_kaiaulu/ +# refresh_issues: ../..rawdata/kaiaulu/github/refresh_issues/ssunoo2_kaiaulu +# pull_request: ../../kaiaulu/github/pull_request/ssunoo2_kaiaulu/ +# commit: ../../rawdata/kaiaulu/github/commit/ssunoo2_kaiaulu/ +# bugzilla: +# project_key: kaiaulu #vulnerabilities: # Folder path with nvd cve feeds (e.g. nvdcve-1.1-2018.json) diff --git a/conf/camel.yml b/conf/camel.yml index 284dfcf..a7b9ef0 100644 --- a/conf/camel.yml +++ b/conf/camel.yml @@ -48,58 +48,59 @@ version_control: mailing_list: mod_mbox: - mail_key_1: - archive_url: http://mail-archives.apache.org/mod_mbox/camel-dev + project_key_1: + mailing_list: http://mail-archives.apache.org/mod_mbox/camel-dev mbox: ../../rawdata/camel/mod_mbox/camel-dev/ - mailing_list: camel-dev + mailing_list_type: camel-dev archive_type: apache - mail_key_2: - archive_url: http://mail-archives.apache.org/mod_mbox/camel-users + project_key_2: + mailing_list: http://mail-archives.apache.org/mod_mbox/camel-users mbox: ../../rawdata/camel/mod_mbox/camel-users/ - mailing_list: camel-users + mailing_list_type: camel-users archive_type: apache - pipermail: - mail_key_1: - archive_url: http://some/pipermail/url - mbox: ../../rawdata/geronimo/pipermail/geronimo-dev/ + # pipermail: + # project_key_1: + # mailing_list: https://mta.openssl.org/pipermail/openssl-dev/ + # mbox: ../../rawdata/openssl/pipermail/openssl-dev/ + # mailing_list_type: openssl-dev + # archive_type: mta + # project_key_2: + # mailing_list: https://mta.openssl.org/pipermail/openssl-users/ + # mbox: ../../rawdata/openssl/pipermail/openssl-users/ + # mailing_list_type: openssl-users + # archive_type: mta issue_tracker: jira: # Obtained from the project's JIRA URL -# domain: https://issues.apache.org/jira +# domain: https://issues.apache.org/jira project_key: CAMEL # Download using `download_jira_data.Rmd` - issues: ../../rawdata/camel/jira/issues/ - issue_comments: ../../rawdata/camel/jira/issue_comments/ -# github: - # Obtained from the project's GitHub URL -# owner: apache -# repo: apr - # Download using `download_github_comments.Rmd` -# replies: ../../rawdata/apr/github/ - - -issue_tracker: - jira: - project_key_1: - # Obtained from the project's JIRA URL - # domain: https://issues.apache.org/jira - project_key: CAMEL - # Download using `download_jira_data.Rmd` - issues: ../../rawdata/camel/jira/issues/camel/ - issue_comments: ../../rawdata/camel/jira/issue_comments/camel/ - github: - project_key_1: - # Obtained from the project's GitHub URL - # owner: apache - # repo: apr - # Download using `download_github_comments.Rmd` - # issue_or_pr_comment: ../../rawdata/apr/github/issue_or_pr_comment/apache_apr/ - # issue: ../../rawdata/apr/github/issue/apache_apr/ - # issue_search: ../../rawdata/apr/github/issue_search/apache_apr/ - # pull_request: ../../rawdata/apr/github/pull_request/apache_apr/ - # commit: ../../rawdata/apr/github/commit/apache_apr/ - + issues: ../../rawdata/camel/jira/issues/camel/ + issue_comments: ../../rawdata/camel/jira/issue_comments/camel/ +# github: +# project_key_1: +# # Obtained from the project's GitHub URL +# owner: sailuh +# repo: kaiaulu +# # Download using `download_github_comments.Rmd` +# issue_or_pr_comment: ../../rawdata/kaiaulu/github/issue_or_pr_comment/sailuh_kaiaulu/ +# issue: ../../rawdata/kaiaulu/github/issue/sailuh_kaiaulu/ +# issue_search: ../..rawdata/kaiaulu/github/issue_search/sailuh_kaiaulu/ +# pull_request: ../../kaiaulu/github/pull_request/sailuh_kaiaulu/ +# commit: ../../rawdata/kaiaulu/github/commit/sailuh_kaiaulu/ +# project_key_2: +# # Obtained from the project's GitHub URL +# owner: ssunoo2 +# repo: kaiaulu +# # Download using `download_github_comments.Rmd` +# issue_or_pr_comment: ../../rawdata/kaiaulu/github/issue_or_pr_comment/ssunoo2_kaiaulu/ +# issue: ../../rawdata/kaiaulu/github/issue/ssunoo2_kaiaulu/ +# refresh_issues: ../..rawdata/kaiaulu/github/refresh_issues/ssunoo2_kaiaulu +# pull_request: ../../kaiaulu/github/pull_request/ssunoo2_kaiaulu/ +# commit: ../../rawdata/kaiaulu/github/commit/ssunoo2_kaiaulu/ +# bugzilla: +# project_key: kaiaulu #vulnerabilities: # Folder path with nvd cve feeds (e.g. nvdcve-1.1-2018.json) diff --git a/conf/chromium.yml b/conf/chromium.yml index cafed7a..2b3a6fd 100644 --- a/conf/chromium.yml +++ b/conf/chromium.yml @@ -43,35 +43,62 @@ version_control: branch: - master -mailing_list: - # Where is the mbox located locally? - #mbox: ../../rawdata/mbox/geronimo-dev.mbox - # What is the domain of the chosen mailing list archive? - #domain: http://mail-archives.apache.org/mod_mbox - # Which lists of the domain will be used? - #list_key: - # - geronimo-dev +# mailing_list: +# mod_mbox: +# project_key_1: +# mailing_list: http://mail-archives.apache.org/mod_mbox/geronimo-dev +# mbox: ./../../../tse_motif_2021/dataset/mbox/apex-dev.mbox +# mailing_list_type: geronimo-dev +# archive_type: apache +# project_key_2: +# mailing_list: http://mail-archives.apache.org/mod_mbox/geronimo-user +# mbox: ../../rawdata/geronimo/mod_mbox/geronimo-user/ +# mailing_list_type: geronimo-user +# archive_type: apache +# pipermail: +# project_key_1: +# mailing_list: https://mta.openssl.org/pipermail/openssl-dev/ +# mbox: ../../rawdata/openssl/pipermail/openssl-dev/ +# mailing_list_type: openssl-dev +# archive_type: mta +# project_key_2: +# mailing_list: https://mta.openssl.org/pipermail/openssl-users/ +# mbox: ../../rawdata/openssl/pipermail/openssl-users/ +# mailing_list_type: openssl-users +# archive_type: mta -issue_tracker: - jira: - project_key_1: - # Obtained from the project's JIRA URL - # domain: https://issues.apache.org/jira - #project_key: HELIX - # Download using `download_jira_data.Rmd` - # issues: ../../rawdata/helix/jira/issues/helix/ - # issue_comments: ../../rawdata/helix/jira/issue_comments/helix/ - github: - project_key_1: - # Obtained from the project's GitHub URL - # owner: apache - # repo: apr - # # Download using `download_github_comments.Rmd` - # issue_or_pr_comment: ../../rawdata/apr/github/issue_or_pr_comment/apache_apr/ - # issue: ../../rawdata/apr/github/issue/apache_apr/ - # issue_search: ../..rawdata/apr/github/issue_search/apache_apr/ - # pull_request: ../../rawdata/apr/github/pull_request/apache_apr/ - # commit: ../../rawdata/apr/github/commit/apache_apr/ +# issue_tracker: +# jira: +# project_key_1: +# # Obtained from the project's JIRA URL +# domain: https://sailuh.atlassian.net +# project_key: SAILUH +# # Download using `download_jira_data.Rmd` +# issues: ../../rawdata/kaiaulu/jira/issues/sailuh/ +# issue_comments: ../../rawdata/kaiaulu/jira/issue_comments/sailuh/ +# github: +# project_key_1: +# # Obtained from the project's GitHub URL +# owner: sailuh +# repo: kaiaulu +# # Download using `download_github_comments.Rmd` +# issue_or_pr_comment: ../../rawdata/kaiaulu/github/issue_or_pr_comment/sailuh_kaiaulu/ +# issue: ../../rawdata/kaiaulu/github/issue/sailuh_kaiaulu/ +# issue_search: ../..rawdata/kaiaulu/github/issue_search/sailuh_kaiaulu/ +# pull_request: ../../kaiaulu/github/pull_request/sailuh_kaiaulu/ +# commit: ../../rawdata/kaiaulu/github/commit/sailuh_kaiaulu/ +# project_key_2: +# # Obtained from the project's GitHub URL +# owner: ssunoo2 +# repo: kaiaulu +# # Download using `download_github_comments.Rmd` +# issue_or_pr_comment: ../../rawdata/kaiaulu/github/issue_or_pr_comment/ssunoo2_kaiaulu/ +# issue: ../../rawdata/kaiaulu/github/issue/ssunoo2_kaiaulu/ +# refresh_issues: ../..rawdata/kaiaulu/github/refresh_issues/ssunoo2_kaiaulu +# pull_request: ../../kaiaulu/github/pull_request/ssunoo2_kaiaulu/ +# commit: ../../rawdata/kaiaulu/github/commit/ssunoo2_kaiaulu/ +# bugzilla: +# project_key: kaiaulu vulnerabilities: # Folder path with nvd cve feeds (e.g. nvdcve-1.1-2018.json) diff --git a/conf/geronimo.yml b/conf/geronimo.yml index 55161d3..8b82992 100644 --- a/conf/geronimo.yml +++ b/conf/geronimo.yml @@ -45,20 +45,27 @@ version_control: mailing_list: mod_mbox: - mail_key_1: - archive_url: http://mail-archives.apache.org/mod_mbox/geronimo-dev + project_key_1: + mailing_list: http://mail-archives.apache.org/mod_mbox/geronimo-dev mbox: ../../rawdata/geronimo/mod_mbox/geronimo-dev/ - mailing_list: geronimo-dev + mailing_list_type: geronimo-dev archive_type: apache - mail_key_2: - archive_url: http://mail-archives.apache.org/mod_mbox/geronimo-user + project_key_2: + mailing_list: http://mail-archives.apache.org/mod_mbox/geronimo-user mbox: ../../rawdata/geronimo/mod_mbox/geronimo-user/ - mailing_list: geronimo-user + mailing_list_type: geronimo-user archive_type: apache - pipermail: - mail_key_1: - archive_url: http://some/pipermail/url - mbox: ../../rawdata/geronimo/pipermail/geronimo-dev/ + # pipermail: + # project_key_1: + # mailing_list: https://mta.openssl.org/pipermail/openssl-dev/ + # mbox: ../../rawdata/openssl/pipermail/openssl-dev/ + # mailing_list_type: openssl-dev + # archive_type: mta + # project_key_2: + # mailing_list: https://mta.openssl.org/pipermail/openssl-users/ + # mbox: ../../rawdata/openssl/pipermail/openssl-users/ + # mailing_list_type: openssl-users + # archive_type: mta issue_tracker: jira: @@ -80,6 +87,18 @@ issue_tracker: issue_search: ../../rawdata/geronimo/github/issue_search/apache_geronimo/ pull_request: ../../rawdata/geronimo/github/pull_request/apache_geronimo/ commit: ../../rawdata/geronimo/github/commit/apache_geronimo/ +# project_key_2: +# # Obtained from the project's GitHub URL +# owner: ssunoo2 +# repo: kaiaulu +# # Download using `download_github_comments.Rmd` +# issue_or_pr_comment: ../../rawdata/kaiaulu/github/issue_or_pr_comment/ssunoo2_kaiaulu/ +# issue: ../../rawdata/kaiaulu/github/issue/ssunoo2_kaiaulu/ +# refresh_issues: ../..rawdata/kaiaulu/github/refresh_issues/ssunoo2_kaiaulu +# pull_request: ../../kaiaulu/github/pull_request/ssunoo2_kaiaulu/ +# commit: ../../rawdata/kaiaulu/github/commit/ssunoo2_kaiaulu/ +# bugzilla: +# project_key: kaiaulu #vulnerabilities: # Folder path with nvd cve feeds (e.g. nvdcve-1.1-2018.json) diff --git a/conf/helix.yml b/conf/helix.yml index fa48ad5..7c47b5b 100644 --- a/conf/helix.yml +++ b/conf/helix.yml @@ -49,20 +49,27 @@ version_control: mailing_list: mod_mbox: - mail_key_1: - archive_url: http://mail-archives.apache.org/mod_mbox/helix-dev + project_key_1: + mailing_list: http://mail-archives.apache.org/mod_mbox/helix-dev mbox: ../../rawdata/helix/mod_mbox/helix-dev/ - mailing_list: helix-dev + mailing_list_type: helix-dev archive_type: apache - mail_key_2: - archive_url: http://mail-archives.apache.org/mod_mbox/helix-user + project_key_2: + mailing_list_type: http://mail-archives.apache.org/mod_mbox/helix-user mbox: ../../rawdata/helix/mod_mbox/helix-user/ - mailing_list: helix-user + mailing_list_type: helix-user archive_type: apache - pipermail: - mail_key_1: - archive_url: http://some/pipermail/url - mbox: ../../rawdata/geronimo/pipermail/geronimo-dev/ + # pipermail: + # project_key_1: + # mailing_list: https://mta.openssl.org/pipermail/openssl-dev/ + # mbox: ../../rawdata/openssl/pipermail/openssl-dev/ + # mailing_list_type: openssl-dev + # archive_type: mta + # project_key_2: + # mailing_list: https://mta.openssl.org/pipermail/openssl-users/ + # mbox: ../../rawdata/openssl/pipermail/openssl-users/ + # mailing_list_type: openssl-users + # archive_type: mta issue_tracker: jira: @@ -84,8 +91,8 @@ issue_tracker: issue_search: ../../rawdata/helix/github/issue_search/apache_helix/ pull_request: ../../rawdata/helix/github/pull_request/apache_helix/ commit: ../../rawdata/helix/github/commit/apache_helix/ - #bugzilla: - #project_key: helix + # bugzilla: + # project_key: helix #vulnerabilities: # Folder path with nvd cve feeds (e.g. nvdcve-1.1-2018.json) diff --git a/conf/junit5.yml b/conf/junit5.yml index 25c4cb6..91854ed 100644 --- a/conf/junit5.yml +++ b/conf/junit5.yml @@ -43,35 +43,62 @@ version_control: branch: - main -#mailing_list: - # Where is the mbox located locally? -# mbox: ../../rawdata/mbox/apr-dev_2012_2019.mbox - # What is the domain of the chosen mailing list archive? -# domain: http://mail-archives.apache.org/mod_mbox - # Which lists of the domain will be used? -# list_key: -# - apr-dev +# mailing_list: +# mod_mbox: +# project_key_1: +# mailing_list: http://mail-archives.apache.org/mod_mbox/geronimo-dev +# mbox: ./../../../tse_motif_2021/dataset/mbox/apex-dev.mbox +# mailing_list_type: geronimo-dev +# archive_type: apache +# project_key_2: +# mailing_list: http://mail-archives.apache.org/mod_mbox/geronimo-user +# mbox: ../../rawdata/geronimo/mod_mbox/geronimo-user/ +# mailing_list_type: geronimo-user +# archive_type: apache +# pipermail: +# project_key_1: +# mailing_list: https://mta.openssl.org/pipermail/openssl-dev/ +# mbox: ../../rawdata/openssl/pipermail/openssl-dev/ +# mailing_list_type: openssl-dev +# archive_type: mta +# project_key_2: +# mailing_list: https://mta.openssl.org/pipermail/openssl-users/ +# mbox: ../../rawdata/openssl/pipermail/openssl-users/ +# mailing_list_type: openssl-users +# archive_type: mta # issue_tracker: # jira: # project_key_1: # # Obtained from the project's JIRA URL -# domain: https://issues.apache.org/jira -# #project_key: HELIX +# domain: https://sailuh.atlassian.net +# project_key: SAILUH # # Download using `download_jira_data.Rmd` -# # issues: ../../rawdata/helix/jira/issues/helix/ -# # issue_comments: ../../rawdata/helix/jira/issue_comments/helix/ +# issues: ../../rawdata/kaiaulu/jira/issues/sailuh/ +# issue_comments: ../../rawdata/kaiaulu/jira/issue_comments/sailuh/ # github: # project_key_1: # # Obtained from the project's GitHub URL -# owner: apache -# repo: apr +# owner: sailuh +# repo: kaiaulu +# # Download using `download_github_comments.Rmd` +# issue_or_pr_comment: ../../rawdata/kaiaulu/github/issue_or_pr_comment/sailuh_kaiaulu/ +# issue: ../../rawdata/kaiaulu/github/issue/sailuh_kaiaulu/ +# issue_search: ../..rawdata/kaiaulu/github/issue_search/sailuh_kaiaulu/ +# pull_request: ../../kaiaulu/github/pull_request/sailuh_kaiaulu/ +# commit: ../../rawdata/kaiaulu/github/commit/sailuh_kaiaulu/ +# project_key_2: +# # Obtained from the project's GitHub URL +# owner: ssunoo2 +# repo: kaiaulu # # Download using `download_github_comments.Rmd` -# issue_or_pr_comment: ../../rawdata/apr/github/issue_or_pr_comment/apache_apr/ -# issue: ../../rawdata/apr/github/issue/apache_apr/ -# issue_search: ../../rawdata/apr/github/issue_search/apache_apr/ -# pull_request: ../../rawdata/apr/github/pull_request/apache_apr/ -# commit: ../../rawdata/apr/github/commit/apache_apr/ +# issue_or_pr_comment: ../../rawdata/kaiaulu/github/issue_or_pr_comment/ssunoo2_kaiaulu/ +# issue: ../../rawdata/kaiaulu/github/issue/ssunoo2_kaiaulu/ +# refresh_issues: ../..rawdata/kaiaulu/github/refresh_issues/ssunoo2_kaiaulu +# pull_request: ../../kaiaulu/github/pull_request/ssunoo2_kaiaulu/ +# commit: ../../rawdata/kaiaulu/github/commit/ssunoo2_kaiaulu/ +# bugzilla: +# project_key: kaiaulu #vulnerabilities: # Folder path with nvd cve feeds (e.g. nvdcve-1.1-2018.json) diff --git a/conf/kaiaulu.yml b/conf/kaiaulu.yml index fc26a92..b847398 100644 --- a/conf/kaiaulu.yml +++ b/conf/kaiaulu.yml @@ -43,14 +43,29 @@ version_control: branch: - master -mailing_list: - # Where is the mbox located locally? - #mbox: ../../rawdata/mbox/geronimo-dev.mbox - # What is the domain of the chosen mailing list archive? - #domain: http://mail-archives.apache.org/mod_mbox - # Which lists of the domain will be used? - #list_key: - # - geronimo-dev +# mailing_list: +# mod_mbox: +# project_key_1: +# mailing_list: http://mail-archives.apache.org/mod_mbox/geronimo-dev +# mbox: ./../../../tse_motif_2021/dataset/mbox/apex-dev.mbox +# mailing_list_type: geronimo-dev +# archive_type: apache +# project_key_2: +# mailing_list: http://mail-archives.apache.org/mod_mbox/geronimo-user +# mbox: ../../rawdata/geronimo/mod_mbox/geronimo-user/ +# mailing_list_type: geronimo-user +# archive_type: apache +# pipermail: +# project_key_1: +# mailing_list: https://mta.openssl.org/pipermail/openssl-dev/ +# mbox: ../../rawdata/openssl/pipermail/openssl-dev/ +# mailing_list_type: openssl-dev +# archive_type: mta +# project_key_2: +# mailing_list: https://mta.openssl.org/pipermail/openssl-users/ +# mbox: ../../rawdata/openssl/pipermail/openssl-users/ +# mailing_list_type: openssl-users +# archive_type: mta issue_tracker: jira: @@ -72,18 +87,18 @@ issue_tracker: issue_search: ../..rawdata/kaiaulu/github/issue_search/sailuh_kaiaulu/ pull_request: ../../kaiaulu/github/pull_request/sailuh_kaiaulu/ commit: ../../rawdata/kaiaulu/github/commit/sailuh_kaiaulu/ - # project_key_2: - # # Obtained from the project's GitHub URL - # owner: ssunoo2 - # repo: kaiaulu - # # Download using `download_github_comments.Rmd` - # issue_or_pr_comment: ../../rawdata/kaiaulu/github/issue_or_pr_comment/ssunoo2_kaiaulu/ - # issue: ../../rawdata/kaiaulu/github/issue/ssunoo2_kaiaulu/ - # refresh_issues: ../..rawdata/kaiaulu/github/refresh_issues/ssunoo2_kaiaulu - # pull_request: ../../kaiaulu/github/pull_request/ssunoo2_kaiaulu/ - # commit: ../../rawdata/kaiaulu/github/commit/ssunoo2_kaiaulu/ - #bugzilla: - #project_key: kaiaulu + # project_key_2: + # # Obtained from the project's GitHub URL + # owner: ssunoo2 + # repo: kaiaulu + # # Download using `download_github_comments.Rmd` + # issue_or_pr_comment: ../../rawdata/kaiaulu/github/issue_or_pr_comment/ssunoo2_kaiaulu/ + # issue: ../../rawdata/kaiaulu/github/issue/ssunoo2_kaiaulu/ + # refresh_issues: ../..rawdata/kaiaulu/github/refresh_issues/ssunoo2_kaiaulu + # pull_request: ../../kaiaulu/github/pull_request/ssunoo2_kaiaulu/ + # commit: ../../rawdata/kaiaulu/github/commit/ssunoo2_kaiaulu/ + # bugzilla: + # project_key: kaiaulu #vulnerabilities: diff --git a/conf/openssl.yml b/conf/openssl.yml index 6f88a9b..6db6d63 100644 --- a/conf/openssl.yml +++ b/conf/openssl.yml @@ -45,46 +45,61 @@ version_control: - master mailing_list: - mod_mbox: - mail_key_1: - archive_url: http://mail-archives.apache.org/mod_mbox/apr-dev - mbox: ../../rawdata/apr/mod_mbox/apr-dev/ - mailing_list: apr-dev - archive_type: apache +# mod_mbox: +# project_key_1: +# mailing_list: http://mail-archives.apache.org/mod_mbox/geronimo-dev +# mbox: ./../../../tse_motif_2021/dataset/mbox/apex-dev.mbox +# mailing_list_type: geronimo-dev +# archive_type: apache +# project_key_2: +# mailing_list: http://mail-archives.apache.org/mod_mbox/geronimo-user +# mbox: ../../rawdata/geronimo/mod_mbox/geronimo-user/ +# mailing_list_type: geronimo-user +# archive_type: apache pipermail: - mail_key_1: - archive_url: https://mta.openssl.org/pipermail/openssl-dev/ + project_key_1: + mailing_list: https://mta.openssl.org/pipermail/openssl-dev/ mbox: ../../rawdata/openssl/pipermail/openssl-dev/ - mailing_list: openssl-dev + mailing_list_type: openssl-dev archive_type: mta - mail_key_2: - archive_url: https://mta.openssl.org/pipermail/openssl-users/ + project_key_2: + mailing_list: https://mta.openssl.org/pipermail/openssl-users/ mbox: ../../rawdata/openssl/pipermail/openssl-users/ - mailing_list: openssl-users + mailing_list_type: openssl-users archive_type: mta # issue_tracker: # jira: # project_key_1: # # Obtained from the project's JIRA URL -# domain: https://issues.apache.org/jira -# #project_key: HELIX +# domain: https://sailuh.atlassian.net +# project_key: SAILUH # # Download using `download_jira_data.Rmd` -# # issues: ../../rawdata/helix/jira/issues/helix/ -# # issue_comments: ../../rawdata/helix/jira/issue_comments/helix/ +# issues: ../../rawdata/kaiaulu/jira/issues/sailuh/ +# issue_comments: ../../rawdata/kaiaulu/jira/issue_comments/sailuh/ # github: # project_key_1: # # Obtained from the project's GitHub URL -# owner: apache -# repo: apr +# owner: sailuh +# repo: kaiaulu +# # Download using `download_github_comments.Rmd` +# issue_or_pr_comment: ../../rawdata/kaiaulu/github/issue_or_pr_comment/sailuh_kaiaulu/ +# issue: ../../rawdata/kaiaulu/github/issue/sailuh_kaiaulu/ +# issue_search: ../..rawdata/kaiaulu/github/issue_search/sailuh_kaiaulu/ +# pull_request: ../../kaiaulu/github/pull_request/sailuh_kaiaulu/ +# commit: ../../rawdata/kaiaulu/github/commit/sailuh_kaiaulu/ +# project_key_2: +# # Obtained from the project's GitHub URL +# owner: ssunoo2 +# repo: kaiaulu # # Download using `download_github_comments.Rmd` -# issue_or_pr_comment: ../../rawdata/apr/github/issue_or_pr_comment/apache_apr/ -# issue: ../../rawdata/apr/github/issue/apache_apr/ -# issue_search: ../../rawdata/apr/github/issue_search/apache_apr/ -# pull_request: ../../rawdata/apr/github/pull_request/apache_apr/ -# commit: ../../rawdata/apr/github/commit/apache_apr/ -# bugzilla: -# project_key: openssl +# issue_or_pr_comment: ../../rawdata/kaiaulu/github/issue_or_pr_comment/ssunoo2_kaiaulu/ +# issue: ../../rawdata/kaiaulu/github/issue/ssunoo2_kaiaulu/ +# refresh_issues: ../..rawdata/kaiaulu/github/refresh_issues/ssunoo2_kaiaulu +# pull_request: ../../kaiaulu/github/pull_request/ssunoo2_kaiaulu/ +# commit: ../../rawdata/kaiaulu/github/commit/ssunoo2_kaiaulu/ +# bugzilla: +# project_key: openssl vulnerabilities: # Folder path with nvd cve feeds (e.g. nvdcve-1.1-2018.json) diff --git a/conf/redhat.yml b/conf/redhat.yml index 611ef93..d0535c3 100644 --- a/conf/redhat.yml +++ b/conf/redhat.yml @@ -43,47 +43,62 @@ version_control: branch: - master -mailing_list: - # Where is the mbox located locally? - #mbox: ../../rawdata/mbox/geronimo-dev.mbox - # What is the domain of the chosen mailing list archive? - #domain: http://mail-archives.apache.org/mod_mbox - # Which lists of the domain will be used? - #list_key: - # - geronimo-dev +# mailing_list: +# mod_mbox: +# project_key_1: +# mailing_list: http://mail-archives.apache.org/mod_mbox/geronimo-dev +# mbox: ./../../../tse_motif_2021/dataset/mbox/apex-dev.mbox +# mailing_list_type: geronimo-dev +# archive_type: apache +# project_key_2: +# mailing_list: http://mail-archives.apache.org/mod_mbox/geronimo-user +# mbox: ../../rawdata/geronimo/mod_mbox/geronimo-user/ +# mailing_list_type: geronimo-user +# archive_type: apache +# pipermail: +# project_key_1: +# mailing_list: https://mta.openssl.org/pipermail/openssl-dev/ +# mbox: ../../rawdata/openssl/pipermail/openssl-dev/ +# mailing_list_type: openssl-dev +# archive_type: mta +# project_key_2: +# mailing_list: https://mta.openssl.org/pipermail/openssl-users/ +# mbox: ../../rawdata/openssl/pipermail/openssl-users/ +# mailing_list_type: openssl-users +# archive_type: mta -issue_tracker: - jira: - project_key_1: - # Obtained from the project's JIRA URL - domain: https://sailuh.atlassian.net - project_key: SAILUH - # Download using `download_jira_data.Rmd` - issues: ../../rawdata/kaiaulu/jira/issues/sailuh/ - issue_comments: ../../rawdata/kaiaulu/jira/issue_comments/sailuh/ - github: - project_key_1: - # Obtained from the project's GitHub URL - owner: sailuh - repo: kaiaulu - # Download using `download_github_comments.Rmd` - issue_or_pr_comment: ../../rawdata/kaiaulu/github/issue_or_pr_comment/sailuh_kaiaulu/ - issue: ../../rawdata/kaiaulu/github/issue/sailuh_kaiaulu/ - issue_search: ../..rawdata/kaiaulu/github/issue_search/sailuh_kaiaulu/ - pull_request: ../../kaiaulu/github/pull_request/sailuh_kaiaulu/ - commit: ../../rawdata/kaiaulu/github/commit/sailuh_kaiaulu/ - # project_key_2: - # # Obtained from the project's GitHub URL - # owner: ssunoo2 - # repo: kaiaulu - # # Download using `download_github_comments.Rmd` - # issue_or_pr_comment: ../../rawdata/kaiaulu/github/issue_or_pr_comment/ssunoo2_kaiaulu/ - # issue: ../../rawdata/kaiaulu/github/issue/ssunoo2_kaiaulu/ - # refresh_issues: ../..rawdata/kaiaulu/github/refresh_issues/ssunoo2_kaiaulu - # pull_request: ../../kaiaulu/github/pull_request/ssunoo2_kaiaulu/ - # commit: ../../rawdata/kaiaulu/github/commit/ssunoo2_kaiaulu/ - bugzilla: - project_key: redhat +# issue_tracker: +# jira: +# project_key_1: +# # Obtained from the project's JIRA URL +# domain: https://sailuh.atlassian.net +# project_key: SAILUH +# # Download using `download_jira_data.Rmd` +# issues: ../../rawdata/kaiaulu/jira/issues/sailuh/ +# issue_comments: ../../rawdata/kaiaulu/jira/issue_comments/sailuh/ +# github: +# project_key_1: +# # Obtained from the project's GitHub URL +# owner: sailuh +# repo: kaiaulu +# # Download using `download_github_comments.Rmd` +# issue_or_pr_comment: ../../rawdata/kaiaulu/github/issue_or_pr_comment/sailuh_kaiaulu/ +# issue: ../../rawdata/kaiaulu/github/issue/sailuh_kaiaulu/ +# issue_search: ../..rawdata/kaiaulu/github/issue_search/sailuh_kaiaulu/ +# pull_request: ../../kaiaulu/github/pull_request/sailuh_kaiaulu/ +# commit: ../../rawdata/kaiaulu/github/commit/sailuh_kaiaulu/ +# project_key_2: +# # Obtained from the project's GitHub URL +# owner: ssunoo2 +# repo: kaiaulu +# # Download using `download_github_comments.Rmd` +# issue_or_pr_comment: ../../rawdata/kaiaulu/github/issue_or_pr_comment/ssunoo2_kaiaulu/ +# issue: ../../rawdata/kaiaulu/github/issue/ssunoo2_kaiaulu/ +# refresh_issues: ../..rawdata/kaiaulu/github/refresh_issues/ssunoo2_kaiaulu +# pull_request: ../../kaiaulu/github/pull_request/ssunoo2_kaiaulu/ +# commit: ../../rawdata/kaiaulu/github/commit/ssunoo2_kaiaulu/ +# bugzilla: +# project_key: redhat #vulnerabilities: diff --git a/conf/spark.yml b/conf/spark.yml index d861e80..0a6c2d8 100644 --- a/conf/spark.yml +++ b/conf/spark.yml @@ -43,41 +43,60 @@ version_control: mailing_list: mod_mbox: - mail_key_1: - archive_url: http://mail-archives.apache.org/mod_mbox/spark-dev + project_key_1: + mailing_list: http://mail-archives.apache.org/mod_mbox/spark-dev mbox: ../../rawdata/spark/mod_mbox/spark-dev/ - mailing_list: spark-dev + mailing_list_type: spark-dev archive_type: apache - mail_key_2: - archive_url: http://mail-archives.apache.org/mod_mbox/spark-user + project_key_2: + mailing_list: http://mail-archives.apache.org/mod_mbox/spark-user mbox: ../../rawdata/spark/mod_mbox/spark-user/ - mailing_list: spark-user + mailing_list_type: spark-user archive_type: apache - pipermail: - mail_key_1: - archive_url: http://some/pipermail/url - mbox: ../../rawdata/geronimo/pipermail/geronimo-dev/ + # pipermail: + # project_key_1: + # mailing_list: https://mta.openssl.org/pipermail/openssl-dev/ + # mbox: ../../rawdata/openssl/pipermail/openssl-dev/ + # mailing_list_type: openssl-dev + # archive_type: mta + # project_key_2: + # mailing_list: https://mta.openssl.org/pipermail/openssl-users/ + # mbox: ../../rawdata/openssl/pipermail/openssl-users/ + # mailing_list_type: openssl-users + # archive_type: mta # issue_tracker: # jira: # project_key_1: # # Obtained from the project's JIRA URL -# domain: https://issues.apache.org/jira -# #project_key: HELIX +# domain: https://sailuh.atlassian.net +# project_key: SAILUH # # Download using `download_jira_data.Rmd` -# # issues: ../../rawdata/helix/jira/issues/helix/ -# # issue_comments: ../../rawdata/helix/jira/issue_comments/helix/ +# issues: ../../rawdata/kaiaulu/jira/issues/sailuh/ +# issue_comments: ../../rawdata/kaiaulu/jira/issue_comments/sailuh/ # github: # project_key_1: # # Obtained from the project's GitHub URL -# owner: apache -# repo: apr +# owner: sailuh +# repo: kaiaulu # # Download using `download_github_comments.Rmd` -# issue_or_pr_comment: ../../rawdata/apr/github/issue_or_pr_comment/apache_apr/ -# issue: ../../rawdata/apr/github/issue/apache_apr/ -# issue_search: ../../rawdata/apr/github/issue_search/apache_apr/ -# pull_request: ../../rawdata/apr/github/pull_request/apache_apr/ -# commit: ../../rawdata/apr/github/commit/apache_apr/ +# issue_or_pr_comment: ../../rawdata/kaiaulu/github/issue_or_pr_comment/sailuh_kaiaulu/ +# issue: ../../rawdata/kaiaulu/github/issue/sailuh_kaiaulu/ +# issue_search: ../..rawdata/kaiaulu/github/issue_search/sailuh_kaiaulu/ +# pull_request: ../../kaiaulu/github/pull_request/sailuh_kaiaulu/ +# commit: ../../rawdata/kaiaulu/github/commit/sailuh_kaiaulu/ +# project_key_2: +# # Obtained from the project's GitHub URL +# owner: ssunoo2 +# repo: kaiaulu +# # Download using `download_github_comments.Rmd` +# issue_or_pr_comment: ../../rawdata/kaiaulu/github/issue_or_pr_comment/ssunoo2_kaiaulu/ +# issue: ../../rawdata/kaiaulu/github/issue/ssunoo2_kaiaulu/ +# refresh_issues: ../..rawdata/kaiaulu/github/refresh_issues/ssunoo2_kaiaulu +# pull_request: ../../kaiaulu/github/pull_request/ssunoo2_kaiaulu/ +# commit: ../../rawdata/kaiaulu/github/commit/ssunoo2_kaiaulu/ +# bugzilla: +# project_key: kaiaulu #vulnerabilities: # Folder path with nvd cve feeds (e.g. nvdcve-1.1-2018.json) diff --git a/conf/thrift.yml b/conf/thrift.yml index 25959b3..b9778f9 100644 --- a/conf/thrift.yml +++ b/conf/thrift.yml @@ -43,20 +43,27 @@ version_control: mailing_list: mod_mbox: - mail_key_1: - archive_url: http://mail-archives.apache.org/mod_mbox/thrift-dev + project_key_1: + mailing_list: http://mail-archives.apache.org/mod_mbox/thrift-dev mbox: ../../rawdata/thrift/mod_mbox/thrift-dev/ - mailing_list: thrift-dev + mailing_list_type: thrift-dev archive_type: apache - mail_key_2: - archive_url: http://mail-archives.apache.org/mod_mbox/thrift-user + project_key_2: + mailing_list: http://mail-archives.apache.org/mod_mbox/thrift-user mbox: ../../rawdata/thrift/mod_mbox/thrift-user/ - mailing_list: thrift-user + mailing_list_type: thrift-user archive_type: apache - pipermail: - mail_key_1: - archive_url: http://some/pipermail/url - mbox: ../../rawdata/geronimo/pipermail/geronimo-dev/ + # pipermail: + # project_key_1: + # mailing_list: https://mta.openssl.org/pipermail/openssl-dev/ + # mbox: ../../rawdata/openssl/pipermail/openssl-dev/ + # mailing_list_type: openssl-dev + # archive_type: mta + # project_key_2: + # mailing_list: https://mta.openssl.org/pipermail/openssl-users/ + # mbox: ../../rawdata/openssl/pipermail/openssl-users/ + # mailing_list_type: openssl-users + # archive_type: mta issue_tracker: jira: @@ -76,8 +83,18 @@ issue_tracker: issue_or_pr_comment: ../../rawdata/thrift/github/issue_or_pr_comment/apache_thrift/ issue: ../../rawdata/thrift/github/issue/apache_thrift/ issue_search: ../../rawdata/thrift/github/issue_search/apache_thrift/ - pull_request: ../../rawdata/thrift/github/pull_request/apache_thrift/ - commit: ../../rawdata/thrift/github/commit/apache_thrift/ +# project_key_2: +# # Obtained from the project's GitHub URL +# owner: ssunoo2 +# repo: kaiaulu +# # Download using `download_github_comments.Rmd` +# issue_or_pr_comment: ../../rawdata/kaiaulu/github/issue_or_pr_comment/ssunoo2_kaiaulu/ +# issue: ../../rawdata/kaiaulu/github/issue/ssunoo2_kaiaulu/ +# refresh_issues: ../..rawdata/kaiaulu/github/refresh_issues/ssunoo2_kaiaulu +# pull_request: ../../kaiaulu/github/pull_request/ssunoo2_kaiaulu/ +# commit: ../../rawdata/kaiaulu/github/commit/ssunoo2_kaiaulu/ +# bugzilla: +# project_key: kaiaulu #vulnerabilities: # Folder path with nvd cve feeds (e.g. nvdcve-1.1-2018.json) diff --git a/conf/tomcat.yml b/conf/tomcat.yml index 5d1c131..d47bbe4 100644 --- a/conf/tomcat.yml +++ b/conf/tomcat.yml @@ -45,41 +45,60 @@ version_control: mailing_list: mod_mbox: - mail_key_1: - archive_url: http://mail-archives.apache.org/mod_mbox/tomcat-dev + project_key_1: + mailing_list: http://mail-archives.apache.org/mod_mbox/tomcat-dev mbox: ../../rawdata/tomcat/mod_mbox/tomcat-dev/ - mailing_list: tomcat-dev + mailing_list_type: tomcat-dev archive_type: apache - mail_key_2: - archive_url: http://mail-archives.apache.org/mod_mbox/tomcat-users + project_key_2: + mailing_list: http://mail-archives.apache.org/mod_mbox/tomcat-users mbox: ../../rawdata/tomcat/mod_mbox/tomcat-users/ - mailing_list: tomcat-users + mailing_list_type: tomcat-users archive_type: apache - pipermail: - mail_key_1: - archive_url: http://some/pipermail/url - mbox: ../../rawdata/geronimo/pipermail/geronimo-dev/ + # pipermail: + # project_key_1: + # mailing_list: https://mta.openssl.org/pipermail/openssl-dev/ + # mbox: ../../rawdata/openssl/pipermail/openssl-dev/ + # mailing_list_type: openssl-dev + # archive_type: mta + # project_key_2: + # mailing_list: https://mta.openssl.org/pipermail/openssl-users/ + # mbox: ../../rawdata/openssl/pipermail/openssl-users/ + # mailing_list_type: openssl-users + # archive_type: mta # issue_tracker: # jira: # project_key_1: # # Obtained from the project's JIRA URL -# domain: https://issues.apache.org/jira -# #project_key: HELIX +# domain: https://sailuh.atlassian.net +# project_key: SAILUH # # Download using `download_jira_data.Rmd` -# # issues: ../../rawdata/helix/jira/issues/helix/ -# # issue_comments: ../../rawdata/helix/jira/issue_comments/helix/ +# issues: ../../rawdata/kaiaulu/jira/issues/sailuh/ +# issue_comments: ../../rawdata/kaiaulu/jira/issue_comments/sailuh/ # github: # project_key_1: # # Obtained from the project's GitHub URL -# owner: apache -# repo: apr +# owner: sailuh +# repo: kaiaulu # # Download using `download_github_comments.Rmd` -# issue_or_pr_comment: ../../rawdata/apr/github/issue_or_pr_comment/apache_apr/ -# issue: ../../rawdata/apr/github/issue/apache_apr/ -# issue_search: ../../rawdata/apr/github/issue_search/apache_apr/ -# pull_request: ../../rawdata/apr/github/pull_request/apache_apr/ -# commit: ../../rawdata/apr/github/commit/apache_apr/ +# issue_or_pr_comment: ../../rawdata/kaiaulu/github/issue_or_pr_comment/sailuh_kaiaulu/ +# issue: ../../rawdata/kaiaulu/github/issue/sailuh_kaiaulu/ +# issue_search: ../..rawdata/kaiaulu/github/issue_search/sailuh_kaiaulu/ +# pull_request: ../../kaiaulu/github/pull_request/sailuh_kaiaulu/ +# commit: ../../rawdata/kaiaulu/github/commit/sailuh_kaiaulu/ +# project_key_2: +# # Obtained from the project's GitHub URL +# owner: ssunoo2 +# repo: kaiaulu +# # Download using `download_github_comments.Rmd` +# issue_or_pr_comment: ../../rawdata/kaiaulu/github/issue_or_pr_comment/ssunoo2_kaiaulu/ +# issue: ../../rawdata/kaiaulu/github/issue/ssunoo2_kaiaulu/ +# refresh_issues: ../..rawdata/kaiaulu/github/refresh_issues/ssunoo2_kaiaulu +# pull_request: ../../kaiaulu/github/pull_request/ssunoo2_kaiaulu/ +# commit: ../../rawdata/kaiaulu/github/commit/ssunoo2_kaiaulu/ +# bugzilla: +# project_key: kaiaulu #vulnerabilities: # Folder path with nvd cve feeds (e.g. nvdcve-1.1-2018.json) diff --git a/conf/tse_apex.yml b/conf/tse_apex.yml index 1a41a6b..2f8fa54 100644 --- a/conf/tse_apex.yml +++ b/conf/tse_apex.yml @@ -43,16 +43,31 @@ version_control: branch: - master -mailing_list: - # Where is the mbox located locally? - mbox: ../../../../tse_motif_2021/dataset/mbox/apex-dev.mbox - # What is the domain of the chosen mailing list archive? -# domain: http://mail-archives.apache.org/mod_mbox - # Which lists of the domain will be used? -# list_key: -# - geronimo-dev +# mailing_list: +# mod_mbox: +# project_key_1: +# mailing_list: http://mail-archives.apache.org/mod_mbox/geronimo-dev +# mbox: ./../../../tse_motif_2021/dataset/mbox/apex-dev.mbox +# mailing_list_type: geronimo-dev +# archive_type: apache +# project_key_2: +# mailing_list: http://mail-archives.apache.org/mod_mbox/geronimo-user +# mbox: ../../rawdata/geronimo/mod_mbox/geronimo-user/ +# mailing_list_type: geronimo-user +# archive_type: apache +# pipermail: +# project_key_1: +# mailing_list: https://mta.openssl.org/pipermail/openssl-dev/ +# mbox: ../../rawdata/openssl/pipermail/openssl-dev/ +# mailing_list_type: openssl-dev +# archive_type: mta +# project_key_2: +# mailing_list: https://mta.openssl.org/pipermail/openssl-users/ +# mbox: ../../rawdata/openssl/pipermail/openssl-users/ +# mailing_list_type: openssl-users +# archive_type: mta - issue_tracker: +issue_tracker: jira: project_key_1: # Obtained from the project's JIRA URL @@ -64,14 +79,26 @@ mailing_list: # github: # project_key_1: # # Obtained from the project's GitHub URL -# owner: apache -# repo: apr +# owner: sailuh +# repo: kaiaulu +# # Download using `download_github_comments.Rmd` +# issue_or_pr_comment: ../../rawdata/kaiaulu/github/issue_or_pr_comment/sailuh_kaiaulu/ +# issue: ../../rawdata/kaiaulu/github/issue/sailuh_kaiaulu/ +# issue_search: ../..rawdata/kaiaulu/github/issue_search/sailuh_kaiaulu/ +# pull_request: ../../kaiaulu/github/pull_request/sailuh_kaiaulu/ +# commit: ../../rawdata/kaiaulu/github/commit/sailuh_kaiaulu/ +# project_key_2: +# # Obtained from the project's GitHub URL +# owner: ssunoo2 +# repo: kaiaulu # # Download using `download_github_comments.Rmd` -# issue_or_pr_comment: ../../rawdata/apr/github/issue_or_pr_comment/apache_apr/ -# issue: ../../rawdata/apr/github/issue/apache_apr/ -# issue_search: ../../rawdata/apr/github/issue_search/apache_apr/ -# pull_request: ../../rawdata/apr/github/pull_request/apache_apr/ -# commit: ../../rawdata/apr/github/commit/apache_apr/ +# issue_or_pr_comment: ../../rawdata/kaiaulu/github/issue_or_pr_comment/ssunoo2_kaiaulu/ +# issue: ../../rawdata/kaiaulu/github/issue/ssunoo2_kaiaulu/ +# refresh_issues: ../..rawdata/kaiaulu/github/refresh_issues/ssunoo2_kaiaulu +# pull_request: ../../kaiaulu/github/pull_request/ssunoo2_kaiaulu/ +# commit: ../../rawdata/kaiaulu/github/commit/ssunoo2_kaiaulu/ +# bugzilla: +# project_key: kaiaulu #vulnerabilities: # Folder path with nvd cve feeds (e.g. nvdcve-1.1-2018.json) From fda90aee1595564485c0df307bf028a67f3c3735 Mon Sep 17 00:00:00 2001 From: Nicholas Beydler Date: Thu, 3 Oct 2024 13:19:33 -1000 Subject: [PATCH 20/32] i #230 Refactored More Notebooks - Refactored most of the notebooks to replace the hard coded paths with the getter functions in R/config.R - Updated a few of the configuration files (.yml extension) in conf/ fixing some syntax and indentation errors - Added another getter function in R/config.r called get_github_issue_event_path - Edited DESCRIPTION to incorporate myself as a contributor - Edited NEWS.md to describe refactoring getter function feature. --- DESCRIPTION | 3 +- NAMESPACE | 1 + NEWS.md | 1 + R/config.R | 31 +++++++++++++-- conf/camel.yml | 15 ++++---- conf/helix.yml | 2 +- conf/kaiaulu.yml | 9 +++-- conf/openssl.yml | 24 ++++++------ man/get_github_issue_event_path.Rd | 25 ++++++++++++ vignettes/causal_flaws.Rmd | 2 +- vignettes/download_github_comments.Rmd | 36 ++++-------------- vignettes/download_mod_mbox.Rmd | 6 +-- vignettes/github_api_showcase.Rmd | 27 +++---------- vignettes/gitlog_entity_showcase.Rmd | 16 ++++---- vignettes/gitlog_showcase.Rmd | 16 ++++---- vignettes/gitlog_vulnerabilities_showcase.Rmd | 16 ++++---- vignettes/graph_gof_showcase.Rmd | 20 +++++----- vignettes/issue_social_smell_showcase.Rmd | 35 ++++++++--------- vignettes/kaiaulu_architecture.Rmd | 2 +- vignettes/line_metrics_showcase.Rmd | 14 +++---- vignettes/motif_analysis.Rmd | 25 ++++++------ vignettes/refactoringminer_showcase.Rmd | 14 +++---- vignettes/reply_communication_showcase.Rmd | 11 +++--- vignettes/social_smell_showcase.Rmd | 38 ++++++++----------- vignettes/text_gof_showcase.Rmd | 16 ++++---- 25 files changed, 205 insertions(+), 200 deletions(-) create mode 100644 man/get_github_issue_event_path.Rd diff --git a/DESCRIPTION b/DESCRIPTION index 1607fb2..715be99 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -20,7 +20,8 @@ Authors@R: c( person('Nicole', 'Hoess', role = c('ctb')), person('Anthony', 'Lau', role = c('ctb')), person('Sean', 'Sunoo', role = c('ctb')), - person('Ian Jaymes', 'Iwata', role= c('ctb')) + person('Ian Jaymes', 'Iwata', role= c('ctb')), + person('Nicholas', 'Beydler', role = c('ctb')) ) Maintainer: Carlos Paradis License: MPL-2.0 | file LICENSE diff --git a/NAMESPACE b/NAMESPACE index f2d0527..f6a7e44 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -60,6 +60,7 @@ export(get_filter_commit_size) export(get_git_branches) export(get_git_repo_path) export(get_github_commit_path) +export(get_github_issue_event_path) export(get_github_issue_or_pr_comment_path) export(get_github_issue_path) export(get_github_issue_search_path) diff --git a/NEWS.md b/NEWS.md index cf2de75..04504b4 100644 --- a/NEWS.md +++ b/NEWS.md @@ -3,6 +3,7 @@ __kaiaulu 0.0.0.9700 (in development)__ ### NEW FEATURES + * `config.R` now contains a set of getter functions used to centralize the gathering of configuration data and these getter functions are used to refactor configuration file information gathering. For example, loading configuration file information with variable assignment is as follows `git_repo_path <- config_file[["version_control"]][["log"]]` but the refactored with a config.R getter function becomes `git_repo_path <- get_git_repo_path(config_file)`. [#230](https://github.com/sailuh/kaiaulu/issues/230) * `refresh_jira_issues()` had been added. It is a wrapper function for the previous downloader and downloads only issues greater than the greatest key already downloaded. * `download_jira_issues()`, `download_jira_issues_by_issue_key()`, and `download_jira_issues_by_date()` has been added. This allows for downloading of Jira issues without the use of JirAgileR [#275](https://github.com/sailuh/kaiaulu/issues/275) and specification of issue Id and created ranges. It also interacts with `parse_jira_latest_date` to implement a refresh capability. * `make_jira_issue()` and `make_jira_issue_tracker()` no longer create fake issues following JirAgileR format, but instead the raw data obtained from JIRA API. This is compatible with the new parser function for JIRA. [#277](https://github.com/sailuh/kaiaulu/issues/277) diff --git a/R/config.R b/R/config.R index da63398..a6ba802 100644 --- a/R/config.R +++ b/R/config.R @@ -410,7 +410,7 @@ get_mbox_path <- function(config_file, project_key_index) { #' @export get_mbox_domain <- function(config_file, project_key_index) { - mbox_url <- config_file[["mailing_list"]][["mod_mbox"]][[project_key_index]][["archive_url"]] + mbox_url <- config_file[["mailing_list"]][["mod_mbox"]][[project_key_index]][["mailing_list"]] if (is.null(mbox_url)) { warning("Attribute does not exist in the configuration file.") @@ -433,7 +433,7 @@ get_mbox_domain <- function(config_file, project_key_index) { #' @export get_mbox_mailing_list <- function(config_file, project_key_index) { - mailing_list <- config_file[["mailing_list"]][["mod_mbox"]][[project_key_index]][["mailing_list"]] + mailing_list <- config_file[["mailing_list"]][["mod_mbox"]][[project_key_index]][["mailing_list_type"]] if (is.null(mailing_list)) { warning("Attribute does not exist in the configuration file.") @@ -631,6 +631,31 @@ get_github_pull_request_path <- function(config_file, project_key_index) { return(pull_request_path) } +#' Returns the local folder path for GitHub issue events for a specific project +#' key. +#' +#' @description This function returns the local folder path for GitHub issue +#' events for a specific project key, that is specified in the input +#' parameter `config_file`. The input, `config_file` must be a parsed +#' configuration file. The function will inform the user if the local folder +#' path for the issue events exists in the parsed configuration file, +#' `config_file`. +#' +#' @param config_file The parsed configuration file. +#' @param project_key_index The name of the index of the project key (e.g. "project_key_1" or "project_key_2"). +#' @return The local folder path for GitHub issue events for project specified by key `project_key_index`. +#' @export +get_github_issue_event_path <- function(config_file, project_key_index) { + + issue_event_path <- config_file[["issue_tracker"]][["github"]][[project_key_index]][["issue_event"]] + + if (is.null(issue_event_path)) { + warning("Attribute does not exist in the configuration file.") + } + + return(issue_event_path) +} + #' Returns the local folder path for GitHub commits for a specific project key. #' #' @description This function returns the local folder path for GitHub commits @@ -783,7 +808,7 @@ get_jira_issues_comments_path <- function(config_file, project_key_index) { #' @export get_bugzilla_project_key <- function(config_file) { - bugzilla_key <- config_file[["issue_tracker"]][["bugzilla"]][["project_key_index"]][["project_key"]] + bugzilla_key <- config_file[["issue_tracker"]][["bugzilla"]][["project_key"]] if (is.null(bugzilla_key)) { warning("Attribute does not exist in the configuration file.") diff --git a/conf/camel.yml b/conf/camel.yml index a7b9ef0..c87b00e 100644 --- a/conf/camel.yml +++ b/conf/camel.yml @@ -47,7 +47,7 @@ version_control: - camel-1.0.0 mailing_list: - mod_mbox: + mod_mbox: project_key_1: mailing_list: http://mail-archives.apache.org/mod_mbox/camel-dev mbox: ../../rawdata/camel/mod_mbox/camel-dev/ @@ -72,12 +72,13 @@ mailing_list: issue_tracker: jira: - # Obtained from the project's JIRA URL -# domain: https://issues.apache.org/jira - project_key: CAMEL - # Download using `download_jira_data.Rmd` - issues: ../../rawdata/camel/jira/issues/camel/ - issue_comments: ../../rawdata/camel/jira/issue_comments/camel/ + project_key_1: + # Obtained from the project's JIRA URL + domain: https://issues.apache.org/jira + project_key: CAMEL + # Download using `download_jira_data.Rmd` + issues: ../../rawdata/camel/jira/issues/camel/ + issue_comments: ../../rawdata/camel/jira/issue_comments/camel/ # github: # project_key_1: # # Obtained from the project's GitHub URL diff --git a/conf/helix.yml b/conf/helix.yml index 7c47b5b..9e3e1b7 100644 --- a/conf/helix.yml +++ b/conf/helix.yml @@ -55,7 +55,7 @@ mailing_list: mailing_list_type: helix-dev archive_type: apache project_key_2: - mailing_list_type: http://mail-archives.apache.org/mod_mbox/helix-user + mailing_list: http://mail-archives.apache.org/mod_mbox/helix-user mbox: ../../rawdata/helix/mod_mbox/helix-user/ mailing_list_type: helix-user archive_type: apache diff --git a/conf/kaiaulu.yml b/conf/kaiaulu.yml index b847398..3312e4a 100644 --- a/conf/kaiaulu.yml +++ b/conf/kaiaulu.yml @@ -44,7 +44,7 @@ version_control: - master # mailing_list: -# mod_mbox: +# mod_mbox: # project_key_1: # mailing_list: http://mail-archives.apache.org/mod_mbox/geronimo-dev # mbox: ./../../../tse_motif_2021/dataset/mbox/apex-dev.mbox @@ -84,7 +84,8 @@ issue_tracker: # Download using `download_github_comments.Rmd` issue_or_pr_comment: ../../rawdata/kaiaulu/github/issue_or_pr_comment/sailuh_kaiaulu/ issue: ../../rawdata/kaiaulu/github/issue/sailuh_kaiaulu/ - issue_search: ../..rawdata/kaiaulu/github/issue_search/sailuh_kaiaulu/ + issue_search: ../../rawdata/kaiaulu/github/issue_search/sailuh_kaiaulu/ + issue_event: ../../rawdata/kaiaulu/github/issue_event/sailuh_kaiaulu/ pull_request: ../../kaiaulu/github/pull_request/sailuh_kaiaulu/ commit: ../../rawdata/kaiaulu/github/commit/sailuh_kaiaulu/ # project_key_2: @@ -101,10 +102,10 @@ issue_tracker: # project_key: kaiaulu -#vulnerabilities: +vulnerabilities: # Folder path with nvd cve feeds (e.g. nvdcve-1.1-2018.json) # Download at: https://nvd.nist.gov/vuln/data-feeds - #nvd_feed: rawdata/nvdfeed + nvd_feed: rawdata/nvdfeed # Commit message CVE or Issue Regular Expression (regex) # See project's commit message for examples to create the regex diff --git a/conf/openssl.yml b/conf/openssl.yml index 6db6d63..857cceb 100644 --- a/conf/openssl.yml +++ b/conf/openssl.yml @@ -45,18 +45,18 @@ version_control: - master mailing_list: -# mod_mbox: -# project_key_1: -# mailing_list: http://mail-archives.apache.org/mod_mbox/geronimo-dev -# mbox: ./../../../tse_motif_2021/dataset/mbox/apex-dev.mbox -# mailing_list_type: geronimo-dev -# archive_type: apache -# project_key_2: -# mailing_list: http://mail-archives.apache.org/mod_mbox/geronimo-user -# mbox: ../../rawdata/geronimo/mod_mbox/geronimo-user/ -# mailing_list_type: geronimo-user -# archive_type: apache - pipermail: + mod_mbox: + project_key_1: + mailing_list: http://mail-archives.apache.org/mod_mbox/geronimo-dev + mbox: ./../../../tse_motif_2021/dataset/mbox/apex-dev.mbox + mailing_list_type: geronimo-dev + archive_type: apache + project_key_2: + mailing_list: http://mail-archives.apache.org/mod_mbox/geronimo-user + mbox: ../../rawdata/geronimo/mod_mbox/geronimo-user/ + mailing_list_type: geronimo-user + archive_type: apache + pipermail: project_key_1: mailing_list: https://mta.openssl.org/pipermail/openssl-dev/ mbox: ../../rawdata/openssl/pipermail/openssl-dev/ diff --git a/man/get_github_issue_event_path.Rd b/man/get_github_issue_event_path.Rd new file mode 100644 index 0000000..34ad6c5 --- /dev/null +++ b/man/get_github_issue_event_path.Rd @@ -0,0 +1,25 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/config.R +\name{get_github_issue_event_path} +\alias{get_github_issue_event_path} +\title{Returns the local folder path for GitHub issue events for a specific project +key.} +\usage{ +get_github_issue_event_path(config_file, project_key_index) +} +\arguments{ +\item{config_file}{The parsed configuration file.} + +\item{project_key_index}{The name of the index of the project key (e.g. "project_key_1" or "project_key_2").} +} +\value{ +The local folder path for GitHub issue events for project specified by key `project_key_index`. +} +\description{ +This function returns the local folder path for GitHub issue +events for a specific project key, that is specified in the input +parameter `config_file`. The input, `config_file` must be a parsed +configuration file. The function will inform the user if the local folder +path for the issue events exists in the parsed configuration file, +`config_file`. +} diff --git a/vignettes/causal_flaws.Rmd b/vignettes/causal_flaws.Rmd index c842021..76e3c60 100644 --- a/vignettes/causal_flaws.Rmd +++ b/vignettes/causal_flaws.Rmd @@ -63,7 +63,7 @@ keep_dependencies_type <- get_keep_dependencies_type(conf) # Mailing List # Specify project_key_index in get_mbox_path() (e.g. "project_key_1") -mbox_path <- get_mbox_path(conf, "mail_key_1") +mbox_path <- get_mbox_path(conf, "project_key_1") # DV8 parameters project_path <- get_dv8_folder_path(conf) diff --git a/vignettes/download_github_comments.Rmd b/vignettes/download_github_comments.Rmd index 2cbcdad..4b5191e 100644 --- a/vignettes/download_github_comments.Rmd +++ b/vignettes/download_github_comments.Rmd @@ -44,10 +44,13 @@ Therefore, in this Notebook we have to rely on three endpoints from the GitHub A To use the pipeline, you must specify the organization and project of interest, and your token. Obtain a github token following the instructions [here](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token). ```{r} -conf <- yaml::read_yaml("../conf/kaiaulu.yml") -save_path <- path.expand(conf[["issue_tracker"]][["github"]][["replies"]]) # Path you wish to save all raw data. A folder with the repo name and sub-folders will be created. -owner <- conf[["issue_tracker"]][["github"]][["owner"]] # Has to match github organization (e.g. github.com/sailuh) -repo <- conf[["issue_tracker"]][["github"]][["repo"]] # Has to match github repository (e.g. github.com/sailuh/perceive) +conf <- get_parsed("conf/kaiaulu.yml") +save_path_issue_or_pr_comments <- path.expand(get_github_issue_or_pr_comment_path(conf, "project_key_1")) +save_path_issue <- get_github_issue_path(conf, "project_key_1") +save_path_pull_request <- get_github_pull_request_path(conf, "project_key_1") +save_path_commit <- get_github_commit_path(conf, "project_key_1") +owner <- get_github_owner(conf, "project_key_1") # Has to match github organization (e.g. github.com/sailuh) +repo <- get_github_repo(conf, "project_key_1") # Has to match github repository (e.g. github.com/sailuh/perceive) # your file github_token (a text file) contains the GitHub token API token <- scan("~/.ssh/github_token",what="character",quiet=TRUE) ``` @@ -56,19 +59,10 @@ token <- scan("~/.ssh/github_token",what="character",quiet=TRUE) In this section we obtain the raw data (.json) containing all information the GitHub API endpoint provides. We parse the information of interest in the subsequent section. -```{r eval = FALSE} -dir.create(paste0(save_path)) -``` - ## Issues First we will obtain all the issues (i.e. "first comments"). -```{r} -save_path_issue <- paste0(save_path,"/issue/") -``` - - ```{r Collect all issues, eval = FALSE} gh_response <- github_api_project_issue(owner,repo,token) dir.create(save_path_issue) @@ -81,11 +75,6 @@ github_api_iterate_pages(token,gh_response, Next we obtain the "first comment" of every pull request. -```{r} -save_path_pull_request <- paste0(save_path,"/pull_request/") -``` - - ```{r Collect all pull requests, eval = FALSE} gh_response <- github_api_project_pull_request(owner,repo,token) dir.create(save_path_pull_request) @@ -98,11 +87,6 @@ github_api_iterate_pages(token,gh_response, Finally we obtain the comments of both issue and pull requests (which does not contain the data obtained in the prior two endpoints). -```{r} -save_path_issue_or_pr_comments <- paste0(save_path,"/issue_or_pr_comment/") -``` - - ```{r Collect all issue and pull request comments, eval = FALSE} gh_response <- github_api_project_issue_or_pr_comments(owner,repo,token) dir.create(save_path_issue_or_pr_comments) @@ -117,10 +101,6 @@ The three endpoints used above do not contain author and e-mail information, onl To do so, we can use the committer endpoint. -```{r} -save_path_commit <- paste0(save_path,"/commit/") -``` - ```{r Collect all authors and committers name and e-mail, eval = FALSE} gh_response <- github_api_project_commits(owner,repo,token) dir.create(save_path_commit) @@ -190,7 +170,7 @@ Note because we obtain the authors and committers name and e-mail, **only commen Below we show the result of such merge, including the name and e-mail fields obtained from the commit table. As before, we do not display the body column to prevent breaking the HTML format. ```{r} -replies <- parse_github_replies(save_path) +replies <- parse_github_replies(save_path_issue_or_pr_comments) tail(replies,2) %>% gt(auto_align = FALSE) diff --git a/vignettes/download_mod_mbox.Rmd b/vignettes/download_mod_mbox.Rmd index a17fcf2..2fc2eee 100644 --- a/vignettes/download_mod_mbox.Rmd +++ b/vignettes/download_mod_mbox.Rmd @@ -35,13 +35,13 @@ As usual, the first step is to load the project configuration file. ```{r} conf <- get_parsed("conf/helix.yml") #Specify project_key_index in get_mbox_path() (e.g. "project_key_1") -save_path_mbox <- get_mbox_path(conf, "mail_key_1") +save_path_mbox <- get_mbox_path(conf, "project_key_1") #Specify project_key_index in get_mbox_domain() (e.g. "project_key_1") -mod_mbox_url <- get_mbox_domain(conf, "mail_key_1") +mod_mbox_url <- get_mbox_domain(conf, "project_key_1") #Specify project_key_index in get_mbox_mailing_list() (e.g. "project_key_1") -mailing_list <- get_mbox_mailing_list(conf, "mail_key_1") +mailing_list <- get_mbox_mailing_list(conf, "project_key_1") start_year <- 2017 end_year <- 2018 diff --git a/vignettes/github_api_showcase.Rmd b/vignettes/github_api_showcase.Rmd index 588f448..0d423f0 100644 --- a/vignettes/github_api_showcase.Rmd +++ b/vignettes/github_api_showcase.Rmd @@ -45,10 +45,12 @@ The goal of the following steps is to obtain the data when a project started ass To use the pipeline, you must specify the organization and project of interest, and your token. ```{r} -conf <- yaml::read_yaml("../conf/kaiaulu.yml") -owner <- conf[["issue_tracker"]][["github"]][["owner"]] # Has to match github organization (e.g. github.com/sailuh) -repo <- conf[["issue_tracker"]][["github"]][["repo"]] # Has to match github repository (e.g. github.com/sailuh/perceive) -save_path <- path.expand(conf[["issue_tracker"]][["github"]][["replies"]]) # Path you wish to save all raw data. A folder with the repo name and sub-folders will be created. +conf <- get_parsed("conf/kaiaulu.yml") +owner <- get_github_owner(conf, "project_key_1") # Has to match github organization (e.g. github.com/sailuh) +repo <- get_github_repo(conf, "project_key_1") # Has to match github repository (e.g. github.com/sailuh/perceive) +save_path_issue_or_pr_comments <- path.expand(get_github_issue_or_pr_comment_path(conf, "project_key_1")) +save_path_issue_event <- get_github_issue_event_path(conf, "project_key_1") +save_path_commit <- get_github_commit_path(conf, "project_key_1") # your file github_token contains the GitHub token API obtained in the steps above token <- scan("~/.ssh/github_token",what="character",quiet=TRUE) ``` @@ -57,23 +59,12 @@ token <- scan("~/.ssh/github_token",what="character",quiet=TRUE) In this section we obtain the raw data (.json) containing all information the GitHub API endpoint provides. We parse the information of interest in the subsequent section. -```{r eval = FALSE} -dir.create(paste0(save_path)) -``` - - ## Issue Events First we obtain all issue events of the project, so we may later subset issue assignments. -```{r} -save_path_issue_event <- paste0(save_path,"/issue_event/") -``` - - ```{r Collect all issue events, eval = FALSE} gh_response <- github_api_project_issue_events(owner,repo,token) -dir.create(save_path_issue_event) github_api_iterate_pages(token,gh_response,save_path_issue_event,prefix="issue_event") ``` @@ -81,14 +72,8 @@ github_api_iterate_pages(token,gh_response,save_path_issue_event,prefix="issue_e Next we download commit data from GitHub API. This will be used to know which users in the issue events have or not merge permissions. -```{r} -save_path_commit <- paste0(save_path,"/commit/") -``` - - ```{r Collect all project commit messages, eval = FALSE} gh_response <- github_api_project_commits(owner,repo,token) -dir.create(save_path_commit) github_api_iterate_pages(token,gh_response,save_path_commit,prefix="commit") ``` diff --git a/vignettes/gitlog_entity_showcase.Rmd b/vignettes/gitlog_entity_showcase.Rmd index d6e4cbb..4f2c4dc 100644 --- a/vignettes/gitlog_entity_showcase.Rmd +++ b/vignettes/gitlog_entity_showcase.Rmd @@ -32,22 +32,22 @@ require(knitr) # Project Configuration File ```{r} -tool <- yaml::read_yaml("../tools.yml") -conf <- yaml::read_yaml("../conf/kaiaulu.yml") +tool <- get_parsed("tools.yml") +conf <- get_parsed("conf/kaiaulu.yml") # 3rd Party Tools -perceval_path <- tool[["perceval"]] -utags_path <- tool[["utags"]] +perceval_path <- get_tool_project("perceval", tool) +utags_path <- get_tool_project("utags", tool) # Ctags Line Types -kinds <- conf[["tool"]][["uctags"]][["keep_lines_type"]] +kinds <- get_uctags_line_types(conf) # Local Git Repo Folder Path -git_repo_path <- conf[["version_control"]][["log"]] +git_repo_path <- get_git_repo_path(conf) # File Filters -file_extensions <- conf[["filter"]][["keep_filepaths_ending_with"]] -substring_filepath <- conf[["filter"]][["remove_filepaths_containing"]] +file_extensions <- get_file_extensions(conf) +substring_filepath <- get_substring_filepath(conf) ``` # Construct Collaboration Network diff --git a/vignettes/gitlog_showcase.Rmd b/vignettes/gitlog_showcase.Rmd index 9e4a95b..bfa5c40 100644 --- a/vignettes/gitlog_showcase.Rmd +++ b/vignettes/gitlog_showcase.Rmd @@ -66,16 +66,16 @@ The file makes all assumptions explicit to you when using the code. Note these a The following code block reads the information explained just now: ```{r} -tool <- yaml::read_yaml("../tools.yml") -conf <- yaml::read_yaml("../conf/kaiaulu.yml") -perceval_path <- tool[["perceval"]] -git_repo_path <- conf[["version_control"]][["log"]] -git_branch <- conf[["version_control"]][["branch"]][1] -nvdfeed_folder_path <- conf[["vulnerabilities"]][["nvd_feed"]] +tool <- get_parsed("tools.yml") +conf <- get_parsed("conf/kaiaulu.yml") +perceval_path <- get_tool_project("perceval", tool) +git_repo_path <- get_git_repo_path(conf) +git_branch <- get_git_branches(conf)[1] +nvdfeed_folder_path <- get_nvdfeed_folder_path(conf) # Filters -file_extensions <- conf[["filter"]][["keep_filepaths_ending_with"]] -substring_filepath <- conf[["filter"]][["remove_filepaths_containing"]] +file_extensions <- get_file_extensions(conf) +substring_filepath <- get_substring_filepath(conf) ``` This is all the project configuration files are used for. If you inspect the variables above, you will see they are just strings. As a reminder, the tools.yml is where you store the filepaths to third party software in your computer. Please see Kaiaulu's README.md for details. As a rule of thumb, any R Notebooks in Kaiaulu load the project configuration file at the start, much like you would normally initialize variables at the start of your source code. diff --git a/vignettes/gitlog_vulnerabilities_showcase.Rmd b/vignettes/gitlog_vulnerabilities_showcase.Rmd index 09474cd..92aee43 100644 --- a/vignettes/gitlog_vulnerabilities_showcase.Rmd +++ b/vignettes/gitlog_vulnerabilities_showcase.Rmd @@ -28,16 +28,16 @@ require(yaml) Load config file. ```{r} -tool <- yaml::read_yaml("../tools.yml") -conf <- yaml::read_yaml("../conf/chromium.yml") -perceval_path <- tool[["perceval"]] -git_repo_path <- conf[["version_control"]][["log"]] -nvdfeed_folder_path <- conf[["vulnerabilities"]][["nvd_feed"]] -cveid_regex <- conf[["commit_message_id_regex"]][["cve_id"]] +tool <- get_parsed("tools.yml") +conf <- get_parsed("conf/chromium.yml") +perceval_path <- get_tool_project("perceval", tool) +git_repo_path <- get_git_repo_path(conf) +nvdfeed_folder_path <- get_nvdfeed_folder_path(conf) +cveid_regex <- get_cveid_regex(conf) # Filters -file_extensions <- conf[["filter"]][["keep_filepaths_ending_with"]] -substring_filepath <- conf[["filter"]][["remove_filepaths_containing"]] +file_extensions <- get_file_extensions(conf) +substring_filepath <- get_substring_filepath(conf) ``` # Construct Contribution Network diff --git a/vignettes/graph_gof_showcase.Rmd b/vignettes/graph_gof_showcase.Rmd index f6f9d76..0ec5f10 100644 --- a/vignettes/graph_gof_showcase.Rmd +++ b/vignettes/graph_gof_showcase.Rmd @@ -89,22 +89,22 @@ require(gt) ```{r} -tool <- yaml::read_yaml("../tools.yml") -conf <- yaml::read_yaml("../conf/junit5.yml") -srcml_path <- tool[["srcml"]] -pattern4_path <- tool[["pattern4"]] +tool <- get_parsed("tools.yml") +conf <- get_parsed("conf/junit5.yml") +srcml_path <- get_tool_project("srcml", tool) +pattern4_path <- get_tool_project("pattern4", tool) -git_repo_path <- conf[["version_control"]][["log"]] +git_repo_path <- get_git_repo_path(conf) folder_path <- stri_replace_last(git_repo_path,replacement="",regex=".git") # Tool Parameters -srcml_filepath <- conf[["tool"]][["srcml"]][["srcml_path"]] -class_folder_path <- conf[["tool"]][["pattern4"]][["class_folder_path"]] -pattern4_output_filepath <- conf[["tool"]][["pattern4"]][["output_filepath"]] +srcml_filepath <- get_srcml_filepath(conf) +class_folder_path <- get_pattern4_folder_path(conf) +pattern4_output_filepath <- get_pattern4_filepath(conf) # Filters -file_extensions <- conf[["filter"]][["keep_filepaths_ending_with"]] -substring_filepath <- conf[["filter"]][["remove_filepaths_containing"]] +file_extensions <- get_file_extensions(conf) +substring_filepath <- get_substring_filepath(conf) ``` This is all the project configuration files are used for. If you inspect the variables above, you will see they are just strings. As a reminder, the tools.yml is where you store the filepaths to third party software in your computer. Please see Kaiaulu's README.md for details. As a rule of thumb, any R Notebooks in Kaiaulu load the project configuration file at the start, much like you would normally initialize variables at the start of your source code. diff --git a/vignettes/issue_social_smell_showcase.Rmd b/vignettes/issue_social_smell_showcase.Rmd index 42459ec..d5dfe9a 100644 --- a/vignettes/issue_social_smell_showcase.Rmd +++ b/vignettes/issue_social_smell_showcase.Rmd @@ -55,33 +55,30 @@ At the scope of this notebook, **only the first branch** (top) specified in the We also provide the path for `tools.yml`. Kaiaulu does not implement all available functionality from scratch. Conversely, it will also not expect all dependencies to be installed. Every function defined in the API expects as parameter a filepath to the external dependency binary. Tools.yml is a convenience file that stores all the binary paths, so it can be set once during setup and reused multiple times for analysis. You can find an example of `tools.yml` on the github repo from Kaiaulu root directory. ```{r} -tools_path <- "../tools.yml" -conf_path <- "../conf/openssl.yml" +tool <- get_parsed("tools.yml") +conf <- get_parsed("conf/openssl.yml") -tool <- yaml::read_yaml(tools_path) -scc_path <- tool[["scc"]] +scc_path <- get_tool_project("scc", tool) -oslom_dir_path <- tool[["oslom_dir"]] -oslom_undir_path <- tool[["oslom_undir"]] +oslom_dir_path <- get_tool_project("oslom_dir", tool) +oslom_undir_path <- get_tool_project("oslom_undir", tool) -conf <- yaml::read_yaml(conf_path) +perceval_path <- get_tool_project("perceval", tool) +git_repo_path <- get_git_repo_path(conf) +git_branch <- get_git_branches(conf)[1] -perceval_path <- tool[["perceval"]] -git_repo_path <- conf[["version_control"]][["log"]] -git_branch <- conf[["version_control"]][["branch"]][1] +#start_commit <- get_window_start_commit(conf) +#end_commit <- get_window_end_commit(conf) +window_size <- get_window_size(conf) -#start_commit <- conf[["analysis"]][["window"]][["start_commit"]] -#end_commit <- conf[["analysis"]][["window"]][["end_commit"]] -window_size <- conf[["analysis"]][["window"]][["size_days"]] +mbox_path <- get_mbox_path(conf, "project_key_1") -mbox_path <- conf[["mailing_list"]][["mbox"]] - -nvdfeed_folder_path <- conf[["vulnerabilities"]][["nvd_feed"]] -cveid_regex <- conf[["commit_message_id_regex"]][["cve_id"]] +nvdfeed_folder_path <- get_nvdfeed_folder_path(conf) +cveid_regex <- get_cveid_regex(conf) # Filters -file_extensions <- conf[["filter"]][["keep_filepaths_ending_with"]] -substring_filepath <- conf[["filter"]][["remove_filepaths_containing"]] +file_extensions <- get_file_extensions(conf) +substring_filepath <- get_substring_filepath(conf) ``` The remainder of this notebook does not require modifications. If you encounter an error in any code block below, chances are one or more parameters above have been specified incorrectly, or the project of choice may have led to an outlier case. Please open an issue if you encounter an error, or if not sure post on discussions in Kaiaulu's GitHub. **E-mailing bugs is discouraged as it is hard to track**. diff --git a/vignettes/kaiaulu_architecture.Rmd b/vignettes/kaiaulu_architecture.Rmd index b03d413..6365e85 100644 --- a/vignettes/kaiaulu_architecture.Rmd +++ b/vignettes/kaiaulu_architecture.Rmd @@ -24,7 +24,7 @@ require(knitr) # Parse R Package ```{r} -folder_path <- "../R" +folder_path <- "R" ``` # Dependencies diff --git a/vignettes/line_metrics_showcase.Rmd b/vignettes/line_metrics_showcase.Rmd index 9bbd0d2..f227f12 100644 --- a/vignettes/line_metrics_showcase.Rmd +++ b/vignettes/line_metrics_showcase.Rmd @@ -57,16 +57,16 @@ filter: We load the necessary information in this code block: ```{r} -tool <- yaml::read_yaml("../tools.yml") -conf <- yaml::read_yaml("../conf/apr.yml") -scc_path <- tool[["scc"]] +tool <- get_parsed("tools.yml") +conf <- get_parsed("conf/apr.yml") +scc_path <- get_tool_project("scc", tool) -git_repo_path <- conf[["version_control"]][["log"]] -git_branch <- conf[["version_control"]][["branch"]][1] +git_repo_path <- get_git_repo_path(conf) +git_branch <- get_git_branches(conf)[1] # Filters -file_extensions <- conf[["filter"]][["keep_filepaths_ending_with"]] -substring_filepath <- conf[["filter"]][["remove_filepaths_containing"]] +file_extensions <- get_file_extensions(conf) +substring_filepath <- get_substring_filepath(conf) ``` The loaded variables are just strings or numbers. You can always inspect any variable to double check what is being used in the analysis. For instance, we are interested on analyzing a specific release of APR here: diff --git a/vignettes/motif_analysis.Rmd b/vignettes/motif_analysis.Rmd index cd58df1..6d316a5 100644 --- a/vignettes/motif_analysis.Rmd +++ b/vignettes/motif_analysis.Rmd @@ -38,26 +38,23 @@ Kaiaulu re-implementation is easy to extend, and allow for any combination of mo We demonstrate here both the triangle and square motif as originally defined in our paper, which leverages all 3 types of the networks. The project of analysis is Kaiaulu itself, however, this can be applied to other open source projects! ```{r} -tools_path <- "../tools.yml" -conf_path <- "../conf/kaiaulu.yml" +tool <- get_parsed("tools.yml") +conf <- get_parsed("conf/kaiaulu.yml") -tool <- yaml::read_yaml(tools_path) -scc_path <- tool[["scc"]] +scc_path <- get_tool_project("scc", tool) -oslom_dir_path <- tool[["oslom_dir"]] -oslom_undir_path <- tool[["oslom_undir"]] +oslom_dir_path <- get_tool_project("oslom_dir", tool) +oslom_undir_path <- get_tool_project("oslom_undir", tool) -conf <- yaml::read_yaml(conf_path) +perceval_path <- get_tool_project("perceval", tool) +git_repo_path <- get_git_repo_path(conf) +git_branch <- get_git_branches(conf)[1] -perceval_path <- tool[["perceval"]] -git_repo_path <- conf[["version_control"]][["log"]] -git_branch <- conf[["version_control"]][["branch"]][1] - -github_replies_path <- conf[["issue_tracker"]][["github"]][["replies"]] +github_replies_path <- get_github_issue_or_pr_comment_path(conf, "project_key_1") # Filters -file_extensions <- conf[["filter"]][["keep_filepaths_ending_with"]] -substring_filepath <- conf[["filter"]][["remove_filepaths_containing"]] +file_extensions <- get_file_extensions(conf) +substring_filepath <- get_substring_filepath(conf) ``` ## Parse Gitlog diff --git a/vignettes/refactoringminer_showcase.Rmd b/vignettes/refactoringminer_showcase.Rmd index eb25a15..9ffdac8 100644 --- a/vignettes/refactoringminer_showcase.Rmd +++ b/vignettes/refactoringminer_showcase.Rmd @@ -17,14 +17,12 @@ require(kaiaulu) This is a wrapper for [Refactoring Miner](https://github.com/tsantalis/RefactoringMiner#running-refactoringminer-from-the-command-line). See README.md for setup details. ```{r} -tool <- yaml::read_yaml("../tools.yml") -conf <- yaml::read_yaml("../conf/tomcat.yml") -rminer_path <- tool[["refactoring_miner"]] -git_repo_path <- conf[["version_control"]][["log"]] -start_commit <- conf[["analysis"]][["enumeration"]][["commit"]][1] -end_commit <- conf[["analysis"]][["enumeration"]][["commit"]][2] - - +tool <- get_parsed("tools.yml") +conf <- get_parsed("conf/tomcat.yml") +rminer_path <- get_tool_project("refactoring_miner", tool) +git_repo_path <- get_git_repo_path(conf) +start_commit <- get_enumeration_commits(conf)[1] +end_commit <- get_enumeration_commits(conf)[2] ``` A sample of parsed refactorings is shown below in json format: diff --git a/vignettes/reply_communication_showcase.Rmd b/vignettes/reply_communication_showcase.Rmd index e7d7ffb..a90a9e1 100644 --- a/vignettes/reply_communication_showcase.Rmd +++ b/vignettes/reply_communication_showcase.Rmd @@ -29,12 +29,11 @@ require(yaml) Load config file. ```{r} -tool <- yaml::read_yaml("../tools.yml") -conf <- yaml::read_yaml("../conf/geronimo.yml") -perceval_path <- tool[["perceval"]] - -mbox_path <- conf[["mailing_list"]][["mbox"]] -jira_issue_comments_path <- conf[["issue_tracker"]][["jira"]][["issue_comments"]] +tool <- get_parsed("tools.yml") +conf <- get_parsed("conf/geronimo.yml") +perceval_path <- get_tool_project("perceval", tool) +mbox_path <- get_mbox_path(conf, "project_key_1") +jira_issue_comments_path <- get_jira_issues_comments_path(conf, "project_key_1") ``` diff --git a/vignettes/social_smell_showcase.Rmd b/vignettes/social_smell_showcase.Rmd index 8594702..44c9ebb 100644 --- a/vignettes/social_smell_showcase.Rmd +++ b/vignettes/social_smell_showcase.Rmd @@ -55,35 +55,29 @@ At the scope of this notebook, **only the first branch** (top) specified in the We also provide the path for `tools.yml`. Kaiaulu does not implement all available functionality from scratch. Conversely, it will also not expect all dependencies to be installed. Every function defined in the API expects as parameter a filepath to the external dependency binary. Tools.yml is a convenience file that stores all the binary paths, so it can be set once during setup and reused multiple times for analysis. You can find an example of `tools.yml` on the github repo from Kaiaulu root directory. For this notebook, you will need to install Perceval (use version 0.12.24) and OSLOM. Instructions to do so are available in the Kaiaulu README.md. Once you are finished, set the "perceval," "oslom_dir," and "oslom_undir" paths in your `tools.yml`. ```{r} -tools_path <- "../tools.yml" -conf_path <- "../conf/helix.yml" +tool <- get_parsed("tools.yml") +conf <- get_parsed("conf/helix.yml") -tool <- yaml::read_yaml(tools_path) -scc_path <- tool[["scc"]] +scc_path <- get_tool_project("scc", tool) -oslom_dir_path <- tool[["oslom_dir"]] -oslom_undir_path <- tool[["oslom_undir"]] - -conf <- yaml::read_yaml(conf_path) - -perceval_path <- tool[["perceval"]] -git_repo_path <- conf[["version_control"]][["log"]] -git_branch <- conf[["version_control"]][["branch"]][1] - -start_commit <- conf[["analysis"]][["window"]][["start_commit"]] -end_commit <- conf[["analysis"]][["window"]][["end_commit"]] -window_size <- conf[["analysis"]][["window"]][["size_days"]] - -mbox_path <- conf[["mailing_list"]][["mbox"]] -github_replies_path <- conf[["issue_tracker"]][["github"]][["replies"]] -jira_issue_comments_path <- conf[["issue_tracker"]][["jira"]][["issue_comments"]] +oslom_dir_path <- get_tool_project("oslom_dir", tool) +oslom_undir_path <- get_tool_project("oslom_undir", tool) +perceval_path <- get_tool_project("perceval", tool) +git_repo_path <- get_git_repo_path(conf) +git_branch <- get_git_branches(conf)[1] +start_commit <- get_window_start_commit(conf) +end_commit <- get_window_end_commit(conf) +window_size <- get_window_size(conf) +mbox_path <- get_mbox_path(conf, "project_key_1") +github_replies_path <- get_github_issue_or_pr_comment_path(conf, "project_key_1") +jira_issue_comments_path <- get_jira_issues_comments_path(conf, "project_key_1") # Filters -file_extensions <- conf[["filter"]][["keep_filepaths_ending_with"]] -substring_filepath <- conf[["filter"]][["remove_filepaths_containing"]] +file_extensions <- get_file_extensions(conf) +substring_filepath <- get_substring_filepath(conf) ``` The remainder of this notebook does not require modifications. If you encounter an error in any code block below, chances are one or more parameters above have been specified incorrectly, or the project of choice may have led to an outlier case. Please open an issue if you encounter an error, or if not sure post on discussions in Kaiaulu's GitHub. **E-mailing bugs is discouraged as it is hard to track**. diff --git a/vignettes/text_gof_showcase.Rmd b/vignettes/text_gof_showcase.Rmd index bdb6964..9cabcb5 100644 --- a/vignettes/text_gof_showcase.Rmd +++ b/vignettes/text_gof_showcase.Rmd @@ -112,22 +112,22 @@ require(gt) ```{r} -tool <- yaml::read_yaml("../tools.yml") -conf <- yaml::read_yaml("../conf/junit5.yml") -srcml_path <- tool[["srcml"]] +tool <- get_parsed("tools.yml") +conf <- get_parsed("conf/junit5.yml") +srcml_path <- get_tool_project("srcml", tool) -git_repo_path <- conf[["version_control"]][["log"]] +git_repo_path <- get_git_repo_path(conf) folder_path <- stri_replace_last(git_repo_path,replacement="",regex=".git") # Tool Parameters -srcml_filepath <- conf[["tool"]][["srcml"]][["srcml_path"]] +srcml_filepath <- get_srcml_filepath(conf) # Filters -file_extensions <- conf[["filter"]][["keep_filepaths_ending_with"]] -substring_filepath <- conf[["filter"]][["remove_filepaths_containing"]] +file_extensions <- get_file_extensions(conf) +substring_filepath <- get_substring_filepath(conf) # Analysis -topics <- conf[["analysis"]][["topics"]] +topics <- get_topics(conf) ``` This is all the project configuration files are used for. If you inspect the variables above, you will see they are just strings. As a reminder, the tools.yml is where you store the filepaths to third party software in your computer. Please see Kaiaulu's README.md for details. As a rule of thumb, any R Notebooks in Kaiaulu load the project configuration file at the start, much like you would normally initialize variables at the start of your source code. From df129dfb8cd5a561caf4ffda6e4a3dcc7985bba4 Mon Sep 17 00:00:00 2001 From: Nicholas Beydler Date: Fri, 4 Oct 2024 21:52:23 -1000 Subject: [PATCH 21/32] i #230 Corrected config.R Documentation - config_file parameter description was incorrect, a reference to how it is obtained was added to its description. - renamed get_parsed() to parse_config() and changed the appropriate getter calls in all of the notebooks. - reverted RoxygenNote version in DESCRIPTION --- DESCRIPTION | 2 +- NAMESPACE | 2 +- R/config.R | 86 +++++++++---------- man/get_bugzilla_project_key.Rd | 2 +- man/get_code_language.Rd | 2 +- man/get_cveid_regex.Rd | 2 +- man/get_dv8_flaws_params.Rd | 2 +- man/get_dv8_folder_path.Rd | 2 +- man/get_enumeration_commits.Rd | 2 +- man/get_file_extensions.Rd | 2 +- man/get_filter_commit_size.Rd | 2 +- man/get_git_branches.Rd | 2 +- man/get_git_repo_path.Rd | 2 +- man/get_github_commit_path.Rd | 2 +- man/get_github_issue_event_path.Rd | 2 +- man/get_github_issue_or_pr_comment_path.Rd | 2 +- man/get_github_issue_path.Rd | 2 +- man/get_github_issue_search_path.Rd | 2 +- man/get_github_keys.Rd | 2 +- man/get_github_owner.Rd | 2 +- man/get_github_pull_request_path.Rd | 2 +- man/get_github_repo.Rd | 2 +- man/get_issue_id_regex.Rd | 2 +- man/get_jira_domain.Rd | 2 +- man/get_jira_issues_comments_path.Rd | 2 +- man/get_jira_issues_path.Rd | 2 +- man/get_jira_keys.Rd | 2 +- man/get_jira_project_key_name.Rd | 2 +- man/get_keep_dependencies_type.Rd | 2 +- man/get_mbox_archive_type.Rd | 2 +- man/get_mbox_domain.Rd | 2 +- man/get_mbox_key_indexes.Rd | 2 +- man/get_mbox_mailing_list.Rd | 2 +- man/get_mbox_path.Rd | 2 +- man/get_nvdfeed_folder_path.Rd | 2 +- man/get_pattern4_filepath.Rd | 2 +- man/get_pattern4_folder_path.Rd | 2 +- man/get_srcml_filepath.Rd | 2 +- man/get_substring_filepath.Rd | 2 +- man/get_tool_project.Rd | 2 +- man/get_topics.Rd | 2 +- man/get_uctags_line_types.Rd | 2 +- man/get_window_end_commit.Rd | 2 +- man/get_window_size.Rd | 2 +- man/get_window_start_commit.Rd | 2 +- man/{get_parsed.Rd => parse_config.Rd} | 6 +- vignettes/blamed_line_types_showcase.Rmd | 4 +- vignettes/bug_count.Rmd | 4 +- vignettes/causal_flaws.Rmd | 6 +- vignettes/community_detection_showcase.Rmd | 4 +- vignettes/depends_showcase.Rmd | 6 +- vignettes/download_github_comments.Rmd | 2 +- vignettes/download_jira_issues.Rmd | 2 +- vignettes/download_mod_mbox.Rmd | 58 ------------- vignettes/dv8_showcase.Rmd | 4 +- vignettes/github_api_showcase.Rmd | 2 +- vignettes/gitlog_entity_showcase.Rmd | 4 +- vignettes/gitlog_showcase.Rmd | 4 +- vignettes/gitlog_vulnerabilities_showcase.Rmd | 4 +- vignettes/graph_gof_showcase.Rmd | 4 +- vignettes/issue_social_smell_showcase.Rmd | 4 +- vignettes/line_metrics_showcase.Rmd | 4 +- vignettes/motif_analysis.Rmd | 4 +- vignettes/refactoringminer_showcase.Rmd | 4 +- vignettes/reply_communication_showcase.Rmd | 4 +- vignettes/social_smell_showcase.Rmd | 4 +- vignettes/text_gof_showcase.Rmd | 4 +- 67 files changed, 129 insertions(+), 187 deletions(-) rename man/{get_parsed.Rd => parse_config.Rd} (90%) delete mode 100644 vignettes/download_mod_mbox.Rmd diff --git a/DESCRIPTION b/DESCRIPTION index 715be99..4c07ec2 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -50,4 +50,4 @@ Imports: VignetteBuilder: knitr URL: https://github.com/sailuh/kaiaulu BugReports: https://github.com/sailuh/kaiaulu/issues -RoxygenNote: 7.3.2 +RoxygenNote: 7.2.3 diff --git a/NAMESPACE b/NAMESPACE index f6a7e44..6c013ee 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -81,7 +81,6 @@ export(get_mbox_key_indexes) export(get_mbox_mailing_list) export(get_mbox_path) export(get_nvdfeed_folder_path) -export(get_parsed) export(get_pattern4_filepath) export(get_pattern4_folder_path) export(get_srcml_filepath) @@ -153,6 +152,7 @@ export(parse_bugzilla_rest_comments) export(parse_bugzilla_rest_issues) export(parse_bugzilla_rest_issues_comments) export(parse_commit_message_id) +export(parse_config) export(parse_dependencies) export(parse_dv8_architectural_flaws) export(parse_dv8_clusters) diff --git a/R/config.R b/R/config.R index a6ba802..ed2a6ee 100644 --- a/R/config.R +++ b/R/config.R @@ -19,7 +19,7 @@ #' @param config_path The path of the config file from the kaiaulu directory (e.g. "conf/kaiaulu.yml"). #' @return The parsed config file whose path is specified by `config_path`. #' @export -get_parsed <- function(config_path) { +parse_config <- function(config_path) { conf <- yaml::read_yaml(config_path) @@ -40,7 +40,7 @@ get_parsed <- function(config_path) { #' `tool_name`, exists in the parsed configuration file, `config_file`. #' #' @param tool_name The name of the tool (e.g. "perceval" or "dv8"). -#' @param config_file The parsed configuration file. +#' @param config_file The parsed configuration file obtained from \code{\link{parse_config}}. #' @return The specified `tool_name` tool project from `config_file`. #' @export get_tool_project <- function(tool_name, config_file) { @@ -64,7 +64,7 @@ get_tool_project <- function(tool_name, config_file) { #' The function will inform the user if the .git path of the project repository #' exists in the parsed configuration file, `config_file`. #' -#' @param config_file The parsed configuration file. +#' @param config_file The parsed configuration file obtained from \code{\link{parse_config}}. #' @return The local git repository path specified in `config_file`. #' @export get_git_repo_path <- function(config_file) { @@ -86,7 +86,7 @@ get_git_repo_path <- function(config_file) { #' The function will inform the user if the list of branches to be analyzed #' exists in the parsed configuration file, `config_file`. #' -#' @param config_file The parsed configuration file. +#' @param config_file The parsed configuration file obtained from \code{\link{parse_config}}. #' @return The list of git branches. #' @export get_git_branches <- function(config_file) { @@ -110,7 +110,7 @@ get_git_branches <- function(config_file) { #' inform the user if the list of file extensions exists in the parsed #' configuration file, `config_file`. #' -#' @param config_file The parsed configuration file. +#' @param config_file The parsed configuration file obtained from \code{\link{parse_config}}. #' @return The list of file extensions to keep. #' @export get_file_extensions <- function(config_file) { @@ -132,7 +132,7 @@ get_file_extensions <- function(config_file) { #' inform the user if the list of file extensions exists in the parsed #' configuration file, `config_file`. #' -#' @param config_file The parsed configuration file. +#' @param config_file The parsed configuration file obtained from \code{\link{parse_config}}. #' @return The list of file extensions to remove. #' @export get_substring_filepath <- function(config_file) { @@ -154,7 +154,7 @@ get_substring_filepath <- function(config_file) { #' configuration file. The function will inform the user if the commit size #' threshold exists in the parsed configuration file, `config_file`. #' -#' @param config_file The parsed configuration file. +#' @param config_file The parsed configuration file obtained from \code{\link{parse_config}}. #' @return The commit size to filter out. #' @export get_filter_commit_size <- function(config_file) { @@ -178,7 +178,7 @@ get_filter_commit_size <- function(config_file) { #' The function will inform the user if the lines type to keep exists in the #' parsed configuration file, `config_file`. #' -#' @param config_file The parsed configuration file. +#' @param config_file The parsed configuration file obtained from \code{\link{parse_config}}. #' @return The lines type to keep for analysis. #' @export get_uctags_line_types <- function(config_file) { @@ -200,7 +200,7 @@ get_uctags_line_types <- function(config_file) { #' must be a parsed configuration file. The function will inform the user if #' the code language exists in the parsed configuration file, `config_file`. #' -#' @param config_file The parsed configuration file. +#' @param config_file The parsed configuration file obtained from \code{\link{parse_config}}. #' @return The code language for parsing file-file static dependencies. #' @export get_code_language <- function(config_file) { @@ -222,7 +222,7 @@ get_code_language <- function(config_file) { #' configuration file. The function will inform the user if the list of the #' types of dependencies exists in the parsed configuration file, `config_file`. #' -#' @param config_file The parsed configuration file. +#' @param config_file The parsed configuration file obtained from \code{\link{parse_config}}. #' @return A list of the types of dependencies to keep for analysis. #' @export get_keep_dependencies_type <- function(config_file) { @@ -246,7 +246,7 @@ get_keep_dependencies_type <- function(config_file) { #' path to the folder for intermediate file storage for DV8 analysis exists in #' the parsed configuration file, `config_file`. #' -#' @param config_file The parsed configuration file. +#' @param config_file The parsed configuration file obtained from \code{\link{parse_config}}. #' @return The DV8 project folder path. #' @export get_dv8_folder_path <- function(config_file) { @@ -268,7 +268,7 @@ get_dv8_folder_path <- function(config_file) { #' will inform the user if the list of architectural flaws thresholds #' exists in the parsed configuration file, `config_file`. #' -#' @param config_file The parsed configuration file. +#' @param config_file The parsed configuration file obtained from \code{\link{parse_config}}. #' @return The list of DV8 architectural flaws thresholds. #' @export get_dv8_flaws_params <- function(config_file) { @@ -290,7 +290,7 @@ get_dv8_flaws_params <- function(config_file) { #' configuration file. The function will inform the user if the file path #' exists in the parsed configuration file, `config_file`. #' -#' @param config_file The parsed configuration file. +#' @param config_file The parsed configuration file obtained from \code{\link{parse_config}}. #' @return The output file path for srcML analysis. #' @export get_srcml_filepath <- function(config_file) { @@ -312,7 +312,7 @@ get_srcml_filepath <- function(config_file) { #' configuration file. The function will inform the user if the folder path #' exists in the parsed configuration file, `config_file`. #' -#' @param config_file The parsed configuration file. +#' @param config_file The parsed configuration file obtained from \code{\link{parse_config}}. #' @return The Pattern4 class folder path. #' @export get_pattern4_folder_path <- function(config_file) { @@ -334,7 +334,7 @@ get_pattern4_folder_path <- function(config_file) { #' configuration file. The function will inform the user if the folder path #' exists in the parsed configuration file, `config_file`. #' -#' @param config_file The parsed configuration file. +#' @param config_file The parsed configuration file obtained from \code{\link{parse_config}}. #' @return The Pattern4 output folder path. #' @export get_pattern4_filepath <- function(config_file) { @@ -358,7 +358,7 @@ get_pattern4_filepath <- function(config_file) { #' the user if the project keys exist in the parsed configuration #' file, `config_file`. #' -#' @param config_file The parsed configuration file. +#' @param config_file The parsed configuration file obtained from \code{\link{parse_config}}. #' @return The list of mod mbox mailing list keys. #' @export get_mbox_key_indexes <- function(config_file) { @@ -381,7 +381,7 @@ get_mbox_key_indexes <- function(config_file) { #' local folder path to store mbox data exists in the parsed configuration #' file, `config_file`. #' -#' @param config_file The parsed configuration file. +#' @param config_file The parsed configuration file obtained from \code{\link{parse_config}}. #' @param project_key_index The name of the index of the project key (e.g. "project_key_1" or "project_key_2"). #' @return The local mbox path for project specified by key `project_key_index`. #' @export @@ -404,7 +404,7 @@ get_mbox_path <- function(config_file, project_key_index) { #' The function will inform the user if the specific URL to the archives for #' mbox exists in the parsed configuration file, `config_file`. #' -#' @param config_file The parsed configuration file. +#' @param config_file The parsed configuration file obtained from \code{\link{parse_config}}. #' @param project_key_index The name of the index of the project key (e.g. "project_key_1" or "project_key_2"). #' @return The URL of the mailing list archive for project specified by key `project_key_index`. #' @export @@ -427,7 +427,7 @@ get_mbox_domain <- function(config_file, project_key_index) { #' configuration file. The function will inform the user if the mailing #' list for mbox exists in the parsed configuration file, `config_file`. #' -#' @param config_file The parsed configuration file. +#' @param config_file The parsed configuration file obtained from \code{\link{parse_config}}. #' @param project_key_index The name of the index of the project key (e.g. "project_key_1" or "project_key_2"). #' @return The mbox mailing list for project specified by key `project_key_index`. #' @export @@ -450,7 +450,7 @@ get_mbox_mailing_list <- function(config_file, project_key_index) { #' configuration file. The function will inform the user if the archive type #' for mbox exists in the parsed configuration file, `config_file`. #' -#' @param config_file The parsed configuration file. +#' @param config_file The parsed configuration file obtained from \code{\link{parse_config}}. #' @param project_key_index The name of the index of the project key (e.g. "project_key_1" or "project_key_2"). #' @return The mbox archive type for project specified by key `project_key_index`. #' @export @@ -475,7 +475,7 @@ get_mbox_archive_type <- function(config_file, project_key_index) { #' the user if the project keys exist in the parsed configuration #' file, `config_file`. #' -#' @param config_file The parsed configuration file. +#' @param config_file The parsed configuration file obtained from \code{\link{parse_config}}. #' @return The list of GitHub issue tracker project keys. #' @export get_github_keys <- function(config_file) { @@ -497,7 +497,7 @@ get_github_keys <- function(config_file) { #' will inform the user if the owner for the GitHub repository exists in the #' parsed configuration file, `config_file`. #' -#' @param config_file The parsed configuration file. +#' @param config_file The parsed configuration file obtained from \code{\link{parse_config}}. #' @param project_key_index The name of the index of the project key (e.g. "project_key_1" or "project_key_2"). #' @return The GitHub project owner name for project specified by key `project_key_index`. #' @export @@ -520,7 +520,7 @@ get_github_owner <- function(config_file, project_key_index) { #' will inform the user if the name of the GitHub repository exists in the #' parsed configuration file, `config_file`. #' -#' @param config_file The parsed configuration file. +#' @param config_file The parsed configuration file obtained from \code{\link{parse_config}}. #' @param project_key_index The name of the index of the project key (e.g. "project_key_1" or "project_key_2"). #' @return The name of the GitHub repository for project specified by key `project_key_index`. #' @export @@ -543,7 +543,7 @@ get_github_repo <- function(config_file, project_key_index) { #' The function will inform the user if the folder path for GitHub issues exists #' in the parsed configuration file, `config_file`. #' -#' @param config_file The parsed configuration file. +#' @param config_file The parsed configuration file obtained from \code{\link{parse_config}}. #' @param project_key_index The name of the index of the project key (e.g. "project_key_1" or "project_key_2"). #' @return The local folder path for GitHub issues for project specified by key `project_key_index`. #' @export @@ -567,7 +567,7 @@ get_github_issue_path <- function(config_file, project_key_index) { #' configuration file. The function will inform the user if the local folder #' path for the comments exists in the parsed configuration file, `config_file`. #' -#' @param config_file The parsed configuration file. +#' @param config_file The parsed configuration file obtained from \code{\link{parse_config}}. #' @param project_key_index The name of the index of the project key (e.g. "project_key_1" or "project_key_2"). #' @return The local folder path for GitHub Issues or PR comments for project specified by key `project_key_index`. #' @export @@ -591,7 +591,7 @@ get_github_issue_or_pr_comment_path <- function(config_file, project_key_index) #' The function will inform the user if the local folder path for the issue #' searches exists in the parsed configuration file, `config_file`. #' -#' @param config_file The parsed configuration file. +#' @param config_file The parsed configuration file obtained from \code{\link{parse_config}}. #' @param project_key_index The name of the index of the project key (e.g. "project_key_1" or "project_key_2"). #' @return The local folder path for GitHub issue search for project specified by key `project_key_index`. #' @export @@ -616,7 +616,7 @@ get_github_issue_search_path <- function(config_file, project_key_index) { #' path for the pull requests exists in the parsed configuration file, #' `config_file`. #' -#' @param config_file The parsed configuration file. +#' @param config_file The parsed configuration file obtained from \code{\link{parse_config}}. #' @param project_key_index The name of the index of the project key (e.g. "project_key_1" or "project_key_2"). #' @return The local folder path for GitHub pull requests for project specified by key `project_key_index`. #' @export @@ -641,7 +641,7 @@ get_github_pull_request_path <- function(config_file, project_key_index) { #' path for the issue events exists in the parsed configuration file, #' `config_file`. #' -#' @param config_file The parsed configuration file. +#' @param config_file The parsed configuration file obtained from \code{\link{parse_config}}. #' @param project_key_index The name of the index of the project key (e.g. "project_key_1" or "project_key_2"). #' @return The local folder path for GitHub issue events for project specified by key `project_key_index`. #' @export @@ -665,7 +665,7 @@ get_github_issue_event_path <- function(config_file, project_key_index) { #' path for the commits exists in the parsed configuration file, #' `config_file`. #' -#' @param config_file The parsed configuration file. +#' @param config_file The parsed configuration file obtained from \code{\link{parse_config}}. #' @param project_key_index The name of the index of the project key (e.g. "project_key_1" or "project_key_2"). #' @return The local folder path for GitHub commits for project specified by key `project_key_index`. #' @export @@ -688,7 +688,7 @@ get_github_commit_path <- function(config_file, project_key_index) { #' the user if the project keys exist in the parsed configuration #' file, `config_file`. #' -#' @param config_file The parsed configuration file. +#' @param config_file The parsed configuration file obtained from \code{\link{parse_config}}. #' @return The list of Jira issue tracker project keys. #' @export get_jira_keys <- function(config_file) { @@ -710,7 +710,7 @@ get_jira_keys <- function(config_file) { #' will inform the user if the domain exists in the parsed configuration file, #' `config_file`. #' -#' @param config_file The parsed configuration file. +#' @param config_file The parsed configuration file obtained from \code{\link{parse_config}}. #' @param project_key_index The name of the index of the project key (e.g. "project_key_1" or "project_key_2"). #' @return The Jira domain for project specified by key `project_key_index`. #' @export @@ -733,7 +733,7 @@ get_jira_domain <- function(config_file, project_key_index) { #' will inform the user if the project key name exists in the parsed #' configuration file, `config_file`. #' -#' @param config_file The parsed configuration file. +#' @param config_file The parsed configuration file obtained from \code{\link{parse_config}}. #' @param project_key_index The name of the index of the project key (e.g. "project_key_1" or "project_key_2"). #' @return The Jira project key name for project specified by key `project_key_index`. #' @export @@ -756,7 +756,7 @@ get_jira_project_key_name <- function(config_file, project_key_index) { #' will inform the user if the folder path for Jira issues exists in the parsed #' configuration file, `config_file`. #' -#' @param config_file The parsed configuration file. +#' @param config_file The parsed configuration file obtained from \code{\link{parse_config}}. #' @param project_key_index The name of the index of the project key (e.g. "project_key_1" or "project_key_2"). #' @return The Jira issue folder path for project specified by key `project_key_index`. #' @export @@ -780,7 +780,7 @@ get_jira_issues_path <- function(config_file, project_key_index) { #' configuration file. The function will inform the user if the local folder #' path for the comments exists in the parsed configuration file, `config_file`. #' -#' @param config_file The parsed configuration file. +#' @param config_file The parsed configuration file obtained from \code{\link{parse_config}}. #' @param project_key_index The name of the index of the project key (e.g. "project_key_1" or "project_key_2"). #' @return The folder path for Jira issue comments for project specified by key `project_key_index`. #' @export @@ -803,7 +803,7 @@ get_jira_issues_comments_path <- function(config_file, project_key_index) { #' the name of the Bugzilla project key exists in the parsed configuration #' file, `config_file`. #' -#' @param config_file The parsed configuration file. +#' @param config_file The parsed configuration file obtained from \code{\link{parse_config}}. #' @return The Bugzilla project key name. #' @export get_bugzilla_project_key <- function(config_file) { @@ -828,7 +828,7 @@ get_bugzilla_project_key <- function(config_file) { #' the user if the local folder path for the nvd feeds exists in the parsed #' configuration file, `config_file`. #' -#' @param config_file The parsed configuration file. +#' @param config_file The parsed configuration file obtained from \code{\link{parse_config}}. #' @return The folder path with nvd feeds. #' @export get_nvdfeed_folder_path <- function(config_file) { @@ -853,7 +853,7 @@ get_nvdfeed_folder_path <- function(config_file) { #' the user if the cve regular expression for commit messages exists in the #' parsed configuration file, `config_file`. #' -#' @param config_file The parsed configuration file. +#' @param config_file The parsed configuration file obtained from \code{\link{parse_config}}. #' @return The commit message CVE regular expression. #' @export get_cveid_regex <- function(config_file) { @@ -875,7 +875,7 @@ get_cveid_regex <- function(config_file) { #' the user if the issue Id regular expression for commit messages exists in the #' parsed configuration file, `config_file`. #' -#' @param config_file The parsed configuration file. +#' @param config_file The parsed configuration file obtained from \code{\link{parse_config}}. #' @return The commit message issue Id regular expression. #' @export get_issue_id_regex <- function(config_file) { @@ -899,7 +899,7 @@ get_issue_id_regex <- function(config_file) { #' the user if the list of enumerated commit intervals exists in the parsed #' configuration file, `config_file`. #' -#' @param config_file The parsed configuration file. +#' @param config_file The parsed configuration file obtained from \code{\link{parse_config}}. #' @return The list of enumerated commit intervals. #' @export get_enumeration_commits <- function(config_file) { @@ -921,7 +921,7 @@ get_enumeration_commits <- function(config_file) { #' configuration file. The function will inform the user if the start commit #' exists in the parsed configuration file, `config_file`. #' -#' @param config_file The parsed configuration file. +#' @param config_file The parsed configuration file obtained from \code{\link{parse_config}}. #' @return The start commit for a window for analysis. #' @export get_window_start_commit <- function(config_file) { @@ -943,7 +943,7 @@ get_window_start_commit <- function(config_file) { #' configuration file. The function will inform the user if the end commit #' exists in the parsed configuration file, `config_file`. #' -#' @param config_file The parsed configuration file. +#' @param config_file The parsed configuration file obtained from \code{\link{parse_config}}. #' @return The end commit for a window for analysis. #' @export get_window_end_commit <- function(config_file) { @@ -964,7 +964,7 @@ get_window_end_commit <- function(config_file) { #' must be a parsed configuration file. The function will inform the user if #' the window size exists in the parsed configuration file, `config_file`. #' -#' @param config_file The parsed configuration file. +#' @param config_file The parsed configuration file obtained from \code{\link{parse_config}}. #' @return The size of a window for analysis. #' @export get_window_size <- function(config_file) { @@ -986,7 +986,7 @@ get_window_size <- function(config_file) { #' inform the user if the list of keywords and topics exists in the parsed #' configuration file, `config_file`. #' -#' @param config_file The parsed configuration file. +#' @param config_file The parsed configuration file obtained from \code{\link{parse_config}}. #' @return The list of keywords and topics for analysis. #' @export get_topics <- function(config_file) { diff --git a/man/get_bugzilla_project_key.Rd b/man/get_bugzilla_project_key.Rd index 39cf34b..13715d4 100644 --- a/man/get_bugzilla_project_key.Rd +++ b/man/get_bugzilla_project_key.Rd @@ -7,7 +7,7 @@ get_bugzilla_project_key(config_file) } \arguments{ -\item{config_file}{The parsed configuration file.} +\item{config_file}{The parsed configuration file obtained from \code{\link{parse_config}}.} } \value{ The Bugzilla project key name. diff --git a/man/get_code_language.Rd b/man/get_code_language.Rd index 8962986..67154b1 100644 --- a/man/get_code_language.Rd +++ b/man/get_code_language.Rd @@ -7,7 +7,7 @@ get_code_language(config_file) } \arguments{ -\item{config_file}{The parsed configuration file.} +\item{config_file}{The parsed configuration file obtained from \code{\link{parse_config}}.} } \value{ The code language for parsing file-file static dependencies. diff --git a/man/get_cveid_regex.Rd b/man/get_cveid_regex.Rd index 8fe6680..3e6064e 100644 --- a/man/get_cveid_regex.Rd +++ b/man/get_cveid_regex.Rd @@ -8,7 +8,7 @@ for commit messages.} get_cveid_regex(config_file) } \arguments{ -\item{config_file}{The parsed configuration file.} +\item{config_file}{The parsed configuration file obtained from \code{\link{parse_config}}.} } \value{ The commit message CVE regular expression. diff --git a/man/get_dv8_flaws_params.Rd b/man/get_dv8_flaws_params.Rd index bf23b31..41a076f 100644 --- a/man/get_dv8_flaws_params.Rd +++ b/man/get_dv8_flaws_params.Rd @@ -7,7 +7,7 @@ get_dv8_flaws_params(config_file) } \arguments{ -\item{config_file}{The parsed configuration file.} +\item{config_file}{The parsed configuration file obtained from \code{\link{parse_config}}.} } \value{ The list of DV8 architectural flaws thresholds. diff --git a/man/get_dv8_folder_path.Rd b/man/get_dv8_folder_path.Rd index 0c36a33..9c18371 100644 --- a/man/get_dv8_folder_path.Rd +++ b/man/get_dv8_folder_path.Rd @@ -7,7 +7,7 @@ get_dv8_folder_path(config_file) } \arguments{ -\item{config_file}{The parsed configuration file.} +\item{config_file}{The parsed configuration file obtained from \code{\link{parse_config}}.} } \value{ The DV8 project folder path. diff --git a/man/get_enumeration_commits.Rd b/man/get_enumeration_commits.Rd index 5a9c58e..9f910b7 100644 --- a/man/get_enumeration_commits.Rd +++ b/man/get_enumeration_commits.Rd @@ -7,7 +7,7 @@ get_enumeration_commits(config_file) } \arguments{ -\item{config_file}{The parsed configuration file.} +\item{config_file}{The parsed configuration file obtained from \code{\link{parse_config}}.} } \value{ The list of enumerated commit intervals. diff --git a/man/get_file_extensions.Rd b/man/get_file_extensions.Rd index 8174d13..ea97656 100644 --- a/man/get_file_extensions.Rd +++ b/man/get_file_extensions.Rd @@ -7,7 +7,7 @@ get_file_extensions(config_file) } \arguments{ -\item{config_file}{The parsed configuration file.} +\item{config_file}{The parsed configuration file obtained from \code{\link{parse_config}}.} } \value{ The list of file extensions to keep. diff --git a/man/get_filter_commit_size.Rd b/man/get_filter_commit_size.Rd index 96e840b..546be0c 100644 --- a/man/get_filter_commit_size.Rd +++ b/man/get_filter_commit_size.Rd @@ -7,7 +7,7 @@ get_filter_commit_size(config_file) } \arguments{ -\item{config_file}{The parsed configuration file.} +\item{config_file}{The parsed configuration file obtained from \code{\link{parse_config}}.} } \value{ The commit size to filter out. diff --git a/man/get_git_branches.Rd b/man/get_git_branches.Rd index 396c57c..4e89dca 100644 --- a/man/get_git_branches.Rd +++ b/man/get_git_branches.Rd @@ -7,7 +7,7 @@ get_git_branches(config_file) } \arguments{ -\item{config_file}{The parsed configuration file.} +\item{config_file}{The parsed configuration file obtained from \code{\link{parse_config}}.} } \value{ The list of git branches. diff --git a/man/get_git_repo_path.Rd b/man/get_git_repo_path.Rd index 3241519..5a02751 100644 --- a/man/get_git_repo_path.Rd +++ b/man/get_git_repo_path.Rd @@ -7,7 +7,7 @@ get_git_repo_path(config_file) } \arguments{ -\item{config_file}{The parsed configuration file.} +\item{config_file}{The parsed configuration file obtained from \code{\link{parse_config}}.} } \value{ The local git repository path specified in `config_file`. diff --git a/man/get_github_commit_path.Rd b/man/get_github_commit_path.Rd index e6f1ed9..072cab4 100644 --- a/man/get_github_commit_path.Rd +++ b/man/get_github_commit_path.Rd @@ -7,7 +7,7 @@ get_github_commit_path(config_file, project_key_index) } \arguments{ -\item{config_file}{The parsed configuration file.} +\item{config_file}{The parsed configuration file obtained from \code{\link{parse_config}}.} \item{project_key_index}{The name of the index of the project key (e.g. "project_key_1" or "project_key_2").} } diff --git a/man/get_github_issue_event_path.Rd b/man/get_github_issue_event_path.Rd index 34ad6c5..b5ed60d 100644 --- a/man/get_github_issue_event_path.Rd +++ b/man/get_github_issue_event_path.Rd @@ -8,7 +8,7 @@ key.} get_github_issue_event_path(config_file, project_key_index) } \arguments{ -\item{config_file}{The parsed configuration file.} +\item{config_file}{The parsed configuration file obtained from \code{\link{parse_config}}.} \item{project_key_index}{The name of the index of the project key (e.g. "project_key_1" or "project_key_2").} } diff --git a/man/get_github_issue_or_pr_comment_path.Rd b/man/get_github_issue_or_pr_comment_path.Rd index 46a8263..c41ef4a 100644 --- a/man/get_github_issue_or_pr_comment_path.Rd +++ b/man/get_github_issue_or_pr_comment_path.Rd @@ -8,7 +8,7 @@ a specific project key.} get_github_issue_or_pr_comment_path(config_file, project_key_index) } \arguments{ -\item{config_file}{The parsed configuration file.} +\item{config_file}{The parsed configuration file obtained from \code{\link{parse_config}}.} \item{project_key_index}{The name of the index of the project key (e.g. "project_key_1" or "project_key_2").} } diff --git a/man/get_github_issue_path.Rd b/man/get_github_issue_path.Rd index 042fdb6..40f4eb4 100644 --- a/man/get_github_issue_path.Rd +++ b/man/get_github_issue_path.Rd @@ -7,7 +7,7 @@ get_github_issue_path(config_file, project_key_index) } \arguments{ -\item{config_file}{The parsed configuration file.} +\item{config_file}{The parsed configuration file obtained from \code{\link{parse_config}}.} \item{project_key_index}{The name of the index of the project key (e.g. "project_key_1" or "project_key_2").} } diff --git a/man/get_github_issue_search_path.Rd b/man/get_github_issue_search_path.Rd index 94802c4..b7b1705 100644 --- a/man/get_github_issue_search_path.Rd +++ b/man/get_github_issue_search_path.Rd @@ -8,7 +8,7 @@ project key.} get_github_issue_search_path(config_file, project_key_index) } \arguments{ -\item{config_file}{The parsed configuration file.} +\item{config_file}{The parsed configuration file obtained from \code{\link{parse_config}}.} \item{project_key_index}{The name of the index of the project key (e.g. "project_key_1" or "project_key_2").} } diff --git a/man/get_github_keys.Rd b/man/get_github_keys.Rd index 8ed30a4..884101e 100644 --- a/man/get_github_keys.Rd +++ b/man/get_github_keys.Rd @@ -7,7 +7,7 @@ get_github_keys(config_file) } \arguments{ -\item{config_file}{The parsed configuration file.} +\item{config_file}{The parsed configuration file obtained from \code{\link{parse_config}}.} } \value{ The list of GitHub issue tracker project keys. diff --git a/man/get_github_owner.Rd b/man/get_github_owner.Rd index 5462933..af80dfb 100644 --- a/man/get_github_owner.Rd +++ b/man/get_github_owner.Rd @@ -7,7 +7,7 @@ get_github_owner(config_file, project_key_index) } \arguments{ -\item{config_file}{The parsed configuration file.} +\item{config_file}{The parsed configuration file obtained from \code{\link{parse_config}}.} \item{project_key_index}{The name of the index of the project key (e.g. "project_key_1" or "project_key_2").} } diff --git a/man/get_github_pull_request_path.Rd b/man/get_github_pull_request_path.Rd index 2c86cad..75af220 100644 --- a/man/get_github_pull_request_path.Rd +++ b/man/get_github_pull_request_path.Rd @@ -8,7 +8,7 @@ project key.} get_github_pull_request_path(config_file, project_key_index) } \arguments{ -\item{config_file}{The parsed configuration file.} +\item{config_file}{The parsed configuration file obtained from \code{\link{parse_config}}.} \item{project_key_index}{The name of the index of the project key (e.g. "project_key_1" or "project_key_2").} } diff --git a/man/get_github_repo.Rd b/man/get_github_repo.Rd index 911e143..5f47478 100644 --- a/man/get_github_repo.Rd +++ b/man/get_github_repo.Rd @@ -7,7 +7,7 @@ get_github_repo(config_file, project_key_index) } \arguments{ -\item{config_file}{The parsed configuration file.} +\item{config_file}{The parsed configuration file obtained from \code{\link{parse_config}}.} \item{project_key_index}{The name of the index of the project key (e.g. "project_key_1" or "project_key_2").} } diff --git a/man/get_issue_id_regex.Rd b/man/get_issue_id_regex.Rd index a5faf87..b8f4789 100644 --- a/man/get_issue_id_regex.Rd +++ b/man/get_issue_id_regex.Rd @@ -7,7 +7,7 @@ get_issue_id_regex(config_file) } \arguments{ -\item{config_file}{The parsed configuration file.} +\item{config_file}{The parsed configuration file obtained from \code{\link{parse_config}}.} } \value{ The commit message issue Id regular expression. diff --git a/man/get_jira_domain.Rd b/man/get_jira_domain.Rd index d50dde7..7384713 100644 --- a/man/get_jira_domain.Rd +++ b/man/get_jira_domain.Rd @@ -7,7 +7,7 @@ get_jira_domain(config_file, project_key_index) } \arguments{ -\item{config_file}{The parsed configuration file.} +\item{config_file}{The parsed configuration file obtained from \code{\link{parse_config}}.} \item{project_key_index}{The name of the index of the project key (e.g. "project_key_1" or "project_key_2").} } diff --git a/man/get_jira_issues_comments_path.Rd b/man/get_jira_issues_comments_path.Rd index 4238bc4..97078a2 100644 --- a/man/get_jira_issues_comments_path.Rd +++ b/man/get_jira_issues_comments_path.Rd @@ -8,7 +8,7 @@ project key.} get_jira_issues_comments_path(config_file, project_key_index) } \arguments{ -\item{config_file}{The parsed configuration file.} +\item{config_file}{The parsed configuration file obtained from \code{\link{parse_config}}.} \item{project_key_index}{The name of the index of the project key (e.g. "project_key_1" or "project_key_2").} } diff --git a/man/get_jira_issues_path.Rd b/man/get_jira_issues_path.Rd index d745dae..6d3c31d 100644 --- a/man/get_jira_issues_path.Rd +++ b/man/get_jira_issues_path.Rd @@ -7,7 +7,7 @@ get_jira_issues_path(config_file, project_key_index) } \arguments{ -\item{config_file}{The parsed configuration file.} +\item{config_file}{The parsed configuration file obtained from \code{\link{parse_config}}.} \item{project_key_index}{The name of the index of the project key (e.g. "project_key_1" or "project_key_2").} } diff --git a/man/get_jira_keys.Rd b/man/get_jira_keys.Rd index d9cd8fc..46b1ca3 100644 --- a/man/get_jira_keys.Rd +++ b/man/get_jira_keys.Rd @@ -7,7 +7,7 @@ get_jira_keys(config_file) } \arguments{ -\item{config_file}{The parsed configuration file.} +\item{config_file}{The parsed configuration file obtained from \code{\link{parse_config}}.} } \value{ The list of Jira issue tracker project keys. diff --git a/man/get_jira_project_key_name.Rd b/man/get_jira_project_key_name.Rd index 0441d92..bfe3633 100644 --- a/man/get_jira_project_key_name.Rd +++ b/man/get_jira_project_key_name.Rd @@ -7,7 +7,7 @@ get_jira_project_key_name(config_file, project_key_index) } \arguments{ -\item{config_file}{The parsed configuration file.} +\item{config_file}{The parsed configuration file obtained from \code{\link{parse_config}}.} \item{project_key_index}{The name of the index of the project key (e.g. "project_key_1" or "project_key_2").} } diff --git a/man/get_keep_dependencies_type.Rd b/man/get_keep_dependencies_type.Rd index 31a44f7..0d8bf47 100644 --- a/man/get_keep_dependencies_type.Rd +++ b/man/get_keep_dependencies_type.Rd @@ -7,7 +7,7 @@ get_keep_dependencies_type(config_file) } \arguments{ -\item{config_file}{The parsed configuration file.} +\item{config_file}{The parsed configuration file obtained from \code{\link{parse_config}}.} } \value{ A list of the types of dependencies to keep for analysis. diff --git a/man/get_mbox_archive_type.Rd b/man/get_mbox_archive_type.Rd index 35a51a1..2d4d5d1 100644 --- a/man/get_mbox_archive_type.Rd +++ b/man/get_mbox_archive_type.Rd @@ -7,7 +7,7 @@ get_mbox_archive_type(config_file, project_key_index) } \arguments{ -\item{config_file}{The parsed configuration file.} +\item{config_file}{The parsed configuration file obtained from \code{\link{parse_config}}.} \item{project_key_index}{The name of the index of the project key (e.g. "project_key_1" or "project_key_2").} } diff --git a/man/get_mbox_domain.Rd b/man/get_mbox_domain.Rd index e683531..6f20222 100644 --- a/man/get_mbox_domain.Rd +++ b/man/get_mbox_domain.Rd @@ -7,7 +7,7 @@ get_mbox_domain(config_file, project_key_index) } \arguments{ -\item{config_file}{The parsed configuration file.} +\item{config_file}{The parsed configuration file obtained from \code{\link{parse_config}}.} \item{project_key_index}{The name of the index of the project key (e.g. "project_key_1" or "project_key_2").} } diff --git a/man/get_mbox_key_indexes.Rd b/man/get_mbox_key_indexes.Rd index be09cb0..541a0de 100644 --- a/man/get_mbox_key_indexes.Rd +++ b/man/get_mbox_key_indexes.Rd @@ -7,7 +7,7 @@ get_mbox_key_indexes(config_file) } \arguments{ -\item{config_file}{The parsed configuration file.} +\item{config_file}{The parsed configuration file obtained from \code{\link{parse_config}}.} } \value{ The list of mod mbox mailing list keys. diff --git a/man/get_mbox_mailing_list.Rd b/man/get_mbox_mailing_list.Rd index 9d9379c..78833a0 100644 --- a/man/get_mbox_mailing_list.Rd +++ b/man/get_mbox_mailing_list.Rd @@ -7,7 +7,7 @@ get_mbox_mailing_list(config_file, project_key_index) } \arguments{ -\item{config_file}{The parsed configuration file.} +\item{config_file}{The parsed configuration file obtained from \code{\link{parse_config}}.} \item{project_key_index}{The name of the index of the project key (e.g. "project_key_1" or "project_key_2").} } diff --git a/man/get_mbox_path.Rd b/man/get_mbox_path.Rd index 079611d..527f212 100644 --- a/man/get_mbox_path.Rd +++ b/man/get_mbox_path.Rd @@ -7,7 +7,7 @@ get_mbox_path(config_file, project_key_index) } \arguments{ -\item{config_file}{The parsed configuration file.} +\item{config_file}{The parsed configuration file obtained from \code{\link{parse_config}}.} \item{project_key_index}{The name of the index of the project key (e.g. "project_key_1" or "project_key_2").} } diff --git a/man/get_nvdfeed_folder_path.Rd b/man/get_nvdfeed_folder_path.Rd index 24622d7..2ad4b85 100644 --- a/man/get_nvdfeed_folder_path.Rd +++ b/man/get_nvdfeed_folder_path.Rd @@ -8,7 +8,7 @@ Database) feeds.} get_nvdfeed_folder_path(config_file) } \arguments{ -\item{config_file}{The parsed configuration file.} +\item{config_file}{The parsed configuration file obtained from \code{\link{parse_config}}.} } \value{ The folder path with nvd feeds. diff --git a/man/get_pattern4_filepath.Rd b/man/get_pattern4_filepath.Rd index 64d5b4f..54a7ad3 100644 --- a/man/get_pattern4_filepath.Rd +++ b/man/get_pattern4_filepath.Rd @@ -7,7 +7,7 @@ get_pattern4_filepath(config_file) } \arguments{ -\item{config_file}{The parsed configuration file.} +\item{config_file}{The parsed configuration file obtained from \code{\link{parse_config}}.} } \value{ The Pattern4 output folder path. diff --git a/man/get_pattern4_folder_path.Rd b/man/get_pattern4_folder_path.Rd index 914a438..8ecfe62 100644 --- a/man/get_pattern4_folder_path.Rd +++ b/man/get_pattern4_folder_path.Rd @@ -7,7 +7,7 @@ get_pattern4_folder_path(config_file) } \arguments{ -\item{config_file}{The parsed configuration file.} +\item{config_file}{The parsed configuration file obtained from \code{\link{parse_config}}.} } \value{ The Pattern4 class folder path. diff --git a/man/get_srcml_filepath.Rd b/man/get_srcml_filepath.Rd index a313031..3bd0d74 100644 --- a/man/get_srcml_filepath.Rd +++ b/man/get_srcml_filepath.Rd @@ -7,7 +7,7 @@ get_srcml_filepath(config_file) } \arguments{ -\item{config_file}{The parsed configuration file.} +\item{config_file}{The parsed configuration file obtained from \code{\link{parse_config}}.} } \value{ The output file path for srcML analysis. diff --git a/man/get_substring_filepath.Rd b/man/get_substring_filepath.Rd index 7109f91..cb6346b 100644 --- a/man/get_substring_filepath.Rd +++ b/man/get_substring_filepath.Rd @@ -7,7 +7,7 @@ get_substring_filepath(config_file) } \arguments{ -\item{config_file}{The parsed configuration file.} +\item{config_file}{The parsed configuration file obtained from \code{\link{parse_config}}.} } \value{ The list of file extensions to remove. diff --git a/man/get_tool_project.Rd b/man/get_tool_project.Rd index 23b6122..2642591 100644 --- a/man/get_tool_project.Rd +++ b/man/get_tool_project.Rd @@ -9,7 +9,7 @@ get_tool_project(tool_name, config_file) \arguments{ \item{tool_name}{The name of the tool (e.g. "perceval" or "dv8").} -\item{config_file}{The parsed configuration file.} +\item{config_file}{The parsed configuration file obtained from \code{\link{parse_config}}.} } \value{ The specified `tool_name` tool project from `config_file`. diff --git a/man/get_topics.Rd b/man/get_topics.Rd index 2f3035a..8de86b5 100644 --- a/man/get_topics.Rd +++ b/man/get_topics.Rd @@ -7,7 +7,7 @@ get_topics(config_file) } \arguments{ -\item{config_file}{The parsed configuration file.} +\item{config_file}{The parsed configuration file obtained from \code{\link{parse_config}}.} } \value{ The list of keywords and topics for analysis. diff --git a/man/get_uctags_line_types.Rd b/man/get_uctags_line_types.Rd index 8fd5534..cff7af2 100644 --- a/man/get_uctags_line_types.Rd +++ b/man/get_uctags_line_types.Rd @@ -7,7 +7,7 @@ get_uctags_line_types(config_file) } \arguments{ -\item{config_file}{The parsed configuration file.} +\item{config_file}{The parsed configuration file obtained from \code{\link{parse_config}}.} } \value{ The lines type to keep for analysis. diff --git a/man/get_window_end_commit.Rd b/man/get_window_end_commit.Rd index c3a9e2f..20f2415 100644 --- a/man/get_window_end_commit.Rd +++ b/man/get_window_end_commit.Rd @@ -7,7 +7,7 @@ get_window_end_commit(config_file) } \arguments{ -\item{config_file}{The parsed configuration file.} +\item{config_file}{The parsed configuration file obtained from \code{\link{parse_config}}.} } \value{ The end commit for a window for analysis. diff --git a/man/get_window_size.Rd b/man/get_window_size.Rd index 6ca54e7..d32899c 100644 --- a/man/get_window_size.Rd +++ b/man/get_window_size.Rd @@ -7,7 +7,7 @@ get_window_size(config_file) } \arguments{ -\item{config_file}{The parsed configuration file.} +\item{config_file}{The parsed configuration file obtained from \code{\link{parse_config}}.} } \value{ The size of a window for analysis. diff --git a/man/get_window_start_commit.Rd b/man/get_window_start_commit.Rd index 312f376..75f25fc 100644 --- a/man/get_window_start_commit.Rd +++ b/man/get_window_start_commit.Rd @@ -7,7 +7,7 @@ get_window_start_commit(config_file) } \arguments{ -\item{config_file}{The parsed configuration file.} +\item{config_file}{The parsed configuration file obtained from \code{\link{parse_config}}.} } \value{ The start commit for a window for analysis. diff --git a/man/get_parsed.Rd b/man/parse_config.Rd similarity index 90% rename from man/get_parsed.Rd rename to man/parse_config.Rd index ef03989..5d5ef6c 100644 --- a/man/get_parsed.Rd +++ b/man/parse_config.Rd @@ -1,10 +1,10 @@ % Generated by roxygen2: do not edit by hand % Please edit documentation in R/config.R -\name{get_parsed} -\alias{get_parsed} +\name{parse_config} +\alias{parse_config} \title{Returns the parsed configuration file (.yml).} \usage{ -get_parsed(config_path) +parse_config(config_path) } \arguments{ \item{config_path}{The path of the config file from the kaiaulu directory (e.g. "conf/kaiaulu.yml").} diff --git a/vignettes/blamed_line_types_showcase.Rmd b/vignettes/blamed_line_types_showcase.Rmd index bc06c1d..90a8ee2 100644 --- a/vignettes/blamed_line_types_showcase.Rmd +++ b/vignettes/blamed_line_types_showcase.Rmd @@ -84,8 +84,8 @@ filter: We load the above various sections of the single .yaml project configuration file as follows: ```{r} -tool <- get_parsed("tools.yml") -conf <- get_parsed("conf/apr.yml") +tool <- parse_config("tools.yml") +conf <- parse_config("conf/apr.yml") # 3rd Party Tools perceval_path <- get_tool_project("perceval", tool) diff --git a/vignettes/bug_count.Rmd b/vignettes/bug_count.Rmd index 4af4802..3c26f62 100644 --- a/vignettes/bug_count.Rmd +++ b/vignettes/bug_count.Rmd @@ -36,8 +36,8 @@ This notebook leverages the JIRA issues data collected from the R Notebook `down As usual, the first step is to load the project configuration file. ```{r} -tool <- get_parsed("tools.yml") -conf <- get_parsed("conf/geronimo.yml") +tool <- parse_config("tools.yml") +conf <- parse_config("conf/geronimo.yml") perceval_path <- get_tool_project("perceval", tool) git_repo_path <- get_git_repo_path(conf) diff --git a/vignettes/causal_flaws.Rmd b/vignettes/causal_flaws.Rmd index 76e3c60..dd144bb 100644 --- a/vignettes/causal_flaws.Rmd +++ b/vignettes/causal_flaws.Rmd @@ -44,9 +44,9 @@ For implementation details, please refer to the function reference documentation The first step is loading the project configuration file, which contains information for both the project data provenance, and the various parameters used for all the tools. Refer to [Kaiaulu's repo conf folder](https://github.com/sailuh/kaiaulu/tree/master/conf) for the configuration file of interest used in the code block below. ```{r} -tool <- get_parsed("tools.yml") -#conf <- get_parsed("conf/tse_cassandra.yml") -conf <- get_parsed("conf/camel.yml") +tool <- parse_config("tools.yml") +#conf <- parse_config("conf/tse_cassandra.yml") +conf <- parse_config("conf/camel.yml") perceval_path <- get_tool_project("perceval", tool) dv8_path <- get_tool_project("dv8", tool) scc_path <- get_tool_project("scc", tool) diff --git a/vignettes/community_detection_showcase.Rmd b/vignettes/community_detection_showcase.Rmd index 43a0f6b..b11532f 100644 --- a/vignettes/community_detection_showcase.Rmd +++ b/vignettes/community_detection_showcase.Rmd @@ -48,8 +48,8 @@ The remainder of this Notebook illustrates two functions for some of Kaiaulu net As usual, the first step is to load the project configuration file. ```{r} -tool <- get_parsed("tools.yml") -conf <- get_parsed("conf/apr.yml") +tool <- parse_config("tools.yml") +conf <- parse_config("conf/apr.yml") # 3rd Party Tools perceval_path <- get_tool_project("perceval", tool) diff --git a/vignettes/depends_showcase.Rmd b/vignettes/depends_showcase.Rmd index 88b6a5b..4168cad 100644 --- a/vignettes/depends_showcase.Rmd +++ b/vignettes/depends_showcase.Rmd @@ -29,9 +29,9 @@ require(knitr) ``` ```{r} -tool <- get_parsed("tools.yml") -#conf <- get_parsed("conf/apr.yml") -conf <- get_parsed("conf/helix.yml") +tool <- parse_config("tools.yml") +#conf <- parse_config("conf/apr.yml") +conf <- parse_config("conf/helix.yml") git_repo_path <- get_git_repo_path(conf) # Depends parameters diff --git a/vignettes/download_github_comments.Rmd b/vignettes/download_github_comments.Rmd index 4b5191e..42a4a32 100644 --- a/vignettes/download_github_comments.Rmd +++ b/vignettes/download_github_comments.Rmd @@ -44,7 +44,7 @@ Therefore, in this Notebook we have to rely on three endpoints from the GitHub A To use the pipeline, you must specify the organization and project of interest, and your token. Obtain a github token following the instructions [here](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token). ```{r} -conf <- get_parsed("conf/kaiaulu.yml") +conf <- parse_config("conf/kaiaulu.yml") save_path_issue_or_pr_comments <- path.expand(get_github_issue_or_pr_comment_path(conf, "project_key_1")) save_path_issue <- get_github_issue_path(conf, "project_key_1") save_path_pull_request <- get_github_pull_request_path(conf, "project_key_1") diff --git a/vignettes/download_jira_issues.Rmd b/vignettes/download_jira_issues.Rmd index bcd064c..65cba4c 100644 --- a/vignettes/download_jira_issues.Rmd +++ b/vignettes/download_jira_issues.Rmd @@ -45,7 +45,7 @@ To try out this Notebook, try the geronimo configuration file, and follow along First, we will load the Kaiaulu configuration file: ```{r} -conf <- get_parsed("conf/kaiaulu.yml") +conf <- parse_config("conf/kaiaulu.yml") # Project domain # Specify project_key_index in get_jira_domain() (e.g. "project_key_1") diff --git a/vignettes/download_mod_mbox.Rmd b/vignettes/download_mod_mbox.Rmd deleted file mode 100644 index 2fc2eee..0000000 --- a/vignettes/download_mod_mbox.Rmd +++ /dev/null @@ -1,58 +0,0 @@ ---- -title: "Download Mod Mbox Mailing List Archives" -output: - html_document: - toc: true - number_sections: true -vignette: > - %\VignetteEngine{knitr::rmarkdown} - %\VignetteIndexEntry{Download Mod Mbox Mailing List Archives} - %\VignetteEncoding{UTF-8} ---- - - -```{r} -rm(list = ls()) -seed <- 1 -set.seed(seed) -``` - -```{r warning=FALSE,message=FALSE} -require(kaiaulu) -require(data.table) -``` - -# Introduction - -Mailing list data is stored in a variety of archives (e.g. see [Apache Geronimo](https://geronimo.apache.org/mailing-lists.html)). This notebook showcases how to obtain data from mod_mbox archives, which is adopted by the Apache Software Foundation. - -## Project Configuration File - -As usual, the first step is to load the project configuration file. - -# Project Configuration File - -```{r} -conf <- get_parsed("conf/helix.yml") -#Specify project_key_index in get_mbox_path() (e.g. "project_key_1") -save_path_mbox <- get_mbox_path(conf, "project_key_1") - -#Specify project_key_index in get_mbox_domain() (e.g. "project_key_1") -mod_mbox_url <- get_mbox_domain(conf, "project_key_1") - -#Specify project_key_index in get_mbox_mailing_list() (e.g. "project_key_1") -mailing_list <- get_mbox_mailing_list(conf, "project_key_1") - -start_year <- 2017 -end_year <- 2018 -``` - -```{r eval = FALSE} -mbox <- download_mod_mbox_per_month(base_url = mod_mbox_url, - mailing_list = mailing_list, - from_year=start_year, - to_year=end_year, - save_folder_path = save_path_mbox, - verbose = TRUE) -``` - diff --git a/vignettes/dv8_showcase.Rmd b/vignettes/dv8_showcase.Rmd index 10cbdec..19598fe 100644 --- a/vignettes/dv8_showcase.Rmd +++ b/vignettes/dv8_showcase.Rmd @@ -30,8 +30,8 @@ require(openxlsx) ``` ```{r} -tool <- get_parsed("tools.yml") -conf <- get_parsed("conf/calculator.yml") +tool <- parse_config("tools.yml") +conf <- parse_config("conf/calculator.yml") perceval_path <- get_tool_project("perceval", tool) dv8_path <- get_tool_project("dv8", tool) diff --git a/vignettes/github_api_showcase.Rmd b/vignettes/github_api_showcase.Rmd index 0d423f0..275ce91 100644 --- a/vignettes/github_api_showcase.Rmd +++ b/vignettes/github_api_showcase.Rmd @@ -45,7 +45,7 @@ The goal of the following steps is to obtain the data when a project started ass To use the pipeline, you must specify the organization and project of interest, and your token. ```{r} -conf <- get_parsed("conf/kaiaulu.yml") +conf <- parse_config("conf/kaiaulu.yml") owner <- get_github_owner(conf, "project_key_1") # Has to match github organization (e.g. github.com/sailuh) repo <- get_github_repo(conf, "project_key_1") # Has to match github repository (e.g. github.com/sailuh/perceive) save_path_issue_or_pr_comments <- path.expand(get_github_issue_or_pr_comment_path(conf, "project_key_1")) diff --git a/vignettes/gitlog_entity_showcase.Rmd b/vignettes/gitlog_entity_showcase.Rmd index 4f2c4dc..b8936cb 100644 --- a/vignettes/gitlog_entity_showcase.Rmd +++ b/vignettes/gitlog_entity_showcase.Rmd @@ -32,8 +32,8 @@ require(knitr) # Project Configuration File ```{r} -tool <- get_parsed("tools.yml") -conf <- get_parsed("conf/kaiaulu.yml") +tool <- parse_config("tools.yml") +conf <- parse_config("conf/kaiaulu.yml") # 3rd Party Tools perceval_path <- get_tool_project("perceval", tool) diff --git a/vignettes/gitlog_showcase.Rmd b/vignettes/gitlog_showcase.Rmd index bfa5c40..aaa8ef7 100644 --- a/vignettes/gitlog_showcase.Rmd +++ b/vignettes/gitlog_showcase.Rmd @@ -66,8 +66,8 @@ The file makes all assumptions explicit to you when using the code. Note these a The following code block reads the information explained just now: ```{r} -tool <- get_parsed("tools.yml") -conf <- get_parsed("conf/kaiaulu.yml") +tool <- parse_config("tools.yml") +conf <- parse_config("conf/kaiaulu.yml") perceval_path <- get_tool_project("perceval", tool) git_repo_path <- get_git_repo_path(conf) git_branch <- get_git_branches(conf)[1] diff --git a/vignettes/gitlog_vulnerabilities_showcase.Rmd b/vignettes/gitlog_vulnerabilities_showcase.Rmd index 92aee43..9154524 100644 --- a/vignettes/gitlog_vulnerabilities_showcase.Rmd +++ b/vignettes/gitlog_vulnerabilities_showcase.Rmd @@ -28,8 +28,8 @@ require(yaml) Load config file. ```{r} -tool <- get_parsed("tools.yml") -conf <- get_parsed("conf/chromium.yml") +tool <- parse_config("tools.yml") +conf <- parse_config("conf/chromium.yml") perceval_path <- get_tool_project("perceval", tool) git_repo_path <- get_git_repo_path(conf) nvdfeed_folder_path <- get_nvdfeed_folder_path(conf) diff --git a/vignettes/graph_gof_showcase.Rmd b/vignettes/graph_gof_showcase.Rmd index 0ec5f10..9c2a498 100644 --- a/vignettes/graph_gof_showcase.Rmd +++ b/vignettes/graph_gof_showcase.Rmd @@ -89,8 +89,8 @@ require(gt) ```{r} -tool <- get_parsed("tools.yml") -conf <- get_parsed("conf/junit5.yml") +tool <- parse_config("tools.yml") +conf <- parse_config("conf/junit5.yml") srcml_path <- get_tool_project("srcml", tool) pattern4_path <- get_tool_project("pattern4", tool) diff --git a/vignettes/issue_social_smell_showcase.Rmd b/vignettes/issue_social_smell_showcase.Rmd index d5dfe9a..8b0a9d3 100644 --- a/vignettes/issue_social_smell_showcase.Rmd +++ b/vignettes/issue_social_smell_showcase.Rmd @@ -55,8 +55,8 @@ At the scope of this notebook, **only the first branch** (top) specified in the We also provide the path for `tools.yml`. Kaiaulu does not implement all available functionality from scratch. Conversely, it will also not expect all dependencies to be installed. Every function defined in the API expects as parameter a filepath to the external dependency binary. Tools.yml is a convenience file that stores all the binary paths, so it can be set once during setup and reused multiple times for analysis. You can find an example of `tools.yml` on the github repo from Kaiaulu root directory. ```{r} -tool <- get_parsed("tools.yml") -conf <- get_parsed("conf/openssl.yml") +tool <- parse_config("tools.yml") +conf <- parse_config("conf/openssl.yml") scc_path <- get_tool_project("scc", tool) diff --git a/vignettes/line_metrics_showcase.Rmd b/vignettes/line_metrics_showcase.Rmd index f227f12..53a26b9 100644 --- a/vignettes/line_metrics_showcase.Rmd +++ b/vignettes/line_metrics_showcase.Rmd @@ -57,8 +57,8 @@ filter: We load the necessary information in this code block: ```{r} -tool <- get_parsed("tools.yml") -conf <- get_parsed("conf/apr.yml") +tool <- parse_config("tools.yml") +conf <- parse_config("conf/apr.yml") scc_path <- get_tool_project("scc", tool) git_repo_path <- get_git_repo_path(conf) diff --git a/vignettes/motif_analysis.Rmd b/vignettes/motif_analysis.Rmd index 6d316a5..786846a 100644 --- a/vignettes/motif_analysis.Rmd +++ b/vignettes/motif_analysis.Rmd @@ -38,8 +38,8 @@ Kaiaulu re-implementation is easy to extend, and allow for any combination of mo We demonstrate here both the triangle and square motif as originally defined in our paper, which leverages all 3 types of the networks. The project of analysis is Kaiaulu itself, however, this can be applied to other open source projects! ```{r} -tool <- get_parsed("tools.yml") -conf <- get_parsed("conf/kaiaulu.yml") +tool <- parse_config("tools.yml") +conf <- parse_config("conf/kaiaulu.yml") scc_path <- get_tool_project("scc", tool) diff --git a/vignettes/refactoringminer_showcase.Rmd b/vignettes/refactoringminer_showcase.Rmd index 9ffdac8..26928c4 100644 --- a/vignettes/refactoringminer_showcase.Rmd +++ b/vignettes/refactoringminer_showcase.Rmd @@ -17,8 +17,8 @@ require(kaiaulu) This is a wrapper for [Refactoring Miner](https://github.com/tsantalis/RefactoringMiner#running-refactoringminer-from-the-command-line). See README.md for setup details. ```{r} -tool <- get_parsed("tools.yml") -conf <- get_parsed("conf/tomcat.yml") +tool <- parse_config("tools.yml") +conf <- parse_config("conf/tomcat.yml") rminer_path <- get_tool_project("refactoring_miner", tool) git_repo_path <- get_git_repo_path(conf) start_commit <- get_enumeration_commits(conf)[1] diff --git a/vignettes/reply_communication_showcase.Rmd b/vignettes/reply_communication_showcase.Rmd index a90a9e1..09630b9 100644 --- a/vignettes/reply_communication_showcase.Rmd +++ b/vignettes/reply_communication_showcase.Rmd @@ -29,8 +29,8 @@ require(yaml) Load config file. ```{r} -tool <- get_parsed("tools.yml") -conf <- get_parsed("conf/geronimo.yml") +tool <- parse_config("tools.yml") +conf <- parse_config("conf/geronimo.yml") perceval_path <- get_tool_project("perceval", tool) mbox_path <- get_mbox_path(conf, "project_key_1") jira_issue_comments_path <- get_jira_issues_comments_path(conf, "project_key_1") diff --git a/vignettes/social_smell_showcase.Rmd b/vignettes/social_smell_showcase.Rmd index 44c9ebb..593d819 100644 --- a/vignettes/social_smell_showcase.Rmd +++ b/vignettes/social_smell_showcase.Rmd @@ -55,8 +55,8 @@ At the scope of this notebook, **only the first branch** (top) specified in the We also provide the path for `tools.yml`. Kaiaulu does not implement all available functionality from scratch. Conversely, it will also not expect all dependencies to be installed. Every function defined in the API expects as parameter a filepath to the external dependency binary. Tools.yml is a convenience file that stores all the binary paths, so it can be set once during setup and reused multiple times for analysis. You can find an example of `tools.yml` on the github repo from Kaiaulu root directory. For this notebook, you will need to install Perceval (use version 0.12.24) and OSLOM. Instructions to do so are available in the Kaiaulu README.md. Once you are finished, set the "perceval," "oslom_dir," and "oslom_undir" paths in your `tools.yml`. ```{r} -tool <- get_parsed("tools.yml") -conf <- get_parsed("conf/helix.yml") +tool <- parse_config("tools.yml") +conf <- parse_config("conf/helix.yml") scc_path <- get_tool_project("scc", tool) diff --git a/vignettes/text_gof_showcase.Rmd b/vignettes/text_gof_showcase.Rmd index 9cabcb5..3538eb2 100644 --- a/vignettes/text_gof_showcase.Rmd +++ b/vignettes/text_gof_showcase.Rmd @@ -112,8 +112,8 @@ require(gt) ```{r} -tool <- get_parsed("tools.yml") -conf <- get_parsed("conf/junit5.yml") +tool <- parse_config("tools.yml") +conf <- parse_config("conf/junit5.yml") srcml_path <- get_tool_project("srcml", tool) git_repo_path <- get_git_repo_path(conf) From 85f4830de997c69b7414b2623542843e91e05e66 Mon Sep 17 00:00:00 2001 From: Mark Burgess Date: Tue, 8 Oct 2024 18:19:00 -1000 Subject: [PATCH 22/32] i #230 Organized config.R functions - config.R functions are organized to follow the same formatting as the conf files - All conf files issue_trackers have been updated. --- DESCRIPTION | 3 +- R/config.R | 826 +++++++++++++++++++++++--------------------- conf/ambari.yml | 85 ++++- conf/apr.yml | 57 ++- conf/calculator.yml | 57 ++- conf/camel.yml | 60 ++-- conf/chromium.yml | 85 ++++- conf/geronimo.yml | 57 ++- conf/helix.yml | 76 +++- conf/junit5.yml | 75 ++-- conf/kaiaulu.yml | 107 ++++-- conf/openssl.yml | 85 ++++- conf/redhat.yml | 85 ++++- conf/spark.yml | 85 ++++- conf/thrift.yml | 83 ++++- conf/tomcat.yml | 85 ++++- conf/tse_apex.yml | 61 ++-- 17 files changed, 1273 insertions(+), 699 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index 4c07ec2..15085f1 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -21,7 +21,8 @@ Authors@R: c( person('Anthony', 'Lau', role = c('ctb')), person('Sean', 'Sunoo', role = c('ctb')), person('Ian Jaymes', 'Iwata', role= c('ctb')), - person('Nicholas', 'Beydler', role = c('ctb')) + person('Nicholas', 'Beydler', role = c('ctb')), + person('Mark', 'Burgess', role = c('ctb')) ) Maintainer: Carlos Paradis License: MPL-2.0 | file LICENSE diff --git a/R/config.R b/R/config.R index ed2a6ee..37cbdb4 100644 --- a/R/config.R +++ b/R/config.R @@ -4,9 +4,8 @@ # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at https://mozilla.org/MPL/2.0/. -########## Configuration File Getter Functions ########## -##### General Getter Functions ##### +########## Configuration File Parser Functions ########## #' Returns the parsed configuration file (.yml). #' @@ -30,30 +29,6 @@ parse_config <- function(config_path) { return(conf) } -#' Returns the specified tool project from a parsed tool configuration file. -#' -#' @description This function returns a path to a specified tool from a -#' specified parsed tool configuration file. The function takes the input -#' `tool_name` and uses it to index a specific tool project in a parsed -#' tool configuration file, `config_file`, where it then returns the specified -#' tool project. The function will inform the user if the specified attribute, -#' `tool_name`, exists in the parsed configuration file, `config_file`. -#' -#' @param tool_name The name of the tool (e.g. "perceval" or "dv8"). -#' @param config_file The parsed configuration file obtained from \code{\link{parse_config}}. -#' @return The specified `tool_name` tool project from `config_file`. -#' @export -get_tool_project <- function(tool_name, config_file) { - - tool_path <- config_file[[tool_name]] - - if (is.null(tool_path)) { - warning("Attribute does not exist.") - } - - return(tool_path) -} - ##### Git Getter Functions ##### #' Returns the path to the .git of the project repository that is being analyzed. @@ -100,372 +75,249 @@ get_git_branches <- function(config_file) { return(git_branch) } -##### Filtering Getter Functions ##### - -#' Returns the list of file extensions used for filtering files to keep. -#' -#' @description This function returns the list of file extensions that will be -#' used for filtering files specified in the input parameter `config_file`. The -#' input, `config_file` must be a parsed configuration file. The function will -#' inform the user if the list of file extensions exists in the parsed -#' configuration file, `config_file`. -#' -#' @param config_file The parsed configuration file obtained from \code{\link{parse_config}}. -#' @return The list of file extensions to keep. -#' @export -get_file_extensions <- function(config_file) { - - file_extensions <- config_file[["filter"]][["keep_filepaths_ending_with"]] - - if (is.null(file_extensions)) { - warning("Attribute does not exist in the configuration file.") - } - - return(file_extensions) -} - -#' Returns the list of file extensions used for filtering files to remove. -#' -#' @description This function returns the list of file extensions that will be -#' used for filtering files specified in the input parameter `config_file`. The -#' input, `config_file` must be a parsed configuration file. The function will -#' inform the user if the list of file extensions exists in the parsed -#' configuration file, `config_file`. -#' -#' @param config_file The parsed configuration file obtained from \code{\link{parse_config}}. -#' @return The list of file extensions to remove. -#' @export -get_substring_filepath <- function(config_file) { - - substring_filepath <- config_file[["filter"]][["remove_filepaths_containing"]] - if (is.null(substring_filepath)) { - warning("Attribute does not exist in the configuration file.") - } - return(substring_filepath) -} +##### Mailing List Functions Start ##### -#' Returns the commit size threshold to remove file paths. +#' Returns the list of mailing list mod mbox project keys. #' -#' @description This function returns an integer number that represents the -#' threshold for a commit size to remove file paths specified in the input -#' parameter `config_file`. The input, `config_file` must be a parsed -#' configuration file. The function will inform the user if the commit size -#' threshold exists in the parsed configuration file, `config_file`. +#' @description This function returns the list of mailing list mod mbox project +#' keys, that is specified in the input parameter `config_file`. The input, +#' `config_file` must be a parsed configuration file. The function will inform +#' the user if the project keys exist in the parsed configuration +#' file, `config_file`. #' #' @param config_file The parsed configuration file obtained from \code{\link{parse_config}}. -#' @return The commit size to filter out. +#' @return The list of mod mbox mailing list keys. #' @export -get_filter_commit_size <- function(config_file) { +get_mbox_key_indexes <- function(config_file) { - filter_commit_size <- config_file[["filter"]][["remove_filepaths_on_commit_size_greather_than"]] + mbox_keys <- config_file[["mailing_list"]][["mod_mbox"]] - if (is.null(filter_commit_size)) { + if (is.null(mbox_keys)) { warning("Attribute does not exist in the configuration file.") } - return(filter_commit_size) + return(mbox_keys) } -##### Third Party Tools Getter Functions ##### - -#' Returns the types to keep to to be considered for analysis. +#' Returns the URL to the archives for mbox for a specific project key. #' -#' @description This function returns the types of file-file dependencies that -#' should be considered, that are specified in the input parameter +#' @description This function returns the URL to the archives for a specific +#' project key, `project_key_index`, that is specified in the input parameter #' `config_file`. The input, `config_file` must be a parsed configuration file. -#' The function will inform the user if the lines type to keep exists in the -#' parsed configuration file, `config_file`. -#' -#' @param config_file The parsed configuration file obtained from \code{\link{parse_config}}. -#' @return The lines type to keep for analysis. -#' @export -get_uctags_line_types <- function(config_file) { - - kinds <- config_file[["tool"]][["uctags"]][["keep_lines_type"]] - - if (is.null(kinds)) { - warning("Attribute does not exist in the configuration file.") - } - - return(kinds) -} - -#' Returns the code language for analysis. -#' -#' @description This function returns the specified code language that should -#' be used to parse file-file static dependencies with the depends tool, that -#' is specified in the input parameter `config_file`. The input, `config_file` -#' must be a parsed configuration file. The function will inform the user if -#' the code language exists in the parsed configuration file, `config_file`. -#' -#' @param config_file The parsed configuration file obtained from \code{\link{parse_config}}. -#' @return The code language for parsing file-file static dependencies. -#' @export -get_code_language <- function(config_file) { - - language <- config_file[["tool"]][["depends"]][["code_language"]] - - if (is.null(language)) { - warning("Attribute does not exist in the configuration file.") - } - - return(language) -} - -#' Returns a list of the types of dependencies to keep for analysis. -#' -#' @description This function returns the specified types of dependencies to -#' keep for analysis with the depends tool, that is specified in the input -#' parameter `config_file`. The input, `config_file` must be a parsed -#' configuration file. The function will inform the user if the list of the -#' types of dependencies exists in the parsed configuration file, `config_file`. +#' The function will inform the user if the specific URL to the archives for +#' mbox exists in the parsed configuration file, `config_file`. #' #' @param config_file The parsed configuration file obtained from \code{\link{parse_config}}. -#' @return A list of the types of dependencies to keep for analysis. +#' @param project_key_index The name of the index of the project key (e.g. "project_key_1" or "project_key_2"). +#' @return The URL of the mailing list archive for project specified by key `project_key_index`. #' @export -get_keep_dependencies_type <- function(config_file) { +get_mbox_domain <- function(config_file, project_key_index) { - keep_dependencies_type <- config_file[["tool"]][["depends"]][["keep_dependencies_type"]] + mbox_url <- config_file[["mailing_list"]][["mod_mbox"]][[project_key_index]][["mailing_list"]] - if (is.null(keep_dependencies_type)) { + if (is.null(mbox_url)) { warning("Attribute does not exist in the configuration file.") } - return(keep_dependencies_type) + return(mbox_url) } - -#' Returns the path to the folder used to store files for DV8 analysis. +#' Returns the local folder path to store mbox data for a specific project key. #' -#' @description This function returns the path to the folder that will be -#' used to store various intermediate files for DV8 analysis, that is specified +#' @description This function returns the local folder path used to store +#' mbox data for a specific project key, `project_key_index`, that is specified #' in the input parameter `config_file`. The input, `config_file` must be a -#' parsed configuration file. The function will inform the user if the path -#' path to the folder for intermediate file storage for DV8 analysis exists in -#' the parsed configuration file, `config_file`. -#' -#' @param config_file The parsed configuration file obtained from \code{\link{parse_config}}. -#' @return The DV8 project folder path. -#' @export -get_dv8_folder_path <- function(config_file) { - - project_path <- config_file[["tool"]][["dv8"]][["folder_path"]] - - if (is.null(project_path)) { - warning("Attribute does not exist in the configuration file.") - } - - return(project_path) -} - -#' Returns the list of architectural flaws thresholds for DV8 analysis. -#' -#' @description This function returns the list of architectural flaws thresholds -#' for DV8 analysis, that is specified in the input parameter `config_file`. -#' The input, `config_file` must be a parsed configuration file. The function -#' will inform the user if the list of architectural flaws thresholds -#' exists in the parsed configuration file, `config_file`. +#' parsed configuration file. The function will inform the user if the specific +#' local folder path to store mbox data exists in the parsed configuration +#' file, `config_file`. #' #' @param config_file The parsed configuration file obtained from \code{\link{parse_config}}. -#' @return The list of DV8 architectural flaws thresholds. +#' @param project_key_index The name of the index of the project key (e.g. "project_key_1" or "project_key_2"). +#' @return The local mbox path for project specified by key `project_key_index`. #' @export -get_dv8_flaws_params <- function(config_file) { +get_mbox_path <- function(config_file, project_key_index) { - dv8_flaws_params <- config_file[["tool"]][["dv8"]][["architectural_flaws"]] + mbox_path <- config_file[["mailing_list"]][["mod_mbox"]][[project_key_index]][["save_folder_path"]] - if (is.null(dv8_flaws_params)) { + if (is.null(mbox_path)) { warning("Attribute does not exist in the configuration file.") } - return(dv8_flaws_params) + return(mbox_path) } -#' Returns the file path for the output of the srcML analysis for the project. +#' Returns the mbox mailing list for a specific project key. #' -#' @description This function returns the file path to be used to store the -#' output of the srcML analysis for the project, that is specified in the -#' input parameter `config_file`. The input, `config_file` must be a parsed -#' configuration file. The function will inform the user if the file path -#' exists in the parsed configuration file, `config_file`. +#' @description This function returns the specific mbox mailing list for a +#' specific project key, `project_key_index`, that is specified in the input +#' parameter `config_file`. The input, `config_file` must be a parsed +#' configuration file. The function will inform the user if the mailing +#' list for mbox exists in the parsed configuration file, `config_file`. #' #' @param config_file The parsed configuration file obtained from \code{\link{parse_config}}. -#' @return The output file path for srcML analysis. +#' @param project_key_index The name of the index of the project key (e.g. "project_key_1" or "project_key_2"). +#' @return The mbox mailing list for project specified by key `project_key_index`. #' @export -get_srcml_filepath <- function(config_file) { +get_mbox_mailing_list <- function(config_file, project_key_index) { - srcml_filepath <- config_file[["tool"]][["srcml"]][["srcml_path"]] + mailing_list <- config_file[["mailing_list"]][["mod_mbox"]][[project_key_index]][["mailing_list_type"]] - if (is.null(srcml_filepath)) { + if (is.null(mailing_list)) { warning("Attribute does not exist in the configuration file.") } - return(srcml_filepath) + return(mailing_list) } -#' Returns the folder path for class pattern4 analysis. +#' Returns the mbox archive type for a specific project key. #' -#' @description This function returns the folder path used to store the classes -#' for the pattern4 analysis for the project, that is specified in the input +#' @description This function returns the specific mbox archive type for a +#' specific project key, `project_key_index`, that is specified in the input #' parameter `config_file`. The input, `config_file` must be a parsed -#' configuration file. The function will inform the user if the folder path -#' exists in the parsed configuration file, `config_file`. +#' configuration file. The function will inform the user if the archive type +#' for mbox exists in the parsed configuration file, `config_file`. #' #' @param config_file The parsed configuration file obtained from \code{\link{parse_config}}. -#' @return The Pattern4 class folder path. +#' @param project_key_index The name of the index of the project key (e.g. "project_key_1" or "project_key_2"). +#' @return The mbox archive type for project specified by key `project_key_index`. #' @export -get_pattern4_folder_path <- function(config_file) { +get_mbox_archive_type <- function(config_file, project_key_index) { - pattern4_folder_path <- config_file[["tool"]][["pattern4"]][["class_folder_path"]] + archive_type <- config_file[["mailing_list"]][["mod_mbox"]][[project_key_index]][["archive_type"]] - if (is.null(pattern4_folder_path)) { + if (is.null(archive_type)) { warning("Attribute does not exist in the configuration file.") } - return(pattern4_folder_path) + return(archive_type) } -#' Returns the folder path for the output of the pattern4 analysis. -#' -#' @description This function returns the folder path that contains the -#' output of the pattern4 analysis for the project, that is specified in the -#' input parameter `config_file`. The input, `config_file` must be a parsed -#' configuration file. The function will inform the user if the folder path -#' exists in the parsed configuration file, `config_file`. -#' -#' @param config_file The parsed configuration file obtained from \code{\link{parse_config}}. -#' @return The Pattern4 output folder path. -#' @export -get_pattern4_filepath <- function(config_file) { +##### Mailing List Functions End ##### - pattern4_filepath <- config_file[["tool"]][["pattern4"]][["output_filepath"]] - if (is.null(pattern4_filepath)) { - warning("Attribute does not exist in the configuration file.") - } - return(pattern4_filepath) -} +##### Issue Tracker Functions Start ##### -##### Mailing List Getter Functions ##### +##### Jira Functions ##### -#' Returns the list of mailing list mod mbox project keys. +#' Returns the list of Jira issue tracker project keys. #' -#' @description This function returns the list of mailing list mod mbox project +#' @description This function returns the list of Jira issue tracker project #' keys, that is specified in the input parameter `config_file`. The input, #' `config_file` must be a parsed configuration file. The function will inform #' the user if the project keys exist in the parsed configuration #' file, `config_file`. #' #' @param config_file The parsed configuration file obtained from \code{\link{parse_config}}. -#' @return The list of mod mbox mailing list keys. +#' @return The list of Jira issue tracker project keys. #' @export -get_mbox_key_indexes <- function(config_file) { +get_jira_keys <- function(config_file) { - mbox_keys <- config_file[["mailing_list"]][["mod_mbox"]] + jira_key <- config_file[["issue_tracker"]][["jira"]] - if (is.null(mbox_keys)) { + if (is.null(jira_key)) { warning("Attribute does not exist in the configuration file.") } - return(mbox_keys) -} - -#' Returns the local folder path to store mbox data for a specific project key. -#' -#' @description This function returns the local folder path used to store -#' mbox data for a specific project key, `project_key_index`, that is specified -#' in the input parameter `config_file`. The input, `config_file` must be a -#' parsed configuration file. The function will inform the user if the specific -#' local folder path to store mbox data exists in the parsed configuration -#' file, `config_file`. + return(jira_key) +} + +#' Returns the Jira project domain for a specific project key. +#' +#' @description This function returns the Jira project domain for a specific +#' project key, that is specified in the input parameter `config_file`. +#' The input, `config_file` must be a parsed configuration file. The function +#' will inform the user if the domain exists in the parsed configuration file, +#' `config_file`. #' #' @param config_file The parsed configuration file obtained from \code{\link{parse_config}}. #' @param project_key_index The name of the index of the project key (e.g. "project_key_1" or "project_key_2"). -#' @return The local mbox path for project specified by key `project_key_index`. +#' @return The Jira domain for project specified by key `project_key_index`. #' @export -get_mbox_path <- function(config_file, project_key_index) { +get_jira_domain <- function(config_file, project_key_index) { - mbox_path <- config_file[["mailing_list"]][["mod_mbox"]][[project_key_index]][["mbox"]] + domain <- config_file[["issue_tracker"]][["jira"]][[project_key_index]][["domain"]] - if (is.null(mbox_path)) { + if (is.null(domain)) { warning("Attribute does not exist in the configuration file.") } - return(mbox_path) + return(domain) } -#' Returns the URL to the archives for mbox for a specific project key. +#' Returns the name of the Jira project key for a specific project key. #' -#' @description This function returns the URL to the archives for a specific -#' project key, `project_key_index`, that is specified in the input parameter -#' `config_file`. The input, `config_file` must be a parsed configuration file. -#' The function will inform the user if the specific URL to the archives for -#' mbox exists in the parsed configuration file, `config_file`. +#' @description This function returns the Jira project key name for a specific +#' project key, that is specified in the input parameter `config_file`. +#' The input, `config_file` must be a parsed configuration file. The function +#' will inform the user if the project key name exists in the parsed +#' configuration file, `config_file`. #' #' @param config_file The parsed configuration file obtained from \code{\link{parse_config}}. #' @param project_key_index The name of the index of the project key (e.g. "project_key_1" or "project_key_2"). -#' @return The URL of the mailing list archive for project specified by key `project_key_index`. +#' @return The Jira project key name for project specified by key `project_key_index`. #' @export -get_mbox_domain <- function(config_file, project_key_index) { +get_jira_project_key_name <- function(config_file, project_key_index) { - mbox_url <- config_file[["mailing_list"]][["mod_mbox"]][[project_key_index]][["mailing_list"]] + name <- config_file[["issue_tracker"]][["jira"]][[project_key_index]][["project_key"]] - if (is.null(mbox_url)) { + if (is.null(name)) { warning("Attribute does not exist in the configuration file.") } - return(mbox_url) + return(name) } -#' Returns the mbox mailing list for a specific project key. +#' Returns the local folder path for Jira issues for a specific project key. #' -#' @description This function returns the specific mbox mailing list for a -#' specific project key, `project_key_index`, that is specified in the input -#' parameter `config_file`. The input, `config_file` must be a parsed -#' configuration file. The function will inform the user if the mailing -#' list for mbox exists in the parsed configuration file, `config_file`. +#' @description This function returns the folder path for Jira issues for a +#' specific project key, that is specified in the input parameter `config_file`. +#' The input, `config_file` must be a parsed configuration file. The function +#' will inform the user if the folder path for Jira issues exists in the parsed +#' configuration file, `config_file`. #' #' @param config_file The parsed configuration file obtained from \code{\link{parse_config}}. #' @param project_key_index The name of the index of the project key (e.g. "project_key_1" or "project_key_2"). -#' @return The mbox mailing list for project specified by key `project_key_index`. +#' @return The Jira issue folder path for project specified by key `project_key_index`. #' @export -get_mbox_mailing_list <- function(config_file, project_key_index) { +get_jira_issues_path <- function(config_file, project_key_index) { - mailing_list <- config_file[["mailing_list"]][["mod_mbox"]][[project_key_index]][["mailing_list_type"]] + jira_issues_path <- config_file[["issue_tracker"]][["jira"]][[project_key_index]][["issues"]] - if (is.null(mailing_list)) { + if (is.null(jira_issues_path)) { warning("Attribute does not exist in the configuration file.") } - return(mailing_list) + return(jira_issues_path) } -#' Returns the mbox archive type for a specific project key. +#' Returns the local folder path for Jira issue comments for a specific +#' project key. #' -#' @description This function returns the specific mbox archive type for a -#' specific project key, `project_key_index`, that is specified in the input +#' @description This function returns the local folder path for Jira issue +#' comments for a specific project key, that is specified in the input #' parameter `config_file`. The input, `config_file` must be a parsed -#' configuration file. The function will inform the user if the archive type -#' for mbox exists in the parsed configuration file, `config_file`. +#' configuration file. The function will inform the user if the local folder +#' path for the comments exists in the parsed configuration file, `config_file`. #' #' @param config_file The parsed configuration file obtained from \code{\link{parse_config}}. #' @param project_key_index The name of the index of the project key (e.g. "project_key_1" or "project_key_2"). -#' @return The mbox archive type for project specified by key `project_key_index`. +#' @return The folder path for Jira issue comments for project specified by key `project_key_index`. #' @export -get_mbox_archive_type <- function(config_file, project_key_index) { +get_jira_issues_comments_path <- function(config_file, project_key_index) { - archive_type <- config_file[["mailing_list"]][["mod_mbox"]][[project_key_index]][["archive_type"]] + jira_issue_comments_path <- config_file[["issue_tracker"]][["jira"]][[project_key_index]][["issue_comments"]] - if (is.null(archive_type)) { + if (is.null(jira_issue_comments_path)) { warning("Attribute does not exist in the configuration file.") } - return(archive_type) + return(jira_issue_comments_path) } -##### Issue Tracker Getter Functions ##### +##### Github Functions ##### #' Returns the list of GitHub issue tracker project keys. #' @@ -680,237 +532,415 @@ get_github_commit_path <- function(config_file, project_key_index) { return(commit_path) } -#' Returns the list of Jira issue tracker project keys. +### Bugzilla Functions ##### + +#' Returns the name of the Bugzilla project key. +#' +#' @description This function returns the name of the Bugzilla project key, that +#' is specified in the input parameter `config_file`. The input, `config_file` +#' must be a parsed configuration file. The function will inform the user if +#' the name of the Bugzilla project key exists in the parsed configuration +#' file, `config_file`. +#' +#' @param config_file The parsed configuration file obtained from \code{\link{parse_config}}. +#' @return The Bugzilla project key name. +#' @export +get_bugzilla_project_key <- function(config_file) { + + bugzilla_key <- config_file[["issue_tracker"]][["bugzilla"]][["project_key"]] + + if (is.null(bugzilla_key)) { + warning("Attribute does not exist in the configuration file.") + } + + return(bugzilla_key) +} + +##### Issue Tracker Functions End ##### + + + +##### Vulnerabilities Functions Start ##### + +#' Returns the local folder path that contains the nvd (National Vulnerability +#' Database) feeds. +#' +#' @description This function returns the local folder path for nvd feeds, +#' that is specified in the input parameter `config_file`. The input, +#' `config_file` must be a parsed configuration file. The function will inform +#' the user if the local folder path for the nvd feeds exists in the parsed +#' configuration file, `config_file`. +#' +#' @param config_file The parsed configuration file obtained from \code{\link{parse_config}}. +#' @return The folder path with nvd feeds. +#' @export +get_nvdfeed_folder_path <- function(config_file) { + + nvdfeed_folder_path <- config_file[["vulnerabilities"]][["nvd_feed"]] + + if (is.null(nvdfeed_folder_path)) { + warning("Attribute does not exist in the configuration file.") + } + + return(nvdfeed_folder_path) +} + +##### Vulnerabilities Functions End ##### + + + +##### Regular Expression Functions Start ##### + +#' Returns the issue Id regular expression for commit messages. +#' +#' @description This function returns the issue Id regular expression for commit +#' messages, that is specified in the input parameter `config_file`. The input, +#' `config_file` must be a parsed configuration file. The function will inform +#' the user if the issue Id regular expression for commit messages exists in the +#' parsed configuration file, `config_file`. +#' +#' @param config_file The parsed configuration file obtained from \code{\link{parse_config}}. +#' @return The commit message issue Id regular expression. +#' @export +get_issue_id_regex <- function(config_file) { + + issue_id_regex <- config_file[["commit_message_id_regex"]][["issue_id"]] + + if (is.null(issue_id_regex)) { + warning("Attribute does not exist in the configuration file.") + } + + return(issue_id_regex) +} + +#' Returns the cve (Common Vulnerabilities and Exposures) regular expression +#' for commit messages. +#' +#' @description This function returns the cve regular expression for commit +#' messages, that is specified in the input parameter `config_file`. The input, +#' `config_file` must be a parsed configuration file. The function will inform +#' the user if the cve regular expression for commit messages exists in the +#' parsed configuration file, `config_file`. +#' +#' @param config_file The parsed configuration file obtained from \code{\link{parse_config}}. +#' @return The commit message CVE regular expression. +#' @export +get_cveid_regex <- function(config_file) { + + cveid_regex <- config_file[["commit_message_id_regex"]][["cve_id"]] + + if (is.null(cveid_regex)) { + warning("Attribute does not exist in the configuration file.") + } + + return(cveid_regex) +} + +##### Regular Expression Functions End ##### + + + +##### Filter Functions Start ##### + +#' Returns the list of file extensions used for filtering files to keep. +#' +#' @description This function returns the list of file extensions that will be +#' used for filtering files specified in the input parameter `config_file`. The +#' input, `config_file` must be a parsed configuration file. The function will +#' inform the user if the list of file extensions exists in the parsed +#' configuration file, `config_file`. +#' +#' @param config_file The parsed configuration file obtained from \code{\link{parse_config}}. +#' @return The list of file extensions to keep. +#' @export +get_file_extensions <- function(config_file) { + + file_extensions <- config_file[["filter"]][["keep_filepaths_ending_with"]] + + if (is.null(file_extensions)) { + warning("Attribute does not exist in the configuration file.") + } + + return(file_extensions) +} + +#' Returns the list of file extensions used for filtering files to remove. +#' +#' @description This function returns the list of file extensions that will be +#' used for filtering files specified in the input parameter `config_file`. The +#' input, `config_file` must be a parsed configuration file. The function will +#' inform the user if the list of file extensions exists in the parsed +#' configuration file, `config_file`. +#' +#' @param config_file The parsed configuration file obtained from \code{\link{parse_config}}. +#' @return The list of file extensions to remove. +#' @export +get_substring_filepath <- function(config_file) { + + substring_filepath <- config_file[["filter"]][["remove_filepaths_containing"]] + + if (is.null(substring_filepath)) { + warning("Attribute does not exist in the configuration file.") + } + + return(substring_filepath) +} + +#' Returns the commit size threshold to remove file paths. +#' +#' @description This function returns an integer number that represents the +#' threshold for a commit size to remove file paths specified in the input +#' parameter `config_file`. The input, `config_file` must be a parsed +#' configuration file. The function will inform the user if the commit size +#' threshold exists in the parsed configuration file, `config_file`. +#' +#' @param config_file The parsed configuration file obtained from \code{\link{parse_config}}. +#' @return The commit size to filter out. +#' @export +get_filter_commit_size <- function(config_file) { + + filter_commit_size <- config_file[["filter"]][["remove_filepaths_on_commit_size_greather_than"]] + + if (is.null(filter_commit_size)) { + warning("Attribute does not exist in the configuration file.") + } + + return(filter_commit_size) +} + +##### Filter Functions End ##### + + + +##### Third Party Tools Functions Start ##### + +#' Returns the specified tool project from a parsed tool configuration file. #' -#' @description This function returns the list of Jira issue tracker project -#' keys, that is specified in the input parameter `config_file`. The input, -#' `config_file` must be a parsed configuration file. The function will inform -#' the user if the project keys exist in the parsed configuration -#' file, `config_file`. +#' @description This function returns a path to a specified tool from a +#' specified parsed tool configuration file. The function takes the input +#' `tool_name` and uses it to index a specific tool project in a parsed +#' tool configuration file, `config_file`, where it then returns the specified +#' tool project. The function will inform the user if the specified attribute, +#' `tool_name`, exists in the parsed configuration file, `config_file`. #' +#' @param tool_name The name of the tool (e.g. "perceval" or "dv8"). #' @param config_file The parsed configuration file obtained from \code{\link{parse_config}}. -#' @return The list of Jira issue tracker project keys. +#' @return The specified `tool_name` tool project from `config_file`. #' @export -get_jira_keys <- function(config_file) { +get_tool_project <- function(tool_name, config_file) { - jira_key <- config_file[["issue_tracker"]][["jira"]] + tool_path <- config_file[[tool_name]] - if (is.null(jira_key)) { - warning("Attribute does not exist in the configuration file.") + if (is.null(tool_path)) { + warning("Attribute does not exist.") } - return(jira_key) + return(tool_path) } -#' Returns the Jira project domain for a specific project key. +#' Returns the code language for analysis. #' -#' @description This function returns the Jira project domain for a specific -#' project key, that is specified in the input parameter `config_file`. -#' The input, `config_file` must be a parsed configuration file. The function -#' will inform the user if the domain exists in the parsed configuration file, -#' `config_file`. +#' @description This function returns the specified code language that should +#' be used to parse file-file static dependencies with the depends tool, that +#' is specified in the input parameter `config_file`. The input, `config_file` +#' must be a parsed configuration file. The function will inform the user if +#' the code language exists in the parsed configuration file, `config_file`. #' #' @param config_file The parsed configuration file obtained from \code{\link{parse_config}}. -#' @param project_key_index The name of the index of the project key (e.g. "project_key_1" or "project_key_2"). -#' @return The Jira domain for project specified by key `project_key_index`. +#' @return The code language for parsing file-file static dependencies. #' @export -get_jira_domain <- function(config_file, project_key_index) { +get_code_language <- function(config_file) { - domain <- config_file[["issue_tracker"]][["jira"]][[project_key_index]][["domain"]] + language <- config_file[["tool"]][["depends"]][["code_language"]] - if (is.null(domain)) { + if (is.null(language)) { warning("Attribute does not exist in the configuration file.") } - return(domain) + return(language) } -#' Returns the name of the Jira project key for a specific project key. +#' Returns a list of the types of dependencies to keep for analysis. #' -#' @description This function returns the Jira project key name for a specific -#' project key, that is specified in the input parameter `config_file`. -#' The input, `config_file` must be a parsed configuration file. The function -#' will inform the user if the project key name exists in the parsed -#' configuration file, `config_file`. +#' @description This function returns the specified types of dependencies to +#' keep for analysis with the depends tool, that is specified in the input +#' parameter `config_file`. The input, `config_file` must be a parsed +#' configuration file. The function will inform the user if the list of the +#' types of dependencies exists in the parsed configuration file, `config_file`. #' #' @param config_file The parsed configuration file obtained from \code{\link{parse_config}}. -#' @param project_key_index The name of the index of the project key (e.g. "project_key_1" or "project_key_2"). -#' @return The Jira project key name for project specified by key `project_key_index`. +#' @return A list of the types of dependencies to keep for analysis. #' @export -get_jira_project_key_name <- function(config_file, project_key_index) { +get_keep_dependencies_type <- function(config_file) { - name <- config_file[["issue_tracker"]][["jira"]][[project_key_index]][["project_key"]] + keep_dependencies_type <- config_file[["tool"]][["depends"]][["keep_dependencies_type"]] - if (is.null(name)) { + if (is.null(keep_dependencies_type)) { warning("Attribute does not exist in the configuration file.") } - return(name) + return(keep_dependencies_type) } -#' Returns the local folder path for Jira issues for a specific project key. +#' Returns the path to the folder used to store files for DV8 analysis. #' -#' @description This function returns the folder path for Jira issues for a -#' specific project key, that is specified in the input parameter `config_file`. -#' The input, `config_file` must be a parsed configuration file. The function -#' will inform the user if the folder path for Jira issues exists in the parsed -#' configuration file, `config_file`. +#' @description This function returns the path to the folder that will be +#' used to store various intermediate files for DV8 analysis, that is specified +#' in the input parameter `config_file`. The input, `config_file` must be a +#' parsed configuration file. The function will inform the user if the path +#' path to the folder for intermediate file storage for DV8 analysis exists in +#' the parsed configuration file, `config_file`. #' #' @param config_file The parsed configuration file obtained from \code{\link{parse_config}}. -#' @param project_key_index The name of the index of the project key (e.g. "project_key_1" or "project_key_2"). -#' @return The Jira issue folder path for project specified by key `project_key_index`. +#' @return The DV8 project folder path. #' @export -get_jira_issues_path <- function(config_file, project_key_index) { +get_dv8_folder_path <- function(config_file) { - jira_issues_path <- config_file[["issue_tracker"]][["jira"]][[project_key_index]][["issues"]] + project_path <- config_file[["tool"]][["dv8"]][["folder_path"]] - if (is.null(jira_issues_path)) { + if (is.null(project_path)) { warning("Attribute does not exist in the configuration file.") } - return(jira_issues_path) + return(project_path) } -#' Returns the local folder path for Jira issue comments for a specific -#' project key. +#' Returns the list of architectural flaws thresholds for DV8 analysis. #' -#' @description This function returns the local folder path for Jira issue -#' comments for a specific project key, that is specified in the input -#' parameter `config_file`. The input, `config_file` must be a parsed -#' configuration file. The function will inform the user if the local folder -#' path for the comments exists in the parsed configuration file, `config_file`. +#' @description This function returns the list of architectural flaws thresholds +#' for DV8 analysis, that is specified in the input parameter `config_file`. +#' The input, `config_file` must be a parsed configuration file. The function +#' will inform the user if the list of architectural flaws thresholds +#' exists in the parsed configuration file, `config_file`. #' #' @param config_file The parsed configuration file obtained from \code{\link{parse_config}}. -#' @param project_key_index The name of the index of the project key (e.g. "project_key_1" or "project_key_2"). -#' @return The folder path for Jira issue comments for project specified by key `project_key_index`. +#' @return The list of DV8 architectural flaws thresholds. #' @export -get_jira_issues_comments_path <- function(config_file, project_key_index) { +get_dv8_flaws_params <- function(config_file) { - jira_issue_comments_path <- config_file[["issue_tracker"]][["jira"]][[project_key_index]][["issue_comments"]] + dv8_flaws_params <- config_file[["tool"]][["dv8"]][["architectural_flaws"]] - if (is.null(jira_issue_comments_path)) { + if (is.null(dv8_flaws_params)) { warning("Attribute does not exist in the configuration file.") } - return(jira_issue_comments_path) + return(dv8_flaws_params) } -#' Returns the name of the Bugzilla project key. +#' Returns the types to keep to to be considered for analysis. #' -#' @description This function returns the name of the Bugzilla project key, that -#' is specified in the input parameter `config_file`. The input, `config_file` -#' must be a parsed configuration file. The function will inform the user if -#' the name of the Bugzilla project key exists in the parsed configuration -#' file, `config_file`. +#' @description This function returns the types of file-file dependencies that +#' should be considered, that are specified in the input parameter +#' `config_file`. The input, `config_file` must be a parsed configuration file. +#' The function will inform the user if the lines type to keep exists in the +#' parsed configuration file, `config_file`. #' #' @param config_file The parsed configuration file obtained from \code{\link{parse_config}}. -#' @return The Bugzilla project key name. +#' @return The lines type to keep for analysis. #' @export -get_bugzilla_project_key <- function(config_file) { +get_uctags_line_types <- function(config_file) { - bugzilla_key <- config_file[["issue_tracker"]][["bugzilla"]][["project_key"]] + kinds <- config_file[["tool"]][["uctags"]][["keep_lines_type"]] - if (is.null(bugzilla_key)) { + if (is.null(kinds)) { warning("Attribute does not exist in the configuration file.") } - return(bugzilla_key) + return(kinds) } -##### Vulnerability Getter Functions ##### - -#' Returns the local folder path that contains the nvd (National Vulnerability -#' Database) feeds. +#' Returns the file path for the output of the srcML analysis for the project. #' -#' @description This function returns the local folder path for nvd feeds, -#' that is specified in the input parameter `config_file`. The input, -#' `config_file` must be a parsed configuration file. The function will inform -#' the user if the local folder path for the nvd feeds exists in the parsed -#' configuration file, `config_file`. +#' @description This function returns the file path to be used to store the +#' output of the srcML analysis for the project, that is specified in the +#' input parameter `config_file`. The input, `config_file` must be a parsed +#' configuration file. The function will inform the user if the file path +#' exists in the parsed configuration file, `config_file`. #' #' @param config_file The parsed configuration file obtained from \code{\link{parse_config}}. -#' @return The folder path with nvd feeds. +#' @return The output file path for srcML analysis. #' @export -get_nvdfeed_folder_path <- function(config_file) { +get_srcml_filepath <- function(config_file) { - nvdfeed_folder_path <- config_file[["vulnerabilities"]][["nvd_feed"]] + srcml_filepath <- config_file[["tool"]][["srcml"]][["srcml_path"]] - if (is.null(nvdfeed_folder_path)) { + if (is.null(srcml_filepath)) { warning("Attribute does not exist in the configuration file.") } - return(nvdfeed_folder_path) + return(srcml_filepath) } -##### Regular Expression Getter Functions ##### - -#' Returns the cve (Common Vulnerabilities and Exposures) regular expression -#' for commit messages. +#' Returns the folder path for class pattern4 analysis. #' -#' @description This function returns the cve regular expression for commit -#' messages, that is specified in the input parameter `config_file`. The input, -#' `config_file` must be a parsed configuration file. The function will inform -#' the user if the cve regular expression for commit messages exists in the -#' parsed configuration file, `config_file`. +#' @description This function returns the folder path used to store the classes +#' for the pattern4 analysis for the project, that is specified in the input +#' parameter `config_file`. The input, `config_file` must be a parsed +#' configuration file. The function will inform the user if the folder path +#' exists in the parsed configuration file, `config_file`. #' #' @param config_file The parsed configuration file obtained from \code{\link{parse_config}}. -#' @return The commit message CVE regular expression. +#' @return The Pattern4 class folder path. #' @export -get_cveid_regex <- function(config_file) { +get_pattern4_folder_path <- function(config_file) { - cveid_regex <- config_file[["commit_message_id_regex"]][["cve_id"]] + pattern4_folder_path <- config_file[["tool"]][["pattern4"]][["class_folder_path"]] - if (is.null(cveid_regex)) { + if (is.null(pattern4_folder_path)) { warning("Attribute does not exist in the configuration file.") } - return(cveid_regex) + return(pattern4_folder_path) } -#' Returns the issue Id regular expression for commit messages. +#' Returns the folder path for the output of the pattern4 analysis. #' -#' @description This function returns the issue Id regular expression for commit -#' messages, that is specified in the input parameter `config_file`. The input, -#' `config_file` must be a parsed configuration file. The function will inform -#' the user if the issue Id regular expression for commit messages exists in the -#' parsed configuration file, `config_file`. +#' @description This function returns the folder path that contains the +#' output of the pattern4 analysis for the project, that is specified in the +#' input parameter `config_file`. The input, `config_file` must be a parsed +#' configuration file. The function will inform the user if the folder path +#' exists in the parsed configuration file, `config_file`. #' #' @param config_file The parsed configuration file obtained from \code{\link{parse_config}}. -#' @return The commit message issue Id regular expression. +#' @return The Pattern4 output folder path. #' @export -get_issue_id_regex <- function(config_file) { +get_pattern4_filepath <- function(config_file) { - issue_id_regex <- config_file[["commit_message_id_regex"]][["issue_id"]] + pattern4_filepath <- config_file[["tool"]][["pattern4"]][["output_filepath"]] - if (is.null(issue_id_regex)) { + if (is.null(pattern4_filepath)) { warning("Attribute does not exist in the configuration file.") } - return(issue_id_regex) + return(pattern4_filepath) } -##### Analysis Getter Functions ##### +##### Third Party Tools Functions End ##### -#' Returns the list of enumerated commit intervals for analysis. + + +##### Analysis Functions Start ##### + +#' Returns the list of topics and keywords for analysis. #' -#' @description This function returns a list of enumerated commit intervals, -#' that is specified in the input parameter `config_file`. The input, -#' `config_file` must be a parsed configuration file. The function will inform -#' the user if the list of enumerated commit intervals exists in the parsed +#' @description This function returns the list of keywords and topics for +#' analysis, that is specified in the input parameter `config_file`. The +#' input, `config_file` must be a parsed configuration file. The function will +#' inform the user if the list of keywords and topics exists in the parsed #' configuration file, `config_file`. #' #' @param config_file The parsed configuration file obtained from \code{\link{parse_config}}. -#' @return The list of enumerated commit intervals. +#' @return The list of keywords and topics for analysis. #' @export -get_enumeration_commits <- function(config_file) { +get_topics <- function(config_file) { - enumeration_commit <- config_file[["analysis"]][["enumeration"]][["commit"]] + topics <- config_file[["analysis"]][["topics"]] - if (is.null(enumeration_commit)) { + if (is.null(topics)) { warning("Attribute does not exist in the configuration file.") } - return(enumeration_commit) + return(topics) } #' Returns the starting commit for a window for analysis. @@ -978,24 +1008,26 @@ get_window_size <- function(config_file) { return(window_size) } -#' Returns the list of topics and keywords for analysis. +#' Returns the list of enumerated commit intervals for analysis. #' -#' @description This function returns the list of keywords and topics for -#' analysis, that is specified in the input parameter `config_file`. The -#' input, `config_file` must be a parsed configuration file. The function will -#' inform the user if the list of keywords and topics exists in the parsed +#' @description This function returns a list of enumerated commit intervals, +#' that is specified in the input parameter `config_file`. The input, +#' `config_file` must be a parsed configuration file. The function will inform +#' the user if the list of enumerated commit intervals exists in the parsed #' configuration file, `config_file`. #' #' @param config_file The parsed configuration file obtained from \code{\link{parse_config}}. -#' @return The list of keywords and topics for analysis. +#' @return The list of enumerated commit intervals. #' @export -get_topics <- function(config_file) { +get_enumeration_commits <- function(config_file) { - topics <- config_file[["analysis"]][["topics"]] + enumeration_commit <- config_file[["analysis"]][["enumeration"]][["commit"]] - if (is.null(topics)) { + if (is.null(enumeration_commit)) { warning("Attribute does not exist in the configuration file.") } - return(topics) + return(enumeration_commit) } + +##### Analysis Functions End ##### diff --git a/conf/ambari.yml b/conf/ambari.yml index 0009fb7..0f5754f 100644 --- a/conf/ambari.yml +++ b/conf/ambari.yml @@ -36,7 +36,8 @@ version_control: # Where is the git log located locally? # This is the path to the .git of the project repository you are analyzing. # The .git is hidden, so you can see it using `ls -a` - log: ../../rawdata/git_repo/ambari/.git + # log: ../../rawdata/git_repo/ambari/.git + log: ../../rawdata/ambari/git_repo/.git # From where the git log was downloaded? log_url: https://github.com/apache/ambari # List of branches used for analysis @@ -54,25 +55,25 @@ mailing_list: mod_mbox: project_key_1: mailing_list: http://mail-archives.apache.org/mod_mbox/ambari-dev - mbox: ../../rawdata/ambari/mod_mbox/ambari-dev/ + save_folder_path: ../../rawdata/ambari/mod_mbox/ambari-dev/ mailing_list_type: ambari-dev archive_type: apache project_key_2: mailing_list: http://mail-archives.apache.org/mod_mbox/ambari-user - mbox: ../../rawdata/geronimo/mod_mbox/ambari-user/ + save_folder_path: ../../rawdata/ambari/mod_mbox/ambari-user/ mailing_list_type: ambari-user archive_type: apache - # pipermail: - # project_key_1: - # mailing_list: https://mta.openssl.org/pipermail/openssl-dev/ - # mbox: ../../rawdata/openssl/pipermail/openssl-dev/ - # mailing_list_type: openssl-dev - # archive_type: mta - # project_key_2: - # mailing_list: https://mta.openssl.org/pipermail/openssl-users/ - # mbox: ../../rawdata/openssl/pipermail/openssl-users/ - # mailing_list_type: openssl-users - # archive_type: mta +# pipermail: +# project_key_1: +# mailing_list: https://mta.openssl.org/pipermail/openssl-dev/ +# save_folder_path: ../../rawdata/openssl/pipermail/openssl-dev/ +# mailing_list_type: openssl-dev +# archive_type: mta +# project_key_2: +# mailing_list: https://mta.openssl.org/pipermail/openssl-users/ +# save_folder_path: ../../rawdata/openssl/pipermail/openssl-users/ +# mailing_list_type: openssl-users +# archive_type: mta issue_tracker: jira: @@ -91,11 +92,16 @@ issue_tracker: # Download using `download_github_comments.Rmd` issue_or_pr_comment: ../../rawdata/ambari/github/issue_or_pr_comment/apache_ambari/ issue: ../../rawdata/ambari/github/issue/apache_ambari/ - issue_search: ../..rawdata/ambari/github/issue_search/apache_ambari/ + issue_search: ../../rawdata/ambari/github/issue_search/apache_ambari/ + issue_event: ../../rawdata/ambari/github/issue_event/apache_ambari/ pull_request: ../../rawdata/ambari/github/pull_request/apache_ambari/ commit: ../../rawdata/ambari/github/commit/apache_ambari/ # bugzilla: - # project_key: ambari + # project_key_1: + # project_key: ambari + # issues: ../../rawdata/ambari/bugzilla/issues/ambari/ + # issue_comments: ../../rawdata/ambari/bugzilla/issue_comments/ambari/ + #vulnerabilities: # Folder path with nvd cve feeds (e.g. nvdcve-1.1-2018.json) @@ -120,7 +126,6 @@ filter: remove_filepaths_containing: - test - # Third Party Tools Configuration # # # See Kaiaulu's README.md for details on how to setup these tools. @@ -145,6 +150,32 @@ tool: - Throw - Parameter - Contain + # dv8: + # # The project folder path to store various intermediate + # # files for DV8 Analysis + # # The folder name will be used in the file names. + # folder_path: ../../analysis/junit/dv8/ + # # the architectural flaws thresholds that should be used + # architectural_flaws: + # cliqueDepends: + # - call + # - use + # crossingCochange: 2 + # crossingFanIn: 4 + # crossingFanOut: 4 + # mvCochange: 2 + # uiCochange: 2 + # uihDepends: + # - call + # - use + # uihInheritance: + # - extend + # - implement + # - public + # - private + # - virtual + # uiHistoryImpact: 10 + # uiStructImpact: 0.01 # Uctags allows finer file-file dependency parsing (e.g. functions, classes, structs) uctags: # See https://github.com/sailuh/kaiaulu/wiki/Universal-Ctags for details @@ -164,14 +195,30 @@ tool: - f # functions r: - f # functions + # # srcML allow to parse src code as text (e.g. identifiers) + # srcml: + # # The file path to where you wish to store the srcml output of the project + # srcml_path: ../../analysis/junit5/srcml/srcml_junit.xml + # pattern4: + # # The file path to where you wish to store the classes of the pattern4 analysis + # class_folder_path: ../../rawdata/junit5/pattern4/junit-platform-engine/build/classes/java/main/org/junit/platform/engine/ + # # The file path to where you wish to store the output of the pattern4 analysis + # output_filepath: ../../analysis/junit5/pattern4/ + # compile_note: > + # 1. Switch Java version to Java 17: + # https://stackoverflow.com/questions/69875335/macos-how-to-install-java-17 + # 2. Disable VPN to pull modules from Gradle Plugin Portal. + # 3. Use sudo ./gradlew build + # 4. After building, locate the engine class files and specify as the class_folder_path: + # in this case they are in: /path/to/junit5/analysis/junit-platform-engine/build/classes/java/main/org/junit/platform/engine/ # Analysis Configuration # analysis: # You can specify the intervals in 2 ways: window, or enumeration window: # If using gitlog, use start_commit and end_commit. Timestamp is inferred from gitlog - #start_commit: b53fa3c4755b7ae6af86cf893924d3e88d449401 - #end_commit: 1a711038698490b1f6423e3e4801ae98598d0366 +# start_commit: b53fa3c4755b7ae6af86cf893924d3e88d449401 +# end_commit: 1a711038698490b1f6423e3e4801ae98598d0366 # Alternatively, you can specify the start and end datetime (UTC timezone is assumed). start_datetime: 2017-01-31 00:00:00 end_datetime: 2019-01-31 00:00:00 diff --git a/conf/apr.yml b/conf/apr.yml index c3d22ea..adfcc7e 100644 --- a/conf/apr.yml +++ b/conf/apr.yml @@ -36,7 +36,7 @@ version_control: # Where is the git log located locally? # This is the path to the .git of the project repository you are analyzing. # The .git is hidden, so you can see it using `ls -a` - log: ../../rawdata/git_repo/APR/.git + log: ../../rawdata/apr/git_repo/.git # From where the git log was downloaded? log_url: https://github.com/apache/apr # List of branches used for analysis @@ -48,18 +48,18 @@ mailing_list: mod_mbox: project_key_1: mailing_list: http://mail-archives.apache.org/mod_mbox/apr-dev - mbox: ../../rawdata/apr/mod_mbox/apr-dev/ + save_folder_path: ../../rawdata/apr/mod_mbox/apr-dev/ mailing_list_type: apr-dev archive_type: apache # pipermail: # project_key_1: # mailing_list: https://mta.openssl.org/pipermail/openssl-dev/ - # mbox: ../../rawdata/openssl/pipermail/openssl-dev/ + # save_folder_path: ../../rawdata/openssl/pipermail/openssl-dev/ # mailing_list_type: openssl-dev # archive_type: mta # project_key_2: # mailing_list: https://mta.openssl.org/pipermail/openssl-users/ - # mbox: ../../rawdata/openssl/pipermail/openssl-users/ + # save_folder_path: ../../rawdata/openssl/pipermail/openssl-users/ # mailing_list_type: openssl-users # archive_type: mta @@ -80,28 +80,33 @@ issue_tracker: # Download using `download_github_comments.Rmd` issue_or_pr_comment: ../../rawdata/apr/github/issue_or_pr_comment/apache_apr/ issue: ../../rawdata/apr/github/issue/apache_apr/ - issue_search: ../..rawdata/apr/github/issue_search/apache_apr/ + issue_search: ../../rawdata/apr/github/issue_search/apache_apr/ + issue_event: ../../rawdata/apr/github/issue_event/apache_apr/ pull_request: ../../rawdata/apr/github/pull_request/apache_apr/ commit: ../../rawdata/apr/github/commit/apache_apr/ - # project_key_2: - # # Obtained from the project's GitHub URL - # owner: ssunoo2 - # repo: kaiaulu - # # Download using `download_github_comments.Rmd` - # issue_or_pr_comment: ../../rawdata/kaiaulu/github/issue_or_pr_comment/ssunoo2_kaiaulu/ - # issue: ../../rawdata/kaiaulu/github/issue/ssunoo2_kaiaulu/ - # refresh_issues: ../..rawdata/kaiaulu/github/refresh_issues/ssunoo2_kaiaulu - # pull_request: ../../kaiaulu/github/pull_request/ssunoo2_kaiaulu/ - # commit: ../../rawdata/kaiaulu/github/commit/ssunoo2_kaiaulu/ +# project_key_2: +# # Obtained from the project's GitHub URL +# owner: ssunoo2 +# repo: kaiaulu +# # Download using `download_github_comments.Rmd` +# issue_or_pr_comment: ../../rawdata/kaiaulu/github/issue_or_pr_comment/ssunoo2_kaiaulu/ +# issue: ../../rawdata/kaiaulu/github/issue/ssunoo2_kaiaulu/ +# issue_search: ../../rawdata/kaiaulu/github/issue_search/ssunoo2_kaiaulu/ +# issue_event: ../../rawdata/kaiaulu/github/issue_event/ssunoo2_kaiaulu/ +# pull_request: ../../rawdata/kaiaulu/github/pull_request/ssunoo2_kaiaulu/ +# commit: ../../rawdata/kaiaulu/github/commit/ssunoo2_kaiaulu/ # bugzilla: -# project_key: kaiaulu +# project_key_1: +# project_key: kaiaulu +# issues: ../../rawdata/kaiaulu/bugzilla/issues/kaiaulu/ +# issue_comments: ../../rawdata/kaiaulu/bugzilla/issue_comments/kaiaulu/ #vulnerabilities: # Folder path with nvd cve feeds (e.g. nvdcve-1.1-2018.json) # Download at: https://nvd.nist.gov/vuln/data-feeds - #nvd_feed: rawdata/nvdfeed + # nvd_feed: rawdata/nvdfeed # Commit message CVE or Issue Regular Expression (regex) # See project's commit message for examples to create the regex @@ -150,7 +155,7 @@ tool: # The project folder path to store various intermediate # files for DV8 Analysis # The folder name will be used in the file names. - folder_path: ../../analysis/dv8/apr + folder_path: ../../analysis/apr/dv8/ # the architectural flaws thresholds that should be used architectural_flaws: cliqueDepends: @@ -191,6 +196,22 @@ tool: - f # functions r: - f # functions + # # srcML allow to parse src code as text (e.g. identifiers) + # srcml: + # # The file path to where you wish to store the srcml output of the project + # srcml_path: ../../analysis/junit5/srcml/srcml_junit.xml + # pattern4: + # # The file path to where you wish to store the classes of the pattern4 analysis + # class_folder_path: ../../rawdata/junit5/pattern4/classes/junit-platform-engine/build/classes/java/main/org/junit/platform/engine/ + # # The file path to where you wish to store the output of the pattern4 analysis + # output_filepath: ../../analysis/junit5/pattern4/ + # compile_note: > + # 1. Switch Java version to Java 17: + # https://stackoverflow.com/questions/69875335/macos-how-to-install-java-17 + # 2. Disable VPN to pull modules from Gradle Plugin Portal. + # 3. Use sudo ./gradlew build + # 4. After building, locate the engine class files and specify as the class_folder_path: + # in this case they are in: /path/to/junit5/analysis/junit-platform-engine/build/classes/java/main/org/junit/platform/engine/ # Analysis Configuration # analysis: diff --git a/conf/calculator.yml b/conf/calculator.yml index f621b06..ff09ebc 100644 --- a/conf/calculator.yml +++ b/conf/calculator.yml @@ -36,7 +36,7 @@ version_control: # Where is the git log located locally? # This is the path to the .git of the project repository you are analyzing. # The .git is hidden, so you can see it using `ls -a` - log: ../../rawdata/git_repo/Calculator/.git + log: ../../rawdata/Calculator/git_repo/.git # From where the git log was downloaded? log_url: https://github.com/HouariZegai/Calculator # List of branches used for analysis @@ -44,27 +44,27 @@ version_control: - master # mailing_list: -# mod_mbox: +# mod_mbox: # project_key_1: -# mailing_list: http://mail-archives.apache.org/mod_mbox/geronimo-dev -# mbox: ./../../../tse_motif_2021/dataset/mbox/apex-dev.mbox -# mailing_list_type: geronimo-dev +# mailing_list: http://mail-archives.apache.org/mod_mbox/kaiaulu-dev +# save_folder_path: ../../rawdata/kaiaulu/mod_mbox/kaiaulu-dev/ +# mailing_list_type: kaiaulu-dev # archive_type: apache # project_key_2: -# mailing_list: http://mail-archives.apache.org/mod_mbox/geronimo-user -# mbox: ../../rawdata/geronimo/mod_mbox/geronimo-user/ -# mailing_list_type: geronimo-user +# mailing_list: http://mail-archives.apache.org/mod_mbox/kaiaulu-user +# save_folder_path: ../../rawdata/kaiaulu/mod_mbox/kaiaulu-user/ +# mailing_list_type: kaiaulu-user # archive_type: apache # pipermail: # project_key_1: -# mailing_list: https://mta.openssl.org/pipermail/openssl-dev/ -# mbox: ../../rawdata/openssl/pipermail/openssl-dev/ -# mailing_list_type: openssl-dev +# mailing_list: https://mta.openssl.org/pipermail/kaiaulu-dev/ +# save_folder_path: ../../rawdata/kaiaulu/pipermail/kaiaulu-dev/ +# mailing_list_type: kaiaulu-dev # archive_type: mta # project_key_2: -# mailing_list: https://mta.openssl.org/pipermail/openssl-users/ -# mbox: ../../rawdata/openssl/pipermail/openssl-users/ -# mailing_list_type: openssl-users +# mailing_list: https://mta.openssl.org/pipermail/kaiaulu-users/ +# save_folder_path: ../../rawdata/kaiaulu/pipermail/kaiaulu-users/ +# mailing_list_type: kaiaulu-users # archive_type: mta issue_tracker: @@ -85,6 +85,7 @@ issue_tracker: issue_or_pr_comment: ../../rawdata/Calculator/github/issue_or_pr_comment/HouariZegai_Calculator/ issue: ../../rawdata/Calculator/github/issue/HouariZegai_Calculator/ issue_search: ../../rawdata/Calculator/github/issue_search/HouariZegai_Calculator/ + issue_event: ../../rawdata/Calculator/github/issue_event/HouariZegai_Calculator/ pull_request: ../../rawdata/Calculator/github/pull_request/HouariZegai_Calculator/ commit: ../../rawdata/Calculator/github/commit/HouariZegai_Calculator/ # project_key_2: @@ -94,11 +95,15 @@ issue_tracker: # # Download using `download_github_comments.Rmd` # issue_or_pr_comment: ../../rawdata/kaiaulu/github/issue_or_pr_comment/ssunoo2_kaiaulu/ # issue: ../../rawdata/kaiaulu/github/issue/ssunoo2_kaiaulu/ -# refresh_issues: ../..rawdata/kaiaulu/github/refresh_issues/ssunoo2_kaiaulu -# pull_request: ../../kaiaulu/github/pull_request/ssunoo2_kaiaulu/ +# issue_search: ../../rawdata/kaiaulu/github/issue_search/ssunoo2_kaiaulu/ +# issue_event: ../../rawdata/kaiaulu/github/issue_event/ssunoo2_kaiaulu/ +# pull_request: ../../rawdata/kaiaulu/github/pull_request/ssunoo2_kaiaulu/ # commit: ../../rawdata/kaiaulu/github/commit/ssunoo2_kaiaulu/ # bugzilla: -# project_key: kaiaulu +# project_key_1: +# project_key: kaiaulu +# issues: ../../rawdata/kaiaulu/bugzilla/issues/kaiaulu/ +# issue_comments: ../../rawdata/kaiaulu/bugzilla/issue_comments/kaiaulu/ #vulnerabilities: # Folder path with nvd cve feeds (e.g. nvdcve-1.1-2018.json) @@ -153,7 +158,7 @@ tool: # The project folder path to store various intermediate # files for DV8 Analysis # The folder name will be used in the file names. - folder_path: ../../analysis/dv8/calculator + folder_path: ../../analysis/Calculator/dv8/ # the architectural flaws thresholds that should be used architectural_flaws: cliqueDepends: @@ -194,6 +199,22 @@ tool: - f # functions r: - f # functions + # # srcML allow to parse src code as text (e.g. identifiers) + # srcml: + # # The file path to where you wish to store the srcml output of the project + # srcml_path: ../../analysis/junit5/srcml/srcml_junit.xml + # pattern4: + # # The file path to where you wish to store the classes of the pattern4 analysis + # class_folder_path: ../../rawdata/junit5/pattern4/classes/junit-platform-engine/build/classes/java/main/org/junit/platform/engine/ + # # The file path to where you wish to store the output of the pattern4 analysis + # output_filepath: ../../analysis/junit5/pattern4/ + # compile_note: > + # 1. Switch Java version to Java 17: + # https://stackoverflow.com/questions/69875335/macos-how-to-install-java-17 + # 2. Disable VPN to pull modules from Gradle Plugin Portal. + # 3. Use sudo ./gradlew build + # 4. After building, locate the engine class files and specify as the class_folder_path: + # in this case they are in: /path/to/junit5/analysis/junit-platform-engine/build/classes/java/main/org/junit/platform/engine/ # Analysis Configuration # analysis: diff --git a/conf/camel.yml b/conf/camel.yml index c87b00e..c822b06 100644 --- a/conf/camel.yml +++ b/conf/camel.yml @@ -36,7 +36,7 @@ version_control: # Where is the git log located locally? # This is the path to the .git of the project repository you are analyzing. # The .git is hidden, so you can see it using `ls -a` - log: ../../rawdata/git_repo/camel/.git + log: ../../rawdata/camel/git_repo/.git # From where the git log was downloaded? log_url: https://github.com/apache/camel # List of branches used for analysis @@ -50,25 +50,25 @@ mailing_list: mod_mbox: project_key_1: mailing_list: http://mail-archives.apache.org/mod_mbox/camel-dev - mbox: ../../rawdata/camel/mod_mbox/camel-dev/ + save_folder_path: ../../rawdata/camel/mod_mbox/camel-dev/ mailing_list_type: camel-dev archive_type: apache project_key_2: mailing_list: http://mail-archives.apache.org/mod_mbox/camel-users - mbox: ../../rawdata/camel/mod_mbox/camel-users/ + save_folder_path: ../../rawdata/camel/mod_mbox/camel-users/ mailing_list_type: camel-users archive_type: apache - # pipermail: - # project_key_1: - # mailing_list: https://mta.openssl.org/pipermail/openssl-dev/ - # mbox: ../../rawdata/openssl/pipermail/openssl-dev/ - # mailing_list_type: openssl-dev - # archive_type: mta - # project_key_2: - # mailing_list: https://mta.openssl.org/pipermail/openssl-users/ - # mbox: ../../rawdata/openssl/pipermail/openssl-users/ - # mailing_list_type: openssl-users - # archive_type: mta +# pipermail: +# project_key_1: +# mailing_list: https://mta.openssl.org/pipermail/kaiaulu-dev/ +# save_folder_path: ../../rawdata/kaiaulu/pipermail/kaiaulu-dev/ +# mailing_list_type: kaiaulu-dev +# archive_type: mta +# project_key_2: +# mailing_list: https://mta.openssl.org/pipermail/kaiaulu-users/ +# save_folder_path: ../../rawdata/kaiaulu/pipermail/kaiaulu-users/ +# mailing_list_type: kaiaulu-users +# archive_type: mta issue_tracker: jira: @@ -87,8 +87,9 @@ issue_tracker: # # Download using `download_github_comments.Rmd` # issue_or_pr_comment: ../../rawdata/kaiaulu/github/issue_or_pr_comment/sailuh_kaiaulu/ # issue: ../../rawdata/kaiaulu/github/issue/sailuh_kaiaulu/ -# issue_search: ../..rawdata/kaiaulu/github/issue_search/sailuh_kaiaulu/ -# pull_request: ../../kaiaulu/github/pull_request/sailuh_kaiaulu/ +# issue_search: ../../rawdata/kaiaulu/github/issue_search/sailuh_kaiaulu/ +# issue_event: ../../rawdata/kaiaulu/github/issue_event/sailuh_kaiaulu/ +# pull_request: ../../rawdata/kaiaulu/github/pull_request/sailuh_kaiaulu/ # commit: ../../rawdata/kaiaulu/github/commit/sailuh_kaiaulu/ # project_key_2: # # Obtained from the project's GitHub URL @@ -97,11 +98,15 @@ issue_tracker: # # Download using `download_github_comments.Rmd` # issue_or_pr_comment: ../../rawdata/kaiaulu/github/issue_or_pr_comment/ssunoo2_kaiaulu/ # issue: ../../rawdata/kaiaulu/github/issue/ssunoo2_kaiaulu/ -# refresh_issues: ../..rawdata/kaiaulu/github/refresh_issues/ssunoo2_kaiaulu -# pull_request: ../../kaiaulu/github/pull_request/ssunoo2_kaiaulu/ +# issue_search: ../../rawdata/kaiaulu/github/issue_search/ssunoo2_kaiaulu/ +# issue_event: ../../rawdata/kaiaulu/github/issue_event/ssunoo2_kaiaulu/ +# pull_request: ../../rawdata/kaiaulu/github/pull_request/ssunoo2_kaiaulu/ # commit: ../../rawdata/kaiaulu/github/commit/ssunoo2_kaiaulu/ # bugzilla: -# project_key: kaiaulu +# project_key_1: +# project_key: kaiaulu +# issues: ../../rawdata/kaiaulu/bugzilla/issues/kaiaulu/ +# issue_comments: ../../rawdata/kaiaulu/bugzilla/issue_comments/kaiaulu/ #vulnerabilities: # Folder path with nvd cve feeds (e.g. nvdcve-1.1-2018.json) @@ -157,7 +162,7 @@ tool: # The project folder path to store various intermediate # files for DV8 Analysis # The folder name will be used in the file names. - folder_path: ../../analysis/dv8/camel_1_0_0 + folder_path: ../../analysis/camel/dv8/ # the architectural flaws thresholds that should be used architectural_flaws: cliqueDepends: @@ -201,8 +206,21 @@ tool: # srcML allow to parse src code as text (e.g. identifiers) srcml: # The file path to where you wish to store the srcml output of the project - srcml_path: ../../analysis/camel/srcml_camel.xml + srcml_path: ../../analysis/camel/srcml/srcml_camel.xml # Specify which types of Dependencies to keep - see the Depends tool README.md for details. + # pattern4: + # # The file path to where you wish to store the classes of the pattern4 analysis + # class_folder_path: ../../rawdata/junit5/pattern4/classes/junit-platform-engine/build/classes/java/main/org/junit/platform/engine/ + # # The file path to where you wish to store the output of the pattern4 analysis + # output_filepath: ../../analysis/junit5/pattern4/ + # compile_note: > + # 1. Switch Java version to Java 17: + # https://stackoverflow.com/questions/69875335/macos-how-to-install-java-17 + # 2. Disable VPN to pull modules from Gradle Plugin Portal. + # 3. Use sudo ./gradlew build + # 4. After building, locate the engine class files and specify as the class_folder_path: + # in this case they are in: /path/to/junit5/analysis/junit-platform-engine/build/classes/java/main/org/junit/platform/engine/ + # Analysis Configuration # analysis: # A list of topic and keywords (see src_text_showcase.Rmd). diff --git a/conf/chromium.yml b/conf/chromium.yml index 2b3a6fd..67e92f9 100644 --- a/conf/chromium.yml +++ b/conf/chromium.yml @@ -36,7 +36,7 @@ version_control: # Where is the git log located locally? # This is the path to the .git of the project repository you are analyzing. # The .git is hidden, so you can see it using `ls -a` - log: ../../rawdata/git_repo/chromium/.git + log: ../../rawdata/chromium/git_repo/.git # From where the git log was downloaded? log_url: https://chromium.googlesource.com/chromium/src # List of branches used for analysis @@ -44,27 +44,27 @@ version_control: - master # mailing_list: -# mod_mbox: +# mod_mbox: # project_key_1: -# mailing_list: http://mail-archives.apache.org/mod_mbox/geronimo-dev -# mbox: ./../../../tse_motif_2021/dataset/mbox/apex-dev.mbox -# mailing_list_type: geronimo-dev +# mailing_list: http://mail-archives.apache.org/mod_mbox/kaiaulu-dev +# save_folder_path: ../../rawdata/kaiaulu/mod_mbox/kaiaulu-dev/ +# mailing_list_type: kaiaulu-dev # archive_type: apache # project_key_2: -# mailing_list: http://mail-archives.apache.org/mod_mbox/geronimo-user -# mbox: ../../rawdata/geronimo/mod_mbox/geronimo-user/ -# mailing_list_type: geronimo-user +# mailing_list: http://mail-archives.apache.org/mod_mbox/kaiaulu-user +# save_folder_path: ../../rawdata/kaiaulu/mod_mbox/kaiaulu-user/ +# mailing_list_type: kaiaulu-user # archive_type: apache # pipermail: # project_key_1: -# mailing_list: https://mta.openssl.org/pipermail/openssl-dev/ -# mbox: ../../rawdata/openssl/pipermail/openssl-dev/ -# mailing_list_type: openssl-dev +# mailing_list: https://mta.openssl.org/pipermail/kaiaulu-dev/ +# save_folder_path: ../../rawdata/kaiaulu/pipermail/kaiaulu-dev/ +# mailing_list_type: kaiaulu-dev # archive_type: mta # project_key_2: -# mailing_list: https://mta.openssl.org/pipermail/openssl-users/ -# mbox: ../../rawdata/openssl/pipermail/openssl-users/ -# mailing_list_type: openssl-users +# mailing_list: https://mta.openssl.org/pipermail/kaiaulu-users/ +# save_folder_path: ../../rawdata/kaiaulu/pipermail/kaiaulu-users/ +# mailing_list_type: kaiaulu-users # archive_type: mta # issue_tracker: @@ -84,8 +84,9 @@ version_control: # # Download using `download_github_comments.Rmd` # issue_or_pr_comment: ../../rawdata/kaiaulu/github/issue_or_pr_comment/sailuh_kaiaulu/ # issue: ../../rawdata/kaiaulu/github/issue/sailuh_kaiaulu/ -# issue_search: ../..rawdata/kaiaulu/github/issue_search/sailuh_kaiaulu/ -# pull_request: ../../kaiaulu/github/pull_request/sailuh_kaiaulu/ +# issue_search: ../../rawdata/kaiaulu/github/issue_search/sailuh_kaiaulu/ +# issue_event: ../../rawdata/kaiaulu/github/issue_event/sailuh_kaiaulu/ +# pull_request: ../../rawdata/kaiaulu/github/pull_request/sailuh_kaiaulu/ # commit: ../../rawdata/kaiaulu/github/commit/sailuh_kaiaulu/ # project_key_2: # # Obtained from the project's GitHub URL @@ -94,11 +95,15 @@ version_control: # # Download using `download_github_comments.Rmd` # issue_or_pr_comment: ../../rawdata/kaiaulu/github/issue_or_pr_comment/ssunoo2_kaiaulu/ # issue: ../../rawdata/kaiaulu/github/issue/ssunoo2_kaiaulu/ -# refresh_issues: ../..rawdata/kaiaulu/github/refresh_issues/ssunoo2_kaiaulu -# pull_request: ../../kaiaulu/github/pull_request/ssunoo2_kaiaulu/ +# issue_search: ../../rawdata/kaiaulu/github/issue_search/ssunoo2_kaiaulu/ +# issue_event: ../../rawdata/kaiaulu/github/issue_event/ssunoo2_kaiaulu/ +# pull_request: ../../rawdata/kaiaulu/github/pull_request/ssunoo2_kaiaulu/ # commit: ../../rawdata/kaiaulu/github/commit/ssunoo2_kaiaulu/ # bugzilla: -# project_key: kaiaulu +# project_key_1: +# project_key: kaiaulu +# issues: ../../rawdata/kaiaulu/bugzilla/issues/kaiaulu/ +# issue_comments: ../../rawdata/kaiaulu/bugzilla/issue_comments/kaiaulu/ vulnerabilities: # Folder path with nvd cve feeds (e.g. nvdcve-1.1-2018.json) @@ -150,6 +155,32 @@ tool: - Throw - Parameter - Contain + # dv8: + # # The project folder path to store various intermediate + # # files for DV8 Analysis + # # The folder name will be used in the file names. + # folder_path: ../../analysis/junit/dv8/ + # # the architectural flaws thresholds that should be used + # architectural_flaws: + # cliqueDepends: + # - call + # - use + # crossingCochange: 2 + # crossingFanIn: 4 + # crossingFanOut: 4 + # mvCochange: 2 + # uiCochange: 2 + # uihDepends: + # - call + # - use + # uihInheritance: + # - extend + # - implement + # - public + # - private + # - virtual + # uiHistoryImpact: 10 + # uiStructImpact: 0.01 # Uctags allows finer file-file dependency parsing (e.g. functions, classes, structs) uctags: # See https://github.com/sailuh/kaiaulu/wiki/Universal-Ctags for details @@ -169,6 +200,22 @@ tool: - f # functions r: - f # functions + # # srcML allow to parse src code as text (e.g. identifiers) + # srcml: + # # The file path to where you wish to store the srcml output of the project + # srcml_path: ../../analysis/junit5/srcml/srcml_junit.xml + # pattern4: + # # The file path to where you wish to store the classes of the pattern4 analysis + # class_folder_path: ../../rawdata/junit5/pattern4/classes/junit-platform-engine/build/classes/java/main/org/junit/platform/engine/ + # # The file path to where you wish to store the output of the pattern4 analysis + # output_filepath: ../../analysis/junit5/pattern4/ + # compile_note: > + # 1. Switch Java version to Java 17: + # https://stackoverflow.com/questions/69875335/macos-how-to-install-java-17 + # 2. Disable VPN to pull modules from Gradle Plugin Portal. + # 3. Use sudo ./gradlew build + # 4. After building, locate the engine class files and specify as the class_folder_path: + # in this case they are in: /path/to/junit5/analysis/junit-platform-engine/build/classes/java/main/org/junit/platform/engine/ # Analysis Configuration # analysis: diff --git a/conf/geronimo.yml b/conf/geronimo.yml index 8b82992..5384473 100644 --- a/conf/geronimo.yml +++ b/conf/geronimo.yml @@ -36,7 +36,7 @@ version_control: # Where is the git log located locally? # This is the path to the .git of the project repository you are analyzing. # The .git is hidden, so you can see it using `ls -a` - log: ../../rawdata/git_repo/geronimo/.git + log: ../../rawdata/geronimo/git_repo/.git # From where the git log was downloaded? log_url: https://github.com/apache/geronimo # List of branches used for analysis @@ -47,25 +47,25 @@ mailing_list: mod_mbox: project_key_1: mailing_list: http://mail-archives.apache.org/mod_mbox/geronimo-dev - mbox: ../../rawdata/geronimo/mod_mbox/geronimo-dev/ + save_folder_path: ../../rawdata/geronimo/mod_mbox/geronimo-dev/ mailing_list_type: geronimo-dev archive_type: apache project_key_2: mailing_list: http://mail-archives.apache.org/mod_mbox/geronimo-user - mbox: ../../rawdata/geronimo/mod_mbox/geronimo-user/ + save_folder_path: ../../rawdata/geronimo/mod_mbox/geronimo-user/ mailing_list_type: geronimo-user archive_type: apache - # pipermail: - # project_key_1: - # mailing_list: https://mta.openssl.org/pipermail/openssl-dev/ - # mbox: ../../rawdata/openssl/pipermail/openssl-dev/ - # mailing_list_type: openssl-dev - # archive_type: mta - # project_key_2: - # mailing_list: https://mta.openssl.org/pipermail/openssl-users/ - # mbox: ../../rawdata/openssl/pipermail/openssl-users/ - # mailing_list_type: openssl-users - # archive_type: mta +# pipermail: +# project_key_1: +# mailing_list: https://mta.openssl.org/pipermail/kaiaulu-dev/ +# save_folder_path: ../../rawdata/kaiaulu/pipermail/kaiaulu-dev/ +# mailing_list_type: kaiaulu-dev +# archive_type: mta +# project_key_2: +# mailing_list: https://mta.openssl.org/pipermail/kaiaulu-users/ +# save_folder_path: ../../rawdata/kaiaulu/pipermail/kaiaulu-users/ +# mailing_list_type: kaiaulu-users +# archive_type: mta issue_tracker: jira: @@ -85,6 +85,7 @@ issue_tracker: issue_or_pr_comment: ../../rawdata/geronimo/github/issue_or_pr_comment/apache_geronimo/ issue: ../../rawdata/geronimo/github/issue/apache_geronimo/ issue_search: ../../rawdata/geronimo/github/issue_search/apache_geronimo/ + issue_event: ../../rawdata/geronimo/github/issue_event/apache_geronimo/ pull_request: ../../rawdata/geronimo/github/pull_request/apache_geronimo/ commit: ../../rawdata/geronimo/github/commit/apache_geronimo/ # project_key_2: @@ -94,11 +95,15 @@ issue_tracker: # # Download using `download_github_comments.Rmd` # issue_or_pr_comment: ../../rawdata/kaiaulu/github/issue_or_pr_comment/ssunoo2_kaiaulu/ # issue: ../../rawdata/kaiaulu/github/issue/ssunoo2_kaiaulu/ -# refresh_issues: ../..rawdata/kaiaulu/github/refresh_issues/ssunoo2_kaiaulu -# pull_request: ../../kaiaulu/github/pull_request/ssunoo2_kaiaulu/ +# issue_search: ../../rawdata/kaiaulu/github/issue_search/ssunoo2_kaiaulu/ +# issue_event: ../../rawdata/kaiaulu/github/issue_event/ssunoo2_kaiaulu/ +# pull_request: ../../rawdata/kaiaulu/github/pull_request/ssunoo2_kaiaulu/ # commit: ../../rawdata/kaiaulu/github/commit/ssunoo2_kaiaulu/ # bugzilla: -# project_key: kaiaulu +# project_key_1: +# project_key: kaiaulu +# issues: ../../rawdata/kaiaulu/bugzilla/issues/kaiaulu/ +# issue_comments: ../../rawdata/kaiaulu/bugzilla/issue_comments/kaiaulu/ #vulnerabilities: # Folder path with nvd cve feeds (e.g. nvdcve-1.1-2018.json) @@ -154,7 +159,7 @@ tool: # The project folder path to store various intermediate # files for DV8 Analysis # The folder name will be used in the file names. - folder_path: ../../analysis/dv8/geronimo + folder_path: ../../analysis/geronimo/dv8/ # the architectural flaws thresholds that should be used architectural_flaws: cliqueDepends: @@ -195,6 +200,22 @@ tool: - f # functions r: - f # functions + # # srcML allow to parse src code as text (e.g. identifiers) + # srcml: + # # The file path to where you wish to store the srcml output of the project + # srcml_path: ../../analysis/junit5/srcml/srcml_junit.xml + # pattern4: + # # The file path to where you wish to store the classes of the pattern4 analysis + # class_folder_path: ../../rawdata/junit5/pattern4/classes/junit-platform-engine/build/classes/java/main/org/junit/platform/engine/ + # # The file path to where you wish to store the output of the pattern4 analysis + # output_filepath: ../../analysis/junit5/pattern4/ + # compile_note: > + # 1. Switch Java version to Java 17: + # https://stackoverflow.com/questions/69875335/macos-how-to-install-java-17 + # 2. Disable VPN to pull modules from Gradle Plugin Portal. + # 3. Use sudo ./gradlew build + # 4. After building, locate the engine class files and specify as the class_folder_path: + # in this case they are in: /path/to/junit5/analysis/junit-platform-engine/build/classes/java/main/org/junit/platform/engine/ # Analysis Configuration # analysis: diff --git a/conf/helix.yml b/conf/helix.yml index 9e3e1b7..117c5ac 100644 --- a/conf/helix.yml +++ b/conf/helix.yml @@ -34,7 +34,7 @@ project: version_control: # Where is the git log located locally? - log: ../../rawdata/git_repo/helix/.git + log: ../../rawdata/helix/git_repo/.git # From where the git log was downloaded? log_url: https://github.com/apache/helix # List of branches used for analysis @@ -51,25 +51,25 @@ mailing_list: mod_mbox: project_key_1: mailing_list: http://mail-archives.apache.org/mod_mbox/helix-dev - mbox: ../../rawdata/helix/mod_mbox/helix-dev/ + save_folder_path: ../../rawdata/helix/mod_mbox/helix-dev/ mailing_list_type: helix-dev archive_type: apache project_key_2: mailing_list: http://mail-archives.apache.org/mod_mbox/helix-user - mbox: ../../rawdata/helix/mod_mbox/helix-user/ + save_folder_path: ../../rawdata/helix/mod_mbox/helix-user/ mailing_list_type: helix-user archive_type: apache - # pipermail: - # project_key_1: - # mailing_list: https://mta.openssl.org/pipermail/openssl-dev/ - # mbox: ../../rawdata/openssl/pipermail/openssl-dev/ - # mailing_list_type: openssl-dev - # archive_type: mta - # project_key_2: - # mailing_list: https://mta.openssl.org/pipermail/openssl-users/ - # mbox: ../../rawdata/openssl/pipermail/openssl-users/ - # mailing_list_type: openssl-users - # archive_type: mta +# pipermail: +# project_key_1: +# mailing_list: https://mta.openssl.org/pipermail/kaiaulu-dev/ +# save_folder_path: ../../rawdata/kaiaulu/pipermail/kaiaulu-dev/ +# mailing_list_type: kaiaulu-dev +# archive_type: mta +# project_key_2: +# mailing_list: https://mta.openssl.org/pipermail/kaiaulu-users/ +# save_folder_path: ../../rawdata/kaiaulu/pipermail/kaiaulu-users/ +# mailing_list_type: kaiaulu-users +# archive_type: mta issue_tracker: jira: @@ -89,10 +89,14 @@ issue_tracker: issue_or_pr_comment: ../../rawdata/helix/github/issue_or_pr_comment/apache_helix/ issue: ../../rawdata/helix/github/issue/apache_helix/ issue_search: ../../rawdata/helix/github/issue_search/apache_helix/ + issue_event: ../../rawdata/helix/github/issue_event/apache_helix/ pull_request: ../../rawdata/helix/github/pull_request/apache_helix/ commit: ../../rawdata/helix/github/commit/apache_helix/ # bugzilla: - # project_key: helix + # project_key_1: + # project_key: helix + # issues: ../../rawdata/helix/bugzilla/issues/helix/ + # issue_comments: ../../rawdata/helix/bugzilla/issue_comments/helix/ #vulnerabilities: # Folder path with nvd cve feeds (e.g. nvdcve-1.1-2018.json) @@ -142,6 +146,32 @@ tool: - Throw - Parameter - Contain + # dv8: + # # The project folder path to store various intermediate + # # files for DV8 Analysis + # # The folder name will be used in the file names. + # folder_path: ../../analysis/junit/dv8/ + # # the architectural flaws thresholds that should be used + # architectural_flaws: + # cliqueDepends: + # - call + # - use + # crossingCochange: 2 + # crossingFanIn: 4 + # crossingFanOut: 4 + # mvCochange: 2 + # uiCochange: 2 + # uihDepends: + # - call + # - use + # uihInheritance: + # - extend + # - implement + # - public + # - private + # - virtual + # uiHistoryImpact: 10 + # uiStructImpact: 0.01 # Uctags allows finer file-file dependency parsing (e.g. functions, classes, structs) uctags: # See https://github.com/sailuh/kaiaulu/wiki/Universal-Ctags for details @@ -161,6 +191,22 @@ tool: - f # functions r: - f # functions + # # srcML allow to parse src code as text (e.g. identifiers) + # srcml: + # # The file path to where you wish to store the srcml output of the project + # srcml_path: ../../analysis/junit5/srcml/srcml_junit.xml + # pattern4: + # # The file path to where you wish to store the classes of the pattern4 analysis + # class_folder_path: ../../rawdata/junit5/pattern4/classes/junit-platform-engine/build/classes/java/main/org/junit/platform/engine/ + # # The file path to where you wish to store the output of the pattern4 analysis + # output_filepath: ../../analysis/junit5/pattern4/ + # compile_note: > + # 1. Switch Java version to Java 17: + # https://stackoverflow.com/questions/69875335/macos-how-to-install-java-17 + # 2. Disable VPN to pull modules from Gradle Plugin Portal. + # 3. Use sudo ./gradlew build + # 4. After building, locate the engine class files and specify as the class_folder_path: + # in this case they are in: /path/to/junit5/analysis/junit-platform-engine/build/classes/java/main/org/junit/platform/engine/ # Analysis Configuration # analysis: diff --git a/conf/junit5.yml b/conf/junit5.yml index 91854ed..2c6d8fd 100644 --- a/conf/junit5.yml +++ b/conf/junit5.yml @@ -36,7 +36,8 @@ version_control: # Where is the git log located locally? # This is the path to the .git of the project repository you are analyzing. # The .git is hidden, so you can see it using `ls -a` - log: ../../rawdata/git_repo/junit5/.git + # log: ../../rawdata/git_repo/junit5/.git + log: ../../rawdata/junit5/git_repo/.git # From where the git log was downloaded? log_url: https://github.com/junit-team/junit5/ # List of branches used for analysis @@ -44,27 +45,27 @@ version_control: - main # mailing_list: -# mod_mbox: +# mod_mbox: # project_key_1: -# mailing_list: http://mail-archives.apache.org/mod_mbox/geronimo-dev -# mbox: ./../../../tse_motif_2021/dataset/mbox/apex-dev.mbox -# mailing_list_type: geronimo-dev +# mailing_list: http://mail-archives.apache.org/mod_mbox/kaiaulu-dev +# save_folder_path: ../../rawdata/kaiaulu/mod_mbox/kaiaulu-dev/ +# mailing_list_type: kaiaulu-dev # archive_type: apache # project_key_2: -# mailing_list: http://mail-archives.apache.org/mod_mbox/geronimo-user -# mbox: ../../rawdata/geronimo/mod_mbox/geronimo-user/ -# mailing_list_type: geronimo-user +# mailing_list: http://mail-archives.apache.org/mod_mbox/kaiaulu-user +# save_folder_path: ../../rawdata/kaiaulu/mod_mbox/kaiaulu-user/ +# mailing_list_type: kaiaulu-user # archive_type: apache # pipermail: # project_key_1: -# mailing_list: https://mta.openssl.org/pipermail/openssl-dev/ -# mbox: ../../rawdata/openssl/pipermail/openssl-dev/ -# mailing_list_type: openssl-dev +# mailing_list: https://mta.openssl.org/pipermail/kaiaulu-dev/ +# save_folder_path: ../../rawdata/kaiaulu/pipermail/kaiaulu-dev/ +# mailing_list_type: kaiaulu-dev # archive_type: mta # project_key_2: -# mailing_list: https://mta.openssl.org/pipermail/openssl-users/ -# mbox: ../../rawdata/openssl/pipermail/openssl-users/ -# mailing_list_type: openssl-users +# mailing_list: https://mta.openssl.org/pipermail/kaiaulu-users/ +# save_folder_path: ../../rawdata/kaiaulu/pipermail/kaiaulu-users/ +# mailing_list_type: kaiaulu-users # archive_type: mta # issue_tracker: @@ -84,8 +85,9 @@ version_control: # # Download using `download_github_comments.Rmd` # issue_or_pr_comment: ../../rawdata/kaiaulu/github/issue_or_pr_comment/sailuh_kaiaulu/ # issue: ../../rawdata/kaiaulu/github/issue/sailuh_kaiaulu/ -# issue_search: ../..rawdata/kaiaulu/github/issue_search/sailuh_kaiaulu/ -# pull_request: ../../kaiaulu/github/pull_request/sailuh_kaiaulu/ +# issue_search: ../../rawdata/kaiaulu/github/issue_search/sailuh_kaiaulu/ +# issue_event: ../../rawdata/kaiaulu/github/issue_event/sailuh_kaiaulu/ +# pull_request: ../../rawdata/kaiaulu/github/pull_request/sailuh_kaiaulu/ # commit: ../../rawdata/kaiaulu/github/commit/sailuh_kaiaulu/ # project_key_2: # # Obtained from the project's GitHub URL @@ -94,22 +96,26 @@ version_control: # # Download using `download_github_comments.Rmd` # issue_or_pr_comment: ../../rawdata/kaiaulu/github/issue_or_pr_comment/ssunoo2_kaiaulu/ # issue: ../../rawdata/kaiaulu/github/issue/ssunoo2_kaiaulu/ -# refresh_issues: ../..rawdata/kaiaulu/github/refresh_issues/ssunoo2_kaiaulu -# pull_request: ../../kaiaulu/github/pull_request/ssunoo2_kaiaulu/ +# issue_search: ../../rawdata/kaiaulu/github/issue_search/ssunoo2_kaiaulu/ +# issue_event: ../../rawdata/kaiaulu/github/issue_event/ssunoo2_kaiaulu/ +# pull_request: ../../rawdata/kaiaulu/github/pull_request/ssunoo2_kaiaulu/ # commit: ../../rawdata/kaiaulu/github/commit/ssunoo2_kaiaulu/ # bugzilla: -# project_key: kaiaulu +# project_key_1: +# project_key: kaiaulu +# issues: ../../rawdata/kaiaulu/bugzilla/issues/kaiaulu/ +# issue_comments: ../../rawdata/kaiaulu/bugzilla/issue_comments/kaiaulu/ #vulnerabilities: # Folder path with nvd cve feeds (e.g. nvdcve-1.1-2018.json) # Download at: https://nvd.nist.gov/vuln/data-feeds - #nvd_feed: rawdata/nvdfeed + # nvd_feed: rawdata/nvdfeed # Commit message CVE or Issue Regular Expression (regex) # See project's commit message for examples to create the regex -#commit_message_id_regex: +# commit_message_id_regex: # issue_id: \#[0-9]+ - #cve_id: ? +# cve_id: ? filter: keep_filepaths_ending_with: @@ -153,7 +159,7 @@ tool: # The project folder path to store various intermediate # files for DV8 Analysis # The folder name will be used in the file names. - folder_path: ../../analysis/dv8/junit + folder_path: ../../analysis/junit5/dv8/ # the architectural flaws thresholds that should be used architectural_flaws: cliqueDepends: @@ -197,17 +203,20 @@ tool: # srcML allow to parse src code as text (e.g. identifiers) srcml: # The file path to where you wish to store the srcml output of the project - srcml_path: ../../analysis/junit/srcml_junit.xml + srcml_path: ../../analysis/junit5/srcml/srcml_junit.xml pattern4: - # The file path to where you wish to store the srcml output of the project - class_folder_path: ../../rawdata/git_repo/junit5/junit-platform-engine/build/classes/java/main/org/junit/platform/engine/ + # The file path to where you wish to store the classes of the pattern4 analysis + class_folder_path: ../../rawdata/junit5/pattern4/junit-platform-engine/build/classes/java/main/org/junit/platform/engine/ + # The file path to where you wish to store the output of the pattern4 analysis + # output_filepath: ../../analysis/junit5/pattern4/ compile_note: > 1. Switch Java version to Java 17: https://stackoverflow.com/questions/69875335/macos-how-to-install-java-17 2. Disable VPN to pull modules from Gradle Plugin Portal. 3. Use sudo ./gradlew build 4. After building, locate the engine class files and specify as the class_folder_path: - in this case they are in: /path/to/junit5/junit-platform-engine/build/classes/java/main/org/junit/platform/engine/ + in this case they are in: /path/to/junit5/analysis/junit-platform-engine/build/classes/java/main/org/junit/platform/engine/ + # Analysis Configuration # analysis: # A list of topic and keywords (see src_text_showcase.Rmd). @@ -236,20 +245,20 @@ analysis: - command # You can specify the intervals in 2 ways: window, or enumeration # window: - # If using gitlog, use start_commit and end_commit. Timestamp is inferred from gitlog +# # If using gitlog, use start_commit and end_commit. Timestamp is inferred from gitlog # start_commit: 9eae9e96f15e1f216162810cef4271a439a74223 # end_commit: f8f9ec1f249dd552065aa37c983bed4d4d869bb0 - # Use datetime only if no gitlog is used in the analysis. - #start_datetime: 2013-05-01 00:00:00 - #end_datetime: 2013-11-01 00:00:00 +# # Use datetime only if no gitlog is used in the analysis. +# start_datetime: 2013-05-01 00:00:00 +# end_datetime: 2013-11-01 00:00:00 # size_days: 90 # enumeration: - # If using gitlog, specify the commits +# # If using gitlog, specify the commits # commit: # - 9eae9e96f15e1f216162810cef4271a439a74223 # - f1d2d568776b3708dd6a3077376e2331f9268b04 # - c33a2ce74c84f0d435bfa2dd8953d132ebf7a77a - # Use datetime only if no gitlog is used in the analysis. Timestamp is inferred from gitlog +# # Use datetime only if no gitlog is used in the analysis. Timestamp is inferred from gitlog # datetime: # - 2013-05-01 00:00:00 # - 2013-08-01 00:00:00 diff --git a/conf/kaiaulu.yml b/conf/kaiaulu.yml index 3312e4a..7528447 100644 --- a/conf/kaiaulu.yml +++ b/conf/kaiaulu.yml @@ -36,7 +36,7 @@ version_control: # Where is the git log located locally? # This is the path to the .git of the project repository you are analyzing. # The .git is hidden, so you can see it using `ls -a` - log: ../../rawdata/git_repo/kaiaulu/.git + log: ../../rawdata/kaiaulu/git_repo/.git # From where the git log was downloaded? log_url: https://github.com/sailuh/kaiaulu # List of branches used for analysis @@ -46,25 +46,25 @@ version_control: # mailing_list: # mod_mbox: # project_key_1: -# mailing_list: http://mail-archives.apache.org/mod_mbox/geronimo-dev -# mbox: ./../../../tse_motif_2021/dataset/mbox/apex-dev.mbox -# mailing_list_type: geronimo-dev +# mailing_list: http://mail-archives.apache.org/mod_mbox/kaiaulu-dev +# save_folder_path: ../../rawdata/kaiaulu/mod_mbox/kaiaulu-dev/ +# mailing_list_type: kaiaulu-dev # archive_type: apache # project_key_2: -# mailing_list: http://mail-archives.apache.org/mod_mbox/geronimo-user -# mbox: ../../rawdata/geronimo/mod_mbox/geronimo-user/ -# mailing_list_type: geronimo-user +# mailing_list: http://mail-archives.apache.org/mod_mbox/kaiaulu-user +# save_folder_path: ../../rawdata/kaiaulu/mod_mbox/kaiaulu-user/ +# mailing_list_type: kaiaulu-user # archive_type: apache # pipermail: # project_key_1: -# mailing_list: https://mta.openssl.org/pipermail/openssl-dev/ -# mbox: ../../rawdata/openssl/pipermail/openssl-dev/ -# mailing_list_type: openssl-dev +# mailing_list: https://mta.openssl.org/pipermail/kaiaulu-dev/ +# save_folder_path: ../../rawdata/kaiaulu/pipermail/kaiaulu-dev/ +# mailing_list_type: kaiaulu-dev # archive_type: mta # project_key_2: -# mailing_list: https://mta.openssl.org/pipermail/openssl-users/ -# mbox: ../../rawdata/openssl/pipermail/openssl-users/ -# mailing_list_type: openssl-users +# mailing_list: https://mta.openssl.org/pipermail/kaiaulu-users/ +# save_folder_path: ../../rawdata/kaiaulu/pipermail/kaiaulu-users/ +# mailing_list_type: kaiaulu-users # archive_type: mta issue_tracker: @@ -86,21 +86,24 @@ issue_tracker: issue: ../../rawdata/kaiaulu/github/issue/sailuh_kaiaulu/ issue_search: ../../rawdata/kaiaulu/github/issue_search/sailuh_kaiaulu/ issue_event: ../../rawdata/kaiaulu/github/issue_event/sailuh_kaiaulu/ - pull_request: ../../kaiaulu/github/pull_request/sailuh_kaiaulu/ + pull_request: ../../rawdata/kaiaulu/github/pull_request/sailuh_kaiaulu/ commit: ../../rawdata/kaiaulu/github/commit/sailuh_kaiaulu/ - # project_key_2: - # # Obtained from the project's GitHub URL - # owner: ssunoo2 - # repo: kaiaulu - # # Download using `download_github_comments.Rmd` - # issue_or_pr_comment: ../../rawdata/kaiaulu/github/issue_or_pr_comment/ssunoo2_kaiaulu/ - # issue: ../../rawdata/kaiaulu/github/issue/ssunoo2_kaiaulu/ - # refresh_issues: ../..rawdata/kaiaulu/github/refresh_issues/ssunoo2_kaiaulu - # pull_request: ../../kaiaulu/github/pull_request/ssunoo2_kaiaulu/ - # commit: ../../rawdata/kaiaulu/github/commit/ssunoo2_kaiaulu/ - # bugzilla: - # project_key: kaiaulu - +# project_key_2: +# # Obtained from the project's GitHub URL +# owner: ssunoo2 +# repo: kaiaulu +# # Download using `download_github_comments.Rmd` +# issue_or_pr_comment: ../../rawdata/kaiaulu/github/issue_or_pr_comment/ssunoo2_kaiaulu/ +# issue: ../../rawdata/kaiaulu/github/issue/ssunoo2_kaiaulu/ +# issue_search: ../../rawdata/kaiaulu/github/issue_search/ssunoo2_kaiaulu/ +# issue_event: ../../rawdata/kaiaulu/github/issue_event/ssunoo2_kaiaulu/ +# pull_request: ../../rawdata/kaiaulu/github/pull_request/ssunoo2_kaiaulu/ +# commit: ../../rawdata/kaiaulu/github/commit/ssunoo2_kaiaulu/ +# bugzilla: +# project_key_1: +# project_key: kaiaulu +# issues: ../../rawdata/kaiaulu/bugzilla/issues/kaiaulu/ +# issue_comments: ../../rawdata/kaiaulu/bugzilla/issue_comments/kaiaulu/ vulnerabilities: # Folder path with nvd cve feeds (e.g. nvdcve-1.1-2018.json) @@ -144,6 +147,32 @@ tool: - Throw - Parameter - Contain + # dv8: + # # The project folder path to store various intermediate + # # files for DV8 Analysis + # # The folder name will be used in the file names. + # folder_path: ../../analysis/junit/dv8/ + # # the architectural flaws thresholds that should be used + # architectural_flaws: + # cliqueDepends: + # - call + # - use + # crossingCochange: 2 + # crossingFanIn: 4 + # crossingFanOut: 4 + # mvCochange: 2 + # uiCochange: 2 + # uihDepends: + # - call + # - use + # uihInheritance: + # - extend + # - implement + # - public + # - private + # - virtual + # uiHistoryImpact: 10 + # uiStructImpact: 0.01 # Uctags allows finer file-file dependency parsing (e.g. functions, classes, structs) uctags: # See https://github.com/sailuh/kaiaulu/wiki/Universal-Ctags for details @@ -163,6 +192,30 @@ tool: - f # functions r: - f # functions + # # srcML allow to parse src code as text (e.g. identifiers) + # srcml: + # # The file path to where you wish to store the srcml output of the project + # srcml_path: ../../analysis/junit5/srcml/srcml_junit.xml + # pattern4: + # # The file path to where you wish to store the classes of the pattern4 analysis + # class_folder_path: ../../rawdata/junit5/pattern4/classes/junit-platform-engine/build/classes/java/main/org/junit/platform/engine/ + # # The file path to where you wish to store the output of the pattern4 analysis + # output_filepath: ../../analysis/junit5/pattern4/ + # compile_note: > + # 1. Switch Java version to Java 17: + # https://stackoverflow.com/questions/69875335/macos-how-to-install-java-17 + # 2. Disable VPN to pull modules from Gradle Plugin Portal. + # 3. Use sudo ./gradlew build + # 4. After building, locate the engine class files and specify as the class_folder_path: + # in this case they are in: /path/to/junit5/analysis/junit-platform-engine/build/classes/java/main/org/junit/platform/engine/ + understand: + # Accepts one language at a time: ada, assembly, c/c++, c#, fortran, java, jovial, delphi/pascal, python, vhdl, basic, javascript + code_language: java + # Where the files to analyze should be stored + project_path: ../../rawdata/kaiaulu/git_repo/understand/ + # Where the output for the understands analysis is stored + output_path: ../../analysis/kaiaulu/understand/ + # Analysis Configuration # analysis: diff --git a/conf/openssl.yml b/conf/openssl.yml index 857cceb..5520fd0 100644 --- a/conf/openssl.yml +++ b/conf/openssl.yml @@ -36,7 +36,7 @@ version_control: # Where is the git log located locally? # This is the path to the .git of the project repository you are analyzing. # The .git is hidden, so you can see it using `ls -a` - log: ../../rawdata/git_repo/OpenSSL/.git + log: ../../rawdata/openssl/git_repo/.git # From where the git log was downloaded? log_url: https://github.com/openssl/openssl # List of branches used for analysis @@ -45,26 +45,26 @@ version_control: - master mailing_list: - mod_mbox: - project_key_1: - mailing_list: http://mail-archives.apache.org/mod_mbox/geronimo-dev - mbox: ./../../../tse_motif_2021/dataset/mbox/apex-dev.mbox - mailing_list_type: geronimo-dev - archive_type: apache - project_key_2: - mailing_list: http://mail-archives.apache.org/mod_mbox/geronimo-user - mbox: ../../rawdata/geronimo/mod_mbox/geronimo-user/ - mailing_list_type: geronimo-user - archive_type: apache +# mod_mbox: +# project_key_1: +# mailing_list: http://mail-archives.apache.org/mod_mbox/kaiaulu-dev +# save_folder_path: ../../rawdata/kaiaulu/mod_mbox/kaiaulu-dev/ +# mailing_list_type: kaiaulu-dev +# archive_type: apache +# project_key_2: +# mailing_list: http://mail-archives.apache.org/mod_mbox/kaiaulu-user +# save_folder_path: ../../rawdata/kaiaulu/mod_mbox/kaiaulu-user/ +# mailing_list_type: kaiaulu-user +# archive_type: apache pipermail: project_key_1: mailing_list: https://mta.openssl.org/pipermail/openssl-dev/ - mbox: ../../rawdata/openssl/pipermail/openssl-dev/ + save_folder_path: ../../rawdata/openssl/pipermail/openssl-dev/ mailing_list_type: openssl-dev archive_type: mta project_key_2: mailing_list: https://mta.openssl.org/pipermail/openssl-users/ - mbox: ../../rawdata/openssl/pipermail/openssl-users/ + save_folder_path: ../../rawdata/openssl/pipermail/openssl-users/ mailing_list_type: openssl-users archive_type: mta @@ -85,8 +85,9 @@ mailing_list: # # Download using `download_github_comments.Rmd` # issue_or_pr_comment: ../../rawdata/kaiaulu/github/issue_or_pr_comment/sailuh_kaiaulu/ # issue: ../../rawdata/kaiaulu/github/issue/sailuh_kaiaulu/ -# issue_search: ../..rawdata/kaiaulu/github/issue_search/sailuh_kaiaulu/ -# pull_request: ../../kaiaulu/github/pull_request/sailuh_kaiaulu/ +# issue_search: ../../rawdata/kaiaulu/github/issue_search/sailuh_kaiaulu/ +# issue_event: ../../rawdata/kaiaulu/github/issue_event/sailuh_kaiaulu/ +# pull_request: ../../rawdata/kaiaulu/github/pull_request/sailuh_kaiaulu/ # commit: ../../rawdata/kaiaulu/github/commit/sailuh_kaiaulu/ # project_key_2: # # Obtained from the project's GitHub URL @@ -95,11 +96,15 @@ mailing_list: # # Download using `download_github_comments.Rmd` # issue_or_pr_comment: ../../rawdata/kaiaulu/github/issue_or_pr_comment/ssunoo2_kaiaulu/ # issue: ../../rawdata/kaiaulu/github/issue/ssunoo2_kaiaulu/ -# refresh_issues: ../..rawdata/kaiaulu/github/refresh_issues/ssunoo2_kaiaulu -# pull_request: ../../kaiaulu/github/pull_request/ssunoo2_kaiaulu/ +# issue_search: ../../rawdata/kaiaulu/github/issue_search/ssunoo2_kaiaulu/ +# issue_event: ../../rawdata/kaiaulu/github/issue_event/ssunoo2_kaiaulu/ +# pull_request: ../../rawdata/kaiaulu/github/pull_request/ssunoo2_kaiaulu/ # commit: ../../rawdata/kaiaulu/github/commit/ssunoo2_kaiaulu/ # bugzilla: -# project_key: openssl +# project_key_1: +# project_key: kaiaulu +# issues: ../../rawdata/kaiaulu/bugzilla/issues/kaiaulu/ +# issue_comments: ../../rawdata/kaiaulu/bugzilla/issue_comments/kaiaulu/ vulnerabilities: # Folder path with nvd cve feeds (e.g. nvdcve-1.1-2018.json) @@ -149,6 +154,32 @@ tool: - Throw - Parameter - Contain + # dv8: + # # The project folder path to store various intermediate + # # files for DV8 Analysis + # # The folder name will be used in the file names. + # folder_path: ../../analysis/junit/dv8/ + # # the architectural flaws thresholds that should be used + # architectural_flaws: + # cliqueDepends: + # - call + # - use + # crossingCochange: 2 + # crossingFanIn: 4 + # crossingFanOut: 4 + # mvCochange: 2 + # uiCochange: 2 + # uihDepends: + # - call + # - use + # uihInheritance: + # - extend + # - implement + # - public + # - private + # - virtual + # uiHistoryImpact: 10 + # uiStructImpact: 0.01 # Uctags allows finer file-file dependency parsing (e.g. functions, classes, structs) uctags: # See https://github.com/sailuh/kaiaulu/wiki/Universal-Ctags for details @@ -168,6 +199,22 @@ tool: - f # functions r: - f # functions + # # srcML allow to parse src code as text (e.g. identifiers) + # srcml: + # # The file path to where you wish to store the srcml output of the project + # srcml_path: ../../analysis/junit5/srcml/srcml_junit.xml + # pattern4: + # # The file path to where you wish to store the classes of the pattern4 analysis + # class_folder_path: ../../rawdata/junit5/pattern4/classes/junit-platform-engine/build/classes/java/main/org/junit/platform/engine/ + # # The file path to where you wish to store the output of the pattern4 analysis + # output_filepath: ../../analysis/junit5/pattern4/ + # compile_note: > + # 1. Switch Java version to Java 17: + # https://stackoverflow.com/questions/69875335/macos-how-to-install-java-17 + # 2. Disable VPN to pull modules from Gradle Plugin Portal. + # 3. Use sudo ./gradlew build + # 4. After building, locate the engine class files and specify as the class_folder_path: + # in this case they are in: /path/to/junit5/analysis/junit-platform-engine/build/classes/java/main/org/junit/platform/engine/ # Analysis Configuration # analysis: diff --git a/conf/redhat.yml b/conf/redhat.yml index d0535c3..1755479 100644 --- a/conf/redhat.yml +++ b/conf/redhat.yml @@ -36,7 +36,7 @@ version_control: # Where is the git log located locally? # This is the path to the .git of the project repository you are analyzing. # The .git is hidden, so you can see it using `ls -a` - log: ../../rawdata/git_repo/kaiaulu/.git + log: ../../rawdata/kaiaulu/git_repo/.git # From where the git log was downloaded? log_url: https://github.com/sailuh/kaiaulu # List of branches used for analysis @@ -44,27 +44,27 @@ version_control: - master # mailing_list: -# mod_mbox: +# mod_mbox: # project_key_1: -# mailing_list: http://mail-archives.apache.org/mod_mbox/geronimo-dev -# mbox: ./../../../tse_motif_2021/dataset/mbox/apex-dev.mbox -# mailing_list_type: geronimo-dev +# mailing_list: http://mail-archives.apache.org/mod_mbox/kaiaulu-dev +# save_folder_path: ../../rawdata/kaiaulu/mod_mbox/kaiaulu-dev/ +# mailing_list_type: kaiaulu-dev # archive_type: apache # project_key_2: -# mailing_list: http://mail-archives.apache.org/mod_mbox/geronimo-user -# mbox: ../../rawdata/geronimo/mod_mbox/geronimo-user/ -# mailing_list_type: geronimo-user +# mailing_list: http://mail-archives.apache.org/mod_mbox/kaiaulu-user +# save_folder_path: ../../rawdata/kaiaulu/mod_mbox/kaiaulu-user/ +# mailing_list_type: kaiaulu-user # archive_type: apache # pipermail: # project_key_1: -# mailing_list: https://mta.openssl.org/pipermail/openssl-dev/ -# mbox: ../../rawdata/openssl/pipermail/openssl-dev/ -# mailing_list_type: openssl-dev +# mailing_list: https://mta.openssl.org/pipermail/kaiaulu-dev/ +# save_folder_path: ../../rawdata/kaiaulu/pipermail/kaiaulu-dev/ +# mailing_list_type: kaiaulu-dev # archive_type: mta # project_key_2: -# mailing_list: https://mta.openssl.org/pipermail/openssl-users/ -# mbox: ../../rawdata/openssl/pipermail/openssl-users/ -# mailing_list_type: openssl-users +# mailing_list: https://mta.openssl.org/pipermail/kaiaulu-users/ +# save_folder_path: ../../rawdata/kaiaulu/pipermail/kaiaulu-users/ +# mailing_list_type: kaiaulu-users # archive_type: mta # issue_tracker: @@ -84,8 +84,9 @@ version_control: # # Download using `download_github_comments.Rmd` # issue_or_pr_comment: ../../rawdata/kaiaulu/github/issue_or_pr_comment/sailuh_kaiaulu/ # issue: ../../rawdata/kaiaulu/github/issue/sailuh_kaiaulu/ -# issue_search: ../..rawdata/kaiaulu/github/issue_search/sailuh_kaiaulu/ -# pull_request: ../../kaiaulu/github/pull_request/sailuh_kaiaulu/ +# issue_search: ../../rawdata/kaiaulu/github/issue_search/sailuh_kaiaulu/ +# issue_event: ../../rawdata/kaiaulu/github/issue_event/sailuh_kaiaulu/ +# pull_request: ../../rawdata/kaiaulu/github/pull_request/sailuh_kaiaulu/ # commit: ../../rawdata/kaiaulu/github/commit/sailuh_kaiaulu/ # project_key_2: # # Obtained from the project's GitHub URL @@ -94,11 +95,15 @@ version_control: # # Download using `download_github_comments.Rmd` # issue_or_pr_comment: ../../rawdata/kaiaulu/github/issue_or_pr_comment/ssunoo2_kaiaulu/ # issue: ../../rawdata/kaiaulu/github/issue/ssunoo2_kaiaulu/ -# refresh_issues: ../..rawdata/kaiaulu/github/refresh_issues/ssunoo2_kaiaulu -# pull_request: ../../kaiaulu/github/pull_request/ssunoo2_kaiaulu/ +# issue_search: ../../rawdata/kaiaulu/github/issue_search/ssunoo2_kaiaulu/ +# issue_event: ../../rawdata/kaiaulu/github/issue_event/ssunoo2_kaiaulu/ +# pull_request: ../../rawdata/kaiaulu/github/pull_request/ssunoo2_kaiaulu/ # commit: ../../rawdata/kaiaulu/github/commit/ssunoo2_kaiaulu/ # bugzilla: -# project_key: redhat +# project_key_1: +# project_key: kaiaulu +# issues: ../../rawdata/kaiaulu/bugzilla/issues/kaiaulu/ +# issue_comments: ../../rawdata/kaiaulu/bugzilla/issue_comments/kaiaulu/ #vulnerabilities: @@ -143,6 +148,32 @@ tool: - Throw - Parameter - Contain + # dv8: + # # The project folder path to store various intermediate + # # files for DV8 Analysis + # # The folder name will be used in the file names. + # folder_path: ../../analysis/junit/dv8/ + # # the architectural flaws thresholds that should be used + # architectural_flaws: + # cliqueDepends: + # - call + # - use + # crossingCochange: 2 + # crossingFanIn: 4 + # crossingFanOut: 4 + # mvCochange: 2 + # uiCochange: 2 + # uihDepends: + # - call + # - use + # uihInheritance: + # - extend + # - implement + # - public + # - private + # - virtual + # uiHistoryImpact: 10 + # uiStructImpact: 0.01 # Uctags allows finer file-file dependency parsing (e.g. functions, classes, structs) uctags: # See https://github.com/sailuh/kaiaulu/wiki/Universal-Ctags for details @@ -162,6 +193,22 @@ tool: - f # functions r: - f # functions + # # srcML allow to parse src code as text (e.g. identifiers) + # srcml: + # # The file path to where you wish to store the srcml output of the project + # srcml_path: ../../analysis/junit5/srcml/srcml_junit.xml + # pattern4: + # # The file path to where you wish to store the classes of the pattern4 analysis + # class_folder_path: ../../rawdata/junit5/pattern4/classes/junit-platform-engine/build/classes/java/main/org/junit/platform/engine/ + # # The file path to where you wish to store the output of the pattern4 analysis + # output_filepath: ../../analysis/junit5/pattern4/ + # compile_note: > + # 1. Switch Java version to Java 17: + # https://stackoverflow.com/questions/69875335/macos-how-to-install-java-17 + # 2. Disable VPN to pull modules from Gradle Plugin Portal. + # 3. Use sudo ./gradlew build + # 4. After building, locate the engine class files and specify as the class_folder_path: + # in this case they are in: /path/to/junit5/analysis/junit-platform-engine/build/classes/java/main/org/junit/platform/engine/ # Analysis Configuration # analysis: diff --git a/conf/spark.yml b/conf/spark.yml index 0a6c2d8..0a23098 100644 --- a/conf/spark.yml +++ b/conf/spark.yml @@ -34,7 +34,7 @@ project: version_control: # Where is the git log located locally? - log: ../../rawdata/git_repo/spark/.git + log: ../../rawdata/spark/git_repo/.git # From where the git log was downloaded? log_url: https://github.com/apache/spark # List of branches used for analysis @@ -45,25 +45,25 @@ mailing_list: mod_mbox: project_key_1: mailing_list: http://mail-archives.apache.org/mod_mbox/spark-dev - mbox: ../../rawdata/spark/mod_mbox/spark-dev/ + save_folder_path: ../../rawdata/spark/mod_mbox/spark-dev/ mailing_list_type: spark-dev archive_type: apache project_key_2: mailing_list: http://mail-archives.apache.org/mod_mbox/spark-user - mbox: ../../rawdata/spark/mod_mbox/spark-user/ + save_folder_path: ../../rawdata/spark/mod_mbox/spark-user/ mailing_list_type: spark-user archive_type: apache - # pipermail: - # project_key_1: - # mailing_list: https://mta.openssl.org/pipermail/openssl-dev/ - # mbox: ../../rawdata/openssl/pipermail/openssl-dev/ - # mailing_list_type: openssl-dev - # archive_type: mta - # project_key_2: - # mailing_list: https://mta.openssl.org/pipermail/openssl-users/ - # mbox: ../../rawdata/openssl/pipermail/openssl-users/ - # mailing_list_type: openssl-users - # archive_type: mta +# pipermail: +# project_key_1: +# mailing_list: https://mta.openssl.org/pipermail/kaiaulu-dev/ +# save_folder_path: ../../rawdata/kaiaulu/pipermail/kaiaulu-dev/ +# mailing_list_type: kaiaulu-dev +# archive_type: mta +# project_key_2: +# mailing_list: https://mta.openssl.org/pipermail/kaiaulu-users/ +# save_folder_path: ../../rawdata/kaiaulu/pipermail/kaiaulu-users/ +# mailing_list_type: kaiaulu-users +# archive_type: mta # issue_tracker: # jira: @@ -82,8 +82,9 @@ mailing_list: # # Download using `download_github_comments.Rmd` # issue_or_pr_comment: ../../rawdata/kaiaulu/github/issue_or_pr_comment/sailuh_kaiaulu/ # issue: ../../rawdata/kaiaulu/github/issue/sailuh_kaiaulu/ -# issue_search: ../..rawdata/kaiaulu/github/issue_search/sailuh_kaiaulu/ -# pull_request: ../../kaiaulu/github/pull_request/sailuh_kaiaulu/ +# issue_search: ../../rawdata/kaiaulu/github/issue_search/sailuh_kaiaulu/ +# issue_event: ../../rawdata/kaiaulu/github/issue_event/sailuh_kaiaulu/ +# pull_request: ../../rawdata/kaiaulu/github/pull_request/sailuh_kaiaulu/ # commit: ../../rawdata/kaiaulu/github/commit/sailuh_kaiaulu/ # project_key_2: # # Obtained from the project's GitHub URL @@ -92,11 +93,15 @@ mailing_list: # # Download using `download_github_comments.Rmd` # issue_or_pr_comment: ../../rawdata/kaiaulu/github/issue_or_pr_comment/ssunoo2_kaiaulu/ # issue: ../../rawdata/kaiaulu/github/issue/ssunoo2_kaiaulu/ -# refresh_issues: ../..rawdata/kaiaulu/github/refresh_issues/ssunoo2_kaiaulu -# pull_request: ../../kaiaulu/github/pull_request/ssunoo2_kaiaulu/ +# issue_search: ../../rawdata/kaiaulu/github/issue_search/ssunoo2_kaiaulu/ +# issue_event: ../../rawdata/kaiaulu/github/issue_event/ssunoo2_kaiaulu/ +# pull_request: ../../rawdata/kaiaulu/github/pull_request/ssunoo2_kaiaulu/ # commit: ../../rawdata/kaiaulu/github/commit/ssunoo2_kaiaulu/ # bugzilla: -# project_key: kaiaulu +# project_key_1: +# project_key: kaiaulu +# issues: ../../rawdata/kaiaulu/bugzilla/issues/kaiaulu/ +# issue_comments: ../../rawdata/kaiaulu/bugzilla/issue_comments/kaiaulu/ #vulnerabilities: # Folder path with nvd cve feeds (e.g. nvdcve-1.1-2018.json) @@ -146,6 +151,32 @@ tool: # - Throw # - Parameter # - Contain + # dv8: + # # The project folder path to store various intermediate + # # files for DV8 Analysis + # # The folder name will be used in the file names. + # folder_path: ../../analysis/junit/dv8/ + # # the architectural flaws thresholds that should be used + # architectural_flaws: + # cliqueDepends: + # - call + # - use + # crossingCochange: 2 + # crossingFanIn: 4 + # crossingFanOut: 4 + # mvCochange: 2 + # uiCochange: 2 + # uihDepends: + # - call + # - use + # uihInheritance: + # - extend + # - implement + # - public + # - private + # - virtual + # uiHistoryImpact: 10 + # uiStructImpact: 0.01 # Uctags allows finer file-file dependency parsing (e.g. functions, classes, structs) uctags: # See https://github.com/sailuh/kaiaulu/wiki/Universal-Ctags for details @@ -165,6 +196,22 @@ tool: - f # functions r: - f # functions + # # srcML allow to parse src code as text (e.g. identifiers) + # srcml: + # # The file path to where you wish to store the srcml output of the project + # srcml_path: ../../analysis/junit5/srcml/srcml_junit.xml + # pattern4: + # # The file path to where you wish to store the classes of the pattern4 analysis + # class_folder_path: ../../rawdata/junit5/pattern4/classes/junit-platform-engine/build/classes/java/main/org/junit/platform/engine/ + # # The file path to where you wish to store the output of the pattern4 analysis + # output_filepath: ../../analysis/junit5/pattern4/ + # compile_note: > + # 1. Switch Java version to Java 17: + # https://stackoverflow.com/questions/69875335/macos-how-to-install-java-17 + # 2. Disable VPN to pull modules from Gradle Plugin Portal. + # 3. Use sudo ./gradlew build + # 4. After building, locate the engine class files and specify as the class_folder_path: + # in this case they are in: /path/to/junit5/analysis/junit-platform-engine/build/classes/java/main/org/junit/platform/engine/ # Analysis Configuration # analysis: diff --git a/conf/thrift.yml b/conf/thrift.yml index b9778f9..b91117f 100644 --- a/conf/thrift.yml +++ b/conf/thrift.yml @@ -34,7 +34,7 @@ project: version_control: # Where is the git log located locally? - log: ../../rawdata/git_repo/thrift/.git # cloned Apache Thrift repo and put path to its .git file + log: ../../rawdata/thrift/git_repo/.git # cloned Apache Thrift repo and put path to its .git file # From where the git log was downloaded? log_url: https://github.com/apache/thrift # List of branches used for analysis @@ -45,25 +45,25 @@ mailing_list: mod_mbox: project_key_1: mailing_list: http://mail-archives.apache.org/mod_mbox/thrift-dev - mbox: ../../rawdata/thrift/mod_mbox/thrift-dev/ + save_folder_path: ../../rawdata/thrift/mod_mbox/thrift-dev/ mailing_list_type: thrift-dev archive_type: apache project_key_2: mailing_list: http://mail-archives.apache.org/mod_mbox/thrift-user - mbox: ../../rawdata/thrift/mod_mbox/thrift-user/ + save_folder_path: ../../rawdata/thrift/mod_mbox/thrift-user/ mailing_list_type: thrift-user archive_type: apache - # pipermail: - # project_key_1: - # mailing_list: https://mta.openssl.org/pipermail/openssl-dev/ - # mbox: ../../rawdata/openssl/pipermail/openssl-dev/ - # mailing_list_type: openssl-dev - # archive_type: mta - # project_key_2: - # mailing_list: https://mta.openssl.org/pipermail/openssl-users/ - # mbox: ../../rawdata/openssl/pipermail/openssl-users/ - # mailing_list_type: openssl-users - # archive_type: mta +# pipermail: +# project_key_1: +# mailing_list: https://mta.openssl.org/pipermail/kaiaulu-dev/ +# save_folder_path: ../../rawdata/kaiaulu/pipermail/kaiaulu-dev/ +# mailing_list_type: kaiaulu-dev +# archive_type: mta +# project_key_2: +# mailing_list: https://mta.openssl.org/pipermail/kaiaulu-users/ +# save_folder_path: ../../rawdata/kaiaulu/pipermail/kaiaulu-users/ +# mailing_list_type: kaiaulu-users +# archive_type: mta issue_tracker: jira: @@ -83,6 +83,9 @@ issue_tracker: issue_or_pr_comment: ../../rawdata/thrift/github/issue_or_pr_comment/apache_thrift/ issue: ../../rawdata/thrift/github/issue/apache_thrift/ issue_search: ../../rawdata/thrift/github/issue_search/apache_thrift/ + issue_event: ../../rawdata/thrift/github/issue_event/apache_thrift/ + pull_request: ../../rawdata/thrift/github/pull_request/apache_thrift/ + commit: ../../rawdata/thrift/github/commit/apache_thrift/ # project_key_2: # # Obtained from the project's GitHub URL # owner: ssunoo2 @@ -90,11 +93,15 @@ issue_tracker: # # Download using `download_github_comments.Rmd` # issue_or_pr_comment: ../../rawdata/kaiaulu/github/issue_or_pr_comment/ssunoo2_kaiaulu/ # issue: ../../rawdata/kaiaulu/github/issue/ssunoo2_kaiaulu/ -# refresh_issues: ../..rawdata/kaiaulu/github/refresh_issues/ssunoo2_kaiaulu -# pull_request: ../../kaiaulu/github/pull_request/ssunoo2_kaiaulu/ +# issue_search: ../../rawdata/kaiaulu/github/issue_search/ssunoo2_kaiaulu/ +# issue_event: ../../rawdata/kaiaulu/github/issue_event/ssunoo2_kaiaulu/ +# pull_request: ../../rawdata/kaiaulu/github/pull_request/ssunoo2_kaiaulu/ # commit: ../../rawdata/kaiaulu/github/commit/ssunoo2_kaiaulu/ # bugzilla: -# project_key: kaiaulu +# project_key_1: +# project_key: kaiaulu +# issues: ../../rawdata/kaiaulu/bugzilla/issues/kaiaulu/ +# issue_comments: ../../rawdata/kaiaulu/bugzilla/issue_comments/kaiaulu/ #vulnerabilities: # Folder path with nvd cve feeds (e.g. nvdcve-1.1-2018.json) @@ -144,6 +151,32 @@ tool: - Throw - Parameter - Contain + # dv8: + # # The project folder path to store various intermediate + # # files for DV8 Analysis + # # The folder name will be used in the file names. + # folder_path: ../../analysis/junit/dv8/ + # # the architectural flaws thresholds that should be used + # architectural_flaws: + # cliqueDepends: + # - call + # - use + # crossingCochange: 2 + # crossingFanIn: 4 + # crossingFanOut: 4 + # mvCochange: 2 + # uiCochange: 2 + # uihDepends: + # - call + # - use + # uihInheritance: + # - extend + # - implement + # - public + # - private + # - virtual + # uiHistoryImpact: 10 + # uiStructImpact: 0.01 # Uctags allows finer file-file dependency parsing (e.g. functions, classes, structs) uctags: # See https://github.com/sailuh/kaiaulu/wiki/Universal-Ctags for details @@ -163,6 +196,22 @@ tool: - f # functions r: - f # functions + # # srcML allow to parse src code as text (e.g. identifiers) + # srcml: + # # The file path to where you wish to store the srcml output of the project + # srcml_path: ../../analysis/junit5/srcml/srcml_junit.xml + # pattern4: + # # The file path to where you wish to store the classes of the pattern4 analysis + # class_folder_path: ../../rawdata/junit5/pattern4/classes/junit-platform-engine/build/classes/java/main/org/junit/platform/engine/ + # # The file path to where you wish to store the output of the pattern4 analysis + # output_filepath: ../../analysis/junit5/pattern4/ + # compile_note: > + # 1. Switch Java version to Java 17: + # https://stackoverflow.com/questions/69875335/macos-how-to-install-java-17 + # 2. Disable VPN to pull modules from Gradle Plugin Portal. + # 3. Use sudo ./gradlew build + # 4. After building, locate the engine class files and specify as the class_folder_path: + # in this case they are in: /path/to/junit5/analysis/junit-platform-engine/build/classes/java/main/org/junit/platform/engine/ # Analysis Configuration # analysis: diff --git a/conf/tomcat.yml b/conf/tomcat.yml index d47bbe4..601242b 100644 --- a/conf/tomcat.yml +++ b/conf/tomcat.yml @@ -36,7 +36,7 @@ version_control: # Where is the git log located locally? # This is the path to the .git of the project repository you are analyzing. # The .git is hidden, so you can see it using `ls -a` - log: ../../rawdata/git_repo/Tomcat/.git + log: ../../rawdata/tomcat/git_repo/.git # From where the git log was downloaded? log_url: https://github.com/apache/tomcat # List of branches used for analysis @@ -47,25 +47,25 @@ mailing_list: mod_mbox: project_key_1: mailing_list: http://mail-archives.apache.org/mod_mbox/tomcat-dev - mbox: ../../rawdata/tomcat/mod_mbox/tomcat-dev/ + save_folder_path: ../../rawdata/tomcat/mod_mbox/tomcat-dev/ mailing_list_type: tomcat-dev archive_type: apache project_key_2: mailing_list: http://mail-archives.apache.org/mod_mbox/tomcat-users - mbox: ../../rawdata/tomcat/mod_mbox/tomcat-users/ + save_folder_path: ../../rawdata/tomcat/mod_mbox/tomcat-users/ mailing_list_type: tomcat-users archive_type: apache - # pipermail: - # project_key_1: - # mailing_list: https://mta.openssl.org/pipermail/openssl-dev/ - # mbox: ../../rawdata/openssl/pipermail/openssl-dev/ - # mailing_list_type: openssl-dev - # archive_type: mta - # project_key_2: - # mailing_list: https://mta.openssl.org/pipermail/openssl-users/ - # mbox: ../../rawdata/openssl/pipermail/openssl-users/ - # mailing_list_type: openssl-users - # archive_type: mta +# pipermail: +# project_key_1: +# mailing_list: https://mta.openssl.org/pipermail/kaiaulu-dev/ +# save_folder_path: ../../rawdata/kaiaulu/pipermail/kaiaulu-dev/ +# mailing_list_type: kaiaulu-dev +# archive_type: mta +# project_key_2: +# mailing_list: https://mta.openssl.org/pipermail/kaiaulu-users/ +# save_folder_path: ../../rawdata/kaiaulu/pipermail/kaiaulu-users/ +# mailing_list_type: kaiaulu-users +# archive_type: mta # issue_tracker: # jira: @@ -84,8 +84,9 @@ mailing_list: # # Download using `download_github_comments.Rmd` # issue_or_pr_comment: ../../rawdata/kaiaulu/github/issue_or_pr_comment/sailuh_kaiaulu/ # issue: ../../rawdata/kaiaulu/github/issue/sailuh_kaiaulu/ -# issue_search: ../..rawdata/kaiaulu/github/issue_search/sailuh_kaiaulu/ -# pull_request: ../../kaiaulu/github/pull_request/sailuh_kaiaulu/ +# issue_search: ../../rawdata/kaiaulu/github/issue_search/sailuh_kaiaulu/ +# issue_event: ../../rawdata/kaiaulu/github/issue_event/sailuh_kaiaulu/ +# pull_request: ../../rawdata/kaiaulu/github/pull_request/sailuh_kaiaulu/ # commit: ../../rawdata/kaiaulu/github/commit/sailuh_kaiaulu/ # project_key_2: # # Obtained from the project's GitHub URL @@ -94,11 +95,15 @@ mailing_list: # # Download using `download_github_comments.Rmd` # issue_or_pr_comment: ../../rawdata/kaiaulu/github/issue_or_pr_comment/ssunoo2_kaiaulu/ # issue: ../../rawdata/kaiaulu/github/issue/ssunoo2_kaiaulu/ -# refresh_issues: ../..rawdata/kaiaulu/github/refresh_issues/ssunoo2_kaiaulu -# pull_request: ../../kaiaulu/github/pull_request/ssunoo2_kaiaulu/ +# issue_search: ../../rawdata/kaiaulu/github/issue_search/ssunoo2_kaiaulu/ +# issue_event: ../../rawdata/kaiaulu/github/issue_event/ssunoo2_kaiaulu/ +# pull_request: ../../rawdata/kaiaulu/github/pull_request/ssunoo2_kaiaulu/ # commit: ../../rawdata/kaiaulu/github/commit/ssunoo2_kaiaulu/ # bugzilla: -# project_key: kaiaulu +# project_key_1: +# project_key: kaiaulu +# issues: ../../rawdata/kaiaulu/bugzilla/issues/kaiaulu/ +# issue_comments: ../../rawdata/kaiaulu/bugzilla/issue_comments/kaiaulu/ #vulnerabilities: # Folder path with nvd cve feeds (e.g. nvdcve-1.1-2018.json) @@ -148,6 +153,32 @@ tool: - Throw - Parameter - Contain + # dv8: + # # The project folder path to store various intermediate + # # files for DV8 Analysis + # # The folder name will be used in the file names. + # folder_path: ../../analysis/junit/dv8/ + # # the architectural flaws thresholds that should be used + # architectural_flaws: + # cliqueDepends: + # - call + # - use + # crossingCochange: 2 + # crossingFanIn: 4 + # crossingFanOut: 4 + # mvCochange: 2 + # uiCochange: 2 + # uihDepends: + # - call + # - use + # uihInheritance: + # - extend + # - implement + # - public + # - private + # - virtual + # uiHistoryImpact: 10 + # uiStructImpact: 0.01 # Uctags allows finer file-file dependency parsing (e.g. functions, classes, structs) uctags: # See https://github.com/sailuh/kaiaulu/wiki/Universal-Ctags for details @@ -167,6 +198,22 @@ tool: - f # functions r: - f # functions + # # srcML allow to parse src code as text (e.g. identifiers) + # srcml: + # # The file path to where you wish to store the srcml output of the project + # srcml_path: ../../analysis/junit5/srcml/srcml_junit.xml + # pattern4: + # # The file path to where you wish to store the classes of the pattern4 analysis + # class_folder_path: ../../rawdata/junit5/pattern4/classes/junit-platform-engine/build/classes/java/main/org/junit/platform/engine/ + # # The file path to where you wish to store the output of the pattern4 analysis + # output_filepath: ../../analysis/junit5/pattern4/ + # compile_note: > + # 1. Switch Java version to Java 17: + # https://stackoverflow.com/questions/69875335/macos-how-to-install-java-17 + # 2. Disable VPN to pull modules from Gradle Plugin Portal. + # 3. Use sudo ./gradlew build + # 4. After building, locate the engine class files and specify as the class_folder_path: + # in this case they are in: /path/to/junit5/analysis/junit-platform-engine/build/classes/java/main/org/junit/platform/engine/ # Analysis Configuration # analysis: diff --git a/conf/tse_apex.yml b/conf/tse_apex.yml index 2f8fa54..772257f 100644 --- a/conf/tse_apex.yml +++ b/conf/tse_apex.yml @@ -36,7 +36,7 @@ version_control: # Where is the git log located locally? # This is the path to the .git of the project repository you are analyzing. # The .git is hidden, so you can see it using `ls -a` - log: ../../../../tse_motif_2021/dataset/gitlog/apex-core/.git + log: ../../rawdata/apex/git_repo/.git # From where the git log was downloaded? log_url: https://github.com/apache/apex-core # List of branches used for analysis @@ -44,27 +44,27 @@ version_control: - master # mailing_list: -# mod_mbox: +# mod_mbox: # project_key_1: -# mailing_list: http://mail-archives.apache.org/mod_mbox/geronimo-dev -# mbox: ./../../../tse_motif_2021/dataset/mbox/apex-dev.mbox -# mailing_list_type: geronimo-dev +# mailing_list: http://mail-archives.apache.org/mod_mbox/kaiaulu-dev +# save_folder_path: ../../rawdata/kaiaulu/mod_mbox/kaiaulu-dev/ +# mailing_list_type: kaiaulu-dev # archive_type: apache # project_key_2: -# mailing_list: http://mail-archives.apache.org/mod_mbox/geronimo-user -# mbox: ../../rawdata/geronimo/mod_mbox/geronimo-user/ -# mailing_list_type: geronimo-user +# mailing_list: http://mail-archives.apache.org/mod_mbox/kaiaulu-user +# save_folder_path: ../../rawdata/kaiaulu/mod_mbox/kaiaulu-user/ +# mailing_list_type: kaiaulu-user # archive_type: apache # pipermail: # project_key_1: -# mailing_list: https://mta.openssl.org/pipermail/openssl-dev/ -# mbox: ../../rawdata/openssl/pipermail/openssl-dev/ -# mailing_list_type: openssl-dev +# mailing_list: https://mta.openssl.org/pipermail/kaiaulu-dev/ +# save_folder_path: ../../rawdata/kaiaulu/pipermail/kaiaulu-dev/ +# mailing_list_type: kaiaulu-dev # archive_type: mta # project_key_2: -# mailing_list: https://mta.openssl.org/pipermail/openssl-users/ -# mbox: ../../rawdata/openssl/pipermail/openssl-users/ -# mailing_list_type: openssl-users +# mailing_list: https://mta.openssl.org/pipermail/kaiaulu-users/ +# save_folder_path: ../../rawdata/kaiaulu/pipermail/kaiaulu-users/ +# mailing_list_type: kaiaulu-users # archive_type: mta issue_tracker: @@ -84,8 +84,9 @@ issue_tracker: # # Download using `download_github_comments.Rmd` # issue_or_pr_comment: ../../rawdata/kaiaulu/github/issue_or_pr_comment/sailuh_kaiaulu/ # issue: ../../rawdata/kaiaulu/github/issue/sailuh_kaiaulu/ -# issue_search: ../..rawdata/kaiaulu/github/issue_search/sailuh_kaiaulu/ -# pull_request: ../../kaiaulu/github/pull_request/sailuh_kaiaulu/ +# issue_search: ../../rawdata/kaiaulu/github/issue_search/sailuh_kaiaulu/ +# issue_event: ../../rawdata/kaiaulu/github/issue_event/sailuh_kaiaulu/ +# pull_request: ../../rawdata/kaiaulu/github/pull_request/sailuh_kaiaulu/ # commit: ../../rawdata/kaiaulu/github/commit/sailuh_kaiaulu/ # project_key_2: # # Obtained from the project's GitHub URL @@ -94,11 +95,15 @@ issue_tracker: # # Download using `download_github_comments.Rmd` # issue_or_pr_comment: ../../rawdata/kaiaulu/github/issue_or_pr_comment/ssunoo2_kaiaulu/ # issue: ../../rawdata/kaiaulu/github/issue/ssunoo2_kaiaulu/ -# refresh_issues: ../..rawdata/kaiaulu/github/refresh_issues/ssunoo2_kaiaulu -# pull_request: ../../kaiaulu/github/pull_request/ssunoo2_kaiaulu/ +# issue_search: ../../rawdata/kaiaulu/github/issue_search/ssunoo2_kaiaulu/ +# issue_event: ../../rawdata/kaiaulu/github/issue_event/ssunoo2_kaiaulu/ +# pull_request: ../../rawdata/kaiaulu/github/pull_request/ssunoo2_kaiaulu/ # commit: ../../rawdata/kaiaulu/github/commit/ssunoo2_kaiaulu/ # bugzilla: -# project_key: kaiaulu +# project_key_1: +# project_key: kaiaulu +# issues: ../../rawdata/kaiaulu/bugzilla/issues/kaiaulu/ +# issue_comments: ../../rawdata/kaiaulu/bugzilla/issue_comments/kaiaulu/ #vulnerabilities: # Folder path with nvd cve feeds (e.g. nvdcve-1.1-2018.json) @@ -154,7 +159,7 @@ tool: # The project folder path to store various intermediate # files for DV8 Analysis # The folder name will be used in the file names. - folder_path: ../../analysis/dv8/tse_apex + folder_path: ../../analysis/apex/dv8/ # the architectural flaws thresholds that should be used architectural_flaws: cliqueDepends: @@ -195,6 +200,22 @@ tool: - f # functions r: - f # functions + # # srcML allow to parse src code as text (e.g. identifiers) + # srcml: + # # The file path to where you wish to store the srcml output of the project + # srcml_path: ../../analysis/junit5/srcml/srcml_junit.xml + # pattern4: + # # The file path to where you wish to store the classes of the pattern4 analysis + # class_folder_path: ../../rawdata/junit5/pattern4/classes/junit-platform-engine/build/classes/java/main/org/junit/platform/engine/ + # # The file path to where you wish to store the output of the pattern4 analysis + # output_filepath: ../../analysis/junit5/pattern4/ + # compile_note: > + # 1. Switch Java version to Java 17: + # https://stackoverflow.com/questions/69875335/macos-how-to-install-java-17 + # 2. Disable VPN to pull modules from Gradle Plugin Portal. + # 3. Use sudo ./gradlew build + # 4. After building, locate the engine class files and specify as the class_folder_path: + # in this case they are in: /path/to/junit5/analysis/junit-platform-engine/build/classes/java/main/org/junit/platform/engine/ # Analysis Configuration # analysis: From cee5e360293536f590367986f56bda104dfc3500 Mon Sep 17 00:00:00 2001 From: Nicholas Beydler Date: Wed, 9 Oct 2024 07:43:26 -1000 Subject: [PATCH 23/32] i #230 Removed Unused Getters - get_mbox_mailing_list() and get_mbox_archive_type() were removed as the keys that they are grabbing are scheduled for removal. --- NAMESPACE | 2 -- R/config.R | 48 ------------------------------------ man/get_mbox_archive_type.Rd | 23 ----------------- man/get_mbox_mailing_list.Rd | 23 ----------------- 4 files changed, 96 deletions(-) delete mode 100644 man/get_mbox_archive_type.Rd delete mode 100644 man/get_mbox_mailing_list.Rd diff --git a/NAMESPACE b/NAMESPACE index 6c013ee..814ea0b 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -75,10 +75,8 @@ export(get_jira_issues_path) export(get_jira_keys) export(get_jira_project_key_name) export(get_keep_dependencies_type) -export(get_mbox_archive_type) export(get_mbox_domain) export(get_mbox_key_indexes) -export(get_mbox_mailing_list) export(get_mbox_path) export(get_nvdfeed_folder_path) export(get_pattern4_filepath) diff --git a/R/config.R b/R/config.R index 37cbdb4..e0be023 100644 --- a/R/config.R +++ b/R/config.R @@ -148,56 +148,8 @@ get_mbox_path <- function(config_file, project_key_index) { return(mbox_path) } -#' Returns the mbox mailing list for a specific project key. -#' -#' @description This function returns the specific mbox mailing list for a -#' specific project key, `project_key_index`, that is specified in the input -#' parameter `config_file`. The input, `config_file` must be a parsed -#' configuration file. The function will inform the user if the mailing -#' list for mbox exists in the parsed configuration file, `config_file`. -#' -#' @param config_file The parsed configuration file obtained from \code{\link{parse_config}}. -#' @param project_key_index The name of the index of the project key (e.g. "project_key_1" or "project_key_2"). -#' @return The mbox mailing list for project specified by key `project_key_index`. -#' @export -get_mbox_mailing_list <- function(config_file, project_key_index) { - - mailing_list <- config_file[["mailing_list"]][["mod_mbox"]][[project_key_index]][["mailing_list_type"]] - - if (is.null(mailing_list)) { - warning("Attribute does not exist in the configuration file.") - } - - return(mailing_list) -} - -#' Returns the mbox archive type for a specific project key. -#' -#' @description This function returns the specific mbox archive type for a -#' specific project key, `project_key_index`, that is specified in the input -#' parameter `config_file`. The input, `config_file` must be a parsed -#' configuration file. The function will inform the user if the archive type -#' for mbox exists in the parsed configuration file, `config_file`. -#' -#' @param config_file The parsed configuration file obtained from \code{\link{parse_config}}. -#' @param project_key_index The name of the index of the project key (e.g. "project_key_1" or "project_key_2"). -#' @return The mbox archive type for project specified by key `project_key_index`. -#' @export -get_mbox_archive_type <- function(config_file, project_key_index) { - - archive_type <- config_file[["mailing_list"]][["mod_mbox"]][[project_key_index]][["archive_type"]] - - if (is.null(archive_type)) { - warning("Attribute does not exist in the configuration file.") - } - - return(archive_type) -} - ##### Mailing List Functions End ##### - - ##### Issue Tracker Functions Start ##### ##### Jira Functions ##### diff --git a/man/get_mbox_archive_type.Rd b/man/get_mbox_archive_type.Rd deleted file mode 100644 index 2d4d5d1..0000000 --- a/man/get_mbox_archive_type.Rd +++ /dev/null @@ -1,23 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/config.R -\name{get_mbox_archive_type} -\alias{get_mbox_archive_type} -\title{Returns the mbox archive type for a specific project key.} -\usage{ -get_mbox_archive_type(config_file, project_key_index) -} -\arguments{ -\item{config_file}{The parsed configuration file obtained from \code{\link{parse_config}}.} - -\item{project_key_index}{The name of the index of the project key (e.g. "project_key_1" or "project_key_2").} -} -\value{ -The mbox archive type for project specified by key `project_key_index`. -} -\description{ -This function returns the specific mbox archive type for a -specific project key, `project_key_index`, that is specified in the input -parameter `config_file`. The input, `config_file` must be a parsed -configuration file. The function will inform the user if the archive type -for mbox exists in the parsed configuration file, `config_file`. -} diff --git a/man/get_mbox_mailing_list.Rd b/man/get_mbox_mailing_list.Rd deleted file mode 100644 index 78833a0..0000000 --- a/man/get_mbox_mailing_list.Rd +++ /dev/null @@ -1,23 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/config.R -\name{get_mbox_mailing_list} -\alias{get_mbox_mailing_list} -\title{Returns the mbox mailing list for a specific project key.} -\usage{ -get_mbox_mailing_list(config_file, project_key_index) -} -\arguments{ -\item{config_file}{The parsed configuration file obtained from \code{\link{parse_config}}.} - -\item{project_key_index}{The name of the index of the project key (e.g. "project_key_1" or "project_key_2").} -} -\value{ -The mbox mailing list for project specified by key `project_key_index`. -} -\description{ -This function returns the specific mbox mailing list for a -specific project key, `project_key_index`, that is specified in the input -parameter `config_file`. The input, `config_file` must be a parsed -configuration file. The function will inform the user if the mailing -list for mbox exists in the parsed configuration file, `config_file`. -} From 25deb9157e9657eaa72089f067bdf9d7289044fc Mon Sep 17 00:00:00 2001 From: Nicholas Beydler Date: Wed, 9 Oct 2024 08:31:43 -1000 Subject: [PATCH 24/32] i #230 Bugzilla Getters - added two new bugzilla getter functions get_bugzilla_issue_comment_path and get_bugzilla_issue_path --- NAMESPACE | 2 + R/config.R | 65 ++++++++++++++++++++++---- man/get_bugzilla_issue_comment_path.Rd | 23 +++++++++ man/get_bugzilla_issue_path.Rd | 23 +++++++++ man/get_bugzilla_project_key.Rd | 18 +++---- 5 files changed, 114 insertions(+), 17 deletions(-) create mode 100644 man/get_bugzilla_issue_comment_path.Rd create mode 100644 man/get_bugzilla_issue_path.Rd diff --git a/NAMESPACE b/NAMESPACE index 814ea0b..84083aa 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -48,6 +48,8 @@ export(filter_by_file_extension) export(filter_by_filepath_substring) export(filter_by_last_files_change) export(format_name_email) +export(get_bugzilla_issue_comment_path) +export(get_bugzilla_issue_path) export(get_bugzilla_project_key) export(get_code_language) export(get_cveid_regex) diff --git a/R/config.R b/R/config.R index e0be023..4c9a473 100644 --- a/R/config.R +++ b/R/config.R @@ -486,20 +486,21 @@ get_github_commit_path <- function(config_file, project_key_index) { ### Bugzilla Functions ##### -#' Returns the name of the Bugzilla project key. +#' Returns the name of the Bugzilla project key for a specific project key index. #' -#' @description This function returns the name of the Bugzilla project key, that -#' is specified in the input parameter `config_file`. The input, `config_file` -#' must be a parsed configuration file. The function will inform the user if -#' the name of the Bugzilla project key exists in the parsed configuration -#' file, `config_file`. +#' @description This function returns the name of the Bugzilla project key for +#' a specific project key, that is specified in the input parameter +#' `config_file`. The input, `config_file` must be a parsed configuration file. +#' The function will inform the user if the name of the Bugzilla project key +#' exists in the parsed configuration file, `config_file`. #' #' @param config_file The parsed configuration file obtained from \code{\link{parse_config}}. -#' @return The Bugzilla project key name. +#' @param project_key_index The name of the index of the project key (e.g. "project_key_1" or "project_key_2"). +#' @return The Bugzilla project key name for project specified by key `project_key_index`. #' @export -get_bugzilla_project_key <- function(config_file) { +get_bugzilla_project_key <- function(config_file, project_key_index) { - bugzilla_key <- config_file[["issue_tracker"]][["bugzilla"]][["project_key"]] + bugzilla_key <- config_file[["issue_tracker"]][["bugzilla"]][[project_key_index]][["project_key"]] if (is.null(bugzilla_key)) { warning("Attribute does not exist in the configuration file.") @@ -508,6 +509,52 @@ get_bugzilla_project_key <- function(config_file) { return(bugzilla_key) } +#' Returns the local folder path for Bugzilla issues for a specific project key. +#' +#' @description This function returns the local folder path for Bugzilla issues +#' for a specific project key, that is specified in the input parameter +#' `config_file`. The input, `config_file` must be a parsed configuration file. +#' The function will inform the user if the folder path for Bugzilla issues +#' exists in the parsed configuration file, `config_file`. +#' +#' @param config_file The parsed configuration file obtained from \code{\link{parse_config}}. +#' @param project_key_index The name of the index of the project key (e.g. "project_key_1" or "project_key_2"). +#' @return The local folder path for Bugzilla issues for project specified by key `project_key_index`. +#' @export +get_bugzilla_issue_path <- function(config_file, project_key_index) { + + issue_path <- config_file[["issue_tracker"]][["bugzilla"]][[project_key_index]][["issues"]] + + if (is.null(issue_path)) { + warning("Attribute does not exist in the configuration file.") + } + + return(issue_path) +} + +#' Returns the local folder path for Bugzilla issue comments for a specific project key. +#' +#' @description This function returns the local folder path for Bugzilla issue +#' comments for a specific project key, that is specified in the input parameter +#' `config_file`. The input, `config_file` must be a parsed configuration file. +#' The function will inform the user if the folder path for Bugzilla issue +#' comments exists in the parsed configuration file, `config_file`. +#' +#' @param config_file The parsed configuration file obtained from \code{\link{parse_config}}. +#' @param project_key_index The name of the index of the project key (e.g. "project_key_1" or "project_key_2"). +#' @return The local folder path for Bugzilla issue comments for project specified by key `project_key_index`. +#' @export +get_bugzilla_issue_comment_path <- function(config_file, project_key_index) { + + issue_comment_path <- config_file[["issue_tracker"]][["bugzilla"]][[project_key_index]][["issue_comments"]] + + if (is.null(issue_comment_path)) { + warning("Attribute does not exist in the configuration file.") + } + + return(issue_comment_path) +} + ##### Issue Tracker Functions End ##### diff --git a/man/get_bugzilla_issue_comment_path.Rd b/man/get_bugzilla_issue_comment_path.Rd new file mode 100644 index 0000000..e8832ae --- /dev/null +++ b/man/get_bugzilla_issue_comment_path.Rd @@ -0,0 +1,23 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/config.R +\name{get_bugzilla_issue_comment_path} +\alias{get_bugzilla_issue_comment_path} +\title{Returns the local folder path for Bugzilla issue comments for a specific project key.} +\usage{ +get_bugzilla_issue_comment_path(config_file, project_key_index) +} +\arguments{ +\item{config_file}{The parsed configuration file obtained from \code{\link{parse_config}}.} + +\item{project_key_index}{The name of the index of the project key (e.g. "project_key_1" or "project_key_2").} +} +\value{ +The local folder path for Bugzilla issue comments for project specified by key `project_key_index`. +} +\description{ +This function returns the local folder path for Bugzilla issue +comments for a specific project key, that is specified in the input parameter +`config_file`. The input, `config_file` must be a parsed configuration file. +The function will inform the user if the folder path for Bugzilla issue +comments exists in the parsed configuration file, `config_file`. +} diff --git a/man/get_bugzilla_issue_path.Rd b/man/get_bugzilla_issue_path.Rd new file mode 100644 index 0000000..f543806 --- /dev/null +++ b/man/get_bugzilla_issue_path.Rd @@ -0,0 +1,23 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/config.R +\name{get_bugzilla_issue_path} +\alias{get_bugzilla_issue_path} +\title{Returns the local folder path for Bugzilla issues for a specific project key.} +\usage{ +get_bugzilla_issue_path(config_file, project_key_index) +} +\arguments{ +\item{config_file}{The parsed configuration file obtained from \code{\link{parse_config}}.} + +\item{project_key_index}{The name of the index of the project key (e.g. "project_key_1" or "project_key_2").} +} +\value{ +The local folder path for Bugzilla issues for project specified by key `project_key_index`. +} +\description{ +This function returns the local folder path for Bugzilla issues +for a specific project key, that is specified in the input parameter +`config_file`. The input, `config_file` must be a parsed configuration file. +The function will inform the user if the folder path for Bugzilla issues +exists in the parsed configuration file, `config_file`. +} diff --git a/man/get_bugzilla_project_key.Rd b/man/get_bugzilla_project_key.Rd index 13715d4..a29601e 100644 --- a/man/get_bugzilla_project_key.Rd +++ b/man/get_bugzilla_project_key.Rd @@ -2,20 +2,22 @@ % Please edit documentation in R/config.R \name{get_bugzilla_project_key} \alias{get_bugzilla_project_key} -\title{Returns the name of the Bugzilla project key.} +\title{Returns the name of the Bugzilla project key for a specific project key index.} \usage{ -get_bugzilla_project_key(config_file) +get_bugzilla_project_key(config_file, project_key_index) } \arguments{ \item{config_file}{The parsed configuration file obtained from \code{\link{parse_config}}.} + +\item{project_key_index}{The name of the index of the project key (e.g. "project_key_1" or "project_key_2").} } \value{ -The Bugzilla project key name. +The Bugzilla project key name for project specified by key `project_key_index`. } \description{ -This function returns the name of the Bugzilla project key, that -is specified in the input parameter `config_file`. The input, `config_file` -must be a parsed configuration file. The function will inform the user if -the name of the Bugzilla project key exists in the parsed configuration -file, `config_file`. +This function returns the name of the Bugzilla project key for +a specific project key, that is specified in the input parameter +`config_file`. The input, `config_file` must be a parsed configuration file. +The function will inform the user if the name of the Bugzilla project key +exists in the parsed configuration file, `config_file`. } From 89e768fb9f19e37113d8bd28c5e3c49fb21ad711 Mon Sep 17 00:00:00 2001 From: Nicholas Beydler Date: Wed, 9 Oct 2024 15:28:47 -1000 Subject: [PATCH 25/32] i #230 Pipermail Getters - Implemented two pipermail mailing list getters get_pipermail_domain and get_pipermail_path --- NAMESPACE | 2 ++ R/config.R | 49 ++++++++++++++++++++++++++++++++++++- man/get_mbox_domain.Rd | 2 +- man/get_pipermail_domain.Rd | 23 +++++++++++++++++ man/get_pipermail_path.Rd | 24 ++++++++++++++++++ 5 files changed, 98 insertions(+), 2 deletions(-) create mode 100644 man/get_pipermail_domain.Rd create mode 100644 man/get_pipermail_path.Rd diff --git a/NAMESPACE b/NAMESPACE index 84083aa..767af7c 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -83,6 +83,8 @@ export(get_mbox_path) export(get_nvdfeed_folder_path) export(get_pattern4_filepath) export(get_pattern4_folder_path) +export(get_pipermail_domain) +export(get_pipermail_path) export(get_srcml_filepath) export(get_substring_filepath) export(get_tool_project) diff --git a/R/config.R b/R/config.R index 4c9a473..2c7a1d6 100644 --- a/R/config.R +++ b/R/config.R @@ -111,7 +111,7 @@ get_mbox_key_indexes <- function(config_file) { #' #' @param config_file The parsed configuration file obtained from \code{\link{parse_config}}. #' @param project_key_index The name of the index of the project key (e.g. "project_key_1" or "project_key_2"). -#' @return The URL of the mailing list archive for project specified by key `project_key_index`. +#' @return The URL of the mbox mailing list archive for project specified by key `project_key_index`. #' @export get_mbox_domain <- function(config_file, project_key_index) { @@ -148,6 +148,53 @@ get_mbox_path <- function(config_file, project_key_index) { return(mbox_path) } +#' Returns the URL to the archives for pipermail for a specific project key. +#' +#' @description This function returns the URL to the archives for a specific +#' project key, `project_key_index`, that is specified in the input parameter +#' `config_file`. The input, `config_file` must be a parsed configuration file. +#' The function will inform the user if the specific URL to the archives for +#' pipermail exists in the parsed configuration file, `config_file`. +#' +#' @param config_file The parsed configuration file obtained from \code{\link{parse_config}}. +#' @param project_key_index The name of the index of the project key (e.g. "project_key_1" or "project_key_2"). +#' @return The URL of the pipermail mailing list archive for project specified by key `project_key_index`. +#' @export +get_pipermail_domain <- function(config_file, project_key_index) { + + pipermail_url <- config_file[["mailing_list"]][["pipermail"]][[project_key_index]][["mailing_list"]] + + if (is.null(pipermail_url)) { + warning("Attribute does not exist in the configuration file.") + } + + return(pipermail_url) +} + +#' Returns the local folder path to store pipermail data for a specific project key. +#' +#' @description This function returns the local folder path used to store +#' pipermail data for a specific project key, `project_key_index`, that is specified +#' in the input parameter `config_file`. The input, `config_file` must be a +#' parsed configuration file. The function will inform the user if the specific +#' local folder path to store pipermail data exists in the parsed configuration +#' file, `config_file`. +#' +#' @param config_file The parsed configuration file obtained from \code{\link{parse_config}}. +#' @param project_key_index The name of the index of the project key (e.g. "project_key_1" or "project_key_2"). +#' @return The local pipermail path for project specified by key `project_key_index`. +#' @export +get_pipermail_path <- function(config_file, project_key_index) { + + pipermail_path <- config_file[["mailing_list"]][["pipermail"]][[project_key_index]][["save_folder_path"]] + + if (is.null(pipermail_path)) { + warning("Attribute does not exist in the configuration file.") + } + + return(pipermail_path) +} + ##### Mailing List Functions End ##### ##### Issue Tracker Functions Start ##### diff --git a/man/get_mbox_domain.Rd b/man/get_mbox_domain.Rd index 6f20222..5ba02c6 100644 --- a/man/get_mbox_domain.Rd +++ b/man/get_mbox_domain.Rd @@ -12,7 +12,7 @@ get_mbox_domain(config_file, project_key_index) \item{project_key_index}{The name of the index of the project key (e.g. "project_key_1" or "project_key_2").} } \value{ -The URL of the mailing list archive for project specified by key `project_key_index`. +The URL of the mbox mailing list archive for project specified by key `project_key_index`. } \description{ This function returns the URL to the archives for a specific diff --git a/man/get_pipermail_domain.Rd b/man/get_pipermail_domain.Rd new file mode 100644 index 0000000..6b258d3 --- /dev/null +++ b/man/get_pipermail_domain.Rd @@ -0,0 +1,23 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/config.R +\name{get_pipermail_domain} +\alias{get_pipermail_domain} +\title{Returns the URL to the archives for pipermail for a specific project key.} +\usage{ +get_pipermail_domain(config_file, project_key_index) +} +\arguments{ +\item{config_file}{The parsed configuration file obtained from \code{\link{parse_config}}.} + +\item{project_key_index}{The name of the index of the project key (e.g. "project_key_1" or "project_key_2").} +} +\value{ +The URL of the pipermail mailing list archive for project specified by key `project_key_index`. +} +\description{ +This function returns the URL to the archives for a specific +project key, `project_key_index`, that is specified in the input parameter +`config_file`. The input, `config_file` must be a parsed configuration file. +The function will inform the user if the specific URL to the archives for +pipermail exists in the parsed configuration file, `config_file`. +} diff --git a/man/get_pipermail_path.Rd b/man/get_pipermail_path.Rd new file mode 100644 index 0000000..05d445b --- /dev/null +++ b/man/get_pipermail_path.Rd @@ -0,0 +1,24 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/config.R +\name{get_pipermail_path} +\alias{get_pipermail_path} +\title{Returns the local folder path to store pipermail data for a specific project key.} +\usage{ +get_pipermail_path(config_file, project_key_index) +} +\arguments{ +\item{config_file}{The parsed configuration file obtained from \code{\link{parse_config}}.} + +\item{project_key_index}{The name of the index of the project key (e.g. "project_key_1" or "project_key_2").} +} +\value{ +The local pipermail path for project specified by key `project_key_index`. +} +\description{ +This function returns the local folder path used to store +pipermail data for a specific project key, `project_key_index`, that is specified +in the input parameter `config_file`. The input, `config_file` must be a +parsed configuration file. The function will inform the user if the specific +local folder path to store pipermail data exists in the parsed configuration +file, `config_file`. +} From cad5c6f6133fd28b7a8b57db3930c8536cedee79 Mon Sep 17 00:00:00 2001 From: Nicholas Beydler Date: Wed, 9 Oct 2024 17:08:07 -1000 Subject: [PATCH 26/32] i #230 Mbox and Pipermail Input Getters - Implemented two more getter functions: get_mbox_input_file() and get_pipermail_input_file() --- NAMESPACE | 2 ++ R/config.R | 48 +++++++++++++++++++++++++++++++++ man/get_mbox_input_file.Rd | 24 +++++++++++++++++ man/get_pipermail_input_file.Rd | 24 +++++++++++++++++ 4 files changed, 98 insertions(+) create mode 100644 man/get_mbox_input_file.Rd create mode 100644 man/get_pipermail_input_file.Rd diff --git a/NAMESPACE b/NAMESPACE index 767af7c..cd32fba 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -78,12 +78,14 @@ export(get_jira_keys) export(get_jira_project_key_name) export(get_keep_dependencies_type) export(get_mbox_domain) +export(get_mbox_input_file) export(get_mbox_key_indexes) export(get_mbox_path) export(get_nvdfeed_folder_path) export(get_pattern4_filepath) export(get_pattern4_folder_path) export(get_pipermail_domain) +export(get_pipermail_input_file) export(get_pipermail_path) export(get_srcml_filepath) export(get_substring_filepath) diff --git a/R/config.R b/R/config.R index 2c7a1d6..c831e08 100644 --- a/R/config.R +++ b/R/config.R @@ -148,6 +148,30 @@ get_mbox_path <- function(config_file, project_key_index) { return(mbox_path) } +#' Returns the local input file for mbox for a specific project key. +#' +#' @description This function returns the local file used for input for +#' mbox for a specific project key, `project_key_index`, that is specified +#' in the input parameter `config_file`. The input, `config_file` must be a +#' parsed configuration file. The function will inform the user if the specific +#' local input file path for mbox exists in the parsed configuration file, +#' `config_file`. +#' +#' @param config_file The parsed configuration file obtained from \code{\link{parse_config}}. +#' @param project_key_index The name of the index of the project key (e.g. "project_key_1" or "project_key_2"). +#' @return The local input file mbox path for project specified by key `project_key_index`. +#' @export +get_mbox_input_file <- function(config_file, project_key_index) { + + mbox_input <- config_file[["mailing_list"]][["mod_mbox"]][[project_key_index]][["mbox_file_path"]] + + if (is.null(mbox_input)) { + warning("Attribute does not exist in the configuration file.") + } + + return(mbox_input) +} + #' Returns the URL to the archives for pipermail for a specific project key. #' #' @description This function returns the URL to the archives for a specific @@ -195,6 +219,30 @@ get_pipermail_path <- function(config_file, project_key_index) { return(pipermail_path) } +#' Returns the local input file for pipermail for a specific project key. +#' +#' @description This function returns the local file used for input for +#' pipermail for a specific project key, `project_key_index`, that is specified +#' in the input parameter `config_file`. The input, `config_file` must be a +#' parsed configuration file. The function will inform the user if the specific +#' local input file path for pipermail exists in the parsed configuration file, +#' `config_file`. +#' +#' @param config_file The parsed configuration file obtained from \code{\link{parse_config}}. +#' @param project_key_index The name of the index of the project key (e.g. "project_key_1" or "project_key_2"). +#' @return The local input file pipermail path for project specified by key `project_key_index`. +#' @export +get_pipermail_input_file <- function(config_file, project_key_index) { + + pipermail_input <- config_file[["mailing_list"]][["pipermail"]][[project_key_index]][["mbox_file_path"]] + + if (is.null(pipermail_input)) { + warning("Attribute does not exist in the configuration file.") + } + + return(pipermail_input) +} + ##### Mailing List Functions End ##### ##### Issue Tracker Functions Start ##### diff --git a/man/get_mbox_input_file.Rd b/man/get_mbox_input_file.Rd new file mode 100644 index 0000000..ced74f7 --- /dev/null +++ b/man/get_mbox_input_file.Rd @@ -0,0 +1,24 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/config.R +\name{get_mbox_input_file} +\alias{get_mbox_input_file} +\title{Returns the local input file for mbox for a specific project key.} +\usage{ +get_mbox_input_file(config_file, project_key_index) +} +\arguments{ +\item{config_file}{The parsed configuration file obtained from \code{\link{parse_config}}.} + +\item{project_key_index}{The name of the index of the project key (e.g. "project_key_1" or "project_key_2").} +} +\value{ +The local input file mbox path for project specified by key `project_key_index`. +} +\description{ +This function returns the local file used for input for +mbox for a specific project key, `project_key_index`, that is specified +in the input parameter `config_file`. The input, `config_file` must be a +parsed configuration file. The function will inform the user if the specific +local input file path for mbox exists in the parsed configuration file, +`config_file`. +} diff --git a/man/get_pipermail_input_file.Rd b/man/get_pipermail_input_file.Rd new file mode 100644 index 0000000..51e9a6b --- /dev/null +++ b/man/get_pipermail_input_file.Rd @@ -0,0 +1,24 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/config.R +\name{get_pipermail_input_file} +\alias{get_pipermail_input_file} +\title{Returns the local input file for pipermail for a specific project key.} +\usage{ +get_pipermail_input_file(config_file, project_key_index) +} +\arguments{ +\item{config_file}{The parsed configuration file obtained from \code{\link{parse_config}}.} + +\item{project_key_index}{The name of the index of the project key (e.g. "project_key_1" or "project_key_2").} +} +\value{ +The local input file pipermail path for project specified by key `project_key_index`. +} +\description{ +This function returns the local file used for input for +pipermail for a specific project key, `project_key_index`, that is specified +in the input parameter `config_file`. The input, `config_file` must be a +parsed configuration file. The function will inform the user if the specific +local input file path for pipermail exists in the parsed configuration file, +`config_file`. +} From 719650a5290603904104758494ad0d13e98b6642 Mon Sep 17 00:00:00 2001 From: Mark Burgess Date: Wed, 9 Oct 2024 18:31:19 -1000 Subject: [PATCH 27/32] i #230 Updated conf/ files - Added Scitools understand section to tools - Updated mailing_list --- conf/ambari.yml | 42 ++++++++++++++++++++++++++-------------- conf/apr.yml | 47 +++++++++++++++++++++++++++++++-------------- conf/calculator.yml | 38 ++++++++++++++++++++++++------------ conf/camel.yml | 38 ++++++++++++++++++++++++------------ conf/chromium.yml | 38 ++++++++++++++++++++++++------------ conf/geronimo.yml | 38 ++++++++++++++++++++++++------------ conf/helix.yml | 38 ++++++++++++++++++++++++------------ conf/junit5.yml | 38 ++++++++++++++++++++++++------------ conf/kaiaulu.yml | 31 ++++++++++++++++++------------ conf/openssl.yml | 37 +++++++++++++++++++++++------------ conf/redhat.yml | 38 ++++++++++++++++++++++++------------ conf/spark.yml | 38 ++++++++++++++++++++++++------------ conf/thrift.yml | 38 ++++++++++++++++++++++++------------ conf/tomcat.yml | 38 ++++++++++++++++++++++++------------ conf/tse_apex.yml | 38 ++++++++++++++++++++++++------------ 15 files changed, 391 insertions(+), 184 deletions(-) diff --git a/conf/ambari.yml b/conf/ambari.yml index 0f5754f..45d695d 100644 --- a/conf/ambari.yml +++ b/conf/ambari.yml @@ -55,25 +55,25 @@ mailing_list: mod_mbox: project_key_1: mailing_list: http://mail-archives.apache.org/mod_mbox/ambari-dev - save_folder_path: ../../rawdata/ambari/mod_mbox/ambari-dev/ - mailing_list_type: ambari-dev - archive_type: apache + save_folder_path: ../../rawdata/ambari/mod_mbox/save_mbox_mail/ + # mbox_file_path is for use only with parse_mbox() function. It is the file to parse +# mbox_file_path: ../../rawdata/ambari/mod_mbox/save_mbox_mail/ambari.mbox project_key_2: mailing_list: http://mail-archives.apache.org/mod_mbox/ambari-user - save_folder_path: ../../rawdata/ambari/mod_mbox/ambari-user/ - mailing_list_type: ambari-user - archive_type: apache + save_folder_path: ../../rawdata/ambari/mod_mbox/save_mbox_mail_2/ + # mbox_file_path is for use only with parse_mbox() function. It is the file to parse +# mbox_file_path: ../../rawdata/ambari/mod_mbox/save_mbox_mail_2/ambari.mbox # pipermail: # project_key_1: -# mailing_list: https://mta.openssl.org/pipermail/openssl-dev/ -# save_folder_path: ../../rawdata/openssl/pipermail/openssl-dev/ -# mailing_list_type: openssl-dev -# archive_type: mta +# mailing_list: https://mta.openssl.org/pipermail/kaiaulu-dev/ +# save_folder_path: ../../rawdata/kaiaulu/pipermail/save_mbox_mail/ +# # mbox_file_path is for use only with parse_mbox() function. It is the file to parse +# mbox_file_path: ../../rawdata/kaiaulu/pipermail/save_mbox_mail/kaiaulu.mbox # project_key_2: -# mailing_list: https://mta.openssl.org/pipermail/openssl-users/ -# save_folder_path: ../../rawdata/openssl/pipermail/openssl-users/ -# mailing_list_type: openssl-users -# archive_type: mta +# mailing_list: https://mta.openssl.org/pipermail/kaiaulu-users/ +# save_folder_path: ../../rawdata/kaiaulu/pipermail/save_mbox_mail_2/ +# # mbox_file_path is for use only with parse_mbox() function. It is the file to parse +# mbox_file_path: ../../rawdata/kaiaulu/pipermail/save_mbox_mail_2/kaiaulu.mbox issue_tracker: jira: @@ -211,6 +211,20 @@ tool: # 3. Use sudo ./gradlew build # 4. After building, locate the engine class files and specify as the class_folder_path: # in this case they are in: /path/to/junit5/analysis/junit-platform-engine/build/classes/java/main/org/junit/platform/engine/ + # understand: + # # Accepts one language at a time: ada, assembly, c/c++, c#, fortran, java, jovial, delphi/pascal, python, vhdl, basic, javascript + # code_language: java + # # Specify which types of Dependencies to keep + # keep_dependencies_type: + # - Import + # - Call + # - Create + # - Use + # - Type GenericArgument + # # Where the files to analyze should be stored + # project_path: ../../rawdata/kaiaulu/git_repo/understand/ + # # Where the output for the understands analysis is stored + # output_path: ../../analysis/kaiaulu/understand/ # Analysis Configuration # analysis: diff --git a/conf/apr.yml b/conf/apr.yml index adfcc7e..abc4c4f 100644 --- a/conf/apr.yml +++ b/conf/apr.yml @@ -48,20 +48,25 @@ mailing_list: mod_mbox: project_key_1: mailing_list: http://mail-archives.apache.org/mod_mbox/apr-dev - save_folder_path: ../../rawdata/apr/mod_mbox/apr-dev/ - mailing_list_type: apr-dev - archive_type: apache - # pipermail: - # project_key_1: - # mailing_list: https://mta.openssl.org/pipermail/openssl-dev/ - # save_folder_path: ../../rawdata/openssl/pipermail/openssl-dev/ - # mailing_list_type: openssl-dev - # archive_type: mta - # project_key_2: - # mailing_list: https://mta.openssl.org/pipermail/openssl-users/ - # save_folder_path: ../../rawdata/openssl/pipermail/openssl-users/ - # mailing_list_type: openssl-users - # archive_type: mta + save_folder_path: ../../rawdata/apr/mod_mbox/save_mbox_mail/ + # mbox_file_path is for use only with parse_mbox() function. It is the file to parse +# mbox_file_path: ../../rawdata/apr/mod_mbox/save_mbox_mail/apr.mbox +# project_key_2: +# mailing_list: http://mail-archives.apache.org/mod_mbox/kaiaulu-user +# save_folder_path: ../../rawdata/kaiaulu/mod_mbox/save_mbox_mail_2/ +# # mbox_file_path is for use only with parse_mbox() function. It is the file to parse +# mbox_file_path: ../../rawdata/kaiaulu/mod_mbox/save_mbox_mail_2/kaiaulu.mbox +# pipermail: +# project_key_1: +# mailing_list: https://mta.openssl.org/pipermail/kaiaulu-dev/ +# save_folder_path: ../../rawdata/kaiaulu/pipermail/save_mbox_mail/ +# # mbox_file_path is for use only with parse_mbox() function. It is the file to parse +# mbox_file_path: ../../rawdata/kaiaulu/pipermail/save_mbox_mail/kaiaulu.mbox +# project_key_2: +# mailing_list: https://mta.openssl.org/pipermail/kaiaulu-users/ +# save_folder_path: ../../rawdata/kaiaulu/pipermail/save_mbox_mail_2/ +# # mbox_file_path is for use only with parse_mbox() function. It is the file to parse +# mbox_file_path: ../../rawdata/kaiaulu/pipermail/save_mbox_mail_2/kaiaulu.mbox issue_tracker: # jira: @@ -212,6 +217,20 @@ tool: # 3. Use sudo ./gradlew build # 4. After building, locate the engine class files and specify as the class_folder_path: # in this case they are in: /path/to/junit5/analysis/junit-platform-engine/build/classes/java/main/org/junit/platform/engine/ + # understand: + # # Accepts one language at a time: ada, assembly, c/c++, c#, fortran, java, jovial, delphi/pascal, python, vhdl, basic, javascript + # code_language: java + # # Specify which types of Dependencies to keep + # keep_dependencies_type: + # - Import + # - Call + # - Create + # - Use + # - Type GenericArgument + # # Where the files to analyze should be stored + # project_path: ../../rawdata/kaiaulu/git_repo/understand/ + # # Where the output for the understands analysis is stored + # output_path: ../../analysis/kaiaulu/understand/ # Analysis Configuration # analysis: diff --git a/conf/calculator.yml b/conf/calculator.yml index ff09ebc..31b3e23 100644 --- a/conf/calculator.yml +++ b/conf/calculator.yml @@ -47,25 +47,25 @@ version_control: # mod_mbox: # project_key_1: # mailing_list: http://mail-archives.apache.org/mod_mbox/kaiaulu-dev -# save_folder_path: ../../rawdata/kaiaulu/mod_mbox/kaiaulu-dev/ -# mailing_list_type: kaiaulu-dev -# archive_type: apache +# save_folder_path: ../../rawdata/kaiaulu/mod_mbox/save_mbox_mail/ +# # mbox_file_path is for use only with parse_mbox() function. It is the file to parse +# mbox_file_path: ../../rawdata/kaiaulu/mod_mbox/save_mbox_mail/kaiaulu.mbox # project_key_2: # mailing_list: http://mail-archives.apache.org/mod_mbox/kaiaulu-user -# save_folder_path: ../../rawdata/kaiaulu/mod_mbox/kaiaulu-user/ -# mailing_list_type: kaiaulu-user -# archive_type: apache +# save_folder_path: ../../rawdata/kaiaulu/mod_mbox/save_mbox_mail_2/ +# # mbox_file_path is for use only with parse_mbox() function. It is the file to parse +# mbox_file_path: ../../rawdata/kaiaulu/mod_mbox/save_mbox_mail_2/kaiaulu.mbox # pipermail: # project_key_1: # mailing_list: https://mta.openssl.org/pipermail/kaiaulu-dev/ -# save_folder_path: ../../rawdata/kaiaulu/pipermail/kaiaulu-dev/ -# mailing_list_type: kaiaulu-dev -# archive_type: mta +# save_folder_path: ../../rawdata/kaiaulu/pipermail/save_mbox_mail/ +# # mbox_file_path is for use only with parse_mbox() function. It is the file to parse +# mbox_file_path: ../../rawdata/kaiaulu/pipermail/save_mbox_mail/kaiaulu.mbox # project_key_2: # mailing_list: https://mta.openssl.org/pipermail/kaiaulu-users/ -# save_folder_path: ../../rawdata/kaiaulu/pipermail/kaiaulu-users/ -# mailing_list_type: kaiaulu-users -# archive_type: mta +# save_folder_path: ../../rawdata/kaiaulu/pipermail/save_mbox_mail_2/ +# # mbox_file_path is for use only with parse_mbox() function. It is the file to parse +# mbox_file_path: ../../rawdata/kaiaulu/pipermail/save_mbox_mail_2/kaiaulu.mbox issue_tracker: # jira: @@ -215,6 +215,20 @@ tool: # 3. Use sudo ./gradlew build # 4. After building, locate the engine class files and specify as the class_folder_path: # in this case they are in: /path/to/junit5/analysis/junit-platform-engine/build/classes/java/main/org/junit/platform/engine/ + # understand: + # # Accepts one language at a time: ada, assembly, c/c++, c#, fortran, java, jovial, delphi/pascal, python, vhdl, basic, javascript + # code_language: java + # # Specify which types of Dependencies to keep + # keep_dependencies_type: + # - Import + # - Call + # - Create + # - Use + # - Type GenericArgument + # # Where the files to analyze should be stored + # project_path: ../../rawdata/kaiaulu/git_repo/understand/ + # # Where the output for the understands analysis is stored + # output_path: ../../analysis/kaiaulu/understand/ # Analysis Configuration # analysis: diff --git a/conf/camel.yml b/conf/camel.yml index c822b06..d6859be 100644 --- a/conf/camel.yml +++ b/conf/camel.yml @@ -50,25 +50,25 @@ mailing_list: mod_mbox: project_key_1: mailing_list: http://mail-archives.apache.org/mod_mbox/camel-dev - save_folder_path: ../../rawdata/camel/mod_mbox/camel-dev/ - mailing_list_type: camel-dev - archive_type: apache + save_folder_path: ../../rawdata/camel/mod_mbox/save_mbox_mail/ + # mbox_file_path is for use only with parse_mbox() function. It is the file to parse +# mbox_file_path: ../../rawdata/camel/mod_mbox/save_mbox_mail/camel.mbox project_key_2: mailing_list: http://mail-archives.apache.org/mod_mbox/camel-users - save_folder_path: ../../rawdata/camel/mod_mbox/camel-users/ - mailing_list_type: camel-users - archive_type: apache + save_folder_path: ../../rawdata/camel/mod_mbox/save_mbox_mail_2/ + # mbox_file_path is for use only with parse_mbox() function. It is the file to parse +# mbox_file_path: ../../rawdata/kaiaulu/mod_mbox/save_mbox_mail_2/camel.mbox # pipermail: # project_key_1: # mailing_list: https://mta.openssl.org/pipermail/kaiaulu-dev/ -# save_folder_path: ../../rawdata/kaiaulu/pipermail/kaiaulu-dev/ -# mailing_list_type: kaiaulu-dev -# archive_type: mta +# save_folder_path: ../../rawdata/kaiaulu/pipermail/save_mbox_mail/ +# # mbox_file_path is for use only with parse_mbox() function. It is the file to parse +# mbox_file_path: ../../rawdata/kaiaulu/pipermail/save_mbox_mail/kaiaulu.mbox # project_key_2: # mailing_list: https://mta.openssl.org/pipermail/kaiaulu-users/ -# save_folder_path: ../../rawdata/kaiaulu/pipermail/kaiaulu-users/ -# mailing_list_type: kaiaulu-users -# archive_type: mta +# save_folder_path: ../../rawdata/kaiaulu/pipermail/save_mbox_mail_2/ +# # mbox_file_path is for use only with parse_mbox() function. It is the file to parse +# mbox_file_path: ../../rawdata/kaiaulu/pipermail/save_mbox_mail_2/kaiaulu.mbox issue_tracker: jira: @@ -220,6 +220,20 @@ tool: # 3. Use sudo ./gradlew build # 4. After building, locate the engine class files and specify as the class_folder_path: # in this case they are in: /path/to/junit5/analysis/junit-platform-engine/build/classes/java/main/org/junit/platform/engine/ + # understand: + # # Accepts one language at a time: ada, assembly, c/c++, c#, fortran, java, jovial, delphi/pascal, python, vhdl, basic, javascript + # code_language: java + # # Specify which types of Dependencies to keep + # keep_dependencies_type: + # - Import + # - Call + # - Create + # - Use + # - Type GenericArgument + # # Where the files to analyze should be stored + # project_path: ../../rawdata/kaiaulu/git_repo/understand/ + # # Where the output for the understands analysis is stored + # output_path: ../../analysis/kaiaulu/understand/ # Analysis Configuration # analysis: diff --git a/conf/chromium.yml b/conf/chromium.yml index 67e92f9..6f5a4d2 100644 --- a/conf/chromium.yml +++ b/conf/chromium.yml @@ -47,25 +47,25 @@ version_control: # mod_mbox: # project_key_1: # mailing_list: http://mail-archives.apache.org/mod_mbox/kaiaulu-dev -# save_folder_path: ../../rawdata/kaiaulu/mod_mbox/kaiaulu-dev/ -# mailing_list_type: kaiaulu-dev -# archive_type: apache +# save_folder_path: ../../rawdata/kaiaulu/mod_mbox/save_mbox_mail/ +# # mbox_file_path is for use only with parse_mbox() function. It is the file to parse +# mbox_file_path: ../../rawdata/kaiaulu/mod_mbox/save_mbox_mail/kaiaulu.mbox # project_key_2: # mailing_list: http://mail-archives.apache.org/mod_mbox/kaiaulu-user -# save_folder_path: ../../rawdata/kaiaulu/mod_mbox/kaiaulu-user/ -# mailing_list_type: kaiaulu-user -# archive_type: apache +# save_folder_path: ../../rawdata/kaiaulu/mod_mbox/save_mbox_mail_2/ +# # mbox_file_path is for use only with parse_mbox() function. It is the file to parse +# mbox_file_path: ../../rawdata/kaiaulu/mod_mbox/save_mbox_mail_2/kaiaulu.mbox # pipermail: # project_key_1: # mailing_list: https://mta.openssl.org/pipermail/kaiaulu-dev/ -# save_folder_path: ../../rawdata/kaiaulu/pipermail/kaiaulu-dev/ -# mailing_list_type: kaiaulu-dev -# archive_type: mta +# save_folder_path: ../../rawdata/kaiaulu/pipermail/save_mbox_mail/ +# # mbox_file_path is for use only with parse_mbox() function. It is the file to parse +# mbox_file_path: ../../rawdata/kaiaulu/pipermail/save_mbox_mail/kaiaulu.mbox # project_key_2: # mailing_list: https://mta.openssl.org/pipermail/kaiaulu-users/ -# save_folder_path: ../../rawdata/kaiaulu/pipermail/kaiaulu-users/ -# mailing_list_type: kaiaulu-users -# archive_type: mta +# save_folder_path: ../../rawdata/kaiaulu/pipermail/save_mbox_mail_2/ +# # mbox_file_path is for use only with parse_mbox() function. It is the file to parse +# mbox_file_path: ../../rawdata/kaiaulu/pipermail/save_mbox_mail_2/kaiaulu.mbox # issue_tracker: # jira: @@ -216,6 +216,20 @@ tool: # 3. Use sudo ./gradlew build # 4. After building, locate the engine class files and specify as the class_folder_path: # in this case they are in: /path/to/junit5/analysis/junit-platform-engine/build/classes/java/main/org/junit/platform/engine/ + # understand: + # # Accepts one language at a time: ada, assembly, c/c++, c#, fortran, java, jovial, delphi/pascal, python, vhdl, basic, javascript + # code_language: java + # # Specify which types of Dependencies to keep + # keep_dependencies_type: + # - Import + # - Call + # - Create + # - Use + # - Type GenericArgument + # # Where the files to analyze should be stored + # project_path: ../../rawdata/kaiaulu/git_repo/understand/ + # # Where the output for the understands analysis is stored + # output_path: ../../analysis/kaiaulu/understand/ # Analysis Configuration # analysis: diff --git a/conf/geronimo.yml b/conf/geronimo.yml index 5384473..ec9cd35 100644 --- a/conf/geronimo.yml +++ b/conf/geronimo.yml @@ -47,25 +47,25 @@ mailing_list: mod_mbox: project_key_1: mailing_list: http://mail-archives.apache.org/mod_mbox/geronimo-dev - save_folder_path: ../../rawdata/geronimo/mod_mbox/geronimo-dev/ - mailing_list_type: geronimo-dev - archive_type: apache + save_folder_path: ../../rawdata/geronimo/mod_mbox/save_mbox_mail/ + # mbox_file_path is for use only with parse_mbox() function. It is the file to parse +# mbox_file_path: ../../rawdata/geronimo/mod_mbox/save_mbox_mail/geronimo.mbox project_key_2: mailing_list: http://mail-archives.apache.org/mod_mbox/geronimo-user - save_folder_path: ../../rawdata/geronimo/mod_mbox/geronimo-user/ - mailing_list_type: geronimo-user - archive_type: apache + save_folder_path: ../../rawdata/geronimo/mod_mbox/save_mbox_mail_2/ +# # mbox_file_path is for use only with parse_mbox() function. It is the file to parse +# mbox_file_path: ../../rawdata/kaiaulu/mod_mbox/save_mbox_mail_2/kaiaulu.mbox # pipermail: # project_key_1: # mailing_list: https://mta.openssl.org/pipermail/kaiaulu-dev/ -# save_folder_path: ../../rawdata/kaiaulu/pipermail/kaiaulu-dev/ -# mailing_list_type: kaiaulu-dev -# archive_type: mta +# save_folder_path: ../../rawdata/kaiaulu/pipermail/save_mbox_mail/ +# # mbox_file_path is for use only with parse_mbox() function. It is the file to parse +# mbox_file_path: ../../rawdata/kaiaulu/pipermail/save_mbox_mail/kaiaulu.mbox # project_key_2: # mailing_list: https://mta.openssl.org/pipermail/kaiaulu-users/ -# save_folder_path: ../../rawdata/kaiaulu/pipermail/kaiaulu-users/ -# mailing_list_type: kaiaulu-users -# archive_type: mta +# save_folder_path: ../../rawdata/kaiaulu/pipermail/save_mbox_mail_2/ +# # mbox_file_path is for use only with parse_mbox() function. It is the file to parse +# mbox_file_path: ../../rawdata/kaiaulu/pipermail/save_mbox_mail_2/kaiaulu.mbox issue_tracker: jira: @@ -216,6 +216,20 @@ tool: # 3. Use sudo ./gradlew build # 4. After building, locate the engine class files and specify as the class_folder_path: # in this case they are in: /path/to/junit5/analysis/junit-platform-engine/build/classes/java/main/org/junit/platform/engine/ + # understand: + # # Accepts one language at a time: ada, assembly, c/c++, c#, fortran, java, jovial, delphi/pascal, python, vhdl, basic, javascript + # code_language: java + # # Specify which types of Dependencies to keep + # keep_dependencies_type: + # - Import + # - Call + # - Create + # - Use + # - Type GenericArgument + # # Where the files to analyze should be stored + # project_path: ../../rawdata/kaiaulu/git_repo/understand/ + # # Where the output for the understands analysis is stored + # output_path: ../../analysis/kaiaulu/understand/ # Analysis Configuration # analysis: diff --git a/conf/helix.yml b/conf/helix.yml index 117c5ac..4cd06fc 100644 --- a/conf/helix.yml +++ b/conf/helix.yml @@ -51,25 +51,25 @@ mailing_list: mod_mbox: project_key_1: mailing_list: http://mail-archives.apache.org/mod_mbox/helix-dev - save_folder_path: ../../rawdata/helix/mod_mbox/helix-dev/ - mailing_list_type: helix-dev - archive_type: apache + save_folder_path: ../../rawdata/helix/mod_mbox/save_mbox_mail/ + # mbox_file_path is for use only with parse_mbox() function. It is the file to parse +# mbox_file_path: ../../rawdata/helix/mod_mbox/save_mbox_mail/helix.mbox project_key_2: mailing_list: http://mail-archives.apache.org/mod_mbox/helix-user - save_folder_path: ../../rawdata/helix/mod_mbox/helix-user/ - mailing_list_type: helix-user - archive_type: apache + save_folder_path: ../../rawdata/helix/mod_mbox/save_mbox_mail_2/ +# # mbox_file_path is for use only with parse_mbox() function. It is the file to parse +# mbox_file_path: ../../rawdata/kaiaulu/mod_mbox/save_mbox_mail_2/helix.mbox # pipermail: # project_key_1: # mailing_list: https://mta.openssl.org/pipermail/kaiaulu-dev/ -# save_folder_path: ../../rawdata/kaiaulu/pipermail/kaiaulu-dev/ -# mailing_list_type: kaiaulu-dev -# archive_type: mta +# save_folder_path: ../../rawdata/kaiaulu/pipermail/save_mbox_mail/ +# # mbox_file_path is for use only with parse_mbox() function. It is the file to parse +# mbox_file_path: ../../rawdata/kaiaulu/pipermail/save_mbox_mail/kaiaulu.mbox # project_key_2: # mailing_list: https://mta.openssl.org/pipermail/kaiaulu-users/ -# save_folder_path: ../../rawdata/kaiaulu/pipermail/kaiaulu-users/ -# mailing_list_type: kaiaulu-users -# archive_type: mta +# save_folder_path: ../../rawdata/kaiaulu/pipermail/save_mbox_mail_2/ +# # mbox_file_path is for use only with parse_mbox() function. It is the file to parse +# mbox_file_path: ../../rawdata/kaiaulu/pipermail/save_mbox_mail_2/kaiaulu.mbox issue_tracker: jira: @@ -207,6 +207,20 @@ tool: # 3. Use sudo ./gradlew build # 4. After building, locate the engine class files and specify as the class_folder_path: # in this case they are in: /path/to/junit5/analysis/junit-platform-engine/build/classes/java/main/org/junit/platform/engine/ + # understand: + # # Accepts one language at a time: ada, assembly, c/c++, c#, fortran, java, jovial, delphi/pascal, python, vhdl, basic, javascript + # code_language: java + # # Specify which types of Dependencies to keep + # keep_dependencies_type: + # - Import + # - Call + # - Create + # - Use + # - Type GenericArgument + # # Where the files to analyze should be stored + # project_path: ../../rawdata/kaiaulu/git_repo/understand/ + # # Where the output for the understands analysis is stored + # output_path: ../../analysis/kaiaulu/understand/ # Analysis Configuration # analysis: diff --git a/conf/junit5.yml b/conf/junit5.yml index 2c6d8fd..4afa51b 100644 --- a/conf/junit5.yml +++ b/conf/junit5.yml @@ -48,25 +48,25 @@ version_control: # mod_mbox: # project_key_1: # mailing_list: http://mail-archives.apache.org/mod_mbox/kaiaulu-dev -# save_folder_path: ../../rawdata/kaiaulu/mod_mbox/kaiaulu-dev/ -# mailing_list_type: kaiaulu-dev -# archive_type: apache +# save_folder_path: ../../rawdata/kaiaulu/mod_mbox/save_mbox_mail/ +# # mbox_file_path is for use only with parse_mbox() function. It is the file to parse +# mbox_file_path: ../../rawdata/kaiaulu/mod_mbox/save_mbox_mail/kaiaulu.mbox # project_key_2: # mailing_list: http://mail-archives.apache.org/mod_mbox/kaiaulu-user -# save_folder_path: ../../rawdata/kaiaulu/mod_mbox/kaiaulu-user/ -# mailing_list_type: kaiaulu-user -# archive_type: apache +# save_folder_path: ../../rawdata/kaiaulu/mod_mbox/save_mbox_mail_2/ +# # mbox_file_path is for use only with parse_mbox() function. It is the file to parse +# mbox_file_path: ../../rawdata/kaiaulu/mod_mbox/save_mbox_mail_2/kaiaulu.mbox # pipermail: # project_key_1: # mailing_list: https://mta.openssl.org/pipermail/kaiaulu-dev/ -# save_folder_path: ../../rawdata/kaiaulu/pipermail/kaiaulu-dev/ -# mailing_list_type: kaiaulu-dev -# archive_type: mta +# save_folder_path: ../../rawdata/kaiaulu/pipermail/save_mbox_mail/ +# # mbox_file_path is for use only with parse_mbox() function. It is the file to parse +# mbox_file_path: ../../rawdata/kaiaulu/pipermail/save_mbox_mail/kaiaulu.mbox # project_key_2: # mailing_list: https://mta.openssl.org/pipermail/kaiaulu-users/ -# save_folder_path: ../../rawdata/kaiaulu/pipermail/kaiaulu-users/ -# mailing_list_type: kaiaulu-users -# archive_type: mta +# save_folder_path: ../../rawdata/kaiaulu/pipermail/save_mbox_mail_2/ +# # mbox_file_path is for use only with parse_mbox() function. It is the file to parse +# mbox_file_path: ../../rawdata/kaiaulu/pipermail/save_mbox_mail_2/kaiaulu.mbox # issue_tracker: # jira: @@ -216,6 +216,20 @@ tool: 3. Use sudo ./gradlew build 4. After building, locate the engine class files and specify as the class_folder_path: in this case they are in: /path/to/junit5/analysis/junit-platform-engine/build/classes/java/main/org/junit/platform/engine/ + # understand: + # # Accepts one language at a time: ada, assembly, c/c++, c#, fortran, java, jovial, delphi/pascal, python, vhdl, basic, javascript + # code_language: java + # # Specify which types of Dependencies to keep + # keep_dependencies_type: + # - Import + # - Call + # - Create + # - Use + # - Type GenericArgument + # # Where the files to analyze should be stored + # project_path: ../../rawdata/kaiaulu/git_repo/understand/ + # # Where the output for the understands analysis is stored + # output_path: ../../analysis/kaiaulu/understand/ # Analysis Configuration # analysis: diff --git a/conf/kaiaulu.yml b/conf/kaiaulu.yml index 7528447..ac4b3c9 100644 --- a/conf/kaiaulu.yml +++ b/conf/kaiaulu.yml @@ -47,25 +47,25 @@ version_control: # mod_mbox: # project_key_1: # mailing_list: http://mail-archives.apache.org/mod_mbox/kaiaulu-dev -# save_folder_path: ../../rawdata/kaiaulu/mod_mbox/kaiaulu-dev/ -# mailing_list_type: kaiaulu-dev -# archive_type: apache +# save_folder_path: ../../rawdata/kaiaulu/mod_mbox/save_mbox_mail/ +# # mbox_file_path is for use only with parse_mbox() function. It is the file to parse +# mbox_file_path: ../../rawdata/kaiaulu/mod_mbox/save_mbox_mail/kaiaulu.mbox # project_key_2: # mailing_list: http://mail-archives.apache.org/mod_mbox/kaiaulu-user -# save_folder_path: ../../rawdata/kaiaulu/mod_mbox/kaiaulu-user/ -# mailing_list_type: kaiaulu-user -# archive_type: apache +# save_folder_path: ../../rawdata/kaiaulu/mod_mbox/save_mbox_mail_2/ +# # mbox_file_path is for use only with parse_mbox() function. It is the file to parse +# mbox_file_path: ../../rawdata/kaiaulu/mod_mbox/save_mbox_mail_2/kaiaulu.mbox # pipermail: # project_key_1: # mailing_list: https://mta.openssl.org/pipermail/kaiaulu-dev/ -# save_folder_path: ../../rawdata/kaiaulu/pipermail/kaiaulu-dev/ -# mailing_list_type: kaiaulu-dev -# archive_type: mta +# save_folder_path: ../../rawdata/kaiaulu/pipermail/save_mbox_mail/ +# # mbox_file_path is for use only with parse_mbox() function. It is the file to parse +# mbox_file_path: ../../rawdata/kaiaulu/pipermail/save_mbox_mail/kaiaulu.mbox # project_key_2: # mailing_list: https://mta.openssl.org/pipermail/kaiaulu-users/ -# save_folder_path: ../../rawdata/kaiaulu/pipermail/kaiaulu-users/ -# mailing_list_type: kaiaulu-users -# archive_type: mta +# save_folder_path: ../../rawdata/kaiaulu/pipermail/save_mbox_mail_2/ +# # mbox_file_path is for use only with parse_mbox() function. It is the file to parse +# mbox_file_path: ../../rawdata/kaiaulu/pipermail/save_mbox_mail_2/kaiaulu.mbox issue_tracker: jira: @@ -211,6 +211,13 @@ tool: understand: # Accepts one language at a time: ada, assembly, c/c++, c#, fortran, java, jovial, delphi/pascal, python, vhdl, basic, javascript code_language: java + # Specify which types of Dependencies to keep + keep_dependencies_type: + - Import + - Call + - Create + - Use + - Type GenericArgument # Where the files to analyze should be stored project_path: ../../rawdata/kaiaulu/git_repo/understand/ # Where the output for the understands analysis is stored diff --git a/conf/openssl.yml b/conf/openssl.yml index 5520fd0..aeae591 100644 --- a/conf/openssl.yml +++ b/conf/openssl.yml @@ -48,25 +48,24 @@ mailing_list: # mod_mbox: # project_key_1: # mailing_list: http://mail-archives.apache.org/mod_mbox/kaiaulu-dev -# save_folder_path: ../../rawdata/kaiaulu/mod_mbox/kaiaulu-dev/ -# mailing_list_type: kaiaulu-dev -# archive_type: apache +# save_folder_path: ../../rawdata/kaiaulu/mod_mbox/save_mbox_mail/ +# # mbox_file_path is for use only with parse_mbox() function. It is the file to parse +# mbox_file_path: ../../rawdata/kaiaulu/mod_mbox/save_mbox_mail/kaiaulu.mbox # project_key_2: # mailing_list: http://mail-archives.apache.org/mod_mbox/kaiaulu-user -# save_folder_path: ../../rawdata/kaiaulu/mod_mbox/kaiaulu-user/ -# mailing_list_type: kaiaulu-user -# archive_type: apache +# save_folder_path: ../../rawdata/kaiaulu/mod_mbox/save_mbox_mail_2/ +# # mbox_file_path is for use only with parse_mbox() function. It is the file to parse +# mbox_file_path: ../../rawdata/kaiaulu/mod_mbox/save_mbox_mail_2/kaiaulu.mbox pipermail: project_key_1: mailing_list: https://mta.openssl.org/pipermail/openssl-dev/ - save_folder_path: ../../rawdata/openssl/pipermail/openssl-dev/ - mailing_list_type: openssl-dev - archive_type: mta + save_folder_path: ../../rawdata/openssl/pipermail/save_mbox_mail/ + # mbox_file_path is for use only with parse_mbox() function. It is the file to parse +# mbox_file_path: ../../rawdata/openssl/pipermail/save_mbox_mail/openssl.mbox project_key_2: mailing_list: https://mta.openssl.org/pipermail/openssl-users/ - save_folder_path: ../../rawdata/openssl/pipermail/openssl-users/ - mailing_list_type: openssl-users - archive_type: mta + save_folder_path: ../../rawdata/openssl/pipermail/save_mbox_mail_2/ +# mbox_file_path: ../../rawdata/openssl/pipermail/save_mbox_mail_2/openssl.mbox # issue_tracker: # jira: @@ -215,6 +214,20 @@ tool: # 3. Use sudo ./gradlew build # 4. After building, locate the engine class files and specify as the class_folder_path: # in this case they are in: /path/to/junit5/analysis/junit-platform-engine/build/classes/java/main/org/junit/platform/engine/ + # understand: + # # Accepts one language at a time: ada, assembly, c/c++, c#, fortran, java, jovial, delphi/pascal, python, vhdl, basic, javascript + # code_language: java + # # Specify which types of Dependencies to keep + # keep_dependencies_type: + # - Import + # - Call + # - Create + # - Use + # - Type GenericArgument + # # Where the files to analyze should be stored + # project_path: ../../rawdata/kaiaulu/git_repo/understand/ + # # Where the output for the understands analysis is stored + # output_path: ../../analysis/kaiaulu/understand/ # Analysis Configuration # analysis: diff --git a/conf/redhat.yml b/conf/redhat.yml index 1755479..49a8d74 100644 --- a/conf/redhat.yml +++ b/conf/redhat.yml @@ -47,25 +47,25 @@ version_control: # mod_mbox: # project_key_1: # mailing_list: http://mail-archives.apache.org/mod_mbox/kaiaulu-dev -# save_folder_path: ../../rawdata/kaiaulu/mod_mbox/kaiaulu-dev/ -# mailing_list_type: kaiaulu-dev -# archive_type: apache +# save_folder_path: ../../rawdata/kaiaulu/mod_mbox/save_mbox_mail/ +# # mbox_file_path is for use only with parse_mbox() function. It is the file to parse +# mbox_file_path: ../../rawdata/kaiaulu/mod_mbox/save_mbox_mail/kaiaulu.mbox # project_key_2: # mailing_list: http://mail-archives.apache.org/mod_mbox/kaiaulu-user -# save_folder_path: ../../rawdata/kaiaulu/mod_mbox/kaiaulu-user/ -# mailing_list_type: kaiaulu-user -# archive_type: apache +# save_folder_path: ../../rawdata/kaiaulu/mod_mbox/save_mbox_mail_2/ +# # mbox_file_path is for use only with parse_mbox() function. It is the file to parse +# mbox_file_path: ../../rawdata/kaiaulu/mod_mbox/save_mbox_mail_2/kaiaulu.mbox # pipermail: # project_key_1: # mailing_list: https://mta.openssl.org/pipermail/kaiaulu-dev/ -# save_folder_path: ../../rawdata/kaiaulu/pipermail/kaiaulu-dev/ -# mailing_list_type: kaiaulu-dev -# archive_type: mta +# save_folder_path: ../../rawdata/kaiaulu/pipermail/save_mbox_mail/ +# # mbox_file_path is for use only with parse_mbox() function. It is the file to parse +# mbox_file_path: ../../rawdata/kaiaulu/pipermail/save_mbox_mail/kaiaulu.mbox # project_key_2: # mailing_list: https://mta.openssl.org/pipermail/kaiaulu-users/ -# save_folder_path: ../../rawdata/kaiaulu/pipermail/kaiaulu-users/ -# mailing_list_type: kaiaulu-users -# archive_type: mta +# save_folder_path: ../../rawdata/kaiaulu/pipermail/save_mbox_mail_2/ +# # mbox_file_path is for use only with parse_mbox() function. It is the file to parse +# mbox_file_path: ../../rawdata/kaiaulu/pipermail/save_mbox_mail_2/kaiaulu.mbox # issue_tracker: # jira: @@ -209,6 +209,20 @@ tool: # 3. Use sudo ./gradlew build # 4. After building, locate the engine class files and specify as the class_folder_path: # in this case they are in: /path/to/junit5/analysis/junit-platform-engine/build/classes/java/main/org/junit/platform/engine/ + # understand: + # # Accepts one language at a time: ada, assembly, c/c++, c#, fortran, java, jovial, delphi/pascal, python, vhdl, basic, javascript + # code_language: java + # # Specify which types of Dependencies to keep + # keep_dependencies_type: + # - Import + # - Call + # - Create + # - Use + # - Type GenericArgument + # # Where the files to analyze should be stored + # project_path: ../../rawdata/kaiaulu/git_repo/understand/ + # # Where the output for the understands analysis is stored + # output_path: ../../analysis/kaiaulu/understand/ # Analysis Configuration # analysis: diff --git a/conf/spark.yml b/conf/spark.yml index 0a23098..2e6bf2c 100644 --- a/conf/spark.yml +++ b/conf/spark.yml @@ -45,25 +45,25 @@ mailing_list: mod_mbox: project_key_1: mailing_list: http://mail-archives.apache.org/mod_mbox/spark-dev - save_folder_path: ../../rawdata/spark/mod_mbox/spark-dev/ - mailing_list_type: spark-dev - archive_type: apache + save_folder_path: ../../rawdata/spark/mod_mbox/save_mbox_mail/ + # mbox_file_path is for use only with parse_mbox() function. It is the file to parse +# mbox_file_path: ../../rawdata/spark/mod_mbox/save_mbox_mail/spark.mbox project_key_2: mailing_list: http://mail-archives.apache.org/mod_mbox/spark-user - save_folder_path: ../../rawdata/spark/mod_mbox/spark-user/ - mailing_list_type: spark-user - archive_type: apache + save_folder_path: ../../rawdata/spark/mod_mbox/save_mbox_mail_2/ +# # mbox_file_path is for use only with parse_mbox() function. It is the file to parse +# mbox_file_path: ../../rawdata/kaiaulu/mod_mbox/save_mbox_mail_2/kaiaulu.mbox # pipermail: # project_key_1: # mailing_list: https://mta.openssl.org/pipermail/kaiaulu-dev/ -# save_folder_path: ../../rawdata/kaiaulu/pipermail/kaiaulu-dev/ -# mailing_list_type: kaiaulu-dev -# archive_type: mta +# save_folder_path: ../../rawdata/kaiaulu/pipermail/save_mbox_mail/ +# # mbox_file_path is for use only with parse_mbox() function. It is the file to parse +# mbox_file_path: ../../rawdata/kaiaulu/pipermail/save_mbox_mail/kaiaulu.mbox # project_key_2: # mailing_list: https://mta.openssl.org/pipermail/kaiaulu-users/ -# save_folder_path: ../../rawdata/kaiaulu/pipermail/kaiaulu-users/ -# mailing_list_type: kaiaulu-users -# archive_type: mta +# save_folder_path: ../../rawdata/kaiaulu/pipermail/save_mbox_mail_2/ +# # mbox_file_path is for use only with parse_mbox() function. It is the file to parse +# mbox_file_path: ../../rawdata/kaiaulu/pipermail/save_mbox_mail_2/kaiaulu.mbox # issue_tracker: # jira: @@ -212,6 +212,20 @@ tool: # 3. Use sudo ./gradlew build # 4. After building, locate the engine class files and specify as the class_folder_path: # in this case they are in: /path/to/junit5/analysis/junit-platform-engine/build/classes/java/main/org/junit/platform/engine/ + # understand: + # # Accepts one language at a time: ada, assembly, c/c++, c#, fortran, java, jovial, delphi/pascal, python, vhdl, basic, javascript + # code_language: java + # # Specify which types of Dependencies to keep + # keep_dependencies_type: + # - Import + # - Call + # - Create + # - Use + # - Type GenericArgument + # # Where the files to analyze should be stored + # project_path: ../../rawdata/kaiaulu/git_repo/understand/ + # # Where the output for the understands analysis is stored + # output_path: ../../analysis/kaiaulu/understand/ # Analysis Configuration # analysis: diff --git a/conf/thrift.yml b/conf/thrift.yml index b91117f..1f18120 100644 --- a/conf/thrift.yml +++ b/conf/thrift.yml @@ -45,25 +45,25 @@ mailing_list: mod_mbox: project_key_1: mailing_list: http://mail-archives.apache.org/mod_mbox/thrift-dev - save_folder_path: ../../rawdata/thrift/mod_mbox/thrift-dev/ - mailing_list_type: thrift-dev - archive_type: apache + save_folder_path: ../../rawdata/thrift/mod_mbox/save_mbox_mail/ + # mbox_file_path is for use only with parse_mbox() function. It is the file to parse +# mbox_file_path: ../../rawdata/thrift/mod_mbox/save_mbox_mail/thrift.mbox project_key_2: mailing_list: http://mail-archives.apache.org/mod_mbox/thrift-user - save_folder_path: ../../rawdata/thrift/mod_mbox/thrift-user/ - mailing_list_type: thrift-user - archive_type: apache + save_folder_path: ../../rawdata/thrift/mod_mbox/save_mbox_mail_2/ +# # mbox_file_path is for use only with parse_mbox() function. It is the file to parse +# mbox_file_path: ../../rawdata/kaiaulu/mod_mbox/save_mbox_mail_2/kaiaulu.mbox # pipermail: # project_key_1: # mailing_list: https://mta.openssl.org/pipermail/kaiaulu-dev/ -# save_folder_path: ../../rawdata/kaiaulu/pipermail/kaiaulu-dev/ -# mailing_list_type: kaiaulu-dev -# archive_type: mta +# save_folder_path: ../../rawdata/kaiaulu/pipermail/save_mbox_mail/ +# # mbox_file_path is for use only with parse_mbox() function. It is the file to parse +# mbox_file_path: ../../rawdata/kaiaulu/pipermail/save_mbox_mail/kaiaulu.mbox # project_key_2: # mailing_list: https://mta.openssl.org/pipermail/kaiaulu-users/ -# save_folder_path: ../../rawdata/kaiaulu/pipermail/kaiaulu-users/ -# mailing_list_type: kaiaulu-users -# archive_type: mta +# save_folder_path: ../../rawdata/kaiaulu/pipermail/save_mbox_mail_2/ +# # mbox_file_path is for use only with parse_mbox() function. It is the file to parse +# mbox_file_path: ../../rawdata/kaiaulu/pipermail/save_mbox_mail_2/kaiaulu.mbox issue_tracker: jira: @@ -212,6 +212,20 @@ tool: # 3. Use sudo ./gradlew build # 4. After building, locate the engine class files and specify as the class_folder_path: # in this case they are in: /path/to/junit5/analysis/junit-platform-engine/build/classes/java/main/org/junit/platform/engine/ + # understand: + # # Accepts one language at a time: ada, assembly, c/c++, c#, fortran, java, jovial, delphi/pascal, python, vhdl, basic, javascript + # code_language: java + # # Specify which types of Dependencies to keep + # keep_dependencies_type: + # - Import + # - Call + # - Create + # - Use + # - Type GenericArgument + # # Where the files to analyze should be stored + # project_path: ../../rawdata/kaiaulu/git_repo/understand/ + # # Where the output for the understands analysis is stored + # output_path: ../../analysis/kaiaulu/understand/ # Analysis Configuration # analysis: diff --git a/conf/tomcat.yml b/conf/tomcat.yml index 601242b..d689fa9 100644 --- a/conf/tomcat.yml +++ b/conf/tomcat.yml @@ -47,25 +47,25 @@ mailing_list: mod_mbox: project_key_1: mailing_list: http://mail-archives.apache.org/mod_mbox/tomcat-dev - save_folder_path: ../../rawdata/tomcat/mod_mbox/tomcat-dev/ - mailing_list_type: tomcat-dev - archive_type: apache + save_folder_path: ../../rawdata/tomcat/mod_mbox/save_mbox_mail/ + # mbox_file_path is for use only with parse_mbox() function. It is the file to parse +# mbox_file_path: ../../rawdata/tomcat/mod_mbox/save_mbox_mail/tomcat.mbox project_key_2: mailing_list: http://mail-archives.apache.org/mod_mbox/tomcat-users - save_folder_path: ../../rawdata/tomcat/mod_mbox/tomcat-users/ - mailing_list_type: tomcat-users - archive_type: apache + save_folder_path: ../../rawdata/tomcat/mod_mbox/save_mbox_mail_2/ +# # mbox_file_path is for use only with parse_mbox() function. It is the file to parse +# mbox_file_path: ../../rawdata/kaiaulu/mod_mbox/save_mbox_mail_2/tomcat.mbox # pipermail: # project_key_1: # mailing_list: https://mta.openssl.org/pipermail/kaiaulu-dev/ -# save_folder_path: ../../rawdata/kaiaulu/pipermail/kaiaulu-dev/ -# mailing_list_type: kaiaulu-dev -# archive_type: mta +# save_folder_path: ../../rawdata/kaiaulu/pipermail/save_mbox_mail/ +# # mbox_file_path is for use only with parse_mbox() function. It is the file to parse +# mbox_file_path: ../../rawdata/kaiaulu/pipermail/save_mbox_mail/kaiaulu.mbox # project_key_2: # mailing_list: https://mta.openssl.org/pipermail/kaiaulu-users/ -# save_folder_path: ../../rawdata/kaiaulu/pipermail/kaiaulu-users/ -# mailing_list_type: kaiaulu-users -# archive_type: mta +# save_folder_path: ../../rawdata/kaiaulu/pipermail/save_mbox_mail_2/ +# # mbox_file_path is for use only with parse_mbox() function. It is the file to parse +# mbox_file_path: ../../rawdata/kaiaulu/pipermail/save_mbox_mail_2/kaiaulu.mbox # issue_tracker: # jira: @@ -214,6 +214,20 @@ tool: # 3. Use sudo ./gradlew build # 4. After building, locate the engine class files and specify as the class_folder_path: # in this case they are in: /path/to/junit5/analysis/junit-platform-engine/build/classes/java/main/org/junit/platform/engine/ + # understand: + # # Accepts one language at a time: ada, assembly, c/c++, c#, fortran, java, jovial, delphi/pascal, python, vhdl, basic, javascript + # code_language: java + # # Specify which types of Dependencies to keep + # keep_dependencies_type: + # - Import + # - Call + # - Create + # - Use + # - Type GenericArgument + # # Where the files to analyze should be stored + # project_path: ../../rawdata/kaiaulu/git_repo/understand/ + # # Where the output for the understands analysis is stored + # output_path: ../../analysis/kaiaulu/understand/ # Analysis Configuration # analysis: diff --git a/conf/tse_apex.yml b/conf/tse_apex.yml index 772257f..1472c34 100644 --- a/conf/tse_apex.yml +++ b/conf/tse_apex.yml @@ -47,25 +47,25 @@ version_control: # mod_mbox: # project_key_1: # mailing_list: http://mail-archives.apache.org/mod_mbox/kaiaulu-dev -# save_folder_path: ../../rawdata/kaiaulu/mod_mbox/kaiaulu-dev/ -# mailing_list_type: kaiaulu-dev -# archive_type: apache +# save_folder_path: ../../rawdata/kaiaulu/mod_mbox/save_mbox_mail/ +# # mbox_file_path is for use only with parse_mbox() function. It is the file to parse +# mbox_file_path: ../../rawdata/kaiaulu/mod_mbox/save_mbox_mail/kaiaulu.mbox # project_key_2: # mailing_list: http://mail-archives.apache.org/mod_mbox/kaiaulu-user -# save_folder_path: ../../rawdata/kaiaulu/mod_mbox/kaiaulu-user/ -# mailing_list_type: kaiaulu-user -# archive_type: apache +# save_folder_path: ../../rawdata/kaiaulu/mod_mbox/save_mbox_mail_2/ +# # mbox_file_path is for use only with parse_mbox() function. It is the file to parse +# mbox_file_path: ../../rawdata/kaiaulu/mod_mbox/save_mbox_mail_2/kaiaulu.mbox # pipermail: # project_key_1: # mailing_list: https://mta.openssl.org/pipermail/kaiaulu-dev/ -# save_folder_path: ../../rawdata/kaiaulu/pipermail/kaiaulu-dev/ -# mailing_list_type: kaiaulu-dev -# archive_type: mta +# save_folder_path: ../../rawdata/kaiaulu/pipermail/save_mbox_mail/ +# # mbox_file_path is for use only with parse_mbox() function. It is the file to parse +# mbox_file_path: ../../rawdata/kaiaulu/pipermail/save_mbox_mail/kaiaulu.mbox # project_key_2: # mailing_list: https://mta.openssl.org/pipermail/kaiaulu-users/ -# save_folder_path: ../../rawdata/kaiaulu/pipermail/kaiaulu-users/ -# mailing_list_type: kaiaulu-users -# archive_type: mta +# save_folder_path: ../../rawdata/kaiaulu/pipermail/save_mbox_mail_2/ +# # mbox_file_path is for use only with parse_mbox() function. It is the file to parse +# mbox_file_path: ../../rawdata/kaiaulu/pipermail/save_mbox_mail_2/kaiaulu.mbox issue_tracker: jira: @@ -216,6 +216,20 @@ tool: # 3. Use sudo ./gradlew build # 4. After building, locate the engine class files and specify as the class_folder_path: # in this case they are in: /path/to/junit5/analysis/junit-platform-engine/build/classes/java/main/org/junit/platform/engine/ + # understand: + # # Accepts one language at a time: ada, assembly, c/c++, c#, fortran, java, jovial, delphi/pascal, python, vhdl, basic, javascript + # code_language: java + # # Specify which types of Dependencies to keep + # keep_dependencies_type: + # - Import + # - Call + # - Create + # - Use + # - Type GenericArgument + # # Where the files to analyze should be stored + # project_path: ../../rawdata/kaiaulu/git_repo/understand/ + # # Where the output for the understands analysis is stored + # output_path: ../../analysis/kaiaulu/understand/ # Analysis Configuration # analysis: From e352aeec4838a48fe44ad33b2b7dc7b96fbfe1d4 Mon Sep 17 00:00:00 2001 From: Nicholas Beydler Date: Wed, 9 Oct 2024 19:30:21 -1000 Subject: [PATCH 28/32] i #230 Understand Tool Getters - Implemented 4 Getter functions: get_understand_code_language(), get_understand_keep_dependencies_type(), get_understand_project_path(), and get_understand_output_path(). - Changed get_code_language() and get_keep_dependencies_type() to get_depends_code_language() and get_depends_keep_dependencies_type(), respectively as well as updated the appropriate notebooks that used these getters. --- NAMESPACE | 8 +- R/config.R | 98 ++++++++++++++++++- ...nguage.Rd => get_depends_code_language.Rd} | 10 +- ... => get_depends_keep_dependencies_type.Rd} | 8 +- man/get_understand_code_language.Rd | 21 ++++ man/get_understand_keep_dependencies_type.Rd | 21 ++++ man/get_understand_output_path.Rd | 21 ++++ man/get_understand_project_path.Rd | 21 ++++ vignettes/causal_flaws.Rmd | 4 +- vignettes/community_detection_showcase.Rmd | 6 +- vignettes/depends_showcase.Rmd | 4 +- vignettes/dv8_showcase.Rmd | 4 +- 12 files changed, 201 insertions(+), 25 deletions(-) rename man/{get_code_language.Rd => get_depends_code_language.Rd} (70%) rename man/{get_keep_dependencies_type.Rd => get_depends_keep_dependencies_type.Rd} (76%) create mode 100644 man/get_understand_code_language.Rd create mode 100644 man/get_understand_keep_dependencies_type.Rd create mode 100644 man/get_understand_output_path.Rd create mode 100644 man/get_understand_project_path.Rd diff --git a/NAMESPACE b/NAMESPACE index cd32fba..bc0561f 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -51,9 +51,10 @@ export(format_name_email) export(get_bugzilla_issue_comment_path) export(get_bugzilla_issue_path) export(get_bugzilla_project_key) -export(get_code_language) export(get_cveid_regex) export(get_date_from_commit_hash) +export(get_depends_code_language) +export(get_depends_keep_dependencies_type) export(get_dv8_flaws_params) export(get_dv8_folder_path) export(get_enumeration_commits) @@ -76,7 +77,6 @@ export(get_jira_issues_comments_path) export(get_jira_issues_path) export(get_jira_keys) export(get_jira_project_key_name) -export(get_keep_dependencies_type) export(get_mbox_domain) export(get_mbox_input_file) export(get_mbox_key_indexes) @@ -92,6 +92,10 @@ export(get_substring_filepath) export(get_tool_project) export(get_topics) export(get_uctags_line_types) +export(get_understand_code_language) +export(get_understand_keep_dependencies_type) +export(get_understand_output_path) +export(get_understand_project_path) export(get_window_end_commit) export(get_window_size) export(get_window_start_commit) diff --git a/R/config.R b/R/config.R index c831e08..4b80ec1 100644 --- a/R/config.R +++ b/R/config.R @@ -832,18 +832,18 @@ get_tool_project <- function(tool_name, config_file) { return(tool_path) } -#' Returns the code language for analysis. +#' Returns the depends code language for analysis. #' #' @description This function returns the specified code language that should #' be used to parse file-file static dependencies with the depends tool, that #' is specified in the input parameter `config_file`. The input, `config_file` #' must be a parsed configuration file. The function will inform the user if -#' the code language exists in the parsed configuration file, `config_file`. +#' the depends code language exists in the parsed configuration file, `config_file`. #' #' @param config_file The parsed configuration file obtained from \code{\link{parse_config}}. #' @return The code language for parsing file-file static dependencies. #' @export -get_code_language <- function(config_file) { +get_depends_code_language <- function(config_file) { language <- config_file[["tool"]][["depends"]][["code_language"]] @@ -863,9 +863,9 @@ get_code_language <- function(config_file) { #' types of dependencies exists in the parsed configuration file, `config_file`. #' #' @param config_file The parsed configuration file obtained from \code{\link{parse_config}}. -#' @return A list of the types of dependencies to keep for analysis. +#' @return A list of the types of depends dependencies to keep for analysis. #' @export -get_keep_dependencies_type <- function(config_file) { +get_depends_keep_dependencies_type <- function(config_file) { keep_dependencies_type <- config_file[["tool"]][["depends"]][["keep_dependencies_type"]] @@ -1009,6 +1009,94 @@ get_pattern4_filepath <- function(config_file) { return(pattern4_filepath) } +#' Returns the understand code language for analysis. +#' +#' @description This function returns the specified code language that should +#' be used to parse dependencies with the understand tool, that +#' is specified in the input parameter `config_file`. The input, `config_file` +#' must be a parsed configuration file. The function will inform the user if +#' the understand code language exists in the parsed configuration file, `config_file`. +#' +#' @param config_file The parsed configuration file obtained from \code{\link{parse_config}}. +#' @return The code language for parsing with the understand tool. +#' @export +get_understand_code_language <- function(config_file) { + + language <- config_file[["tool"]][["understand"]][["code_language"]] + + if (is.null(language)) { + warning("Attribute does not exist in the configuration file.") + } + + return(language) +} + +#' Returns a list of the types of understand dependencies to keep for analysis. +#' +#' @description This function returns the specified types of dependencies to +#' keep for analysis with the understand tool, that is specified in the input +#' parameter `config_file`. The input, `config_file` must be a parsed +#' configuration file. The function will inform the user if the list of the +#' types of understand dependencies exists in the parsed configuration file, `config_file`. +#' +#' @param config_file The parsed configuration file obtained from \code{\link{parse_config}}. +#' @return A list of the types of understand dependencies to keep for analysis. +#' @export +get_understand_keep_dependencies_type <- function(config_file) { + + keep_dependencies_type <- config_file[["tool"]][["understand"]][["keep_dependencies_type"]] + + if (is.null(keep_dependencies_type)) { + warning("Attribute does not exist in the configuration file.") + } + + return(keep_dependencies_type) +} + +#' Returns the folder path for the input of the understand analysis. +#' +#' @description This function returns the folder path that contains the +#' input of the understand analysis for the project, that is specified in the +#' input parameter `config_file`. The input, `config_file` must be a parsed +#' configuration file. The function will inform the user if the folder path +#' exists in the parsed configuration file, `config_file`. +#' +#' @param config_file The parsed configuration file obtained from \code{\link{parse_config}}. +#' @return The understand project folder path. +#' @export +get_understand_project_path <- function(config_file) { + + understand_project_path <- config_file[["tool"]][["understand"]][["project_path"]] + + if (is.null(understand_project_path)) { + warning("Attribute does not exist in the configuration file.") + } + + return(understand_project_path) +} + +#' Returns the folder path for the output of the understand analysis. +#' +#' @description This function returns the folder path that contains the +#' output of the understand analysis for the project, that is specified in the +#' input parameter `config_file`. The input, `config_file` must be a parsed +#' configuration file. The function will inform the user if the folder path +#' exists in the parsed configuration file, `config_file`. +#' +#' @param config_file The parsed configuration file obtained from \code{\link{parse_config}}. +#' @return The understand output folder path. +#' @export +get_understand_output_path <- function(config_file) { + + understand_output_path <- config_file[["tool"]][["understand"]][["output_path"]] + + if (is.null(understand_output_path)) { + warning("Attribute does not exist in the configuration file.") + } + + return(understand_output_path) +} + ##### Third Party Tools Functions End ##### diff --git a/man/get_code_language.Rd b/man/get_depends_code_language.Rd similarity index 70% rename from man/get_code_language.Rd rename to man/get_depends_code_language.Rd index 67154b1..bc8cca8 100644 --- a/man/get_code_language.Rd +++ b/man/get_depends_code_language.Rd @@ -1,10 +1,10 @@ % Generated by roxygen2: do not edit by hand % Please edit documentation in R/config.R -\name{get_code_language} -\alias{get_code_language} -\title{Returns the code language for analysis.} +\name{get_depends_code_language} +\alias{get_depends_code_language} +\title{Returns the depends code language for analysis.} \usage{ -get_code_language(config_file) +get_depends_code_language(config_file) } \arguments{ \item{config_file}{The parsed configuration file obtained from \code{\link{parse_config}}.} @@ -17,5 +17,5 @@ This function returns the specified code language that should be used to parse file-file static dependencies with the depends tool, that is specified in the input parameter `config_file`. The input, `config_file` must be a parsed configuration file. The function will inform the user if -the code language exists in the parsed configuration file, `config_file`. +the depends code language exists in the parsed configuration file, `config_file`. } diff --git a/man/get_keep_dependencies_type.Rd b/man/get_depends_keep_dependencies_type.Rd similarity index 76% rename from man/get_keep_dependencies_type.Rd rename to man/get_depends_keep_dependencies_type.Rd index 0d8bf47..5489742 100644 --- a/man/get_keep_dependencies_type.Rd +++ b/man/get_depends_keep_dependencies_type.Rd @@ -1,16 +1,16 @@ % Generated by roxygen2: do not edit by hand % Please edit documentation in R/config.R -\name{get_keep_dependencies_type} -\alias{get_keep_dependencies_type} +\name{get_depends_keep_dependencies_type} +\alias{get_depends_keep_dependencies_type} \title{Returns a list of the types of dependencies to keep for analysis.} \usage{ -get_keep_dependencies_type(config_file) +get_depends_keep_dependencies_type(config_file) } \arguments{ \item{config_file}{The parsed configuration file obtained from \code{\link{parse_config}}.} } \value{ -A list of the types of dependencies to keep for analysis. +A list of the types of depends dependencies to keep for analysis. } \description{ This function returns the specified types of dependencies to diff --git a/man/get_understand_code_language.Rd b/man/get_understand_code_language.Rd new file mode 100644 index 0000000..3e761bc --- /dev/null +++ b/man/get_understand_code_language.Rd @@ -0,0 +1,21 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/config.R +\name{get_understand_code_language} +\alias{get_understand_code_language} +\title{Returns the understand code language for analysis.} +\usage{ +get_understand_code_language(config_file) +} +\arguments{ +\item{config_file}{The parsed configuration file obtained from \code{\link{parse_config}}.} +} +\value{ +The code language for parsing with the understand tool. +} +\description{ +This function returns the specified code language that should +be used to parse dependencies with the understand tool, that +is specified in the input parameter `config_file`. The input, `config_file` +must be a parsed configuration file. The function will inform the user if +the understand code language exists in the parsed configuration file, `config_file`. +} diff --git a/man/get_understand_keep_dependencies_type.Rd b/man/get_understand_keep_dependencies_type.Rd new file mode 100644 index 0000000..1172afa --- /dev/null +++ b/man/get_understand_keep_dependencies_type.Rd @@ -0,0 +1,21 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/config.R +\name{get_understand_keep_dependencies_type} +\alias{get_understand_keep_dependencies_type} +\title{Returns a list of the types of understand dependencies to keep for analysis.} +\usage{ +get_understand_keep_dependencies_type(config_file) +} +\arguments{ +\item{config_file}{The parsed configuration file obtained from \code{\link{parse_config}}.} +} +\value{ +A list of the types of understand dependencies to keep for analysis. +} +\description{ +This function returns the specified types of dependencies to +keep for analysis with the understand tool, that is specified in the input +parameter `config_file`. The input, `config_file` must be a parsed +configuration file. The function will inform the user if the list of the +types of understand dependencies exists in the parsed configuration file, `config_file`. +} diff --git a/man/get_understand_output_path.Rd b/man/get_understand_output_path.Rd new file mode 100644 index 0000000..7e314f0 --- /dev/null +++ b/man/get_understand_output_path.Rd @@ -0,0 +1,21 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/config.R +\name{get_understand_output_path} +\alias{get_understand_output_path} +\title{Returns the folder path for the output of the understand analysis.} +\usage{ +get_understand_output_path(config_file) +} +\arguments{ +\item{config_file}{The parsed configuration file obtained from \code{\link{parse_config}}.} +} +\value{ +The understand output folder path. +} +\description{ +This function returns the folder path that contains the +output of the understand analysis for the project, that is specified in the +input parameter `config_file`. The input, `config_file` must be a parsed +configuration file. The function will inform the user if the folder path +exists in the parsed configuration file, `config_file`. +} diff --git a/man/get_understand_project_path.Rd b/man/get_understand_project_path.Rd new file mode 100644 index 0000000..b2c2bc6 --- /dev/null +++ b/man/get_understand_project_path.Rd @@ -0,0 +1,21 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/config.R +\name{get_understand_project_path} +\alias{get_understand_project_path} +\title{Returns the folder path for the input of the understand analysis.} +\usage{ +get_understand_project_path(config_file) +} +\arguments{ +\item{config_file}{The parsed configuration file obtained from \code{\link{parse_config}}.} +} +\value{ +The understand project folder path. +} +\description{ +This function returns the folder path that contains the +input of the understand analysis for the project, that is specified in the +input parameter `config_file`. The input, `config_file` must be a parsed +configuration file. The function will inform the user if the folder path +exists in the parsed configuration file, `config_file`. +} diff --git a/vignettes/causal_flaws.Rmd b/vignettes/causal_flaws.Rmd index dd144bb..5a696d8 100644 --- a/vignettes/causal_flaws.Rmd +++ b/vignettes/causal_flaws.Rmd @@ -58,8 +58,8 @@ git_branch <- get_git_branches(conf)[4] # camel 1.0.0 # Depends parameters depends_jar_path <- get_tool_project("depends", tool) -language <- get_code_language(conf) -keep_dependencies_type <- get_keep_dependencies_type(conf) +language <- get_depends_code_language(conf) +keep_dependencies_type <- get_depends_keep_dependencies_type(conf) # Mailing List # Specify project_key_index in get_mbox_path() (e.g. "project_key_1") diff --git a/vignettes/community_detection_showcase.Rmd b/vignettes/community_detection_showcase.Rmd index b11532f..2205949 100644 --- a/vignettes/community_detection_showcase.Rmd +++ b/vignettes/community_detection_showcase.Rmd @@ -147,9 +147,9 @@ visIgraph(gcid,randomSeed = 1) ```{r} # Depends parameters -depends_jar_path <- tool[["depends"]] -language <- conf[["tool"]][["depends"]][["code_language"]] -keep_dependencies_type <- conf[["tool"]][["depends"]][["keep_dependencies_type"]] +depends_jar_path <- get_tool_project("depends", tool) +language <- get_depends_code_language(conf) +keep_dependencies_type <- get_depends_keep_dependencies_type(conf) ``` ```{r} diff --git a/vignettes/depends_showcase.Rmd b/vignettes/depends_showcase.Rmd index 4168cad..8d191dd 100644 --- a/vignettes/depends_showcase.Rmd +++ b/vignettes/depends_showcase.Rmd @@ -36,8 +36,8 @@ git_repo_path <- get_git_repo_path(conf) # Depends parameters depends_jar_path <- get_tool_project("depends", tool) -language <- get_code_language(conf) -keep_dependencies_type <- get_keep_dependencies_type(conf) +language <- get_depends_code_language(conf) +keep_dependencies_type <- get_depends_keep_dependencies_type(conf) # Filters file_extensions <- get_file_extensions(conf) diff --git a/vignettes/dv8_showcase.Rmd b/vignettes/dv8_showcase.Rmd index 19598fe..5b479af 100644 --- a/vignettes/dv8_showcase.Rmd +++ b/vignettes/dv8_showcase.Rmd @@ -40,8 +40,8 @@ git_repo_path <- get_git_repo_path(conf) # Depends parameters depends_jar_path <- get_tool_project("depends", tool) -language <- get_code_language(conf) -keep_dependencies_type <- get_keep_dependencies_type(conf) +language <- get_depends_code_language(conf) +keep_dependencies_type <- get_depends_keep_dependencies_type(conf) # DV8 parameters project_path <- get_dv8_folder_path(conf) From 15b5e620e7b45ab7a177ec28b067dfb22668696e Mon Sep 17 00:00:00 2001 From: Mark Burgess Date: Thu, 10 Oct 2024 23:37:29 -1000 Subject: [PATCH 29/32] i #230 Update NEWS.md - Updated NEWS.md - Minor change to mailing_list --- NEWS.md | 2 ++ conf/helix.yml | 10 +++++----- conf/kaiaulu.yml | 8 ++++---- 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/NEWS.md b/NEWS.md index b7e2700..7877d39 100644 --- a/NEWS.md +++ b/NEWS.md @@ -47,6 +47,7 @@ __kaiaulu 0.0.0.9700 (in development)__ * graph_to_dsmj is now vectorized, increasing performance [#209](https://github.com/sailuh/kaiaulu/issues/209) * Bugzilla API now allows for output file to be specified. [#202](https://github.com/sailuh/kaiaulu/issues/202) * Paired parser functions now expects a filepath instead of a json string character. [#202](https://github.com/sailuh/kaiaulu/issues/202) + * refactored file organization in config files for clearer hierarchy. [#230](https://github.com/sailuh/kaiaulu/issues/230) ### BUG FIXES @@ -223,6 +224,7 @@ __kaiaulu [0.0.0.9000](https://github.com/sailuh/kaiaulu/milestone/1) (04/24/202 * lubridate dependency was removed, this package now uses base R POSIXct to handle dates. [#13](https://github.com/sailuh/kaiaulu/issues/13) * stringr was replaced by stringi to respect license terms of this and stringr packages. [#21](https://github.com/sailuh/kaiaulu/issues/21) + ### BUG FIXES * non defined function parameter on mbox has been fixed. [#25](https://github.com/sailuh/kaiaulu/issues/25) diff --git a/conf/helix.yml b/conf/helix.yml index 4cd06fc..d1bbf7f 100644 --- a/conf/helix.yml +++ b/conf/helix.yml @@ -50,23 +50,23 @@ version_control: mailing_list: mod_mbox: project_key_1: - mailing_list: http://mail-archives.apache.org/mod_mbox/helix-dev + mailing_list: https://lists.apache.org/list.html?announce@apache.org save_folder_path: ../../rawdata/helix/mod_mbox/save_mbox_mail/ - # mbox_file_path is for use only with parse_mbox() function. It is the file to parse +# # mbox_file_path is for use only with parse_mbox() function. It is the file to parse # mbox_file_path: ../../rawdata/helix/mod_mbox/save_mbox_mail/helix.mbox project_key_2: - mailing_list: http://mail-archives.apache.org/mod_mbox/helix-user + mailing_list: https://lists.apache.org/list.html?dev@felix.apache.org save_folder_path: ../../rawdata/helix/mod_mbox/save_mbox_mail_2/ # # mbox_file_path is for use only with parse_mbox() function. It is the file to parse # mbox_file_path: ../../rawdata/kaiaulu/mod_mbox/save_mbox_mail_2/helix.mbox # pipermail: # project_key_1: -# mailing_list: https://mta.openssl.org/pipermail/kaiaulu-dev/ +# mailing_list: https://mta.openssl.org/pipermail/openssl-users/ # save_folder_path: ../../rawdata/kaiaulu/pipermail/save_mbox_mail/ # # mbox_file_path is for use only with parse_mbox() function. It is the file to parse # mbox_file_path: ../../rawdata/kaiaulu/pipermail/save_mbox_mail/kaiaulu.mbox # project_key_2: -# mailing_list: https://mta.openssl.org/pipermail/kaiaulu-users/ +# mailing_list: https://mta.openssl.org/pipermail/openssl-project/ # save_folder_path: ../../rawdata/kaiaulu/pipermail/save_mbox_mail_2/ # # mbox_file_path is for use only with parse_mbox() function. It is the file to parse # mbox_file_path: ../../rawdata/kaiaulu/pipermail/save_mbox_mail_2/kaiaulu.mbox diff --git a/conf/kaiaulu.yml b/conf/kaiaulu.yml index ac4b3c9..6d1b338 100644 --- a/conf/kaiaulu.yml +++ b/conf/kaiaulu.yml @@ -46,23 +46,23 @@ version_control: # mailing_list: # mod_mbox: # project_key_1: -# mailing_list: http://mail-archives.apache.org/mod_mbox/kaiaulu-dev +# mailing_list: https://lists.apache.org/list.html?announce@apache.org # save_folder_path: ../../rawdata/kaiaulu/mod_mbox/save_mbox_mail/ # # mbox_file_path is for use only with parse_mbox() function. It is the file to parse # mbox_file_path: ../../rawdata/kaiaulu/mod_mbox/save_mbox_mail/kaiaulu.mbox # project_key_2: -# mailing_list: http://mail-archives.apache.org/mod_mbox/kaiaulu-user +# mailing_list: https://lists.apache.org/list.html?dev@felix.apache.org # save_folder_path: ../../rawdata/kaiaulu/mod_mbox/save_mbox_mail_2/ # # mbox_file_path is for use only with parse_mbox() function. It is the file to parse # mbox_file_path: ../../rawdata/kaiaulu/mod_mbox/save_mbox_mail_2/kaiaulu.mbox # pipermail: # project_key_1: -# mailing_list: https://mta.openssl.org/pipermail/kaiaulu-dev/ +# mailing_list: https://mta.openssl.org/pipermail/openssl-users/ # save_folder_path: ../../rawdata/kaiaulu/pipermail/save_mbox_mail/ # # mbox_file_path is for use only with parse_mbox() function. It is the file to parse # mbox_file_path: ../../rawdata/kaiaulu/pipermail/save_mbox_mail/kaiaulu.mbox # project_key_2: -# mailing_list: https://mta.openssl.org/pipermail/kaiaulu-users/ +# mailing_list: https://mta.openssl.org/pipermail/openssl-project/ # save_folder_path: ../../rawdata/kaiaulu/pipermail/save_mbox_mail_2/ # # mbox_file_path is for use only with parse_mbox() function. It is the file to parse # mbox_file_path: ../../rawdata/kaiaulu/pipermail/save_mbox_mail_2/kaiaulu.mbox From 86bb74bb18361e35ced3f0ad54317996f406e3ff Mon Sep 17 00:00:00 2001 From: Nicholas Beydler Date: Thu, 17 Oct 2024 17:18:44 -1000 Subject: [PATCH 30/32] i #230 Fixed Relative Paths in Notebooks - The project configuration sections of each notebook was incorrectly using the project directory (kaiaulu/) as their working directory rather than the directory that they reside in (/vignettes/) as their working directory. - Uncommented the output_filepath line for pattern4 tool in junit5.yml configuration file. - Uncommented the mod_mbox mailing list section for mailing_list in openssl.yml configuration file. --- conf/junit5.yml | 2 +- conf/openssl.yml | 22 +++++++++---------- vignettes/blamed_line_types_showcase.Rmd | 4 ++-- vignettes/bug_count.Rmd | 4 ++-- vignettes/causal_flaws.Rmd | 6 ++--- vignettes/community_detection_showcase.Rmd | 4 ++-- vignettes/depends_showcase.Rmd | 6 ++--- vignettes/download_github_comments.Rmd | 2 +- vignettes/download_jira_issues.Rmd | 2 +- vignettes/dv8_showcase.Rmd | 4 ++-- vignettes/github_api_showcase.Rmd | 2 +- vignettes/gitlog_entity_showcase.Rmd | 4 ++-- vignettes/gitlog_showcase.Rmd | 4 ++-- vignettes/gitlog_vulnerabilities_showcase.Rmd | 4 ++-- vignettes/graph_gof_showcase.Rmd | 4 ++-- vignettes/issue_social_smell_showcase.Rmd | 4 ++-- vignettes/kaiaulu_architecture.Rmd | 2 +- vignettes/line_metrics_showcase.Rmd | 4 ++-- vignettes/motif_analysis.Rmd | 4 ++-- vignettes/refactoringminer_showcase.Rmd | 4 ++-- vignettes/reply_communication_showcase.Rmd | 4 ++-- vignettes/social_smell_showcase.Rmd | 4 ++-- vignettes/text_gof_showcase.Rmd | 4 ++-- 23 files changed, 52 insertions(+), 52 deletions(-) diff --git a/conf/junit5.yml b/conf/junit5.yml index 4afa51b..594430c 100644 --- a/conf/junit5.yml +++ b/conf/junit5.yml @@ -208,7 +208,7 @@ tool: # The file path to where you wish to store the classes of the pattern4 analysis class_folder_path: ../../rawdata/junit5/pattern4/junit-platform-engine/build/classes/java/main/org/junit/platform/engine/ # The file path to where you wish to store the output of the pattern4 analysis - # output_filepath: ../../analysis/junit5/pattern4/ + output_filepath: ../../analysis/junit5/pattern4/ compile_note: > 1. Switch Java version to Java 17: https://stackoverflow.com/questions/69875335/macos-how-to-install-java-17 diff --git a/conf/openssl.yml b/conf/openssl.yml index aeae591..d41cf31 100644 --- a/conf/openssl.yml +++ b/conf/openssl.yml @@ -45,17 +45,17 @@ version_control: - master mailing_list: -# mod_mbox: -# project_key_1: -# mailing_list: http://mail-archives.apache.org/mod_mbox/kaiaulu-dev -# save_folder_path: ../../rawdata/kaiaulu/mod_mbox/save_mbox_mail/ -# # mbox_file_path is for use only with parse_mbox() function. It is the file to parse -# mbox_file_path: ../../rawdata/kaiaulu/mod_mbox/save_mbox_mail/kaiaulu.mbox -# project_key_2: -# mailing_list: http://mail-archives.apache.org/mod_mbox/kaiaulu-user -# save_folder_path: ../../rawdata/kaiaulu/mod_mbox/save_mbox_mail_2/ -# # mbox_file_path is for use only with parse_mbox() function. It is the file to parse -# mbox_file_path: ../../rawdata/kaiaulu/mod_mbox/save_mbox_mail_2/kaiaulu.mbox + mod_mbox: + project_key_1: + mailing_list: http://mail-archives.apache.org/mod_mbox/kaiaulu-dev + save_folder_path: ../../rawdata/kaiaulu/mod_mbox/save_mbox_mail/ + # mbox_file_path is for use only with parse_mbox() function. It is the file to parse + mbox_file_path: ../../rawdata/kaiaulu/mod_mbox/save_mbox_mail/kaiaulu.mbox + project_key_2: + mailing_list: http://mail-archives.apache.org/mod_mbox/kaiaulu-user + save_folder_path: ../../rawdata/kaiaulu/mod_mbox/save_mbox_mail_2/ + # mbox_file_path is for use only with parse_mbox() function. It is the file to parse + mbox_file_path: ../../rawdata/kaiaulu/mod_mbox/save_mbox_mail_2/kaiaulu.mbox pipermail: project_key_1: mailing_list: https://mta.openssl.org/pipermail/openssl-dev/ diff --git a/vignettes/blamed_line_types_showcase.Rmd b/vignettes/blamed_line_types_showcase.Rmd index 90a8ee2..9e4fa6b 100644 --- a/vignettes/blamed_line_types_showcase.Rmd +++ b/vignettes/blamed_line_types_showcase.Rmd @@ -84,8 +84,8 @@ filter: We load the above various sections of the single .yaml project configuration file as follows: ```{r} -tool <- parse_config("tools.yml") -conf <- parse_config("conf/apr.yml") +tool <- parse_config("../tools.yml") +conf <- parse_config("../conf/apr.yml") # 3rd Party Tools perceval_path <- get_tool_project("perceval", tool) diff --git a/vignettes/bug_count.Rmd b/vignettes/bug_count.Rmd index 3c26f62..894b9a8 100644 --- a/vignettes/bug_count.Rmd +++ b/vignettes/bug_count.Rmd @@ -36,8 +36,8 @@ This notebook leverages the JIRA issues data collected from the R Notebook `down As usual, the first step is to load the project configuration file. ```{r} -tool <- parse_config("tools.yml") -conf <- parse_config("conf/geronimo.yml") +tool <- parse_config("../tools.yml") +conf <- parse_config("../conf/geronimo.yml") perceval_path <- get_tool_project("perceval", tool) git_repo_path <- get_git_repo_path(conf) diff --git a/vignettes/causal_flaws.Rmd b/vignettes/causal_flaws.Rmd index 6475021..9676c2e 100644 --- a/vignettes/causal_flaws.Rmd +++ b/vignettes/causal_flaws.Rmd @@ -44,9 +44,9 @@ For implementation details, please refer to the function reference documentation The first step is loading the project configuration file, which contains information for both the project data provenance, and the various parameters used for all the tools. Refer to [Kaiaulu's repo conf folder](https://github.com/sailuh/kaiaulu/tree/master/conf) for the configuration file of interest used in the code block below. ```{r} -tool <- parse_config("tools.yml") -#conf <- parse_config("conf/tse_cassandra.yml") -conf <- parse_config("conf/camel.yml") +tool <- parse_config("../tools.yml") +#conf <- parse_config("../conf/tse_cassandra.yml") +conf <- parse_config("../conf/camel.yml") perceval_path <- get_tool_project("perceval", tool) dv8_path <- get_tool_project("dv8", tool) scc_path <- get_tool_project("scc", tool) diff --git a/vignettes/community_detection_showcase.Rmd b/vignettes/community_detection_showcase.Rmd index 2205949..ed9a9d7 100644 --- a/vignettes/community_detection_showcase.Rmd +++ b/vignettes/community_detection_showcase.Rmd @@ -48,8 +48,8 @@ The remainder of this Notebook illustrates two functions for some of Kaiaulu net As usual, the first step is to load the project configuration file. ```{r} -tool <- parse_config("tools.yml") -conf <- parse_config("conf/apr.yml") +tool <- parse_config("../tools.yml") +conf <- parse_config("../conf/apr.yml") # 3rd Party Tools perceval_path <- get_tool_project("perceval", tool) diff --git a/vignettes/depends_showcase.Rmd b/vignettes/depends_showcase.Rmd index 8d191dd..d2c74e0 100644 --- a/vignettes/depends_showcase.Rmd +++ b/vignettes/depends_showcase.Rmd @@ -29,9 +29,9 @@ require(knitr) ``` ```{r} -tool <- parse_config("tools.yml") -#conf <- parse_config("conf/apr.yml") -conf <- parse_config("conf/helix.yml") +tool <- parse_config("../tools.yml") +#conf <- parse_config("../conf/apr.yml") +conf <- parse_config("../conf/helix.yml") git_repo_path <- get_git_repo_path(conf) # Depends parameters diff --git a/vignettes/download_github_comments.Rmd b/vignettes/download_github_comments.Rmd index 42a4a32..da31674 100644 --- a/vignettes/download_github_comments.Rmd +++ b/vignettes/download_github_comments.Rmd @@ -44,7 +44,7 @@ Therefore, in this Notebook we have to rely on three endpoints from the GitHub A To use the pipeline, you must specify the organization and project of interest, and your token. Obtain a github token following the instructions [here](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token). ```{r} -conf <- parse_config("conf/kaiaulu.yml") +conf <- parse_config("../conf/kaiaulu.yml") save_path_issue_or_pr_comments <- path.expand(get_github_issue_or_pr_comment_path(conf, "project_key_1")) save_path_issue <- get_github_issue_path(conf, "project_key_1") save_path_pull_request <- get_github_pull_request_path(conf, "project_key_1") diff --git a/vignettes/download_jira_issues.Rmd b/vignettes/download_jira_issues.Rmd index ed08f61..3a699c6 100644 --- a/vignettes/download_jira_issues.Rmd +++ b/vignettes/download_jira_issues.Rmd @@ -45,7 +45,7 @@ To try out this Notebook, try the geronimo configuration file, and follow along First, we will load the Kaiaulu configuration file: ```{r} -conf <- parse_config("conf/kaiaulu.yml") +conf <- parse_config("../conf/kaiaulu.yml") # Project domain # Specify project_key_index in get_jira_domain() (e.g. "project_key_1") diff --git a/vignettes/dv8_showcase.Rmd b/vignettes/dv8_showcase.Rmd index 5b479af..2e3e9a3 100644 --- a/vignettes/dv8_showcase.Rmd +++ b/vignettes/dv8_showcase.Rmd @@ -30,8 +30,8 @@ require(openxlsx) ``` ```{r} -tool <- parse_config("tools.yml") -conf <- parse_config("conf/calculator.yml") +tool <- parse_config("../tools.yml") +conf <- parse_config("../conf/calculator.yml") perceval_path <- get_tool_project("perceval", tool) dv8_path <- get_tool_project("dv8", tool) diff --git a/vignettes/github_api_showcase.Rmd b/vignettes/github_api_showcase.Rmd index 275ce91..900c545 100644 --- a/vignettes/github_api_showcase.Rmd +++ b/vignettes/github_api_showcase.Rmd @@ -45,7 +45,7 @@ The goal of the following steps is to obtain the data when a project started ass To use the pipeline, you must specify the organization and project of interest, and your token. ```{r} -conf <- parse_config("conf/kaiaulu.yml") +conf <- parse_config("../conf/kaiaulu.yml") owner <- get_github_owner(conf, "project_key_1") # Has to match github organization (e.g. github.com/sailuh) repo <- get_github_repo(conf, "project_key_1") # Has to match github repository (e.g. github.com/sailuh/perceive) save_path_issue_or_pr_comments <- path.expand(get_github_issue_or_pr_comment_path(conf, "project_key_1")) diff --git a/vignettes/gitlog_entity_showcase.Rmd b/vignettes/gitlog_entity_showcase.Rmd index b8936cb..87a8747 100644 --- a/vignettes/gitlog_entity_showcase.Rmd +++ b/vignettes/gitlog_entity_showcase.Rmd @@ -32,8 +32,8 @@ require(knitr) # Project Configuration File ```{r} -tool <- parse_config("tools.yml") -conf <- parse_config("conf/kaiaulu.yml") +tool <- parse_config("../tools.yml") +conf <- parse_config("../conf/kaiaulu.yml") # 3rd Party Tools perceval_path <- get_tool_project("perceval", tool) diff --git a/vignettes/gitlog_showcase.Rmd b/vignettes/gitlog_showcase.Rmd index aaa8ef7..64854c2 100644 --- a/vignettes/gitlog_showcase.Rmd +++ b/vignettes/gitlog_showcase.Rmd @@ -66,8 +66,8 @@ The file makes all assumptions explicit to you when using the code. Note these a The following code block reads the information explained just now: ```{r} -tool <- parse_config("tools.yml") -conf <- parse_config("conf/kaiaulu.yml") +tool <- parse_config("../tools.yml") +conf <- parse_config("../conf/kaiaulu.yml") perceval_path <- get_tool_project("perceval", tool) git_repo_path <- get_git_repo_path(conf) git_branch <- get_git_branches(conf)[1] diff --git a/vignettes/gitlog_vulnerabilities_showcase.Rmd b/vignettes/gitlog_vulnerabilities_showcase.Rmd index 9154524..5ed6b74 100644 --- a/vignettes/gitlog_vulnerabilities_showcase.Rmd +++ b/vignettes/gitlog_vulnerabilities_showcase.Rmd @@ -28,8 +28,8 @@ require(yaml) Load config file. ```{r} -tool <- parse_config("tools.yml") -conf <- parse_config("conf/chromium.yml") +tool <- parse_config("../tools.yml") +conf <- parse_config("../conf/chromium.yml") perceval_path <- get_tool_project("perceval", tool) git_repo_path <- get_git_repo_path(conf) nvdfeed_folder_path <- get_nvdfeed_folder_path(conf) diff --git a/vignettes/graph_gof_showcase.Rmd b/vignettes/graph_gof_showcase.Rmd index 9c2a498..19c3c89 100644 --- a/vignettes/graph_gof_showcase.Rmd +++ b/vignettes/graph_gof_showcase.Rmd @@ -89,8 +89,8 @@ require(gt) ```{r} -tool <- parse_config("tools.yml") -conf <- parse_config("conf/junit5.yml") +tool <- parse_config("../tools.yml") +conf <- parse_config("../conf/junit5.yml") srcml_path <- get_tool_project("srcml", tool) pattern4_path <- get_tool_project("pattern4", tool) diff --git a/vignettes/issue_social_smell_showcase.Rmd b/vignettes/issue_social_smell_showcase.Rmd index 8b0a9d3..8d537c5 100644 --- a/vignettes/issue_social_smell_showcase.Rmd +++ b/vignettes/issue_social_smell_showcase.Rmd @@ -55,8 +55,8 @@ At the scope of this notebook, **only the first branch** (top) specified in the We also provide the path for `tools.yml`. Kaiaulu does not implement all available functionality from scratch. Conversely, it will also not expect all dependencies to be installed. Every function defined in the API expects as parameter a filepath to the external dependency binary. Tools.yml is a convenience file that stores all the binary paths, so it can be set once during setup and reused multiple times for analysis. You can find an example of `tools.yml` on the github repo from Kaiaulu root directory. ```{r} -tool <- parse_config("tools.yml") -conf <- parse_config("conf/openssl.yml") +tool <- parse_config("../tools.yml") +conf <- parse_config("../conf/openssl.yml") scc_path <- get_tool_project("scc", tool) diff --git a/vignettes/kaiaulu_architecture.Rmd b/vignettes/kaiaulu_architecture.Rmd index 6365e85..b03d413 100644 --- a/vignettes/kaiaulu_architecture.Rmd +++ b/vignettes/kaiaulu_architecture.Rmd @@ -24,7 +24,7 @@ require(knitr) # Parse R Package ```{r} -folder_path <- "R" +folder_path <- "../R" ``` # Dependencies diff --git a/vignettes/line_metrics_showcase.Rmd b/vignettes/line_metrics_showcase.Rmd index 53a26b9..39b72d7 100644 --- a/vignettes/line_metrics_showcase.Rmd +++ b/vignettes/line_metrics_showcase.Rmd @@ -57,8 +57,8 @@ filter: We load the necessary information in this code block: ```{r} -tool <- parse_config("tools.yml") -conf <- parse_config("conf/apr.yml") +tool <- parse_config("../tools.yml") +conf <- parse_config("../conf/apr.yml") scc_path <- get_tool_project("scc", tool) git_repo_path <- get_git_repo_path(conf) diff --git a/vignettes/motif_analysis.Rmd b/vignettes/motif_analysis.Rmd index 786846a..3b7de8d 100644 --- a/vignettes/motif_analysis.Rmd +++ b/vignettes/motif_analysis.Rmd @@ -38,8 +38,8 @@ Kaiaulu re-implementation is easy to extend, and allow for any combination of mo We demonstrate here both the triangle and square motif as originally defined in our paper, which leverages all 3 types of the networks. The project of analysis is Kaiaulu itself, however, this can be applied to other open source projects! ```{r} -tool <- parse_config("tools.yml") -conf <- parse_config("conf/kaiaulu.yml") +tool <- parse_config("../tools.yml") +conf <- parse_config("../conf/kaiaulu.yml") scc_path <- get_tool_project("scc", tool) diff --git a/vignettes/refactoringminer_showcase.Rmd b/vignettes/refactoringminer_showcase.Rmd index 26928c4..5d37ac2 100644 --- a/vignettes/refactoringminer_showcase.Rmd +++ b/vignettes/refactoringminer_showcase.Rmd @@ -17,8 +17,8 @@ require(kaiaulu) This is a wrapper for [Refactoring Miner](https://github.com/tsantalis/RefactoringMiner#running-refactoringminer-from-the-command-line). See README.md for setup details. ```{r} -tool <- parse_config("tools.yml") -conf <- parse_config("conf/tomcat.yml") +tool <- parse_config("../tools.yml") +conf <- parse_config("../conf/tomcat.yml") rminer_path <- get_tool_project("refactoring_miner", tool) git_repo_path <- get_git_repo_path(conf) start_commit <- get_enumeration_commits(conf)[1] diff --git a/vignettes/reply_communication_showcase.Rmd b/vignettes/reply_communication_showcase.Rmd index 9fe2063..e820617 100644 --- a/vignettes/reply_communication_showcase.Rmd +++ b/vignettes/reply_communication_showcase.Rmd @@ -29,8 +29,8 @@ require(yaml) Load config file. ```{r} -tool <- parse_config("tools.yml") -conf <- parse_config("conf/helix.yml") +tool <- parse_config("../tools.yml") +conf <- parse_config("../conf/helix.yml") perceval_path <- get_tool_project("perceval", tool) mbox_path <- get_mbox_path(conf, "project_key_1") jira_issue_comments_path <- get_jira_issues_comments_path(conf, "project_key_1") diff --git a/vignettes/social_smell_showcase.Rmd b/vignettes/social_smell_showcase.Rmd index 4f17235..d2c6676 100644 --- a/vignettes/social_smell_showcase.Rmd +++ b/vignettes/social_smell_showcase.Rmd @@ -55,8 +55,8 @@ At the scope of this notebook, **only the first branch** (top) specified in the We also provide the path for `tools.yml`. Kaiaulu does not implement all available functionality from scratch. Conversely, it will also not expect all dependencies to be installed. Every function defined in the API expects as parameter a filepath to the external dependency binary. Tools.yml is a convenience file that stores all the binary paths, so it can be set once during setup and reused multiple times for analysis. You can find an example of `tools.yml` on the github repo from Kaiaulu root directory. For this notebook, you will need to install Perceval (use version 0.12.24) and OSLOM. Instructions to do so are available in the Kaiaulu README.md. Once you are finished, set the "perceval," "oslom_dir," and "oslom_undir" paths in your `tools.yml`. ```{r} -tool <- parse_config("tools.yml") -conf <- parse_config("conf/helix.yml") +tool <- parse_config("../tools.yml") +conf <- parse_config("../conf/helix.yml") scc_path <- get_tool_project("scc", tool) diff --git a/vignettes/text_gof_showcase.Rmd b/vignettes/text_gof_showcase.Rmd index 3538eb2..1f065cb 100644 --- a/vignettes/text_gof_showcase.Rmd +++ b/vignettes/text_gof_showcase.Rmd @@ -112,8 +112,8 @@ require(gt) ```{r} -tool <- parse_config("tools.yml") -conf <- parse_config("conf/junit5.yml") +tool <- parse_config("../tools.yml") +conf <- parse_config("../conf/junit5.yml") srcml_path <- get_tool_project("srcml", tool) git_repo_path <- get_git_repo_path(conf) From b3b79ced80b3547fd163c08115f84522a4eddb61 Mon Sep 17 00:00:00 2001 From: Nicholas Beydler Date: Sun, 27 Oct 2024 00:21:57 -1000 Subject: [PATCH 31/32] i #317 Rough Implemententation Openhub Functions - The functions, openhub_api_analyses, openhub_api_iterate_pages, openhub_api_organizations, openhub_api_portfolio_projects, openhub_api_projects, openhub_parse_analyses, openhub_parse_organizations, openhub_parse_portfolio_projects, and openhub_parse_projects, were implemented (WITHOUT DOCUMENTATION). - A notebook, openhub_project_search, demonstrating the capability of interacting with the OpenHub project database through the Ohloh API to search for projects has been implemented. --- DESCRIPTION | 2 +- NAMESPACE | 9 + R/config.R | 294 ++++++++++++++++++++++++ man/openhub_api_analyses.Rd | 21 ++ man/openhub_api_iterate_pages.Rd | 28 +++ man/openhub_api_organizations.Rd | 21 ++ man/openhub_api_portfolio_projects.Rd | 21 ++ man/openhub_api_projects.Rd | 21 ++ man/openhub_parse_analyses.Rd | 17 ++ man/openhub_parse_organizations.Rd | 19 ++ man/openhub_parse_portfolio_projects.Rd | 19 ++ man/openhub_parse_projects.Rd | 19 ++ vignettes/openhub_project_search.Rmd | 119 ++++++++++ 13 files changed, 609 insertions(+), 1 deletion(-) create mode 100644 man/openhub_api_analyses.Rd create mode 100644 man/openhub_api_iterate_pages.Rd create mode 100644 man/openhub_api_organizations.Rd create mode 100644 man/openhub_api_portfolio_projects.Rd create mode 100644 man/openhub_api_projects.Rd create mode 100644 man/openhub_parse_analyses.Rd create mode 100644 man/openhub_parse_organizations.Rd create mode 100644 man/openhub_parse_portfolio_projects.Rd create mode 100644 man/openhub_parse_projects.Rd create mode 100644 vignettes/openhub_project_search.Rmd diff --git a/DESCRIPTION b/DESCRIPTION index 7c257f6..6e41624 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -51,4 +51,4 @@ Imports: VignetteBuilder: knitr URL: https://github.com/sailuh/kaiaulu BugReports: https://github.com/sailuh/kaiaulu/issues -RoxygenNote: 7.2.3 +RoxygenNote: 7.3.2 diff --git a/NAMESPACE b/NAMESPACE index bc0561f..91ba6df 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -154,6 +154,15 @@ export(motif_factory_anti_triangle) export(motif_factory_square) export(motif_factory_triangle) export(normalized_levenshtein) +export(openhub_api_analyses) +export(openhub_api_iterate_pages) +export(openhub_api_organizations) +export(openhub_api_portfolio_projects) +export(openhub_api_projects) +export(openhub_parse_analyses) +export(openhub_parse_organizations) +export(openhub_parse_portfolio_projects) +export(openhub_parse_projects) export(parse_bugzilla_perceval_rest_issue_comments) export(parse_bugzilla_perceval_traditional_issue_comments) export(parse_bugzilla_rest_comments) diff --git a/R/config.R b/R/config.R index 4b80ec1..066c74a 100644 --- a/R/config.R +++ b/R/config.R @@ -5,6 +5,300 @@ # file, You can obtain one at https://mozilla.org/MPL/2.0/. +########## OpenHub Functions / Ohloh API Interfacing Functions ########## + +#' placeholder +#' +#' @description placeholder +#' +#' @param token placeholder +#' @param openhub_api_parameters placeholder +#' @param page placeholder +#' @return placeholder +#' @export +openhub_api_organizations <- function(token, openhub_api_parameters, page=1) { + + organization_name <- openhub_api_parameters[["organization_name"]] + + organizations_collection_site = "https://www.openhub.net/orgs.xml" + + http_get_request <- paste0(organizations_collection_site, "?api_key=", token, "&query=", URLencode(organization_name), "&page=", page) + + api_response <- httr::GET(http_get_request) + + return(api_response) +} + +#' placeholder +#' +#' @description placeholder +#' +#' @param token placeholder +#' @param openhub_api_parameters placeholder +#' @param page placeholder +#' @return placeholder +#' @export +openhub_api_portfolio_projects <- function(token, openhub_api_parameters, page=1) { + + portfolio_project_site <- openhub_api_parameters[["portfolio_project_site"]] + + http_get_request <- paste0(portfolio_project_site, "?api_key=", token, "&page=", page) + + api_response <- httr::GET(http_get_request) + + return(api_response) +} + +#' placeholder +#' +#' @description placeholder +#' +#' @param token placeholder +#' @param openhub_api_parameters placeholder +#' @param page placeholder +#' @return placeholder +#' @export +openhub_api_projects <- function(token, openhub_api_parameters, page=1) { + + project_collection_site = "https://www.openhub.net/p.xml" + + project_name <- openhub_api_parameters[["project_name"]] + + http_get_request <- paste0(project_collection_site, "?api_key=", token, "&query=", URLencode(project_name), "&page=", page) + + api_response <- httr::GET(http_get_request) + + return(api_response) +} + +#' placeholder +#' +#' @description placeholder +#' +#' @param token placeholder +#' @param openhub_api_parameters placeholder +#' @param page placeholder +#' @return placeholder +#' @export +openhub_api_analyses <- function(token, openhub_api_parameters, page=1) { + + analysis_collection_site_start = "https://www.openhub.net/p/" + + analysis_collection_site_end = "/analyses/latest.xml" + + project_id <- openhub_api_parameters[["project_id"]] + + http_get_request <- paste0(analysis_collection_site_start, URLencode(project_id), analysis_collection_site_end, "?api_key=", token, "&page=", page) + + api_response <- httr::GET(http_get_request) + + return(api_response) +} + +#' placeholder +#' +#' @description placeholder +#' +#' @param api_responses placeholder +#' @param openhub_api_parameters placeholder +#' @return placeholder +#' @export +openhub_parse_organizations <- function(api_responses, openhub_api_parameters) { + organization_name <- openhub_api_parameters[["organization_name"]] + parse_response <- function(api_response) { + #pages <- NULL # maybe have openhub_api_iterate_pages() handle this + #matchFound <- FALSE # maybe have openhub_api_iterate_pages() handle this + xmlDoc <- XML::xmlParse(api_response, validate=F) + root <- XML::xmlRoot(xmlDoc) + status <- XML::xmlValue(root[[1]]) # the value of + itemsReturned <- XML::xmlValue(root[[2]]) + itemsAvailable <- XML::xmlValue(root[[3]]) + returnItems <- root[[5]] # + parsed_response <- list() + if (status == "success") { + for (i in 1:itemsReturned) { + if (XML::xmlValue(returnItems[[i]][[1]]) == organization_name) { + parsed_response[["name"]] <- append(parsed_response[["name"]], XML::xmlValue(returnItems[[i]][[1]])) # means (i-th org indexed) + parsed_response[["html_url_projects"]] <- append(parsed_response[["html_url_projects"]], paste0(XML::xmlValue(returnItems[[i]][[3]]), "/projects.xml")) # grab (i-th org indexed) + break + } + } + } else { + warning(status) # prints the status warning message + } + + parsed_response <- as.data.table(parsed_response) + + return(parsed_response) + } + return(rbindlist(lapply(api_responses,parse_response),fill=TRUE)) +} + +#' placeholder +#' +#' @description placeholder +#' +#' @param api_responses placeholder +#' @param openhub_api_parameters placeholder +#' @return placeholder +#' @export +openhub_parse_portfolio_projects <- function(api_responses, openhub_api_parameters) { + language <- openhub_api_parameters[["language"]] + parse_response <- function(api_response) { + xmlDoc <- XML::xmlParse(api_response, validate=F) + root <- XML::xmlRoot(xmlDoc) + itemsReturned <- XML::xmlValue(root[[2]]) + itemsAvailable <- XML::xmlValue(root[[3]]) + itemsFirstPosition <- XML::xmlValue(root[[4]]) + status <- XML::xmlValue(root[[1]]) # the value of + returnItems <- root[[5]] # + parsed_response <- list() + if (status == "success") { + for (i in 1:itemsReturned) { + if (XML::xmlValue(returnItems[[1]][[i]][[3]]) == language) { + #parsed_response[["project_number_in_list"]] <- append(parsed_response[["project_number_in_list"]] ,as.numeric(itemsFirstPosition)+i) + parsed_response[["name"]] <- append(parsed_response[["name"]], XML::xmlValue(returnItems[[1]][[i]][[1]])) # means + parsed_response[["language"]] <- append(parsed_response[["language"]], XML::xmlValue(returnItems[[1]][[i]][[3]])) # means + parsed_response[["activity"]] <- append(parsed_response[["activity"]], XML::xmlValue(returnItems[[1]][[i]][[2]])) # means + } + } + } else { + warning(status) # prints the status warning message + } + + parsed_response <- as.data.table(parsed_response) + + return(parsed_response) + } + + return(rbindlist(lapply(api_responses,parse_response),fill=TRUE)) +} + +#' placeholder +#' +#' @description placeholder +#' +#' @param api_responses placeholder +#' @param openhub_api_parameters placeholder +#' @return placeholder +#' @export +openhub_parse_projects <- function(api_responses, openhub_api_parameters) { + project_name <- openhub_api_parameters[["project_name"]] + parse_response <- function(api_response) { + xmlDoc <- XML::xmlParse(api_response, validate=F) + root <- XML::xmlRoot(xmlDoc) + itemsReturned <- XML::xmlValue(root[[2]]) + itemsAvailable <- XML::xmlValue(root[[3]]) + itemsFirstPosition <- XML::xmlValue(root[[4]]) + status <- XML::xmlValue(root[[1]]) # the value of + returnItems <- root[[5]] # + parsed_response <- list() + if (status == "success") { + for (i in 1:itemsReturned) { + if (XML::xmlValue(returnItems[[i]][[2]]) == project_name) { + parsed_response[["name"]] <- append(parsed_response[["name"]], XML::xmlValue(returnItems[[i]][[2]])) # means + parsed_response[["id"]] <- append(parsed_response[["id"]], XML::xmlValue(returnItems[[i]][[1]])) # means + break + } + } + } else { + warning(status) # prints the status warning message + } + + parsed_response <- as.data.table(parsed_response) + + return(parsed_response) + } + + return(rbindlist(lapply(api_responses,parse_response),fill=TRUE)) +} + +#' placeholder +#' +#' @description placeholder +#' +#' @param api_responses placeholder +#' @return placeholder +#' @export +openhub_parse_analyses <- function(api_responses) { + parse_response <- function(api_response) { + xmlDoc <- XML::xmlParse(api_response, validate=F) + root <- XML::xmlRoot(xmlDoc) + status <- XML::xmlValue(root[[1]]) # the value of + returnItems <- root[[2]] # + parsed_response <- list() + if (status == "success") { + parsed_response[["id"]] <- append(parsed_response[["id"]], XML::xmlValue(returnItems[[1]][[3]])) # primary key link to other data tables that possess the "id" key + parsed_response[["twelve_month_contributor_count"]] <- append(parsed_response[["twelve_month_contributor_count"]], XML::xmlValue(returnItems[[1]][[8]])) # means + parsed_response[["total_contributor_count"]] <- append(parsed_response[["total_contributor_count"]], XML::xmlValue(returnItems[[1]][[9]])) # means + parsed_response[["twelve_month_commit_count"]] <- append(parsed_response[["twelve_month_commit_count"]], XML::xmlValue(returnItems[[1]][[10]])) # means + parsed_response[["total_commit_count"]] <- append(parsed_response[["total_commit_count"]], XML::xmlValue(returnItems[[1]][[11]])) # means + parsed_response[["total_code_lines"]] <- append(parsed_response[["total_code_lines"]], XML::xmlValue(returnItems[[1]][[12]])) # means + } else { + warning(status) # prints the status warning message + } + + parsed_response <- as.data.table(parsed_response) + + return(parsed_response) + } + + return(rbindlist(lapply(api_responses,parse_response),fill=TRUE)) +} + +#' placeholder +#' +#' @description placeholder +#' +#' @param token placeholder +#' @param openhub_api_function placeholder +#' @param openhub_api_parameters placeholder +#' @param max_pages placeholder +#' @return placeholder +#' @export +openhub_api_iterate_pages <- function(token, openhub_api_function, openhub_api_parameters, max_pages=NULL) { + initial_api_response <- openhub_api_function(token, openhub_api_parameters) + #print(initial_api_response) + initialXmlDoc <- XML::xmlParse(initial_api_response, validate=F) + initialRoot <- XML::xmlRoot(initialXmlDoc) + initialStatus <- XML::xmlValue(initialRoot[[1]]) # the value of + print(paste0("Status: ", initialStatus)) + api_responses <- list() + + if (initialStatus == "success") { + maxPageCount <- 1 + initialItemsReturned <- XML::xmlValue(initialRoot[[2]]) + initialItemsAvailable <- XML::xmlValue(initialRoot[[3]]) + if (!is.na(initialItemsAvailable)) { + print(paste0("Items per page / Available Items: ", initialItemsAvailable, " / ", initialItemsReturned)) + maxPageCount <- ceiling(as.numeric(initialItemsAvailable)/as.numeric(initialItemsReturned)) # If the requested XML file returned successfully, but is only one page with one item, then its maxPageCount is set to 1. + } + print(paste0("maxPageCount is: ", maxPageCount)) + + if (!is.nan(maxPageCount)){ + if (!is.null(max_pages)) { + if (max_pages > maxPageCount) { + warning(paste0("max_pages is greater than the maximum number of available pages: requesting maximum number of pages possible (", maxPageCount, ")" )) + } else { + maxPageCount <- max_pages + } + } + api_responses[[1]] <- initial_api_response + if (maxPageCount > 1) { + for (page in 2:maxPageCount) { + api_responses[[page]] <- openhub_api_function(token, openhub_api_parameters, page) # gets http request for each response and puts into list + } + } + } else { + warning("No items available in the return request.") + } + } else { + warning(initialStatus) # prints the status warning message + } + + return(api_responses) +} + ########## Configuration File Parser Functions ########## #' Returns the parsed configuration file (.yml). diff --git a/man/openhub_api_analyses.Rd b/man/openhub_api_analyses.Rd new file mode 100644 index 0000000..b1ab232 --- /dev/null +++ b/man/openhub_api_analyses.Rd @@ -0,0 +1,21 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/config.R +\name{openhub_api_analyses} +\alias{openhub_api_analyses} +\title{placeholder} +\usage{ +openhub_api_analyses(token, openhub_api_parameters, page = 1) +} +\arguments{ +\item{token}{placeholder} + +\item{openhub_api_parameters}{placeholder} + +\item{page}{placeholder} +} +\value{ +placeholder +} +\description{ +placeholder +} diff --git a/man/openhub_api_iterate_pages.Rd b/man/openhub_api_iterate_pages.Rd new file mode 100644 index 0000000..6d78b9d --- /dev/null +++ b/man/openhub_api_iterate_pages.Rd @@ -0,0 +1,28 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/config.R +\name{openhub_api_iterate_pages} +\alias{openhub_api_iterate_pages} +\title{placeholder} +\usage{ +openhub_api_iterate_pages( + token, + openhub_api_function, + openhub_api_parameters, + max_pages = NULL +) +} +\arguments{ +\item{token}{placeholder} + +\item{openhub_api_function}{placeholder} + +\item{openhub_api_parameters}{placeholder} + +\item{max_pages}{placeholder} +} +\value{ +placeholder +} +\description{ +placeholder +} diff --git a/man/openhub_api_organizations.Rd b/man/openhub_api_organizations.Rd new file mode 100644 index 0000000..c237a92 --- /dev/null +++ b/man/openhub_api_organizations.Rd @@ -0,0 +1,21 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/config.R +\name{openhub_api_organizations} +\alias{openhub_api_organizations} +\title{placeholder} +\usage{ +openhub_api_organizations(token, openhub_api_parameters, page = 1) +} +\arguments{ +\item{token}{placeholder} + +\item{openhub_api_parameters}{placeholder} + +\item{page}{placeholder} +} +\value{ +placeholder +} +\description{ +placeholder +} diff --git a/man/openhub_api_portfolio_projects.Rd b/man/openhub_api_portfolio_projects.Rd new file mode 100644 index 0000000..ca99cac --- /dev/null +++ b/man/openhub_api_portfolio_projects.Rd @@ -0,0 +1,21 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/config.R +\name{openhub_api_portfolio_projects} +\alias{openhub_api_portfolio_projects} +\title{placeholder} +\usage{ +openhub_api_portfolio_projects(token, openhub_api_parameters, page = 1) +} +\arguments{ +\item{token}{placeholder} + +\item{openhub_api_parameters}{placeholder} + +\item{page}{placeholder} +} +\value{ +placeholder +} +\description{ +placeholder +} diff --git a/man/openhub_api_projects.Rd b/man/openhub_api_projects.Rd new file mode 100644 index 0000000..2cd1547 --- /dev/null +++ b/man/openhub_api_projects.Rd @@ -0,0 +1,21 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/config.R +\name{openhub_api_projects} +\alias{openhub_api_projects} +\title{placeholder} +\usage{ +openhub_api_projects(token, openhub_api_parameters, page = 1) +} +\arguments{ +\item{token}{placeholder} + +\item{openhub_api_parameters}{placeholder} + +\item{page}{placeholder} +} +\value{ +placeholder +} +\description{ +placeholder +} diff --git a/man/openhub_parse_analyses.Rd b/man/openhub_parse_analyses.Rd new file mode 100644 index 0000000..72ceb53 --- /dev/null +++ b/man/openhub_parse_analyses.Rd @@ -0,0 +1,17 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/config.R +\name{openhub_parse_analyses} +\alias{openhub_parse_analyses} +\title{placeholder} +\usage{ +openhub_parse_analyses(api_responses) +} +\arguments{ +\item{api_responses}{placeholder} +} +\value{ +placeholder +} +\description{ +placeholder +} diff --git a/man/openhub_parse_organizations.Rd b/man/openhub_parse_organizations.Rd new file mode 100644 index 0000000..5b5b83b --- /dev/null +++ b/man/openhub_parse_organizations.Rd @@ -0,0 +1,19 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/config.R +\name{openhub_parse_organizations} +\alias{openhub_parse_organizations} +\title{placeholder} +\usage{ +openhub_parse_organizations(api_responses, openhub_api_parameters) +} +\arguments{ +\item{api_responses}{placeholder} + +\item{openhub_api_parameters}{placeholder} +} +\value{ +placeholder +} +\description{ +placeholder +} diff --git a/man/openhub_parse_portfolio_projects.Rd b/man/openhub_parse_portfolio_projects.Rd new file mode 100644 index 0000000..52ec7ee --- /dev/null +++ b/man/openhub_parse_portfolio_projects.Rd @@ -0,0 +1,19 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/config.R +\name{openhub_parse_portfolio_projects} +\alias{openhub_parse_portfolio_projects} +\title{placeholder} +\usage{ +openhub_parse_portfolio_projects(api_responses, openhub_api_parameters) +} +\arguments{ +\item{api_responses}{placeholder} + +\item{openhub_api_parameters}{placeholder} +} +\value{ +placeholder +} +\description{ +placeholder +} diff --git a/man/openhub_parse_projects.Rd b/man/openhub_parse_projects.Rd new file mode 100644 index 0000000..b9b1f5b --- /dev/null +++ b/man/openhub_parse_projects.Rd @@ -0,0 +1,19 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/config.R +\name{openhub_parse_projects} +\alias{openhub_parse_projects} +\title{placeholder} +\usage{ +openhub_parse_projects(api_responses, openhub_api_parameters) +} +\arguments{ +\item{api_responses}{placeholder} + +\item{openhub_api_parameters}{placeholder} +} +\value{ +placeholder +} +\description{ +placeholder +} diff --git a/vignettes/openhub_project_search.Rmd b/vignettes/openhub_project_search.Rmd new file mode 100644 index 0000000..7aa7de6 --- /dev/null +++ b/vignettes/openhub_project_search.Rmd @@ -0,0 +1,119 @@ +--- +title: "OpenHub API Interfacing for Project Search" +output: + html_document: + toc: true + number_sections: true +vignette: > + %\VignetteEngine{knitr::rmarkdown} + %\VignetteIndexEntry{OpenHub API Interfacing for Project Search} + %\VignetteEncoding{UTF-8} +--- + +```{r warning=FALSE,message=FALSE} +rm(list = ls()) +require(kaiaulu) +require(data.table) +require(knitr) +require(XML) +require(httr) +``` + + +```{r} +openhub_api_parameters <- list() +# organization_name is case sensitive +openhub_api_parameters[["organization_name"]] <- "Apache Software Foundation" +# language is case sensitive +openhub_api_parameters[["language"]] <- "java" +# your file openhub_token (a text file) contains the OpenHub token API +token <- scan("~/.ssh/openhub_token",what="character",quiet=TRUE) +``` + + +```{r} +#organizations_api_request <- openhub_api_organizations(token, organization_name) +#print(organizations_api_request) +``` + + +```{r} +openhub_organization_api_requests <- openhub_api_iterate_pages(token, openhub_api_organizations, openhub_api_parameters, max_pages=1) +``` + +```{r} +openhub_organizations <- openhub_parse_organizations(openhub_organization_api_requests, openhub_api_parameters) +print(openhub_organizations) +``` + +```{r} +openhub_api_parameters[["portfolio_project_site"]] <- openhub_organizations[["html_url_projects"]][[1]] # grab the first project.xml link for organization specified by name: organization_name +#portfolio_projects_api_request <- openhub_api_portfolio_projects(token, openhub_api_parameters) # returns the first xml file for portfolio projects +``` + +```{r} +#MAKE SURE TO REMOVE MAX PAGE COUNT (temp_max_number_of_portfolio_projects_pages_to_search_through) TO GET ALL PROJECTS THAT USE JAVA +temp_max_number_of_portfolio_projects_pages_to_search_through <- 1 +portfolio_projects_api_requests <- openhub_api_iterate_pages(token, openhub_api_portfolio_projects, openhub_api_parameters, max_pages=temp_max_number_of_portfolio_projects_pages_to_search_through) # returns all api_responses for portfolio projects +``` + + +```{r} +openhub_portfolio_projects <- openhub_parse_portfolio_projects(portfolio_projects_api_requests, openhub_api_parameters) +print(openhub_portfolio_projects) # names of all portfolio projects under the organization that use java as the primary language +``` + +```{r} +#print(openhub_portfolio_projects[["name"]][[1]]) +#print(length(openhub_portfolio_projects[["name"]])) +``` + + +```{r} +#MAYBE REMOVE MAX PAGE COUNT (1) (IT'S USED TO LOOP THROUGH EACH PAGE TO FIND THE NAME OF THE PROJECT) +projects_api_requests <- list() +for (i in 1:length(openhub_portfolio_projects[["name"]])) { + project_name <- openhub_portfolio_projects[["name"]][[i]] + openhub_api_parameters[["project_name"]] <- project_name + projects_api_requests <- append(projects_api_requests, openhub_api_iterate_pages(token, openhub_api_projects, openhub_api_parameters, max_pages=1)) # returns the first page for api_response for projects (ctrl+f query that ohloh api does is good enough to where the first api requested page will return a project with the matching name, no need to waste more api calls to search through the other pages) +} +``` + +```{r} +openhub_projects <- list() +for (i in 1:length(projects_api_requests)) { + project_name <- openhub_portfolio_projects[["name"]][[i]] + openhub_api_parameters[["project_name"]] <- project_name + openhub_projects[[i]] <- openhub_parse_projects(projects_api_requests, openhub_api_parameters) +} +openhub_projects <- rbindlist(openhub_projects) +print(openhub_projects) +``` + +```{r} +openhub_combined_projects <- merge(openhub_projects, openhub_portfolio_projects, by = "name", all = FALSE) # performs inner-join by "name" column +print(openhub_combined_projects) +``` + +```{r} +analyses_api_requests <- list() +for (i in 1:length(openhub_combined_projects[["name"]])) { + project_id <- openhub_combined_projects[["id"]][[i]] + openhub_api_parameters[["project_id"]] <- project_id + analyses_api_requests[[i]] <- openhub_api_iterate_pages(token, openhub_api_analyses, openhub_api_parameters) # returns all api_responses for portfolio projects +} +``` + +```{r} +openhub_analyses <- list() +for (i in 1:length(analyses_api_requests)) { + openhub_analyses[[i]] <- openhub_parse_analyses(analyses_api_requests[[i]]) +} +openhub_analyses <- rbindlist(openhub_analyses) +print(openhub_analyses) +``` + +```{r} +openhub_combined_data <- merge(openhub_combined_projects, openhub_analyses, by = "id", all = FALSE) # performs inner-join by "id" column +print(openhub_combined_data) +``` From a8db8401bba7243c221cf5a5fe9a8c683d8080b4 Mon Sep 17 00:00:00 2001 From: Nicholas Beydler Date: Sun, 27 Oct 2024 00:36:00 -1000 Subject: [PATCH 32/32] i #317 DESCRIPTION RoxygenNote Version - Documentation builder functions incorrectly updated RoxygenNote version, this commit reverts this change. --- DESCRIPTION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DESCRIPTION b/DESCRIPTION index 6e41624..7c257f6 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -51,4 +51,4 @@ Imports: VignetteBuilder: knitr URL: https://github.com/sailuh/kaiaulu BugReports: https://github.com/sailuh/kaiaulu/issues -RoxygenNote: 7.3.2 +RoxygenNote: 7.2.3