Skip to content

#1909: create commandlet for mvnd#2061

Open
AdemZarrouki wants to merge 18 commits into
devonfw:mainfrom
AdemZarrouki:feature/1909-create-commandlet-for-mvnd
Open

#1909: create commandlet for mvnd#2061
AdemZarrouki wants to merge 18 commits into
devonfw:mainfrom
AdemZarrouki:feature/1909-create-commandlet-for-mvnd

Conversation

@AdemZarrouki

@AdemZarrouki AdemZarrouki commented Jun 22, 2026

Copy link
Copy Markdown
Contributor

This PR fixes #1909

Implemented changes:

  • Added mvnd tool commandlet
  • Added supported mvnd commands/options
  • Moved common Maven tags and auto-completions into a parent class MavenCommandlet
  • Added tests for mvnd
  • Update completion tests in IdeCompleterTest for ambiguous mvn/mvnd prefix.
  • Added tests for auto completion in CompleteTest for mvnd

Testing instructions

  1. Run ide shell
  2. type ide --help -> in the listed commandlet mvnd should be present
  3. type ide install mvnd -> tool should be installed successfully
  4. After successfull installation type mvnd --version -> the version installe dshould be displayed
  5. After successfull installation type mvnd --help -> should display the right arguments to use with the tool mvnd

Checklist for this PR

Make sure everything is checked before merging this PR. For further info please also see
our DoD.

  • When running mvn clean test locally all tests pass and build is successful
  • PR title is of the form #«issue-id»: «brief summary» (e.g. #921: fixed setup.bat). If no issue ID exists, title only.
  • PR top-level comment summarizes what has been done and contains link to addressed issue(s)
  • PR and issue(s) have suitable labels
  • Issue is set to In Progress and assigned to you or there is no issue (might happen for very small PRs)
  • You followed all coding conventions
  • You have added the issue implemented by your PR in CHANGELOG.adoc unless issue is labeled
    with internal
  • You have formulated clear instructions on how to test your contribution under "Testing instructions"

Checklist for tool commandlets

Have you added a new «tool» as commandlet? There are the following additional checks:

  • The tool can be installed automatically (during setup via settings) or via the commandlet call
  • The tool is isolated in its IDEasy project, see Sandbox Principle
  • The new tool is added to the table of tools in LICENSE.asciidoc
  • The new commandlet is a command-wrapper for «tool»
  • Proper help texts for all supported languages are added here
  • The new commandlet installs potential dependencies automatically
  • The variables «TOOL»_VERSION and «TOOL»_EDITION are honored by your commandlet
  • The new commandlet is tested on all platforms it is available for or tested on all platforms that are in scope of the linked issue

@AdemZarrouki AdemZarrouki changed the title Feature/1909 create commandlet for mvnd #1909: create commandlet for mvnd Jun 22, 2026
@coveralls

coveralls commented Jun 22, 2026

Copy link
Copy Markdown
Collaborator

Coverage Report for CI Build 28230297567

Coverage increased (+0.1%) to 71.472%

Details

  • Coverage increased (+0.1%) from the base build.
  • Patch coverage: No coverable lines changed in this PR.
  • 25 coverage regressions across 2 files.

Uncovered Changes

No uncovered changes found.

Coverage Regressions

25 previously-covered lines in 2 files lost coverage.

File Lines Losing Coverage Coverage
com/devonfw/tools/ide/tool/mvn/Mvn.java 18 82.89%
com/devonfw/tools/ide/commandlet/CommandletManagerImpl.java 7 91.75%

Coverage Stats

Coverage Status
Relevant Lines: 16342
Covered Lines: 12181
Line Coverage: 74.54%
Relevant Branches: 7284
Covered Branches: 4705
Branch Coverage: 64.59%
Branches in Coverage %: Yes
Coverage Strength: 3.15 hits per line

💛 - Coveralls

@AdemZarrouki AdemZarrouki added the commandlet ide sub-command label Jun 22, 2026
@AdemZarrouki AdemZarrouki marked this pull request as ready for review June 22, 2026 10:39
@AdemZarrouki AdemZarrouki self-assigned this Jun 22, 2026
@AdemZarrouki AdemZarrouki moved this from 🆕 New to Team Review in IDEasy board Jun 22, 2026
@tineff96 tineff96 self-assigned this Jun 23, 2026
Comment thread cli/src/test/resources/ide-projects/mvnd/_ide/urls/mvnd/mvnd/dependencies.json Outdated

@tineff96 tineff96 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Thanks, this looks good overall. mvnd is registered as a commandlet, the NLS/help text is present, the shared MavenCommandlet extraction looks reasonable, and the full test suite passes locally for me.

I ran:

mvn clean test

I left one inline comment about the mvnd dependency metadata. I think this should be fixed before merging, because Java is currently not ensured as a dependency for mvnd 1.0.6.

Two smaller follow-ups:

  • The test fixture should probably use MVND_VERSION=1.0.6 instead of MVN_VERSION=1.0.6.
  • The testing instructions contain small copy/paste issues: mvnd--help should probably be mvnd --help.

@AdemZarrouki AdemZarrouki moved this from Team Review to 👀 In review in IDEasy board Jun 26, 2026
@AdemZarrouki AdemZarrouki moved this from 👀 In review to Team Review in IDEasy board Jun 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

commandlet ide sub-command

Projects

Status: Team Review

Development

Successfully merging this pull request may close these issues.

Support for maven daemon (mvnd)

3 participants