This is an automated email from the ASF dual-hosted git repository.
gnodet pushed a commit to branch camel-4.22.x
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/camel-4.22.x by this push:
new bf0b378bc161 [backport camel-4.22.x] chore: camel-launcher - enable
native access in the manifest, so Java 24+ does not warn when JLine uses the
FFM API (#29475)
bf0b378bc161 is described below
commit bf0b378bc1612eec72a1b2ada22c93accd4de747
Author: Guillaume Nodet <[email protected]>
AuthorDate: Thu Nov 12 12:06:32 2026 +0100
[backport camel-4.22.x] chore: camel-launcher - enable native access in the
manifest, so Java 24+ does not warn when JLine uses the FFM API (#29475)
* [backport camel-4.22.x] chore: camel-launcher - enable native access in
the manifest, so Java 24+ does not warn when JLine uses the FFM API
* fix: trust Homebrew 6.0 tap in camel-validate.sh (posix-validator CI fix)
---
dsl/camel-jbang/camel-launcher/pom.xml | 13 +++++++++++++
.../camel-launcher/src/jreleaser/bin/camel-validate.sh | 11 +++++++++--
2 files changed, 22 insertions(+), 2 deletions(-)
diff --git a/dsl/camel-jbang/camel-launcher/pom.xml
b/dsl/camel-jbang/camel-launcher/pom.xml
index 15b0a8b33ad3..b59db6e453f8 100644
--- a/dsl/camel-jbang/camel-launcher/pom.xml
+++ b/dsl/camel-jbang/camel-launcher/pom.xml
@@ -305,6 +305,19 @@
<build>
<plugins>
+ <!-- the repackaged self-executing JAR keeps this manifest -->
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <configuration>
+ <archive>
+ <manifestEntries>
+ <!-- JLine uses the FFM API for the terminal (JEP
472: Java 24+ warns without it) -->
+
<Enable-Native-Access>ALL-UNNAMED</Enable-Native-Access>
+ </manifestEntries>
+ </archive>
+ </configuration>
+ </plugin>
<!-- Create self-executing JAR using Spring Boot loader tools -->
<plugin>
<groupId>org.apache.camel</groupId>
diff --git a/dsl/camel-jbang/camel-launcher/src/jreleaser/bin/camel-validate.sh
b/dsl/camel-jbang/camel-launcher/src/jreleaser/bin/camel-validate.sh
index 1566fdba0c2c..271b59cc262b 100755
--- a/dsl/camel-jbang/camel-launcher/src/jreleaser/bin/camel-validate.sh
+++ b/dsl/camel-jbang/camel-launcher/src/jreleaser/bin/camel-validate.sh
@@ -210,8 +210,12 @@ validate_homebrew() {
# ("Homebrew requires formulae to be in a tap" / "brew audit [path ...] is
disabled");
# empirically confirmed on this machine. A throwaway local tap (removed
via `brew untap`
# in the script's EXIT trap) satisfies that requirement without any
network access or
- # real publication. `brew install` auto-trusts formulae from a tap created
this way (no
- # separate trust command exists or is needed - empirically confirmed).
+ # real publication.
+ # Homebrew 6.0 (released 2026-06-11) introduced tap trust: formulae from
third-party taps
+ # refuse to load until explicitly trusted. After `brew tap-new`, the tap
is local but
+ # treated as untrusted, causing `brew audit` and `brew install` to fail
with
+ # "Refusing to load formula ... from untrusted tap". `brew trust` marks it
trusted so
+ # all subsequent brew commands can load the formula without further
prompts.
local tap_name="camel-cli-validators/formulae"
local tap_dir tap_output
@@ -222,6 +226,9 @@ validate_homebrew() {
return 1
fi
BREW_TAP_NAME="$tap_name"
+ # Trust the tap so Homebrew 6.0+ loads its formulae (no-op on older
Homebrew where
+ # `brew trust` does not exist - `|| true` prevents failure on those
versions).
+ HOMEBREW_NO_AUTO_UPDATE=1 brew trust "$tap_name" >/dev/null 2>&1 || true
tap_dir=$(brew --repository "$tap_name")
if ! cp -p "$formula_file" "$tap_dir/Formula/${fmla}.rb"; then