Skip to content

#2178: Make Release commandlet build-tool independent - #2302

Open
laert-ll wants to merge 5 commits into
devonfw:mainfrom
laert-ll:feature/2178-make-release-commandlet-independent-of-specific-build-commandlet
Open

#2178: Make Release commandlet build-tool independent#2302
laert-ll wants to merge 5 commits into
devonfw:mainfrom
laert-ll:feature/2178-make-release-commandlet-independent-of-specific-build-commandlet

Conversation

@laert-ll

@laert-ll laert-ll commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

This PR fixes #2178

Implemented changes:

  • Release Commandlet is now build-tool independent: it detecs the build tool from its build descriptor (like BuildCommandlet) and works througth the BuildTool interface instead of hardcoding Maven.
  • Build Tool detection now in BuildCommandlet.findBuildCommandlet(...) with priority-ordered first-match, so yarn wins over npm when a yarn.lock is present.
  • Top-level-project check is now based on the build descriptor rather than a hardcoded pom.xml.

Testing instructions

  1. Run the tests in the cli module: mvn -Dtest=BuildCommandletTest,ReleaseCommandletTest test.
  2. In a Maven project (.mvn/maven.config with -Drevision=…-SNAPSHOT), run ide release and check the workflow is as described in #1594: Implement release commandlet #2023.
  3. In a project with no supported build descriptor (or a Gradle-only project), run ide release and check that it fails with "Could not find a supported build tool…".

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 and not feature/921 fixed setup.bat). If no issue ID exists, title only.
  • PR top-level comment summaries 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 labelled
    with internal
  • You have not changed any dependency in pom.xml files or otherwise if runtime dependencies changed, you have updated our LICENSE.asciidoc
  • You have formulated clear instructions on how to test your contribution under "Testing instructions"

@coveralls

coveralls commented Aug 11, 2026

Copy link
Copy Markdown
Collaborator

Coverage Report for CI Build 31575831284

Coverage increased (+0.007%) to 72.906%

Details

  • Coverage increased (+0.007%) from the base build.
  • Patch coverage: No coverable lines changed in this PR.
  • 12 coverage regressions across 1 file.

Uncovered Changes

No uncovered changes found.

Coverage Regressions

12 previously-covered lines in 1 file lost coverage.

File Lines Losing Coverage Coverage
com/devonfw/tools/ide/commandlet/ReleaseCommandlet.java 12 65.12%

Coverage Stats

Coverage Status
Relevant Lines: 17551
Covered Lines: 13344
Line Coverage: 76.03%
Relevant Branches: 7761
Covered Branches: 5110
Branch Coverage: 65.84%
Branches in Coverage %: Yes
Coverage Strength: 3.23 hits per line

💛 - Coveralls

@laert-ll
laert-ll marked this pull request as ready for review August 11, 2026 06:39
@laert-ll laert-ll moved this from 🆕 New to Team Review in IDEasy board Aug 11, 2026
@laert-ll laert-ll self-assigned this Aug 11, 2026
@laert-ll laert-ll changed the title #2178: Initial implementation #2178: Make Release commandlet build-tool independent Aug 11, 2026
@krystynaShatkovska
krystynaShatkovska self-requested a review August 11, 2026 10:14
@krystynaShatkovska krystynaShatkovska self-assigned this Aug 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: 👀 In review

Development

Successfully merging this pull request may close these issues.

Make ReleaseCommandlet independent of specific build commandlet

3 participants