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

Reply via email to