Skip to content
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

#317: added BuildCommandlet #340

Merged
merged 27 commits into from
Jul 5, 2024

Conversation

jan-vcapgemini
Copy link
Contributor

@jan-vcapgemini jan-vcapgemini commented May 17, 2024

Fixes: #317

Implements

  • added BuildCommandlet for mvn, gradle and npm
  • added BuildCommandletTests
  • added documentation for build and build tools (mvn, npm, yarn)
  • added TOOL_BUILD_OPTS environment variables and handling

added BuildCommandlet
added BuildCommandletTest
added BuildCommandletTest resources
@jan-vcapgemini jan-vcapgemini self-assigned this May 17, 2024
@jan-vcapgemini jan-vcapgemini added enhancement New feature or request npm node package manager mvn related to apache maven build tool gradle Gralde build tool commandlet labels May 17, 2024
set npm test to parameterized to enforce windows only
# Conflicts:
#	cli/src/main/resources/nls/Ide.properties
#	cli/src/main/resources/nls/Ide_de.properties
added missing val path property to nls files
adjusted assertLogMessage (removed parameterized test)
@coveralls
Copy link
Collaborator

coveralls commented May 21, 2024

Pull Request Test Coverage Report for Build 9806378442

Details

  • 0 of 0 changed or added relevant lines in 0 files are covered.
  • 3 unchanged lines in 1 file lost coverage.
  • Overall coverage increased (+0.1%) to 61.159%

Files with Coverage Reduction New Missed Lines %
com/devonfw/tools/ide/commandlet/CommandletManagerImpl.java 3 90.11%
Totals Coverage Status
Change from base Build 9800169993: 0.1%
Covered Lines: 5202
Relevant Lines: 8183

💛 - Coveralls

Copy link
Contributor

@aBega2000 aBega2000 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for this PR. Everything seems fine to me.

Copy link
Member

@hohwille hohwille left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jan-vcapgemini thanks for this PR. You did a great job implementing this and especially testing this commandlet with all its scenarios. 👍

However, there is some concern with the CLI properties and related behavior that differs from devonfw-ide. Please have a look at my review comments.

changed PathProperty to multivalued StringPropertery
adjusted tests
added build documentation
added mvn documentation
added npm documentation
added yarn documentation
replaced devon with ide
added default build options environment variables and handling
added gradle documentation
added default options to documentations
added test for default options
Copy link
Member

@hohwille hohwille left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jan-vcapgemini Thanks for your update. You did some great improvements 👍
Probably for complex stories I should next time do the reverse-engineering myself and write everything explicitly as requirements and acceptance criteria into the story. Due to lack of time, I created all the commandlet stories via copy&paste with a simple link to the old code and expected the developer to do the reverse-engineering. As it turns out this seems to be more tricky than expected...
Please have a look at my review comments.

documentation/build.adoc Outdated Show resolved Hide resolved
jan-vcapgemini and others added 4 commits June 19, 2024 12:04
# Conflicts:
#	cli/src/main/java/com/devonfw/tools/ide/variable/IdeVariables.java
#	cli/src/main/resources/nls/Help.properties
#	cli/src/main/resources/nls/Help_de.properties
added default 'clean install' to mvn build opts
added default 'clean dist' to gradle build opts
@hohwille hohwille removed this from the release:2024.07.001 milestone Jul 2, 2024
# Conflicts:
#	cli/src/main/java/com/devonfw/tools/ide/variable/IdeVariables.java
#	cli/src/main/resources/nls/Help.properties
#	cli/src/main/resources/nls/Help_de.properties
removed help adoc files
added build.detail to help properties
added German build.detail to help_de properties
adjusted default build params for mvn in tests and resources
added TODO with link to issue
@jan-vcapgemini jan-vcapgemini requested a review from hohwille July 3, 2024 10:23
Copy link
Member

@hohwille hohwille left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jan-vcapgemini thanks for your updates. Now you got everything right 👍
Ready for merge.

@hohwille hohwille merged commit e555f89 into devonfw:main Jul 5, 2024
4 checks passed
@hohwille hohwille added this to the release:2024.07.001 milestone Jul 5, 2024
@jan-vcapgemini jan-vcapgemini deleted the feature/317-build-commandlet branch November 4, 2024 11:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
commandlet enhancement New feature or request gradle Gralde build tool mvn related to apache maven build tool npm node package manager
Projects
Status: ✅ Done
Development

Successfully merging this pull request may close these issues.

Implement Commandlet for build
4 participants