diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 0000000..572c593 --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,30 @@ +name: Publish CakeStickLib + +on: + release: + types: [created] + +jobs: + publish: + runs-on: ubuntu-latest + + permissions: + contents: read + packages: write + + steps: + - uses: actions/checkout@v4 + + - name: Setup JDK 25 + uses: actions/setup-java@v4 + with: + java-version: '25' + distribution: temurin + + - name: Setup Gradle + uses: gradle/actions/setup-gradle@v4 + + - name: Publish + run: ./gradlew publish + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file diff --git a/build.gradle b/build.gradle index d07498c..99c7bcc 100644 --- a/build.gradle +++ b/build.gradle @@ -70,16 +70,25 @@ sourceSets.main.resources.srcDir generateModMetadata // To avoid having to run "generateModMetadata" manually, make it run on every project reload neoForge.ideSyncTask generateModMetadata -// Example configuration to allow publishing using the maven-publish plugin publishing { publications { - register('mavenJava', MavenPublication) { + mavenJava(MavenPublication) { from components.java } } + repositories { maven { - url = uri("${project.projectDir}/repo") + name = "GitHubPackages" + + url = uri( + "https://maven.pkg.github.com/DevDyna/CakeStickLib" + ) + + credentials { + username = System.getenv("GITHUB_ACTOR") + password = System.getenv("GITHUB_TOKEN") + } } } }