Skip to content

1943: Create Ruby commandlet - #2130

Open
laert-ll wants to merge 4 commits into
devonfw:mainfrom
laert-ll:feature/1943-create-ruby-commandlet
Open

1943: Create Ruby commandlet#2130
laert-ll wants to merge 4 commits into
devonfw:mainfrom
laert-ll:feature/1943-create-ruby-commandlet

Conversation

@laert-ll

@laert-ll laert-ll commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

This PR fixes #1943

Implemented changes:

  • Added Ruby commandlet.
  • Added CHANGELOG.adoc.

Testing instructions

  1. Rebase #2176 on top of this branch (see #2176: Add 7z archive extraction support #2177).
  2. Verify that running ide install ruby is successful.
  3. Verify that running ide uninstall ruby uninstalls it successfully.

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

@github-project-automation github-project-automation Bot moved this to 🆕 New in IDEasy board Jul 8, 2026
@laert-ll
laert-ll force-pushed the feature/1943-create-ruby-commandlet branch from 5638460 to cf2c957 Compare July 8, 2026 08:22
@coveralls

coveralls commented Jul 8, 2026

Copy link
Copy Markdown
Collaborator

Coverage Report for CI Build 32352431453

Coverage remained the same at 72.944%

Details

  • Coverage remained the same as the base build.
  • Patch coverage: No coverable lines changed in this PR.
  • 8 coverage regressions across 2 files.

Uncovered Changes

No uncovered changes found.

Coverage Regressions

8 previously-covered lines in 2 files lost coverage.

File Lines Losing Coverage Coverage
com/devonfw/tools/ide/commandlet/CommandletManagerImpl.java 7 92.02%
com/devonfw/tools/ide/tool/ide/IdeToolCommandlet.java 1 78.69%

Coverage Stats

Coverage Status
Relevant Lines: 17571
Covered Lines: 13367
Line Coverage: 76.07%
Relevant Branches: 7769
Covered Branches: 5117
Branch Coverage: 65.86%
Branches in Coverage %: Yes
Coverage Strength: 3.23 hits per line

💛 - Coveralls

@laert-ll laert-ll self-assigned this Jul 8, 2026
@laert-ll laert-ll moved this from 🆕 New to Team Review in IDEasy board Jul 8, 2026
@laert-ll laert-ll moved this from Team Review to 🏗 In progress in IDEasy board Jul 13, 2026
@Caylipp Caylipp moved this from 🏗 In progress to Team Review in IDEasy board Jul 14, 2026
@Caylipp Caylipp moved this from Team Review to 🏗 In progress in IDEasy board Jul 14, 2026
@laert-ll
laert-ll force-pushed the feature/1943-create-ruby-commandlet branch 6 times, most recently from 1184558 to 58b8ca2 Compare July 22, 2026 04:35
@laert-ll laert-ll moved this from 🏗 In progress to Team Review in IDEasy board Jul 22, 2026
@laert-ll laert-ll added commandlet ide sub-command install installation process of IDE + tools and install commandlet ruby labels Jul 22, 2026
@Caylipp

Caylipp commented Jul 29, 2026

Copy link
Copy Markdown
Contributor

I reviewed and tested this PR together with the 7z extraction support from #2177.

The Ruby commandlet is correctly registered and follows the existing LocalToolCommandlet pattern. The English and German help texts as well as the CHANGELOG entry are included.

Manual testing on Windows with the local build script was successful:

  • ide install ruby successfully installed Ruby 4.0.6-1.
  • ide uninstall ruby successfully removed the installation.
  • Reinstalling Ruby after the uninstall was successful.
  • ide ruby --version returned the expected Ruby version.
  • ide ruby -e 'puts(%q[Ruby works])' successfully executed Ruby code and returned Ruby works.

Running ide ruby without arguments waits for input via stdin, which is expected Ruby behavior.

Good Job! Looks good from my side. I approve.

image image

@Caylipp Caylipp moved this from Team Review to 👀 In review in IDEasy board Jul 29, 2026
@laert-ll
laert-ll requested a review from hohwille July 29, 2026 19:17
@laert-ll
laert-ll force-pushed the feature/1943-create-ruby-commandlet branch from b0342d8 to db7068d Compare August 11, 2026 07:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

commandlet ide sub-command install installation process of IDE + tools and install commandlet ruby

Projects

Status: 👀 In review

Development

Successfully merging this pull request may close these issues.

Create Ruby Commandlet

3 participants