TheRoddyWMS / BatchEuphoria

A library to access different kinds of cluster backends
MIT License
3 stars 5 forks source link

Cyclonedx 0.1.4 #169

Closed vinjana closed 7 months ago

vinjana commented 7 months ago

Added Gradle plugin and tasks to generate CycloneDX SBOM reports.

Summary by CodeRabbit

coderabbitai[bot] commented 7 months ago

Walkthrough

This update introduces enhancements to the project's documentation and build automation. Specifically, it adds new Gradle tasks for generating JSON CycloneDX Software Bill of Materials (SBOMs) and updates the Gradle version in use. Additionally, there are minor updates to the integration testing instructions and the project's version history.

Changes

File(s) Change Summary
README.md Added tasks for generating JSON CycloneDX SBOMs, updated Gradle version, and revised integration test instructions and version history.
build.gradle Added imports and a new plugin for CycloneDX (org.cyclonedx.bom version 1.8.2). Defined tasks listConfigurations and allBoms for listing configurations and generating SBOMs.

Recent Review Details **Configuration used: CodeRabbit UI**
Commits Files that changed from the base of the PR and between e5c3b5d0de1f41ebf285a6f3a4539e7844078c4b and ef9e43f3654bb83420d1b02075c0cea309566c52.
Files selected for processing (2) * README.md (3 hunks) * build.gradle (2 hunks)
Additional Context Used
LanguageTool (72)
README.md (72)
Near line 3: Possible spelling mistake found. Context: ...MS%2FBatchEuphoria?ref=badge_shield) # BatchEuphoria A library for cluster / batch system d... --- Near line 5: A comma may be missing after the conjunctive/linking adverb ‘Currently’. Context: ...from Java without any hassle and drama. Currently this library supports the following job... --- Near line 9: Possible spelling mistake found. Context: ...EST) Version 10.1 Fix Pack 2 or later * SLURM (SSH+CLI) * direct execution ### Depen... --- Near line 14: Possible spelling mistake found. Context: ... direct execution ### Dependencies * [RoddyToolLib](https://github.com/TheRoddyWMS/RoddyTo... --- Near line 24: Possible spelling mistake found. Context: ...a proxy, you can configure the proxy in `$HOME/.gradle/gradle.properties`: ```groovy systemPr... --- Near line 32: This sentence does not start with an uppercase letter. Context: ...p.https.proxyPort=HTTPS_proxy_port ``` where you substitute the correct proxies and ... --- Near line 39: Possible missing comma found. Context: ...ind of job scheduler you have. For LSF REST you need to use the RestExecutionServic... --- Near line 39: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing. Context: ...b scheduler you have. For LSF REST you need to use the RestExecutionService: ```groov... --- Near line 39: Possible spelling mistake found. Context: ...have. For LSF REST you need to use the RestExecutionService: ```groovy RestExecutionService execut... --- Near line 45: It is considered good style to insert a comma after introductory phrases with dates or proper nouns. Context: ...form/ws","account","password") ``` For PBS you need to implement your own executio... --- Near line 45: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing. Context: ...,"account","password") ``` For PBS you need to implement your own execution service wi... --- Near line 46: A comma may be missing after the conjunctive/linking adverb ‘Currently’. Context: ... with the `ExecutionService interface` Currently there are two job managers which are `L... --- Near line 47: Consider using “who” when you are referring to people instead of objects. Context: ...` Currently there are two job managers which are `LSFRestJobManager` and `PBSJobMana... --- Near line 47: Possible spelling mistake found. Context: ...ly there are two job managers which are `LSFRestJobManager` and `PBSJobManager`. For example for L... --- Near line 47: Possible spelling mistake found. Context: ...agers which are `LSFRestJobManager` and `PBSJobManager`. For example for LSF you would initial... --- Near line 48: After the expression ‘for example’ a comma is usually used. Context: ...estJobManager` and `PBSJobManager`. For example for LSF you would initialize the job ma... --- Near line 54: A comma is probably missing here. Context: ...er(executionService,parameters) ``` For PBS it looks like this: ```groovy JobManage... --- Near line 73: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing. Context: ... jobs are in HOLD state by default! You need to call startHeldJobs on your job manager ... --- Near line 73: Possible spelling mistake found. Context: ...HOLD state by default! You need to call startHeldJobs on your job manager instance at the end... --- Near line 73: Possible missing comma found. Context: ... at the end. Or, if you need it, cancel them e.g. on an error. All job managers su... --- Near line 78: Possible missing comma found. Context: ...bManager.runJob(testJobwithScript)` For PBS the submitted jobs are set on hold by d... --- Near line 78: The preposition ‘to’ seems more likely in this position. Context: ...pt)` For PBS the submitted jobs are set on hold by default. - Abort job: `jobMana... --- Near line 89: Possible spelling mistake found. Context: ...in host and user settings (password for lsf rest) into integrationTest.properties. ... --- Near line 89: Possible spelling mistake found. Context: ...r settings (password for lsf rest) into integrationTest.properties. Then start the tests like y... --- Near line 96: This sentence does not start with an uppercase letter. Context: ...u'd start. # Change Logs * Next - patch: Added `listConfigurations`, `allBoms`,... --- Near line 96: Possible spelling mistake found. Context: ...# Change Logs * Next - patch: Added `listConfigurations`, `allBoms`, and a `...Bom` task for ev... --- Near line 96: Possible spelling mistake found. Context: ... - patch: Added `listConfigurations`, `allBoms`, and a `...Bom` task for every Gradle ... --- Near line 96: Add a space between sentences. Context: ... `listConfigurations`, `allBoms`, and a `...Bom` task for every Gradle configuration se... --- Near line 96: Possible spelling mistake found. Context: ...for every Gradle configuration set. The `allBoms` and `...Bom` tasks generate JSON Cyclo... --- Near line 96: Add a space between sentences. Context: ...le configuration set. The `allBoms` and `...Bom` tasks generate JSON CycloneDX SBOMs in... --- Near line 96: Possible spelling mistake found. Context: ...lBoms` and `...Bom` tasks generate JSON CycloneDX SBOMs in `gradleBuild/reports/cyclonedx... --- Near line 96: Possible spelling mistake found. Context: ... `...Bom` tasks generate JSON CycloneDX SBOMs in `gradleBuild/reports/cyclonedx`. -... --- Near line 96: Possible spelling mistake found. Context: ... tasks generate JSON CycloneDX SBOMs in `gradleBuild/reports/cyclonedx`. - patch: Updated ... --- Near line 97: This sentence does not start with an uppercase letter. Context: ...in `gradleBuild/reports/cyclonedx`. - patch: Updated Gradle * 0.1.4 - patch: Cha... --- Near line 100: Possible spelling mistake found. Context: ....4 - patch: Changed the conversion of EpochSeconds to ZonedDateTime for the value "0". ... --- Near line 100: Possible spelling mistake found. Context: ...anged the conversion of EpochSeconds to ZonedDateTime for the value "0". * For eligibleTi... --- Near line 101: Possible spelling mistake found. Context: ...edDateTime for the value "0". * For eligibleTime it is set to null * For startTime i... --- Near line 102: Possible spelling mistake found. Context: ...ligibleTime it is set to null * For startTime it is set to endTime * 0.1.3 - patch... --- Near line 102: Possible spelling mistake found. Context: ...o null * For startTime it is set to endTime * 0.1.3 - patch: Added getter for Jo... --- Near line 105: Possible spelling mistake found. Context: ...me * 0.1.3 - patch: Added getter for JobState enum. - patch: Fix SLURM API. * R... --- Near line 105: Possible spelling mistake found. Context: ....3 - patch: Added getter for JobState enum. - patch: Fix SLURM API. * Rework... --- Near line 106: This sentence does not start with an uppercase letter. Context: ...ch: Added getter for JobState enum. - patch: Fix SLURM API. * Reworked queryExt... --- Near line 106: Possible spelling mistake found. Context: ...etter for JobState enum. - patch: Fix SLURM API. * Reworked queryExtendedJobStateBy... --- Near line 107: Possible spelling mistake found. Context: ... - patch: Fix SLURM API. * Reworked queryExtendedJobStateById to always execute both scontrol and sac... --- Near line 107: Possible spelling mistake found. Context: ...ndedJobStateById to always execute both scontrol and sacct and combine the output * ... --- Near line 107: Possible spelling mistake found. Context: ...yId to always execute both scontrol and sacct and combine the output * Some refac... --- Near line 107: Consider inserting a comma for improved readability. Context: ...control and sacct and combine the output * Some refactoring and added comments * Fi... --- Near line 110: Possible spelling mistake found. Context: ...an 24h * Added --propagate=none" to getAdditionalCommandParameters * Added tests * 0.1.2 - patch: F... --- Near line 114: Possible spelling mistake found. Context: ... * Added tests * 0.1.2 - patch: Fix SLURM API. * Always return an asked resource ... --- Near line 115: Possible spelling mistake found. Context: ... * Always return an asked resource for SLURM with requested memory, cores, and nodes... --- Near line 116: Possible spelling mistake found. Context: ...res, and nodes. * Correctly return "NodeList" value as `JobInfo.executionHosts`. WAR... --- Near line 116: Possible spelling mistake found. Context: ... * Correctly return "NodeList" value as `JobInfo.executionHosts`. WARNING: The returned ... --- Near line 116: Possible spelling mistake found. Context: ... value is just the string returned from SLURM. No splitting of a list of nodes is yet... --- Near line 117: Possible spelling mistake found. Context: ...of nodes is yet implemented. * Fix "NumNodes" parsing (seems to return "-"-split val... --- Near line 117: Possible spelling mistake found. Context: ... is the number of nodes) and deal with "Unkown" times. * Fixed time parsing. * 0.... --- Near line 121: Possible spelling mistake found. Context: ...n the position of the `-o` parameter in `bjobs`. Adapted to this upstream change. Prob... --- Near line 121: Possible missing comma found. Context: ...jobs`. Adapted to this upstream change. Probably code will still work with older LSF ver... --- Near line 121: Possible missing article found. Context: ...apted to this upstream change. Probably code will still work with older LSF versions... --- Near line 122: Possible spelling mistake found. Context: ...r LSF versions. - Patch: Bumped from RoddyToolLib 2.1.1 to 2.2.2. * 0.1.0 - Minor: SL... --- Near line 125: Possible spelling mistake found. Context: ...ib 2.1.1 to 2.2.2. * 0.1.0 - Minor: SLURM support * 0.0.14 - Minor: Added ex... --- Near line 130: Possible spelling mistake found. Context: ... time out feature - Patch: Update to RoddyToolLib 2.4.0 for better handling of stdout/std... --- Near line 130: Possible spelling mistake found. Context: ...for better handling of stdout/stderr in ExecutionResult - Patch: Switched from Travis-CI to ... --- Near line 131: This word is normally spelled as one. Context: ... - Patch: Switched from Travis-CI to Circle-CI * 0.0.13 - Update to RoddyToolLib ... --- Near line 135: Possible spelling mistake found. Context: ... to Circle-CI * 0.0.13 - Update to RoddyToolLib 2.3.0 (\[Async\]ExecutionResult). Expli... --- Near line 135: Possible spelling mistake found. Context: ... Update to RoddyToolLib 2.3.0 (\[Async\]ExecutionResult). Explicitly use stdout instead of `Exe... --- Near line 135: Possible spelling mistake found. Context: ...sult). Explicitly use stdout instead of `ExecutionResult.resultLines` that could also contain st... --- Near line 139: This sentence does not start with an uppercase letter. Context: ...t on execution service. * 0.0.12 - accounting name added to Job and implementation of... --- Near line 139: Possible spelling mistake found. Context: ...nd implementation of `-P` parameter for `bsub` (LSF). - fixed year-inference unit ... --- Near line 140: This sentence does not start with an uppercase letter. Context: ...f `-P` parameter for `bsub` (LSF). - fixed year-inference unit test * 0.0.7-1 (Re... --- Near line 143: Possible spelling mistake found. Context: ...n the position of the `-o` parameter in `bjobs`. Adapted to this upstream change. Prob... --- Near line 143: Possible missing comma found. Context: ...jobs`. Adapted to this upstream change. Probably code will still work with older LSF ver... --- Near line 143: Possible missing article found. Context: ...apted to this upstream change. Probably code will still work with older LSF versions...
Additional comments not posted (6)
build.gradle (5)
`7-8`: Imports for `CycloneDxTask` and `Configuration` added. These imports are necessary for the new tasks introduced to generate CycloneDX SBOMs. Ensure that these classes are available in the project dependencies. --- `12-12`: Added `org.cyclonedx.bom` plugin version `1.8.2`. This plugin is essential for generating SBOMs. Verify that this version of the plugin is compatible with other project dependencies. --- `127-135`: Defined a new task `listConfigurations`. This task will help in listing all configurations, which is useful for debugging and verification. Ensure that this task is documented in the project's README or developer documentation. --- `137-140`: Introduced a new task `allBoms`. This task serves as a grouping task to execute the `CycloneDxTask` for each configuration. It's a good practice to group related tasks under a common task for better manageability. --- `142-157`: Dynamic task creation for generating CycloneDX SBOMs for each configuration. This is a flexible approach to handle multiple configurations. Ensure that the output directories and naming conventions are consistent and documented.
README.md (1)
`96-98`: Updated change logs to reflect new features. The change logs correctly summarize the new tasks added (`listConfigurations`, `allBoms`, and a `...Bom` task for every Gradle configuration). Ensure that these logs are kept up-to-date with all future changes.
--- Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?
Share - [X](https://twitter.com/intent/tweet?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A&url=https%3A//coderabbit.ai) - [Mastodon](https://mastodon.social/share?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A%20https%3A%2F%2Fcoderabbit.ai) - [Reddit](https://www.reddit.com/submit?title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&text=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code.%20Check%20it%20out%3A%20https%3A//coderabbit.ai) - [LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fcoderabbit.ai&mini=true&title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&summary=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code)
Tips ### Chat There are 3 ways to chat with [CodeRabbit](https://coderabbit.ai): - Review comments: Directly reply to a review comment made by CodeRabbit. Example: - `I pushed a fix in commit .` - `Generate unit testing code for this file.` - `Open a follow-up GitHub issue for this discussion.` - Files and specific lines of code (under the "Files changed" tab): Tag `@coderabbitai` in a new review comment at the desired location with your query. Examples: - `@coderabbitai generate unit testing code for this file.` - `@coderabbitai modularize this function.` - PR comments: Tag `@coderabbitai` in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples: - `@coderabbitai generate interesting stats about this repository and render them as a table.` - `@coderabbitai show all the console.log statements in this repository.` - `@coderabbitai read src/utils.ts and generate unit testing code.` - `@coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.` Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. ### CodeRabbit Commands (invoked as PR comments) - `@coderabbitai pause` to pause the reviews on a PR. - `@coderabbitai resume` to resume the paused reviews. - `@coderabbitai review` to trigger a review. This is useful when automatic reviews are disabled for the repository. - `@coderabbitai resolve` resolve all the CodeRabbit review comments. - `@coderabbitai help` to get help. Additionally, you can add `@coderabbitai ignore` anywhere in the PR description to prevent this PR from being reviewed. ### CodeRabbit Configration File (`.coderabbit.yaml`) - You can programmatically configure CodeRabbit by adding a `.coderabbit.yaml` file to the root of your repository. - Please see the [configuration documentation](https://docs.coderabbit.ai/guides/configure-coderabbit) for more information. - If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: `# yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json` ### Documentation and Community - Visit our [Documentation](https://coderabbit.ai/docs) for detailed information on how to use CodeRabbit. - Join our [Discord Community](https://discord.com/invite/GsXnASn26c) to get help, request features, and share feedback. - Follow us on [X/Twitter](https://twitter.com/coderabbitai) for updates and announcements.