-
Notifications
You must be signed in to change notification settings - Fork 12
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
230 abstract config file parsing #288
base: master
Are you sure you want to change the base?
Conversation
Added get functions for mbox, jira, and github.
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #288 +/- ##
==========================================
- Coverage 39.79% 35.90% -3.89%
==========================================
Files 20 21 +1
Lines 3091 3545 +454
==========================================
+ Hits 1230 1273 +43
- Misses 1861 2272 +411 ☔ View full report in Codecov by Sentry. |
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.
I normalized the comments by having it follow a format. I added if wrappers to catch null values.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks fine to me, documentation seems good enough for what it does.
Nice work! |
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.
@anthonyjlau Error occurs on my local machine too when I try to build it fails with the following error:
|
Confirming setup for committing and PR reflection.
Confirming setup for committing and PR reflection.
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.
7adaf4f
to
ef42bd3
Compare
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.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
See inline comments.
- 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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I made some in-line comments for some ideas on how you can make the function signatures and comments clearer. I did not do all of them, but you should retain a consistent level of detail throughout the file. Even though some code already seems simple, it is still easier to read in words.
- 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.
- Updated mailing_list for conf/ files - Updated issue_tracker for conf/ files
…/sailuh/kaiaulu into 230-abstract-config-file-parsing
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Did not do an extensive review but there are a few things that needs to be changed, some minor, some will take a reasonable amount of time.
- 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.
- 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
- config.R functions are organized to follow the same formatting as the conf files - All conf files issue_trackers have been updated.
- get_mbox_mailing_list() and get_mbox_archive_type() were removed as the keys that they are grabbing are scheduled for removal.
- added two new bugzilla getter functions get_bugzilla_issue_comment_path and get_bugzilla_issue_path
- Implemented two pipermail mailing list getters get_pipermail_domain and get_pipermail_path
- Implemented two more getter functions: get_mbox_input_file() and get_pipermail_input_file()
- Added Scitools understand section to tools - Updated mailing_list
- 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.
Nice to see these checks passing at last, thank you for merging the master to fix on this end! |
- Updated NEWS.md - Minor change to mailing_list
Made 1 new commit after group meeting, updated NEWS.md and a very minor change to the mailing_list. |
- 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.
If a change is made in a configuration file, then every notebook that uses that configuration file has to be changed. In order to centralize the process and make it easier to change configuration files, the R/config.R file will store "get" functions that get the fields from the config files. These get functions can be used in place of the hard coded variable assignments. It will also make it easier to update changes to config files as only the functions in R/config.R need to be updated.