diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 0240749..fd3d421 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -12,9 +12,9 @@ jobs:
env:
MAVEN_ARGS: --show-version --no-transfer-progress
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Set up java
- uses: actions/setup-java@v4
+ uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1
with:
java-version: ${{ matrix.java }}
distribution: temurin
@@ -22,36 +22,41 @@ jobs:
- name: Build with Maven
run: mvn verify
-
- publishing_parameters:
- name: Publishing parameters
+ publish:
+ needs: build
+ name: Publish ${{ github.ref_name }}
runs-on: ubuntu-latest
- outputs:
- is_release: ${{ steps.version.outputs.is_release }}
- version: ${{ steps.version.outputs.version }}
steps:
- - name: Determine version
- id: version
+ - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
+ - name: Set up Java
+ uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1
+ with:
+ distribution: temurin
+ java-version: '21'
+ cache: "maven"
+ gpg-private-key: ${{ secrets.MAVEN_CENTRAL_SIGNING_KEY_PRIVATE }}
+ server-id: central
+ server-username: MAVEN_CENTRAL_TOKEN_USERNAME
+ server-password: MAVEN_CENTRAL_TOKEN_PASSWORD
+ gpg-passphrase: MAVEN_GPG_PASSPHRASE
+ - name: Activate Artifact Signing and Version Suffix
run: |
- if [[ $GITHUB_REF == *"tags"* ]]; then
- is_release=true
- version=${GITHUB_REF#refs/tags/}
+ profiles="build-sources-and-javadoc,deploy-to-maven-central"
+ if [[ "${GITHUB_REF_TYPE}" == "tag" ]]; then
+ profiles="$profiles,sign-artifacts"
+ version_suffix=""
else
- is_release=false
- version=${GITHUB_REF#refs/heads/}-SNAPSHOT
+ version_suffix="-SNAPSHOT"
fi
- echo "is_release=${is_release//\//-}" >> $GITHUB_OUTPUT
- echo "version=${version//\//-}" >> $GITHUB_OUTPUT
-
-
- publish:
- needs: [build, publishing_parameters]
- name: Publish ${{ needs.publishing_parameters.outputs.version }}
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v4
- - uses: digipost/action-maven-publish@v1
- with:
- sonatype_secrets: ${{ secrets.sonatype_secrets }}
- release_version: ${{ needs.publishing_parameters.outputs.version }}
- perform_release: ${{ needs.publishing_parameters.outputs.is_release }}
+ echo "MAVEN_PROFILES=$profiles" >> $GITHUB_ENV
+ version="${GITHUB_REF_NAME}${version_suffix}"
+ echo "VERSION=$version" >> $GITHUB_ENV
+ - name: Set Maven version
+ run: mvn --batch-mode --no-transfer-progress versions:set -DnewVersion=${VERSION}
+ - name: Build and deploy to Maven Central
+ run: |
+ mvn --batch-mode --no-transfer-progress --activate-profiles ${MAVEN_PROFILES} deploy
+ env:
+ MAVEN_CENTRAL_TOKEN_USERNAME: ${{ secrets.MAVEN_CENTRAL_TOKEN_USERNAME }}
+ MAVEN_CENTRAL_TOKEN_PASSWORD: ${{ secrets.MAVEN_CENTRAL_TOKEN_PASSWORD }}
+ MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_CENTRAL_SIGNING_KEY_PASSPHRASE }}
diff --git a/.gitignore b/.gitignore
index 7c1e4f1..db9f9b2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,3 +6,4 @@ target
*.iml
.idea
.sonatype
+.vscode/settings.json
diff --git a/pom.xml b/pom.xml
index 6c9fcf9..fb418e7 100644
--- a/pom.xml
+++ b/pom.xml
@@ -22,7 +22,7 @@
no.digipost
digipost-open-super-pom
- 13
+ 14
digg
@@ -167,7 +167,7 @@
maven-enforcer-plugin
- 3.5.0
+ 3.6.1
@@ -190,7 +190,7 @@
maven-compiler-plugin
- 3.13.0
+ 3.14.0
-Xlint
@@ -199,23 +199,23 @@
maven-surefire-plugin
- 3.5.0
+ 3.5.3
maven-deploy-plugin
- 3.1.3
+ 3.1.4
maven-clean-plugin
- 3.4.0
+ 3.5.0
maven-dependency-plugin
- 3.8.0
+ 3.8.1
maven-install-plugin
- 3.1.3
+ 3.1.4
maven-resources-plugin
@@ -223,7 +223,7 @@
maven-javadoc-plugin
- 3.10.0
+ 3.11.2
@@ -241,7 +241,7 @@
org.codehaus.mojo
versions-maven-plugin
- 2.17.1
+ 2.18.0
false
@@ -249,7 +249,7 @@
com.github.siom79.japicmp
japicmp-maven-plugin
- 0.23.0
+ 0.23.1