Skip to content

CAMEL-23150: Add camel wrapper command for version pinning#21978

Open
gnodet wants to merge 2 commits intomainfrom
camel-23150-camel-wrapper
Open

CAMEL-23150: Add camel wrapper command for version pinning#21978
gnodet wants to merge 2 commits intomainfrom
camel-23150-camel-wrapper

Conversation

@gnodet
Copy link
Contributor

@gnodet gnodet commented Mar 13, 2026

Summary

  • Adds a camel wrapper command that installs wrapper scripts (camelw / camelw.cmd) and a .camel/camel-wrapper.properties file for pinning a specific Camel version to a project directory
  • The wrapper scripts download the camel-launcher JAR on first use and run it, similar to how Maven Wrapper (mvnw) works
  • Supports --camel-version to specify the version (defaults to current) and --repo-url to specify a custom Maven repository

Test plan

  • Unit tests for WrapperCommand covering file creation, properties content, default version, custom repo URL, and script content
  • Manual testing: run camel wrapper and verify camelw / camelw.cmd / .camel/camel-wrapper.properties are created
  • Manual testing: run ./camelw version get to verify the wrapper downloads and runs the launcher

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@github-actions
Copy link
Contributor

🌟 Thank you for your contribution to the Apache Camel project! 🌟
🤖 CI automation will test this PR automatically.

🐫 Apache Camel Committers, please review the following items:

  • First-time contributors require MANUAL approval for the GitHub Actions to run
  • You can use the command /component-test (camel-)component-name1 (camel-)component-name2.. to request a test from the test bot although they are normally detected and executed by CI.
  • You can label PRs using build-all, build-dependents, skip-tests and test-dependents to fine-tune the checks executed by this PR.
  • Build and test logs are available in the summary page. Only Apache Camel committers have access to the summary.

⚠️ Be careful when sharing logs. Review their contents before sharing them publicly.

@github-actions github-actions bot added the dsl label Mar 13, 2026
@gnodet gnodet marked this pull request as ready for review March 13, 2026 09:33
@gnodet gnodet added the enhancement New feature or request label Mar 13, 2026
@gnodet
Copy link
Contributor Author

gnodet commented Mar 13, 2026

Tests are lightweight (file I/O only, no Camel context startup), each executing in milliseconds (~1.2s total for all 7 tests). Separate methods are preferred to test each aspect independently, but happy to consolidate if you feel strongly about it.

@Croway
Copy link
Contributor

Croway commented Mar 13, 2026

Tests are lightweight (file I/O only, no Camel context startup), each executing in milliseconds (~1.2s total for all 7 tests). Separate methods are preferred to test each aspect independently, but happy to consolidate if you feel strongly about it.

nono, that is great, thanks

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

Labels

dsl enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants