Skip to content

1719: Rust Integration#1913

Open
laert-ll wants to merge 16 commits into
devonfw:mainfrom
laert-ll:feature/1719-rust-integration
Open

1719: Rust Integration#1913
laert-ll wants to merge 16 commits into
devonfw:mainfrom
laert-ll:feature/1719-rust-integration

Conversation

@laert-ll
Copy link
Copy Markdown
Contributor

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

This PR Fixes #1719

Continuation of PR #1827

  • Updated Rust install flow to honor the explicitly requested version from CLI input (e.g. ide install rust1.1.0) instead of always resolving to the default release-0.7.
  • Adjusted version resolution/normalization so requested Rust versions are used consistently for artifact lookup and installation.
  • Improved install logging to show the effective Rust version being installed.
  • Added regression coverage for:
  • explicit version request behavior * fallback to configured default when no version is provided---
  • Addressed suggested changes here.

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- [x] Issue is set to In Progress and assigned to you or there is no issue (might happen for very small PRs)
  • followed all coding conventions
  • added the issue implemented by your PR in CHANGELOG.adoc unless issue is labeled with internal

Checklist for tool commandletsHave 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```

@github-project-automation github-project-automation Bot moved this to 🆕 New in IDEasy board May 11, 2026
@laert-ll laert-ll self-assigned this May 11, 2026
@laert-ll laert-ll moved this from 🆕 New to 🏗 In progress in IDEasy board May 11, 2026
@coveralls
Copy link
Copy Markdown
Collaborator

coveralls commented May 11, 2026

Coverage Report for CI Build 26284300524

Warning

Build has drifted: This PR's base is out of sync with its target branch, so coverage data may include unrelated changes.
Quick fix: rebase this PR. Learn more →

Coverage decreased (-0.05%) to 71.01%

Details

  • Coverage decreased (-0.05%) from the base build.
  • Patch coverage: No coverable lines changed in this PR.
  • 48 coverage regressions across 5 files.

Uncovered Changes

No uncovered changes found.

Coverage Regressions

48 previously-covered lines in 5 files lost coverage.

File Lines Losing Coverage Coverage
com/devonfw/tools/ide/tool/LocalToolCommandlet.java 25 80.51%
com/devonfw/tools/ide/url/updater/UpdateManager.java 13 0.0%
com/devonfw/tools/ide/commandlet/CommandletManagerImpl.java 7 90.55%
com/devonfw/tools/ide/version/VersionSegment.java 2 88.71%
com/devonfw/tools/ide/url/tool/androidstudio/AndroidStudioUrlUpdater.java 1 89.47%

Coverage Stats

Coverage Status
Relevant Lines: 15633
Covered Lines: 11584
Line Coverage: 74.1%
Relevant Branches: 6978
Covered Branches: 4472
Branch Coverage: 64.09%
Branches in Coverage %: Yes
Coverage Strength: 3.13 hits per line

💛 - Coveralls

@laert-ll laert-ll force-pushed the feature/1719-rust-integration branch 3 times, most recently from 447da62 to 18fc327 Compare May 19, 2026 11:40
@hohwille hohwille mentioned this pull request May 19, 2026
14 tasks
@hohwille hohwille moved this from 🏗 In progress to Team Review in IDEasy board May 19, 2026
@hohwille hohwille marked this pull request as ready for review May 19, 2026 12:04
@AdemZarrouki AdemZarrouki self-requested a review May 20, 2026 07:29
@hohwille hohwille added this to the release:2026.05.001 milestone May 21, 2026
@laert-ll laert-ll force-pushed the feature/1719-rust-integration branch from dcc6a84 to f150bd6 Compare May 22, 2026 06:10
@laert-ll
Copy link
Copy Markdown
Contributor Author

@hohwille
I added a hook in LocalToolCommandlet.java called onInstall, which handles in Rust.java only Rust-specific setup logic. This removes the need for performToolInstallation to be called in Rust.java along with all it's boilerplate code.
To help with this, I introduced two other hooks in LocalToolCommandlet.java as well: getDownloadedToolFile and installDependencies.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Team Review

Development

Successfully merging this pull request may close these issues.

Integrate rust

5 participants