diff --git a/.github/workflows/dependency-update.yml b/.github/workflows/dependency-update.yml index bb45d3e65..4090fce44 100644 --- a/.github/workflows/dependency-update.yml +++ b/.github/workflows/dependency-update.yml @@ -14,6 +14,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 + - name: Submit Dependency Snapshot uses: advanced-security/maven-dependency-submission-action@v3 diff --git a/.github/workflows/pull-request-check.yml b/.github/workflows/pull-request-check.yml index f8a3312fb..e037f8f4c 100644 --- a/.github/workflows/pull-request-check.yml +++ b/.github/workflows/pull-request-check.yml @@ -69,21 +69,24 @@ jobs: java --version export MAVEN_OPTS="-Xmx4096m" export JAVA_TOOL_OPTIONS="-Dfile.encoding=UTF8" + # Actual build of core SDK mvn -B -pl '!org.eclipse.esmf:samm-cli' clean install -Pnative -Dmaven.wagon.httpconnectionManager.ttlSeconds=60 + # Build samm-cli executable jar and run integration tests + unset JAVA_TOOL_OPTIONS + mvn -B -pl tools/samm-cli clean verify -Dmaven.wagon.httpconnectionManager.ttlSeconds=60 shell: bash - name: Build native image if: matrix.os != 'macos-13' run: | export MAVEN_OPTS="-Xmx4096m" - mvn -B -pl tools/samm-cli clean verify -Pnative -Dmaven.wagon.httpconnectionManager.ttlSeconds=60 + # Build native binary and run integration tests + mvn -B -pl tools/samm-cli verify -Pnative -Dmaven.wagon.httpconnectionManager.ttlSeconds=60 shell: bash - name: Build native image (Mac) if: matrix.os == 'macos-13' run: | - export MAVEN_OPTS="-Xmx4096m" - mvn -B -pl tools/samm-cli clean verify -Dmaven.wagon.httpconnectionManager.ttlSeconds=60 bundle="samm-bundle-DEV-SNAPSHOT-$(date +%s)" mkdir ${bundle} curl -Lo jre.tar.gz https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.6%2B7/OpenJDK21U-jre_x64_mac_hotspot_21.0.6_7.tar.gz diff --git a/.github/workflows/release-workflow.yml b/.github/workflows/release-workflow.yml index 7b120954c..e18de3180 100644 --- a/.github/workflows/release-workflow.yml +++ b/.github/workflows/release-workflow.yml @@ -104,9 +104,11 @@ jobs: # Actual build of core SDK mvn -B -pl '!org.eclipse.esmf:samm-cli' clean deploy -Pnative -Dmaven.wagon.httpconnectionManager.ttlSeconds=60 -DaltDeploymentRepository=local::default::file://nexus-staging -Psign - # Build of CLI + # Build samm-cli executable jar and run integration tests unset JAVA_TOOL_OPTIONS - mvn -B -pl tools/samm-cli clean verify -Pnative -Dmaven.wagon.httpconnectionManager.ttlSeconds=60 + mvn -B -pl tools/samm-cli clean verify -Dmaven.wagon.httpconnectionManager.ttlSeconds=60 + # Build native binary and run integration tests + mvn -B -pl tools/samm-cli verify -Pnative -Dmaven.wagon.httpconnectionManager.ttlSeconds=60 # Create .tar.gz of samm-cli pushd tools/samm-cli/target @@ -178,7 +180,7 @@ jobs: mvn versions:commit # Actual build of core SDK mvn -B -pl '!org.eclipse.esmf:samm-cli' clean install -Pnative -Dmaven.wagon.httpconnectionManager.ttlSeconds=60 - # Build of CLI + # Build samm-cli executable jar and run integration tests unset JAVA_TOOL_OPTIONS mvn -B -pl tools/samm-cli clean verify -Dmaven.wagon.httpconnectionManager.ttlSeconds=60 shell: bash @@ -266,9 +268,11 @@ jobs: # Actual build of core SDK mvn -B -pl '!org.eclipse.esmf:samm-cli' clean install -Pnative -Dmaven.wagon.httpconnectionManager.ttlSeconds=60 - # Build of CLI + # Build samm-cli executable jar and run integration tests unset JAVA_TOOL_OPTIONS - mvn -B -pl tools/samm-cli clean verify -Pnative -Dmaven.wagon.httpconnectionManager.ttlSeconds=60 + mvn -B -pl tools/samm-cli clean verify -Dmaven.wagon.httpconnectionManager.ttlSeconds=60 + # Build native binary and run integration tests + mvn -B -pl tools/samm-cli verify -Pnative -Dmaven.wagon.httpconnectionManager.ttlSeconds=60 shell: bash - name: Upload Windows binary diff --git a/README.md b/README.md index 1b3e25754..41077ba20 100644 --- a/README.md +++ b/README.md @@ -58,14 +58,13 @@ Building the SDK requires a Java 21-compatible [GraalVM JDK](https://www.graalvm To build the SDK core components, run the following command: ```bash -mvn -pl '!org.eclipse.esmf:samm-cli' clean install +mvn -pl '!org.eclipse.esmf:samm-cli' clean install -Pnative ``` To also build SDK core components and the CLI tool, run the above command, followed by: ```bash -cd tools/samm-cli -mvn -B clean verify -mvn -B verify -Pnative +mvn -pl org.eclipse.esmf:samm-cli clean verify +mvn -pl org.eclipse.esmf:samm-cli verify -Pnative ``` We are always looking forward to your contributions. For more details on how to contribute just take diff --git a/tools/samm-cli/pom.xml b/tools/samm-cli/pom.xml index 6ff7889f0..d440f733a 100644 --- a/tools/samm-cli/pom.xml +++ b/tools/samm-cli/pom.xml @@ -32,7 +32,7 @@ org.eclipse.esmf.SammCli samm false - true + false false false @@ -203,6 +203,106 @@ + + + org.apache.maven.plugins + maven-shade-plugin + + + default-shade + package + + shade + + + false + false + ${skip.maven.shade} + + + + ${main-class} + + + + + + + + javax.annotation:jsr250-api + + + + + + *:* + + module-info.class + META-INF/* + META-INF/sisu/javax.inject.Named + META-INF/plexus/components.xml + META-INF.versions*/** + META-INF/versions*/** + META-INF/maven/** + plugin.xml + about.html + + + + + ${project.groupId}:${project.artifactId} + false + + ** + META-INF/** + git.properties + + + + org/eclipse/esmf/buildtime/** + + + + + xml-apis:xml-apis + + license/** + + + + + org.apache.xmlgraphics:batik-svgrasterizer + + org/apache/batik/apps/rasterizer/resources/rasterizer.policy + + + + + org.jboss.forge.roaster:roaster-jdt + + META-INF/native-image/** + + + + + org.eclipse.esmf:esmf-aspect-meta-model-java + + ** + + + + + jakarta.activation:jakarta.activation-api + + ** + + + + + + + + pl.project13.maven git-commit-id-plugin @@ -385,11 +485,24 @@ native true false + true false + + + org.apache.maven.plugins + maven-jar-plugin + + + default-jar + none + + + + org.graalvm.buildtools native-maven-plugin @@ -400,7 +513,7 @@ compile - package + prepare-package