Skip to content

#1976: extend tool commandlet installation logic#2144

Open
Caylipp wants to merge 10 commits into
devonfw:mainfrom
Caylipp:feature/1976-extend-toolcomandlet-installation-logic
Open

#1976: extend tool commandlet installation logic#2144
Caylipp wants to merge 10 commits into
devonfw:mainfrom
Caylipp:feature/1976-extend-toolcomandlet-installation-logic

Conversation

@Caylipp

@Caylipp Caylipp commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

This PR fixes #1976

Implemented changes:

  • Added ignoreProject support to ToolInstallRequest
  • Added CLI option --ignore-project to InstallCommandlet
  • Updated dependency installation to skip project symlinks when ignoring project or outside project context
  • Updated GUI launcher dependencies to install in the software repository
  • Added tests for ignore project flag and inheritance

Testing instructions

  1. Run ide install java --ignore-project inside an IDEasy project and verify Java is installed in the
    software repository without creating a symlink under software/java.
  2. Run ide install java --ignore-project outside any project and verify the tool is installed in the
    software repository.
  3. Run added tests.

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"

@github-project-automation github-project-automation Bot moved this to 🆕 New in IDEasy board Jul 9, 2026
@Caylipp Caylipp self-assigned this Jul 9, 2026
@Caylipp Caylipp moved this from 🆕 New to Team Review in IDEasy board Jul 9, 2026
@Caylipp Caylipp added enhancement New feature or request java related to Java code, the Java Virtual Machine and directly related tooling (OpenJDK, Adoptium) commandlet ide sub-command install installation process of IDE + tools and install commandlet labels Jul 9, 2026
Comment thread cli/src/main/java/com/devonfw/tools/ide/commandlet/InstallCommandlet.java Outdated
Comment thread cli/src/main/resources/nls/Help_de.properties
Comment thread cli/src/main/java/com/devonfw/tools/ide/commandlet/InstallCommandlet.java Outdated
@quando632

quando632 commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

Nice work on this 👍 The ignoreProject flag is threaded cleanly through ToolInstallRequest the standalone-vs-project branching in installAsDependency reads clearly, and I like that the skip path is covered by explicit tests for both the in-project and outside-project cases. Left a few inline comments the main one is about how the CLI flag is declared. 🙂

@coveralls

coveralls commented Jul 14, 2026

Copy link
Copy Markdown
Collaborator

Coverage Report for CI Build 29425555977

Warning

No base build found for commit a88c41e on main.
Coverage changes can't be calculated without a base build.
If a base build is processing, this comment will update automatically when it completes.

Coverage: 72.225%

Details

  • Patch coverage: No coverable lines changed in this PR.

Uncovered Changes

No uncovered changes found.

Coverage Regressions

Requires a base build to compare against. How to fix this →


Coverage Stats

Coverage Status
Relevant Lines: 16751
Covered Lines: 12604
Line Coverage: 75.24%
Relevant Branches: 7494
Covered Branches: 4907
Branch Coverage: 65.48%
Branches in Coverage %: Yes
Coverage Strength: 3.19 hits per line

💛 - Coveralls

@quando632 quando632 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.

(superseded - see the inline comments.)

@quando632 quando632 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.

(superseded - see the inline comments.)

Comment thread cli/src/test/java/com/devonfw/tools/ide/commandlet/InstallCommandletTest.java Outdated

@quando632 quando632 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.

After my earlier comments I went through every project-dependent input in the install path instead of reporting findings one at a time. The pattern is structural, so I think it is worth looking at as a whole rather than as separate bugs

Comment thread cli/src/main/java/com/devonfw/tools/ide/commandlet/InstallCommandlet.java Outdated
Caylipp and others added 9 commits July 15, 2026 16:51
-add ToolInstallRequest ignoreProject support
-skip project symlinks when ignoring project
-update dependency installation to ignore project version
-add CLI --ignore-project flag - update GUI launcher dependencies
-add tests for ignore project flag
- Handle unset ignoreproject flag safely
- Skip configured project version when project is ignored
- Register ignore-project as CLI flag
- Align English and German help entries
- Ignore configured version for standalone installs
- Add CLI parser and installation tests
…andlet.java

Co-authored-by: quando632 <quang-hieu.do@capgemini.com>
…andletTest.java

Co-authored-by: quando632 <quang-hieu.do@capgemini.com>
…andlet.java

Co-authored-by: quando632 <quang-hieu.do@capgemini.com>
@Caylipp Caylipp force-pushed the feature/1976-extend-toolcomandlet-installation-logic branch from ef6bdfb to c156c92 Compare July 15, 2026 14:52
@Caylipp Caylipp requested a review from quando632 July 15, 2026 14:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

commandlet ide sub-command enhancement New feature or request install installation process of IDE + tools and install commandlet java related to Java code, the Java Virtual Machine and directly related tooling (OpenJDK, Adoptium)

Projects

Status: Team Review

Development

Successfully merging this pull request may close these issues.

Extend ToolCommandlet installation logic to allow software-repository-only installation requests.

4 participants