From b41a7e368ff794588277bf0adff1ea2a2456eb83 Mon Sep 17 00:00:00 2001 From: Avior Date: Wed, 11 Mar 2026 11:40:24 +0100 Subject: [PATCH 1/9] feat: Publish to maven central --- .github/workflows/publish-maven.yml | 31 +++++++++++ build.gradle.kts | 80 +++++++++++++++-------------- 2 files changed, 72 insertions(+), 39 deletions(-) create mode 100644 .github/workflows/publish-maven.yml diff --git a/.github/workflows/publish-maven.yml b/.github/workflows/publish-maven.yml new file mode 100644 index 0000000..b62c1f2 --- /dev/null +++ b/.github/workflows/publish-maven.yml @@ -0,0 +1,31 @@ +name: Publish to Maven Central + +on: + push: + tags: + - v* + +jobs: + publish: + name: Publish release + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Set up JDK 8 + uses: actions/setup-java@v4 + with: + java-version: '8' + distribution: 'temurin' + cache: gradle + + - name: Publish library to Maven Central + run: ./gradlew :publishAndReleaseToMavenCentral --no-configuration-cache + env: + ORG_GRADLE_PROJECT_mavenCentralUsername: ${{ secrets.MAVEN_CENTRAL_USERNAME }} + ORG_GRADLE_PROJECT_mavenCentralPassword: ${{ secrets.MAVEN_CENTRAL_PASSWORD }} + ORG_GRADLE_PROJECT_signingInMemoryKeyId: ${{ secrets.GPG_KEY_ID }} + ORG_GRADLE_PROJECT_signingInMemoryKey: ${{ secrets.GPG_SIGNING_KEY }} + ORG_GRADLE_PROJECT_signingInMemoryKeyPassword: ${{ secrets.GPG_SIGNING_PASSWORD }} diff --git a/build.gradle.kts b/build.gradle.kts index fe99ae3..f7b6f82 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,4 +1,5 @@ import org.jetbrains.kotlin.gradle.dsl.JvmTarget +import com.vanniktech.maven.publish.SonatypeHost plugins { // Apply the org.jetbrains.kotlin.jvm Plugin to add support for Kotlin. @@ -7,7 +8,9 @@ plugins { // Apply the java-library plugin for API and implementation separation. `java-library` - `maven-publish` + + // maven publishing + id("com.vanniktech.maven.publish") version "0.29.0" } // from: https://discuss.kotlinlang.org/t/use-git-hash-as-version-number-in-build-gradle-kts/19818/8 @@ -79,47 +82,46 @@ val javadocJar = tasks.named("javadocJar") { from(tasks.named("dokkaJavadoc")) } -publishing { - publications { - create("maven") { - groupId = finalGroup - artifactId = artifact - version = finalVersion - - from(components["java"]) - - pom { - name.set("TCGdex SDK") - description.set("Communicate with the Open Source TCGdex API in Kotlin/Java using the SDK") - url.set("https://github.com/tcgdex/java-sdk") - licenses { - license { - name.set("MIT License") - url.set("https://github.com/tcgdex/java-sdk/blob/master/LICENSE.txt") - } - } - developers { - developer { - id.set("avior") - name.set("Avior") - email.set("contact@tcgdex.net") - } - } - scm { - connection.set("scm:git@github.com:tcgdex/java-sdk.git") - url.set("https://github.com/tcgdex/java-sdk") - } + +mavenPublishing { + publishToMavenCentral(SonatypeHost.CENTRAL_PORTAL) + + signAllPublications() + + coordinates(finalGroup, artifact, finalVersion) + + pom { + name.set("TCGdex SDK") + description.set("Communicate with the Open Source TCGdex API in Kotlin/Java using the SDK") + url.set("https://github.com/tcgdex/java-sdk") + inceptionYear.set("2022") + + licenses { + license { + name.set("MIT License") + url.set("https://github.com/tcgdex/java-sdk/blob/master/LICENSE.md") + distribution.set("repo") } } - } - repositories { - maven { - name = "GithubPackages" - url = uri("https://maven.pkg.github.com/tcgdex/java-sdk") - credentials { - username = project.findProperty("gpr.user") as String? ?: System.getenv("USERNAME") - password = project.findProperty("gpr.key") as String? ?: System.getenv("TOKEN") + + developers { + developer { + id.set("avior") + name.set("Avior") + email.set("contact@dze.io") + url.set("https://github.com/Aviortheking") } } + + scm { + url.set("https://github.com/tcgdex/java-sdk") + connection.set("scm:git:git://github.com/tcgdex/java-sdk.git") + developerConnection.set("scm:git:ssh://git@github.com/tcgdex/java-sdk.git") + } + + issueManagement { + system.set("GitHub Issues") + url.set("https://github.com/tcgdex/java-sdk/issues") + } } } From f04c60544b76d00fa977dc45d6adcf2f2c9ecc00 Mon Sep 17 00:00:00 2001 From: Avior Date: Wed, 11 Mar 2026 12:10:14 +0100 Subject: [PATCH 2/9] update build versions (it is still built for java 8) --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 3650654..f295468 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -25,7 +25,7 @@ jobs: strategy: matrix: # follows https://en.wikipedia.org/wiki/Java_version_history#Release_table - java-versions: ['8', '11', '17', '21'] + java-versions: ['11', '17', '21', '25'] steps: - name: Checkout From ccf2b66a3c947a4bc3c076fbe0299002bf708354 Mon Sep 17 00:00:00 2001 From: Avior Date: Wed, 11 Mar 2026 14:24:34 +0100 Subject: [PATCH 3/9] chore: select correct gradle version --- .github/workflows/build.yml | 17 +++++++++++++---- gradle/wrapper/gradle-wrapper.properties | 3 ++- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index f295468..80e78af 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -25,18 +25,27 @@ jobs: strategy: matrix: # follows https://en.wikipedia.org/wiki/Java_version_history#Release_table - java-versions: ['11', '17', '21', '25'] + versions: [ + { java: '11', gradle: 'wrapper' }, + { java: '17', gradle: 'wrapper' }, + { java: '21', gradle: 'wrapper' }, + { java: '25', gradle: 'current' }, + ] steps: - name: Checkout uses: actions/checkout@v4 - - name: Set up Java ${{ matrix.java-versions }} + - name: Set up Java ${{ matrix.versions.java }} uses: actions/setup-java@v4 with: - java-version: ${{ matrix.java-versions }} + java-version: ${{ matrix.versions.java }} distribution: 'temurin' - cache: 'gradle' + + - name: Setup Gradle ${{ matrix.versions.gradle }} + uses: gradle/actions/setup-gradle@v5 + with: + gradle-version: ${{ matrix.versions.gradle }} - name: Build & Test uses: gradle/gradle-build-action@v3 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index a595206..094fb91 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,6 @@ +#Wed Mar 11 13:36:49 CET 2026 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.14-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists From d9acf38925e79ffed4de17bc5fa8f569fe4c7ee5 Mon Sep 17 00:00:00 2001 From: Avior Date: Wed, 11 Mar 2026 14:26:43 +0100 Subject: [PATCH 4/9] am I getting crazy ? YES --- .github/workflows/build.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 80e78af..c413ddc 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -48,6 +48,4 @@ jobs: gradle-version: ${{ matrix.versions.gradle }} - name: Build & Test - uses: gradle/gradle-build-action@v3 - with: - arguments: build test + run: ./gradlew build test From de648ec462f0a7e3998a2c440a1a4819c4d1724a Mon Sep 17 00:00:00 2001 From: Avior Date: Wed, 11 Mar 2026 14:29:21 +0100 Subject: [PATCH 5/9] a --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index c413ddc..ebf70fc 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -48,4 +48,4 @@ jobs: gradle-version: ${{ matrix.versions.gradle }} - name: Build & Test - run: ./gradlew build test + run: gradle build test From 1a66feec4981c92f3d30dd646474b67ea6853e05 Mon Sep 17 00:00:00 2001 From: Avior Date: Wed, 11 Mar 2026 14:30:42 +0100 Subject: [PATCH 6/9] s --- .github/workflows/build.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index ebf70fc..71b7138 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -26,9 +26,9 @@ jobs: matrix: # follows https://en.wikipedia.org/wiki/Java_version_history#Release_table versions: [ - { java: '11', gradle: 'wrapper' }, - { java: '17', gradle: 'wrapper' }, - { java: '21', gradle: 'wrapper' }, + { java: '11', gradle: '8.14.3' }, + { java: '17', gradle: '8.14.3' }, + { java: '21', gradle: '8.14.3' }, { java: '25', gradle: 'current' }, ] From 0886d6c7c29e5476f9c1c78f727629b9a2d10cdf Mon Sep 17 00:00:00 2001 From: Avior Date: Wed, 11 Mar 2026 14:33:45 +0100 Subject: [PATCH 7/9] a --- .github/workflows/build.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 71b7138..8c5146d 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -27,8 +27,8 @@ jobs: # follows https://en.wikipedia.org/wiki/Java_version_history#Release_table versions: [ { java: '11', gradle: '8.14.3' }, - { java: '17', gradle: '8.14.3' }, - { java: '21', gradle: '8.14.3' }, + { java: '17', gradle: 'current' }, + { java: '21', gradle: 'current' }, { java: '25', gradle: 'current' }, ] @@ -48,4 +48,4 @@ jobs: gradle-version: ${{ matrix.versions.gradle }} - name: Build & Test - run: gradle build test + run: gradle build test --stacktrace From a5e4418d7b1cf83fa17ba3ba7552b883b88462f8 Mon Sep 17 00:00:00 2001 From: Avior Date: Wed, 11 Mar 2026 14:36:17 +0100 Subject: [PATCH 8/9] .d --- build.gradle.kts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index f7b6f82..14c0510 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -78,9 +78,9 @@ java { } // Javadocs -val javadocJar = tasks.named("javadocJar") { - from(tasks.named("dokkaJavadoc")) -} +// val javadocJar = tasks.named("javadocJar") { +// from(tasks.named("dokkaJavadoc")) +// } mavenPublishing { From c991497c1999dc9f540ab26ddebe172814994214 Mon Sep 17 00:00:00 2001 From: Avior Date: Wed, 11 Mar 2026 14:39:50 +0100 Subject: [PATCH 9/9] use java 17 --- .github/workflows/publish-maven.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/publish-maven.yml b/.github/workflows/publish-maven.yml index b62c1f2..8cf0625 100644 --- a/.github/workflows/publish-maven.yml +++ b/.github/workflows/publish-maven.yml @@ -14,10 +14,10 @@ jobs: - name: Checkout uses: actions/checkout@v4 - - 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: gradle