diff --git a/.github/workflows/maven-central.yml b/.github/workflows/maven-central.yml
new file mode 100644
index 0000000..83864ed
--- /dev/null
+++ b/.github/workflows/maven-central.yml
@@ -0,0 +1,94 @@
+name: Publish to Maven Central
+
+on:
+ push:
+ tags:
+ - 'v*'
+ branches:
+ - 'feature/release-*'
+
+jobs:
+ publish:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ with:
+ fetch-depth: 0
+
+ - name: Set up JDK 8
+ uses: actions/setup-java@v4
+ with:
+ java-version: '8'
+ distribution: 'temurin'
+ cache: maven
+
+ - name: Setup GPG
+ 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 "Configuring GPG..."
+ cat > ~/.gnupg/gpg.conf << EOF
+ default-key ${{ secrets.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
+
+ - name: Configure Maven
+ run: |
+ mkdir -p ~/.m2
+ cat > ~/.m2/settings.xml << EOF
+
+
+
+ central
+ ${{ secrets.OSSRH_USERNAME_TOKEN }}
+ ${{ secrets.OSSRH_PASSWORD_TOKEN }}
+
+
+
+
+ central
+
+ true
+
+
+ gpg
+ ${{ secrets.GPG_PASSPHRASE }}
+
+
+
+
+ EOF
+
+ - name: Build and Publish
+ env:
+ OSSRH_USERNAME: ${{ secrets.OSSRH_USERNAME_TOKEN }}
+ OSSRH_PASSWORD: ${{ secrets.OSSRH_PASSWORD_TOKEN }}
+ GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
+ 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.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
diff --git a/README.md b/README.md
index b7abf43..ee46b4c 100644
--- a/README.md
+++ b/README.md
@@ -63,7 +63,7 @@ This API client provides a type-safe Java interface for WooCommerce REST API v3,
## 📦 Version information
-- **Current version**: `0.9.4`
+- **Current version**: `0.9.5`
- **Supported WooCommerce API version**: `v3`
- **Java compatibility**: Java 8+
@@ -93,7 +93,7 @@ Then add the locally built artifact to your project:
pl.wtx.woocommerce
woocommerce-api-client
- 0.9.4
+ 0.9.5
```
diff --git a/pom.xml b/pom.xml
index 36d1c82..d46febe 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
pl.wtx.woocommerce
woocommerce-api-client
- 0.9.4
+ 0.9.5
jar
WooCommerce REST API Client
@@ -24,8 +24,20 @@
1.9.0
3.0.2
1.3.2
+ true
+
+
+ ossrh
+ https://central.sonatype.com/api/v1/publisher/upload
+
+
+ ossrh
+ https://central.sonatype.com/api/v1/publisher/upload
+
+
+
@@ -164,6 +176,54 @@
+
+ org.apache.maven.plugins
+ maven-gpg-plugin
+ 3.0.1
+
+
+ sign-artifacts
+ verify
+
+ sign
+
+
+ ${gpg.keyname}
+ ${gpg.passphrase}
+
+ --batch
+ --yes
+ --pinentry-mode
+ loopback
+
+
+
+
+
+
+
+ org.sonatype.central
+ central-publishing-maven-plugin
+ 0.7.0
+ true
+
+ central
+ https://central.sonatype.com
+ WooCommerce API Client - ${project.version}
+ required
+ false
+
+
+
+
+ org.apache.maven.plugins
+ maven-deploy-plugin
+ 3.1.1
+
+ ossrh::default::https://central.sonatype.com/api/v1/publisher/upload
+
+
+
@@ -201,4 +261,59 @@
+
+
+ release
+
+
+
+ org.apache.maven.plugins
+ maven-source-plugin
+
+
+ attach-sources
+
+ jar-no-fork
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-javadoc-plugin
+
+
+ attach-javadocs
+
+ jar
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-gpg-plugin
+
+
+ sign-artifacts
+ verify
+
+ sign
+
+
+
+
+
+
+
+
+
+
+
+ MIT License
+ https://opensource.org/licenses/MIT
+ repo
+
+
+