Skip to content

Commit

Permalink
Add auto publishing gradle plugin
Browse files Browse the repository at this point in the history
  • Loading branch information
booky10 committed Oct 2, 2024
1 parent 4460b54 commit 8c694c1
Show file tree
Hide file tree
Showing 3 changed files with 76 additions and 1 deletion.
30 changes: 30 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: Release
on:
workflow_dispatch:

permissions:
contents: write

jobs:
release:
name: Publish Release
runs-on: ubuntu-24.04

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Validate gradle wrapper
uses: gradle/actions/wrapper-validation@v3

- name: Setup java 21
uses: actions/setup-java@v4
with:
java-version: 21
distribution: temurin

- name: Publish plugin
env:
GITHUB_API_TOKEN: ${{ github.token }}
MODRINTH_API_TOKEN: ${{ secrets.MODRINTH_PUBLISH_TOKEN }}
run: ./gradlew publishMods --no-daemon -PnoDryPublish
46 changes: 45 additions & 1 deletion build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,14 +1,16 @@
import me.modmuss50.mpp.PublishModTask

plugins {
id("java-library")
id("maven-publish")

id("net.minecrell.plugin-yml.bukkit") version "0.6.0"
id("xyz.jpenilla.run-paper") version "2.3.1"
id("com.gradleup.shadow") version "8.3.0"
id("me.modmuss50.mod-publish-plugin") version "0.7.4"
}

group = "dev.booky"
version = "1.1.5-SNAPSHOT"

repositories {
maven("https://repo.cloudcraftmc.de/public/")
Expand Down Expand Up @@ -70,3 +72,45 @@ tasks {
dependsOn(shadowJar)
}
}

publishMods {
val repositoryName = "CloudCraftProjects/CloudChat"
file = tasks.shadowJar.flatMap { it.archiveFile }.get()
changelog = "See https://github.com/$repositoryName/releases/tag/v${project.version}"
type = if (project.version.toString().endsWith("-SNAPSHOT")) BETA else STABLE
additionalFiles.from(tasks.named<Jar>("sourcesJar").flatMap { it.archiveFile }.get())
dryRun = !hasProperty("noDryPublish")

github {
accessToken = providers.environmentVariable("GITHUB_API_TOKEN")
.orElse(providers.gradleProperty("ccGithubToken"))

displayName = "${rootProject.name} v${project.version}"

repository = repositoryName
commitish = "master"
tagName = "v${project.version}"

if (project != rootProject) {
parent(rootProject.tasks.named("publishGithub"))
}
}
modrinth {
accessToken = providers.environmentVariable("MODRINTH_API_TOKEN")
.orElse(providers.gradleProperty("ccModrinthToken"))

displayName = "${rootProject.name} v${project.version}"
modLoaders.add("paper")

projectId = "JIftXlPn"
minecraftVersionRange {
start = "1.20.6"
end = "latest"
}
}
}

tasks.withType<PublishModTask> {
dependsOn(tasks.shadowJar)
dependsOn(tasks.named<Jar>("sourcesJar"))
}
1 change: 1 addition & 0 deletions gradle.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
version=1.1.5

0 comments on commit 8c694c1

Please sign in to comment.