diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..9554efb --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,23 @@ +name: CI + +on: + push: + branches: [ main ] + pull_request: + branches: [ main ] + +jobs: + test: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Set up JDK 17 + uses: actions/setup-java@v4 + with: + java-version: '17' + distribution: 'temurin' + cache: maven + + - name: Build and test + run: mvn --no-transfer-progress verify diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..e52562b --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,38 @@ +name: Release + +on: + push: + tags: + - 'v*' + +jobs: + release: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Set up JDK 11 + uses: actions/setup-java@v4 + with: + java-version: '11' + distribution: 'temurin' + cache: maven + server-id: central + server-username: SONATYPE_USERNAME + server-password: SONATYPE_PASSWORD + gpg-private-key: ${{ secrets.MAVEN_GPG_PRIVATE_KEY }} + gpg-passphrase: MAVEN_GPG_PASSPHRASE + + - name: Extract version from tag + id: version + run: echo "VERSION=${GITHUB_REF_NAME#v}" >> "$GITHUB_OUTPUT" + + - name: Set version + run: mvn --no-transfer-progress versions:set -DnewVersion=${{ steps.version.outputs.VERSION }} -DgenerateBackupPoms=false + + - name: Publish to Maven Central + run: mvn --no-transfer-progress deploy -P release -DskipTests + env: + SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }} + SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }} + MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }} diff --git a/gradient-labs-client/pom.xml b/gradient-labs-client/pom.xml index 0ce1ab2..1021451 100644 --- a/gradient-labs-client/pom.xml +++ b/gradient-labs-client/pom.xml @@ -27,6 +27,13 @@ jackson-datatype-jsr310 + + + jakarta.servlet + jakarta.servlet-api + provided + + org.slf4j diff --git a/gradient-labs-client/src/main/java/ai/gradientlabs/client/GradientLabsClient.java b/gradient-labs-client/src/main/java/ai/gradientlabs/client/GradientLabsClient.java index 47848cd..8705727 100644 --- a/gradient-labs-client/src/main/java/ai/gradientlabs/client/GradientLabsClient.java +++ b/gradient-labs-client/src/main/java/ai/gradientlabs/client/GradientLabsClient.java @@ -7,7 +7,7 @@ import ai.gradientlabs.client.webhook.Webhook; import ai.gradientlabs.client.webhook.WebhookVerifier; -import javax.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletRequest; import java.net.http.HttpClient; import java.time.Duration; import java.util.List; diff --git a/gradient-labs-client/src/main/java/ai/gradientlabs/client/webhook/WebhookVerifier.java b/gradient-labs-client/src/main/java/ai/gradientlabs/client/webhook/WebhookVerifier.java index 5ab1857..3270da2 100644 --- a/gradient-labs-client/src/main/java/ai/gradientlabs/client/webhook/WebhookVerifier.java +++ b/gradient-labs-client/src/main/java/ai/gradientlabs/client/webhook/WebhookVerifier.java @@ -9,7 +9,7 @@ import javax.crypto.Mac; import javax.crypto.spec.SecretKeySpec; -import javax.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletRequest; import java.io.IOException; import java.nio.charset.StandardCharsets; import java.security.InvalidKeyException; diff --git a/pom.xml b/pom.xml index 239a207..582174e 100644 --- a/pom.xml +++ b/pom.xml @@ -13,6 +13,13 @@ Java SDK for the Gradient Labs API https://github.com/gradientlabs-ai/gradientlabs-java + + scm:git:git://github.com/gradientlabs-ai/gradientlabs-java.git + scm:git:ssh://github.com/gradientlabs-ai/gradientlabs-java.git + https://github.com/gradientlabs-ai/gradientlabs-java + HEAD + + MIT License @@ -36,9 +43,10 @@ UTF-8 - 11 - 11 - 2.18.2 + 17 + 17 + 2.19.0 + 6.0.0 5.11.4 3.2.0 @@ -73,6 +81,13 @@ ${jackson.version} + + + jakarta.servlet + jakarta.servlet-api + ${jakarta.servlet-api.version} + + org.slf4j @@ -94,6 +109,47 @@ + + + release + + + + org.apache.maven.plugins + maven-gpg-plugin + 3.2.7 + + + sign-artifacts + verify + + sign + + + + --pinentry-mode + loopback + + + + + + + org.sonatype.central + central-publishing-maven-plugin + 0.6.0 + true + + central + true + published + + + + + + + @@ -102,8 +158,8 @@ maven-compiler-plugin 3.13.0 - 11 - 11 + 17 + 17