Skip to content

#1953: Implement base functionality of Cleanup Commandlet#1957

Open
areinicke wants to merge 13 commits into
devonfw:mainfrom
areinicke:feature/1580-cleanup-commandlet
Open

#1953: Implement base functionality of Cleanup Commandlet#1957
areinicke wants to merge 13 commits into
devonfw:mainfrom
areinicke:feature/1580-cleanup-commandlet

Conversation

@areinicke
Copy link
Copy Markdown
Contributor

@areinicke areinicke commented May 20, 2026

This PR fixes #1953

Implemented changes:

  • Implemented the base functionality of the cleanup commandlet. Users can run ide cleanup to scan for unused tool installations and automatically remove them. A tool is considered as unused if no project links to the tool installation from its software folder at $IDE_ROOT/<project>/software or $IDE_ROOT/<project>/software/extra.
  • Users will be given a summary report and are prompted before any deletion takes place. The confirmation prompt can be skipped by providing the flag --fd.
  • Added ide help documentation for the new commandlet
  • Added a basic test for the new commandlet. This will need to be expanded in th future though.

Testing instructions

Please add conscise, understandable instructions on how a reviewer can test/verify the functionality of your contribution here:

  1. [Optional] Install some additional software using IDEasy. You can install additional software for IDEasy projects by switching around the required editions and versions of a tool using the set-edition and set-version commandlet repeatedly.
  2. Run ide cleanup
  3. Verify that the unused tool installations have been removed.

AND

  1. Run ide help and ide help cleanup to verify that the help documentation works as expected.

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 May 20, 2026
@areinicke areinicke self-assigned this May 20, 2026
@areinicke areinicke added enhancement New feature or request commandlet ide sub-command labels May 20, 2026
@areinicke areinicke moved this from 🆕 New to 🏗 In progress in IDEasy board May 20, 2026
@coveralls
Copy link
Copy Markdown
Collaborator

coveralls commented May 20, 2026

Coverage Report for CI Build 26210991945

Warning

No base build found for commit 908c0a7 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: 70.967%

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: 15684
Covered Lines: 11609
Line Coverage: 74.02%
Relevant Branches: 7004
Covered Branches: 4492
Branch Coverage: 64.13%
Branches in Coverage %: Yes
Coverage Strength: 3.13 hits per line

💛 - Coveralls

@areinicke areinicke marked this pull request as ready for review May 21, 2026 06:54
@areinicke areinicke moved this from 🏗 In progress to Team Review in IDEasy board May 21, 2026
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

Projects

Status: Team Review

Development

Successfully merging this pull request may close these issues.

Implement Base Functionality of Cleanup Commandlet

2 participants