This is an automated email from the ASF dual-hosted git repository.

cstamas pushed a commit to branch update-graalvm
in repository https://gitbox.apache.org/repos/asf/maven-mvnd.git

commit fcaf2e6f8bffda2f92797f02ed064507712e263e
Author: Tamas Cservenak <ta...@cservenak.net>
AuthorDate: Thu Jun 20 17:29:54 2024 +0200

    Forward port GraalVM changes, diag option
    
    Changes:
    * add client --diag option
    * update graalvm toolchain
    * update GH actions
---
 .github/workflows/early-access.yaml                | 11 ++++----
 .github/workflows/release.yaml                     | 12 ++++----
 client/pom.xml                                     |  5 ++--
 .../org/mvndaemon/mvnd/client/DefaultClient.java   |  6 ++++
 .../mvnd/client/svm/ReflectionRegistration.java    | 33 ----------------------
 .../org/mvndaemon/mvnd/common/Environment.java     |  2 ++
 dist/src/main/distro/bin/mvnd-bash-completion.bash |  2 +-
 pom.xml                                            |  8 +-----
 8 files changed, 22 insertions(+), 57 deletions(-)

diff --git a/.github/workflows/early-access.yaml 
b/.github/workflows/early-access.yaml
index 67ae4439..b46db955 100644
--- a/.github/workflows/early-access.yaml
+++ b/.github/workflows/early-access.yaml
@@ -26,7 +26,7 @@ on:
   pull_request:
 
 env:
-  JAVA_VERSION: '17'
+  JAVA_VERSION: '22'
 
 concurrency:
   group: ${{ github.workflow }}-${{ github.ref }}
@@ -34,7 +34,7 @@ concurrency:
 
 jobs:
   default-build:
-    name: 'Default build (without Graal)'
+    name: 'Default build (without GraalVM)'
     if: startsWith(github.event.head_commit.message, '[release] Release ') != 
true
     runs-on: ubuntu-latest
     steps:
@@ -57,7 +57,7 @@ jobs:
           path: integration-tests/target/mvnd-tests/**/daemon*.log
 
   native-build:
-    name: 'Build with Graal on ${{ matrix.os }}'
+    name: 'Build with GraalVM on ${{ matrix.os }}'
     if: startsWith(github.event.head_commit.message, '[release] Release ') != 
true
     strategy:
       fail-fast: false
@@ -92,18 +92,17 @@ jobs:
           fi
           echo "VERSION=$(./mvnw help:evaluate -Dexpression=project.version -q 
-DforceStdout)" >> $GITHUB_ENV
 
-      - name: 'Set up Graal'
+      - name: 'Set up GraalVM'
         uses: graalvm/setup-graalvm@v1
         with:
           java-version: ${{ env.JAVA_VERSION }}
           distribution: 'graalvm'
-          components: 'native-image'
           github-token: ${{ secrets.GITHUB_TOKEN }}
 
       - name: 'Maven clean'
         run: ./mvnw clean -Dmrm=false -V -B -ntp -e
 
-      - name: 'Patch Graal libs for only requiring glibc 2.12'
+      - name: 'Patch GraalVM libs for only requiring glibc 2.12'
         if: ${{ env.OS == 'linux' }}
         shell: bash
         run: |
diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml
index c3831ee5..04a77d45 100644
--- a/.github/workflows/release.yaml
+++ b/.github/workflows/release.yaml
@@ -26,11 +26,11 @@ on:
       - '*'
 
 env:
-  JAVA_VERSION: '17'
+  JAVA_VERSION: '22'
 
 jobs:
   build:
-    name: 'Build with Graal on ${{ matrix.os }}'
+    name: 'Build with GraalVM on ${{ matrix.os }}'
     strategy:
       fail-fast: true
       matrix:
@@ -64,18 +64,17 @@ jobs:
           fi
           echo "VERSION=$(./mvnw help:evaluate -Dexpression=project.version -q 
-DforceStdout)" >> $GITHUB_ENV
 
-      - name: 'Set up Graal'
+      - name: 'Set up GraalVM'
         uses: graalvm/setup-graalvm@v1
         with:
           java-version: ${{ env.JAVA_VERSION }}
           distribution: 'graalvm'
-          components: 'native-image'
           github-token: ${{ secrets.GITHUB_TOKEN }}
 
       - name: 'Maven clean'
         run: ./mvnw clean -Dmrm=false -B -ntp -e
 
-      - name: 'Patch Graal libs for only requiring glibc 2.12'
+      - name: 'Patch GraalVM libs for only requiring glibc 2.12'
         if: ${{ env.OS == 'linux' }}
         shell: bash
         run: |
@@ -145,12 +144,11 @@ jobs:
           fi
           echo "VERSION=$(./mvnw help:evaluate -Dexpression=project.version -q 
-DforceStdout)" >> $GITHUB_ENV
 
-      - name: 'Set up Graal'
+      - name: 'Set up GraalVM'
         uses: graalvm/setup-graalvm@v1
         with:
           version: ${{ env.GRAALVM_VERSION }}
           java-version: ${{ env.JAVA_VERSION }}
-          components: 'native-image'
           github-token: ${{ secrets.GITHUB_TOKEN }}
 
       - name: 'Build source distribution'
diff --git a/client/pom.xml b/client/pom.xml
index 120a9347..af1c672a 100644
--- a/client/pom.xml
+++ b/client/pom.xml
@@ -195,9 +195,8 @@
               <skip>false</skip>
               <mainClass>org.mvndaemon.mvnd.client.DefaultClient</mainClass>
               <imageName>mvnd</imageName>
-              <buildArgs>--no-server
-                         --no-fallback
-                         --allow-incomplete-classpath
+              <buildArgs>--no-fallback
+                         -H:+UnlockExperimentalVMOptions
                          ${graalvm-native-static-opt}
                          ${graalvm-native-glibc-opt}
                          -H:IncludeResources=org/mvndaemon/mvnd/.*
diff --git 
a/client/src/main/java-mvnd/org/mvndaemon/mvnd/client/DefaultClient.java 
b/client/src/main/java-mvnd/org/mvndaemon/mvnd/client/DefaultClient.java
index c76cc9ac..2f4b1463 100644
--- a/client/src/main/java-mvnd/org/mvndaemon/mvnd/client/DefaultClient.java
+++ b/client/src/main/java-mvnd/org/mvndaemon/mvnd/client/DefaultClient.java
@@ -85,6 +85,12 @@ public class DefaultClient implements Client {
             }
         }
 
+        // Diag
+        if (Environment.DIAG.removeCommandLineOption(args) != null) {
+            org.jline.terminal.impl.Diag.diag(System.out);
+            return;
+        }
+
         // Serial
         if (Environment.SERIAL.removeCommandLineOption(args) != null) {
             System.setProperty(Environment.SERIAL.getProperty(), 
Boolean.toString(true));
diff --git 
a/client/src/main/java/org/mvndaemon/mvnd/client/svm/ReflectionRegistration.java
 
b/client/src/main/java/org/mvndaemon/mvnd/client/svm/ReflectionRegistration.java
deleted file mode 100644
index 3f46b716..00000000
--- 
a/client/src/main/java/org/mvndaemon/mvnd/client/svm/ReflectionRegistration.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.mvndaemon.mvnd.client.svm;
-
-import com.oracle.svm.core.annotate.AutomaticFeature;
-import org.graalvm.nativeimage.hosted.Feature;
-
-@AutomaticFeature
-public class ReflectionRegistration implements Feature {
-    public void beforeAnalysis(BeforeAnalysisAccess access) {
-        //        try {
-        //            
RuntimeReflection.register(AsiExtraField.class.getConstructors());
-        //        } catch (SecurityException e) {
-        //            throw new RuntimeException(e);
-        //        }
-    }
-}
diff --git a/common/src/main/java/org/mvndaemon/mvnd/common/Environment.java 
b/common/src/main/java/org/mvndaemon/mvnd/common/Environment.java
index 29faa6af..3132006f 100644
--- a/common/src/main/java/org/mvndaemon/mvnd/common/Environment.java
+++ b/common/src/main/java/org/mvndaemon/mvnd/common/Environment.java
@@ -59,6 +59,8 @@ public enum Environment {
     STATUS(null, null, null, OptionType.VOID, Flags.OPTIONAL, "mvnd:--status"),
     /** Stop all daemon instances registered in the registry specified by 
<code>mvnd.registry</code> */
     STOP(null, null, null, OptionType.VOID, Flags.OPTIONAL, "mvnd:--stop"),
+    /** Terminal diagnosis */
+    DIAG(null, null, null, OptionType.VOID, Flags.OPTIONAL, "mvnd:--diag"),
     /** Use one thread, no log buffering and the default project builder to 
behave like a standard maven */
     SERIAL("mvnd.serial", null, Boolean.FALSE, OptionType.VOID, 
Flags.OPTIONAL, "mvnd:-1", "mvnd:--serial"),
 
diff --git a/dist/src/main/distro/bin/mvnd-bash-completion.bash 
b/dist/src/main/distro/bin/mvnd-bash-completion.bash
index ade2f771..692534a0 100755
--- a/dist/src/main/distro/bin/mvnd-bash-completion.bash
+++ b/dist/src/main/distro/bin/mvnd-bash-completion.bash
@@ -217,7 +217,7 @@ _mvnd()
     _get_comp_words_by_ref -n : cur prev
 
     local mvnd_opts="-1"
-    local 
mvnd_long_opts="--color|--completion|--purge|--raw-streams|--serial|--status|--stop"
+    local 
mvnd_long_opts="--color|--completion|--diag|--purge|--raw-streams|--serial|--status|--stop"
     local 
mvnd_properties="-Djava.home|-Djdk.java.options|-Dmaven.multiModuleProjectDirectory|-Dmaven.repo.local|-Dmaven.settings|-Dmvnd.buildTime|-Dmvnd.builder|-Dmvnd.cancelConnectTimeout|-Dmvnd.connectTimeout|-Dmvnd.coreExtensionsExclude|-Dmvnd.daemonStorage|-Dmvnd.debug|-Dmvnd.debug.address|-Dmvnd.duplicateDaemonGracePeriod|-Dmvnd.enableAssertions|-Dmvnd.expirationCheckDelay|-Dmvnd.home|-Dmvnd.idleTimeout|-Dmvnd.jvmArgs|-Dmvnd.keepAlive|-Dmvnd.logPurgePeriod|-Dmvnd.maxHeapSize|-Dmvnd
 [...]
     local 
opts="-am|-amd|-B|-C|-c|-cpu|-D|-e|-emp|-ep|-f|-fae|-ff|-fn|-gs|-h|-l|-N|-npr|-npu|-nsu|-o|-P|-pl|-q|-rf|-s|-T|-t|-U|-up|-V|-v|-X|${mvnd_opts}"
     local 
long_opts="--also-make|--also-make-dependents|--batch-mode|--strict-checksums|--lax-checksums|--check-plugin-updates|--define|--errors|--encrypt-master-password|--encrypt-password|--file|--fail-at-end|--fail-fast|--fail-never|--global-settings|--help|--log-file|--non-recursive|--no-plugin-registry|--no-plugin-updates|--no-snapshot-updates|--offline|--activate-profiles|--projects|--quiet|--resume-from|--settings|--threads|--toolchains|--update-snapshots|--update-plugins|--show-v
 [...]
diff --git a/pom.xml b/pom.xml
index 58dfcb78..d7e8da8a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -79,7 +79,7 @@
     <assertj.version>3.26.0</assertj.version>
     <commons-compress.version>1.26.2</commons-compress.version>
     <!-- cannot upgrade graalvm to 23.0.0 which requires JDK >= 20 -->
-    <graalvm.version>22.3.1</graalvm.version>
+    <graalvm.version>23.1.3</graalvm.version>
     <graalvm.plugin.version>0.10.2</graalvm.plugin.version>
     <groovy.version>4.0.21</groovy.version>
     <jakarta.inject.version>1.0</jakarta.inject.version>
@@ -128,12 +128,6 @@
         <version>${commons-compress.version}</version>
       </dependency>
 
-      <dependency>
-        <groupId>org.graalvm.sdk</groupId>
-        <artifactId>graal-sdk</artifactId>
-        <version>${graalvm.version}</version>
-      </dependency>
-
       <dependency>
         <groupId>org.apache.groovy</groupId>
         <artifactId>groovy</artifactId>

Reply via email to