diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index e15234dd..9e3cb576 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -26,6 +26,9 @@ jobs: needs: tagpr if: needs.tagpr.outputs.tag != '' || github.event_name == 'workflow_dispatch' runs-on: ubuntu-latest + permissions: + contents: read + packages: write steps: - uses: actions/checkout@v4 - name: Set up JDK 21 @@ -33,12 +36,11 @@ jobs: with: distribution: temurin java-version: 21 + - name: Setup Gradle + uses: gradle/actions/setup-gradle@v4 - name: Test run: ./gradlew test - - name: Publish - run: ./gradlew publishAllPublicationsToMavenCentralRepository + - name: Publish to GitHub Packages + run: ./gradlew publish env: - ORG_GRADLE_PROJECT_mavenCentralUsername: ${{ secrets.SONATYPE_NEXUS_USERNAME }} - ORG_GRADLE_PROJECT_mavenCentralPassword: ${{ secrets.SONATYPE_NEXUS_PASSWORD }} - ORG_GRADLE_PROJECT_signingInMemoryKey: ${{ secrets.SIGNING_KEY }} - ORG_GRADLE_PROJECT_signingInMemoryKeyPassword: ${{ secrets.SIGNING_KEY_PASSWORD }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/README.md b/README.md index 266b9849..3f8bf033 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -![Maven Central](https://img.shields.io/maven-central/v/com.launchableinc.openai-java/client?color=blue) +[![GitHub Packages](https://img.shields.io/badge/GitHub%20Packages-Available-green)](https://github.com/launchableinc/openai-java/packages) > ⚠️OpenAI has deprecated all Engine-based APIs. > See [Deprecated Endpoints](https://github.com/launchableinc/openai-java#deprecated-endpoints) below diff --git a/api/build.gradle b/api/build.gradle index 054a90ae..481a1102 100644 --- a/api/build.gradle +++ b/api/build.gradle @@ -1,5 +1,4 @@ apply plugin: 'java-library' -apply plugin: "com.vanniktech.maven.publish" dependencies { api libs.jacksonAnnotations diff --git a/build.gradle b/build.gradle index cdf682dd..3b2381cb 100644 --- a/build.gradle +++ b/build.gradle @@ -1,13 +1,58 @@ plugins { - id "com.vanniktech.maven.publish" version "0.34.0" + id 'maven-publish' } -allprojects { - plugins.withId("com.vanniktech.maven.publish") { - mavenPublishing { - // Publish to Central Portal (new Maven Central publishing system) - publishToMavenCentral() - signAllPublications() +subprojects { + apply plugin: 'maven-publish' + + plugins.withId('java') { + publishing { + repositories { + maven { + name = "GitHubPackages" + url = "https://maven.pkg.github.com/launchableinc/openai-java" + credentials { + username = System.getenv("GITHUB_ACTOR") + password = System.getenv("GITHUB_TOKEN") + } + } + } + + publications { + maven(MavenPublication) { + from components.java + + groupId = 'com.launchableinc.openai-java' + artifactId = project.name + version = project.version + + pom { + name = 'OpenAI Java Client' + description = 'Java client library for OpenAI API' + url = 'https://github.com/launchableinc/openai-java' + + licenses { + license { + name = 'The MIT License' + url = 'https://www.mit.edu/~amini/LICENSE.md' + } + } + + developers { + developer { + id = 'engineering' + name = 'Engineering' + } + } + + scm { + connection = 'scm:git:git@github.com:launchableinc/openai-java.git' + developerConnection = 'scm:git:git@github.com:launchableinc/openai-java.git' + url = 'https://github.com/launchableinc/openai-java' + } + } + } + } } } } diff --git a/client/build.gradle b/client/build.gradle index 6bc08d7d..27119649 100644 --- a/client/build.gradle +++ b/client/build.gradle @@ -1,5 +1,4 @@ apply plugin: 'java-library' -apply plugin: "com.vanniktech.maven.publish" dependencies { api project(":api") diff --git a/service/build.gradle b/service/build.gradle index e9c74932..a1f95f74 100644 --- a/service/build.gradle +++ b/service/build.gradle @@ -1,5 +1,4 @@ apply plugin: 'java-library' -apply plugin: "com.vanniktech.maven.publish" dependencies { api project(":client")