Skip to content

[backport camel-4.22.x] camel-launcher: skip sources and javadoc jars - #27827

Draft
Croway wants to merge 4 commits into
apache:camel-4.22.xfrom
Croway:fix/launcher-skip-sources-jar-4.22.x
Draft

Croway wants to merge 4 commits into
apache:camel-4.22.xfrom
Croway:fix/launcher-skip-sources-jar-4.22.x

Conversation

@Croway

@Croway Croway commented Oct 14, 2026 •

Copy link
Copy Markdown
Contributor

Backport of #27826 to camel-4.22.x, prepared for review while the main PR is pending.

Skip sources and javadoc JARs in both launch scripts, exclude those auxiliary archives from shared distribution assembly content, and add regression tests using the existing JUnit assertion style. Enable the launcher script suites in platform CI, use the pinned Maven wrapper, and keep the snapshot profile active in test/version-evaluation steps.

Also carry the existing Windows validator timeout and process-handling fix from 7ab6c29 (CAMEL-24485): a 2700-second fork budget within a 60-minute job limit, bounded process execution and shared PowerShell cache, timing diagnostics, and archived Surefire reports. This addresses the observed 1200-second timeout on this branch.

Normalize the selected Windows launcher JAR with %%~fi, avoiding the doubled directory separator that caused two strict path/argument assertions to fail. The tests remain unchanged.

Pin the wrapper distribution's bin directory on the POSIX job PATH and propagate apache-snapshots through MAVEN_ARGS. Packaging scripts invoke mvn in child processes, so changing only direct workflow invocations did not cover those calls.

Validation on macOS with Java 21 and the project Maven 3.9.16 wrapper:

  • ../../../mvnw -o -Dtest=CamelShDiscoveryTest,CamelBatDiscoveryTest,FakeJavaTest,WebsiteInstallTest,WebsiteInstallerFixtureTest package formatter:format impsort:sort passes on both branches (Maven reports 103 tests, zero failures/errors, 36 skipped).
  • Sources and javadoc JAR fixtures were placed in target/ before packaging; the generated ZIP and TAR archives exclude them and retain the executable launcher and Jolokia agent.
  • Workflow YAML, embedded Bash syntax, sh -n, and git diff --check pass.
  • Windows execution is delegated to the updated CI job, which now includes CamelBatDiscoveryTest and FakeJavaTest.
  • A broader local run of the unchanged PackageNativeValidationTest suite was stopped after its host Homebrew check stalled; it remains enabled in CI.

AI-generated by Codex on behalf of @Croway.

@Croway Croway added the bug Something isn't working label Oct 14, 2026
@github-actions

Copy link
Copy Markdown
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 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 Oct 14, 2026
@github-actions

github-actions Bot commented Oct 14, 2026 •

Copy link
Copy Markdown
Contributor

🧪 CI tested the following changed modules:

  • dsl/camel-jbang/camel-launcher

🔬 Scalpel shadow comparison — Scalpel: 2 tested, 0 compile-only — current: 1 all tested

Maveniverse Scalpel detected 2 affected modules (current approach: 1).

⚠️ Modules only in Scalpel (1)
  • camel-launcher

Skip-tests mode would test 2 modules (1 direct + 1 downstream), skip tests for 0 (generated code, meta-modules)

Modules Scalpel would test (2)
  • camel-launcher
  • camel-launcher-container

ℹ️ Shadow mode — Scalpel observes but does not affect test execution. Learn more

💡 Manual integration tests recommended:

You modified dsl/camel-jbang/camel-launcher. The related integration tests in dsl/camel-jbang/camel-jbang-it are excluded from CI. Consider running them manually:

mvn verify -f dsl/camel-jbang/camel-jbang-it -Djbang-it-test
All tested modules (2 modules)
  • Camel :: Launcher
  • Camel :: Launcher :: Container

⚙️ View full build and test results

…hot repositories

Include the Windows validator timeout and process-handling fix from 7ab6c29 (CAMEL-24485).
@Croway Croway changed the title [backport camel-4.22.x] camel-launcher: skip sources jars in launch scripts [backport camel-4.22.x] camel-launcher: skip sources and javadoc jars Oct 14, 2026
@Croway

Croway commented Oct 14, 2026

Copy link
Copy Markdown
Contributor Author

The latest Windows run selected the executable JAR correctly but exposed a doubled separator in its path, failing both the classifier regression and the existing argument-preservation test. The batch script now stores %%~fi (the normalized full path); the strict test assertions remain unchanged.

The 4.22.x Ubuntu packaging step still invoked runner Maven through a child script. The workflow now pins the wrapper distribution's Maven on PATH and propagates the snapshot profile into subprocesses. The Maven-home lookup and subprocess version selection were validated locally, and workflow syntax checks pass.

Fresh CI is running for these changes. The separate 4.22.x Java 17 failure was a Maven Central HTTP 502 while downloading GraalVM, rather than a test assertion failure.

AI-generated by Codex on behalf of @Croway.

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

Labels

bug Something isn't working dsl

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant