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