diff --git a/.github/workflows/maven-release.yml b/.github/workflows/maven-release.yml
index 0fb10bc..b4f0ebd 100644
--- a/.github/workflows/maven-release.yml
+++ b/.github/workflows/maven-release.yml
@@ -11,8 +11,9 @@ jobs:
contents: read
steps:
- - name: Checkout code
- uses: actions/checkout@v4
+ - uses: actions/checkout@v4
+ with:
+ fetch-depth: 0
- name: Set up JDK 11
uses: actions/setup-java@v5
@@ -26,11 +27,54 @@ jobs:
gpg-private-key: ${{ secrets.OSSRH_GPG_PRIVATE_KEY }}
gpg-passphrase: MAVEN_GPG_PASSPHRASE
+ - name: Determine Maven Version Components
+ id: version # to identify the output
+ run: |
+ COMMIT_SHA_LONG="${{ github.sha }}"
+ COMMIT_SHA_SHORT="${COMMIT_SHA_LONG:0:7}"
+
+ REVISION_VAR=""
+ SHA1_VAR=""
+ CHANGELIST_VAR=""
+
+ if [[ "${{ github.ref_type }}" == "tag" ]]; then
+ TAG_NAME="${{ github.ref_name }}"
+ TAG_CLEAN=$(echo "$TAG_NAME" | sed 's/^v//')
+
+ REVISION_VAR="$TAG_CLEAN"
+ SHA1_VAR=""
+ CHANGELIST_VAR=""
+ echo "🏗️ Version de Release (Tag) détectée : $TAG_CLEAN"
+ else
+ LAST_TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "v0.0.0")
+ VERSION_BASE=$(echo "$LAST_TAG" | sed 's/^v//')
+ IFS='.' read -r MAJOR MINOR PATCH <<< "$VERSION_BASE"
+ NEXT_PATCH=$((PATCH + 1))
+
+ REVISION_VAR="$MAJOR.$MINOR.$NEXT_PATCH"
+ SHA1_VAR="-$COMMIT_SHA_SHORT"
+ CHANGELIST_VAR="-SNAPSHOT"
+ echo "🧪 Version Snapshot détectée (basée sur $LAST_TAG) : ${REVISION_VAR}${SHA1_VAR}${CHANGELIST_VAR}"
+ fi
+
+ echo "revision=$REVISION_VAR" >> "$GITHUB_OUTPUT"
+ echo "sha1=$SHA1_VAR" >> "$GITHUB_OUTPUT"
+ echo "changelist=$CHANGELIST_VAR" >> "$GITHUB_OUTPUT"
+ echo "➡️ Variables de sortie définies : revision='$REVISION_VAR', sha1='$SHA1_VAR', changelist='$CHANGELIST_VAR'"
+
- name: Run tests
- run: mvn --batch-mode test
+ run: |
+ mvn -B --file pom.xml clean test -P test \
+ "-Drevision=${{ steps.version.outputs.revision }}" \
+ "-Dsha1=${{ steps.version.outputs.sha1 }}" \
+ "-Dchangelist=${{ steps.version.outputs.changelist }}"
- name: Deploy to Maven Central
- run: mvn --batch-mode clean deploy -P release -Dchangelist= "-Drevision=${{ github.event.release.tag_name }}" -Dgpg.keyname="${{ secrets.OSSRH_GPG_KEY_ID }}"
+ run: |
+ mvn --batch-mode clean deploy -P release -Dchangelist= "-Drevision=${{ steps.version.outputs.version }}" -Dgpg.keyname="${{ secrets.OSSRH_GPG_KEY_ID }}" \
+ "-Drevision=${{ steps.version.outputs.revision }}" \
+ "-Dsha1=${{ steps.version.outputs.sha1 }}" \
+ "-Dchangelist=${{ steps.version.outputs.changelist }}"
env:
GITHUB_TOKEN: ${{ github.token }}
CI_DEPLOY_USERNAME: ${{ secrets.CENTRAL_USERNAME }}
diff --git a/.github/workflows/pull-tests.yml b/.github/workflows/pull-tests.yml
index 9d02d7c..4130ed6 100644
--- a/.github/workflows/pull-tests.yml
+++ b/.github/workflows/pull-tests.yml
@@ -16,6 +16,8 @@ jobs:
steps:
- uses: actions/checkout@v4
+ with:
+ fetch-depth: 0
- name: Set up JDK 11
uses: actions/setup-java@v5
@@ -29,14 +31,54 @@ jobs:
gpg-private-key: ${{ secrets.OSSRH_GPG_PRIVATE_KEY }}
gpg-passphrase: MAVEN_GPG_PASSPHRASE
+ - name: Determine Maven Version Components
+ id: version # to identify the output
+ run: |
+ COMMIT_SHA_LONG="${{ github.sha }}"
+ COMMIT_SHA_SHORT="${COMMIT_SHA_LONG:0:7}"
+
+ REVISION_VAR=""
+ SHA1_VAR=""
+ CHANGELIST_VAR=""
+
+ if [[ "${{ github.ref_type }}" == "tag" ]]; then
+ TAG_NAME="${{ github.ref_name }}"
+ TAG_CLEAN=$(echo "$TAG_NAME" | sed 's/^v//')
+
+ REVISION_VAR="$TAG_CLEAN"
+ SHA1_VAR=""
+ CHANGELIST_VAR=""
+ echo "🏗️ Version de Release (Tag) détectée : $TAG_CLEAN"
+ else
+ LAST_TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "v0.0.0")
+ VERSION_BASE=$(echo "$LAST_TAG" | sed 's/^v//')
+ IFS='.' read -r MAJOR MINOR PATCH <<< "$VERSION_BASE"
+ NEXT_PATCH=$((PATCH + 1))
+
+ REVISION_VAR="$MAJOR.$MINOR.$NEXT_PATCH"
+ SHA1_VAR="-$COMMIT_SHA_SHORT"
+ CHANGELIST_VAR="-SNAPSHOT"
+ echo "🧪 Version Snapshot détectée (basée sur $LAST_TAG) : ${REVISION_VAR}${SHA1_VAR}${CHANGELIST_VAR}"
+ fi
+
+ echo "revision=$REVISION_VAR" >> "$GITHUB_OUTPUT"
+ echo "sha1=$SHA1_VAR" >> "$GITHUB_OUTPUT"
+ echo "changelist=$CHANGELIST_VAR" >> "$GITHUB_OUTPUT"
+ echo "➡️ Variables de sortie définies : revision='$REVISION_VAR', sha1='$SHA1_VAR', changelist='$CHANGELIST_VAR'"
+
- name: Unit test
run: |
- PROJECT_VERSION=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout)
- echo "jar_version=${PROJECT_VERSION}" >> $GITHUB_OUTPUT
- mvn -B --file pom.xml clean test -P test
+ mvn -B --file pom.xml test -P test \
+ "-Drevision=${{ steps.version.outputs.revision }}" \
+ "-Dsha1=${{ steps.version.outputs.sha1 }}" \
+ "-Dchangelist=${{ steps.version.outputs.changelist }}"
- name: Build with Maven
- run: mvn -B --file pom.xml clean deploy -P release "-Dsha1=${{ github.sha }}" "-Dchangelist=-SNAPSHOT" -Dgpg.keyname="${{ secrets.OSSRH_GPG_SECRET_KEY_PASSWORD }}" -Dgpg.keyname="${{ secrets.OSSRH_GPG_KEY_ID }}"
+ run: |
+ mvn --batch-mode deploy -P release -Dchangelist= "-Drevision=${{ steps.version.outputs.version }}" -Dgpg.keyname="${{ secrets.OSSRH_GPG_KEY_ID }}" \
+ "-Drevision=${{ steps.version.outputs.revision }}" \
+ "-Dsha1=${{ steps.version.outputs.sha1 }}" \
+ "-Dchangelist=${{ steps.version.outputs.changelist }}"
env:
GITHUB_TOKEN: ${{ github.token }}
CI_DEPLOY_USERNAME: ${{ secrets.CENTRAL_USERNAME }}
diff --git a/pom.xml b/pom.xml
index eee198c..8b73357 100644
--- a/pom.xml
+++ b/pom.xml
@@ -45,7 +45,7 @@
${project.basedir}/src/test
geosiris-technologies
https://sonarcloud.io
- 1.0.18
+