From 0848aa9527a1f967d9859771c47e21b2841a2569 Mon Sep 17 00:00:00 2001 From: wtx-labs Date: Fri, 20 Jun 2025 12:31:58 +0200 Subject: [PATCH 1/8] Workflows update --- .github/workflows/maven-central.yml | 28 ++++++++++++---------------- .github/workflows/release.yml | 16 +++------------- 2 files changed, 15 insertions(+), 29 deletions(-) diff --git a/.github/workflows/maven-central.yml b/.github/workflows/maven-central.yml index 83864ed..6496225 100644 --- a/.github/workflows/maven-central.yml +++ b/.github/workflows/maven-central.yml @@ -16,34 +16,29 @@ jobs: with: fetch-depth: 0 - - name: Set up JDK 8 + - name: Set up JDK 17 uses: actions/setup-java@v4 with: - java-version: '8' + java-version: '17' distribution: 'temurin' cache: maven - name: Setup GPG + env: + GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }} + GPG_KEYNAME: ${{ secrets.GPG_KEYNAME }} + GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }} run: | echo "Setting up GPG..." mkdir -p ~/.gnupg chmod 700 ~/.gnupg - - # Import private key - echo "${{ secrets.GPG_PRIVATE_KEY }}" > private.key - echo "Importing GPG key..." - gpg --batch --import private.key - rm private.key - - # Configure GPG + echo "$GPG_PRIVATE_KEY" | gpg --batch --import echo "Configuring GPG..." cat > ~/.gnupg/gpg.conf << EOF - default-key ${{ secrets.GPG_KEYNAME }} + default-key $GPG_KEYNAME use-agent pinentry-mode loopback EOF - - # Debug information echo "=== GPG Keys ===" gpg --list-secret-keys --keyid-format LONG gpg --list-keys --keyid-format LONG @@ -80,15 +75,16 @@ jobs: OSSRH_USERNAME: ${{ secrets.OSSRH_USERNAME_TOKEN }} OSSRH_PASSWORD: ${{ secrets.OSSRH_PASSWORD_TOKEN }} GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }} + GPG_KEYNAME: ${{ secrets.GPG_KEYNAME }} run: | echo "Starting Maven build and deploy..." mvn clean deploy -P release \ -Dmaven.javadoc.skip=false \ -Dmaven.deploy.skip=false \ - -Dgpg.keyname=${{ secrets.GPG_KEYNAME }} \ + -Dgpg.keyname=$GPG_KEYNAME \ -Dgpg.useagent=true \ -Dmaven.test.failure.ignore=false \ -DaltDeploymentRepository=ossrh::default::https://central.sonatype.com/api/v1/publisher/upload \ -DrepositoryId=ossrh \ - -Dusername=${{ secrets.OSSRH_USERNAME_TOKEN }} \ - -Dpassword=${{ secrets.OSSRH_PASSWORD_TOKEN }} \ No newline at end of file + -Dusername=$OSSRH_USERNAME \ + -Dpassword=$OSSRH_PASSWORD diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index b67a0b7..88a5062 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -15,10 +15,10 @@ jobs: with: fetch-depth: 0 - - name: Set up JDK 8 + - name: Set up JDK 17 uses: actions/setup-java@v4 with: - java-version: '8' + java-version: '17' distribution: 'temurin' cache: 'maven' @@ -31,14 +31,4 @@ jobs: - name: Create Release uses: softprops/action-gh-release@v1 with: - name: Release ${{ github.ref_name }} - draft: false - prerelease: false - generate_release_notes: true - files: | - target/qualtrics-api-client-0.1.2.jar - target/qualtrics-api-client-0.1.2-sources.jar - target/qualtrics-api-client-0.1.2-javadoc.jar - target/site/apidocs/** - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file + name: From 176737503b92761fb59ffc4b71a27bc8bc7269bb Mon Sep 17 00:00:00 2001 From: wtx-labs Date: Fri, 20 Jun 2025 13:03:51 +0200 Subject: [PATCH 2/8] Workflow fix --- .github/workflows/maven-central.yml | 32 +++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/.github/workflows/maven-central.yml b/.github/workflows/maven-central.yml index 6496225..0817e7c 100644 --- a/.github/workflows/maven-central.yml +++ b/.github/workflows/maven-central.yml @@ -43,6 +43,38 @@ jobs: gpg --list-secret-keys --keyid-format LONG gpg --list-keys --keyid-format LONG + - name: Setup GPG + env: + GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }} + GPG_KEYNAME: ${{ secrets.GPG_KEYNAME }} + GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }} + run: | + echo "Setting up GPG..." + mkdir -p ~/.gnupg + chmod 700 ~/.gnupg + + # Debug: Sprawdź długość klucza (bez wyświetlania treści) + echo "GPG_PRIVATE_KEY length: ${#GPG_PRIVATE_KEY}" + + # Importuj klucz + echo "$GPG_PRIVATE_KEY" | gpg --batch --import + + # Konfiguruj GPG tylko jeśli klucz istnieje + if gpg --list-secret-keys "$GPG_KEYNAME" > /dev/null 2>&1; then + echo "Configuring GPG..." + cat > ~/.gnupg/gpg.conf << EOF + default-key $GPG_KEYNAME + use-agent + pinentry-mode loopback + EOF + + echo "=== GPG Keys ===" + gpg --list-secret-keys --keyid-format LONG + else + echo "::error::GPG key import failed!" + exit 1 + fi + - name: Configure Maven run: | mkdir -p ~/.m2 From 051d2cedc727018bef5a85ad66dfc830808ab6a9 Mon Sep 17 00:00:00 2001 From: wtx-labs Date: Fri, 20 Jun 2025 13:13:08 +0200 Subject: [PATCH 3/8] Workflow fix --- .github/workflows/maven-central.yml | 53 ++++++++--------------------- 1 file changed, 14 insertions(+), 39 deletions(-) diff --git a/.github/workflows/maven-central.yml b/.github/workflows/maven-central.yml index 0817e7c..bd114c6 100644 --- a/.github/workflows/maven-central.yml +++ b/.github/workflows/maven-central.yml @@ -23,26 +23,6 @@ jobs: distribution: 'temurin' cache: maven - - name: Setup GPG - env: - GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }} - GPG_KEYNAME: ${{ secrets.GPG_KEYNAME }} - GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }} - run: | - echo "Setting up GPG..." - mkdir -p ~/.gnupg - chmod 700 ~/.gnupg - echo "$GPG_PRIVATE_KEY" | gpg --batch --import - echo "Configuring GPG..." - cat > ~/.gnupg/gpg.conf << EOF - default-key $GPG_KEYNAME - use-agent - pinentry-mode loopback - EOF - echo "=== GPG Keys ===" - gpg --list-secret-keys --keyid-format LONG - gpg --list-keys --keyid-format LONG - - name: Setup GPG env: GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }} @@ -53,27 +33,22 @@ jobs: mkdir -p ~/.gnupg chmod 700 ~/.gnupg - # Debug: Sprawdź długość klucza (bez wyświetlania treści) + # Debug: Sprawdź długość klucza echo "GPG_PRIVATE_KEY length: ${#GPG_PRIVATE_KEY}" - # Importuj klucz - echo "$GPG_PRIVATE_KEY" | gpg --batch --import - - # Konfiguruj GPG tylko jeśli klucz istnieje - if gpg --list-secret-keys "$GPG_KEYNAME" > /dev/null 2>&1; then - echo "Configuring GPG..." - cat > ~/.gnupg/gpg.conf << EOF - default-key $GPG_KEYNAME - use-agent - pinentry-mode loopback - EOF - - echo "=== GPG Keys ===" - gpg --list-secret-keys --keyid-format LONG - else - echo "::error::GPG key import failed!" - exit 1 - fi + # Debug: Sprawdź początek klucza (bez ujawniania tajemnicy) + echo "GPG_KEYNAME: $GPG_KEYNAME" + echo "GPG_PASSPHRASE length: ${#GPG_PASSPHRASE}" + echo "First 10 chars of GPG_PRIVATE_KEY: ${GPG_PRIVATE_KEY:0:10}" + + # Tepporary write key for debug + echo "$GPG_PRIVATE_KEY" > private.tmp + echo "File content (first line): $(head -1 private.tmp)" + + # Import key + echo "Importing GPG key..." + gpg --batch --import private.tmp || echo "Import failed!" + rm private.tmp - name: Configure Maven run: | From 155338c7f2502510feea6932e67a187c52468fdc Mon Sep 17 00:00:00 2001 From: wtx-labs Date: Fri, 20 Jun 2025 13:36:30 +0200 Subject: [PATCH 4/8] Workflow update --- .github/workflows/maven-central.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/maven-central.yml b/.github/workflows/maven-central.yml index bd114c6..3116191 100644 --- a/.github/workflows/maven-central.yml +++ b/.github/workflows/maven-central.yml @@ -76,7 +76,7 @@ jobs: EOF - + - name: Build and Publish env: OSSRH_USERNAME: ${{ secrets.OSSRH_USERNAME_TOKEN }} @@ -89,9 +89,10 @@ jobs: -Dmaven.javadoc.skip=false \ -Dmaven.deploy.skip=false \ -Dgpg.keyname=$GPG_KEYNAME \ - -Dgpg.useagent=true \ + -Dgpg.useagent=false \ + -Dgpg.passphrase=$GPG_PASSPHRASE \ -Dmaven.test.failure.ignore=false \ - -DaltDeploymentRepository=ossrh::default::https://central.sonatype.com/api/v1/publisher/upload \ + -DaltDeploymentRepository=ossrh::default::https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/ \ -DrepositoryId=ossrh \ -Dusername=$OSSRH_USERNAME \ -Dpassword=$OSSRH_PASSWORD From 437b55631e79b2be8e1714c2d942a8016396a94e Mon Sep 17 00:00:00 2001 From: wtx-labs Date: Fri, 20 Jun 2025 14:36:39 +0200 Subject: [PATCH 5/8] Update --- .github/settings.xml | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/.github/settings.xml b/.github/settings.xml index 9b76fc4..a82418f 100644 --- a/.github/settings.xml +++ b/.github/settings.xml @@ -1,13 +1,19 @@ - - - github - ${env.MAVEN_USERNAME} - ${env.MAVEN_PASSWORD} - - + + + github + ${env.MAVEN_USERNAME} + ${env.MAVEN_PASSWORD} + + + central + ${{ secrets.OSSRH_USERNAME_TOKEN }} + ${{ secrets.OSSRH_PASSWORD_TOKEN }} + + + \ No newline at end of file From 775856ce57d8aa6c6e891e7ecf7b4cc8bf47b56b Mon Sep 17 00:00:00 2001 From: wtx-labs Date: Fri, 20 Jun 2025 14:49:35 +0200 Subject: [PATCH 6/8] Vaiable names update --- .github/settings.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/settings.xml b/.github/settings.xml index a82418f..6cc0fe2 100644 --- a/.github/settings.xml +++ b/.github/settings.xml @@ -11,8 +11,8 @@ central - ${{ secrets.OSSRH_USERNAME_TOKEN }} - ${{ secrets.OSSRH_PASSWORD_TOKEN }} + ${{env.OSSRH_USERNAME_TOKEN }} + ${{env.OSSRH_PASSWORD_TOKEN }} From 81f8a5eaf8e7fdfad5cf572a0aab09827c26a2fd Mon Sep 17 00:00:00 2001 From: wtx-labs Date: Fri, 20 Jun 2025 15:01:30 +0200 Subject: [PATCH 7/8] Update --- pom.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/pom.xml b/pom.xml index 0735561..3d34dcd 100644 --- a/pom.xml +++ b/pom.xml @@ -133,6 +133,7 @@ attach-javadocs + package jar From 7136aa746a00215101bacbd5a707b511a8e1db73 Mon Sep 17 00:00:00 2001 From: wtx-labs Date: Fri, 20 Jun 2025 15:17:39 +0200 Subject: [PATCH 8/8] Readme update --- README.md | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 9e69932..0772ccd 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,7 @@ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![Java Version](https://img.shields.io/badge/Java-17%2B-blue)](https://www.java.com) +[![Maven Central](https://img.shields.io/maven-central/v/pl.wtx.qualtrics/qualtrics-api-client?label=Maven%20Central&logo=apache-maven&color=blue)](https://mvnrepository.com/artifact/pl.wtx.qualtrics/qualtrics-api-client) A lightweight Java client library for Qualtrics API integration. Built for Java developers who need to integrate their applications with the Qualtrics Employee Experience platform. 🚀 @@ -89,7 +90,25 @@ The only requirement is to preserve the original author attribution in the sourc ### 1️⃣ Installation -Clone and build the library from source: +You can add the library to your project by including the dependency from Maven Central: +```xml + + + pl.wtx.qualtrics + qualtrics-api-client + 0.1.2 + +``` + +Alternatively, clone and build the library from source: + +```sh +git clone https://github.com/wtx-labs/qualtrics-api-client-java.git +cd qualtrics-api-client-java +mvn clean install +``` + +Then add the locally built artifact to your project: ```sh git clone https://github.com/wtx-labs/qualtrics-api-client-java.git