Skip to content

Commit 8c694c1

Browse files
committed
Add auto publishing gradle plugin
1 parent 4460b54 commit 8c694c1

File tree

3 files changed

+76
-1
lines changed

3 files changed

+76
-1
lines changed

.github/workflows/release.yml

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
name: Release
2+
on:
3+
workflow_dispatch:
4+
5+
permissions:
6+
contents: write
7+
8+
jobs:
9+
release:
10+
name: Publish Release
11+
runs-on: ubuntu-24.04
12+
13+
steps:
14+
- name: Checkout code
15+
uses: actions/checkout@v4
16+
17+
- name: Validate gradle wrapper
18+
uses: gradle/actions/wrapper-validation@v3
19+
20+
- name: Setup java 21
21+
uses: actions/setup-java@v4
22+
with:
23+
java-version: 21
24+
distribution: temurin
25+
26+
- name: Publish plugin
27+
env:
28+
GITHUB_API_TOKEN: ${{ github.token }}
29+
MODRINTH_API_TOKEN: ${{ secrets.MODRINTH_PUBLISH_TOKEN }}
30+
run: ./gradlew publishMods --no-daemon -PnoDryPublish

build.gradle.kts

Lines changed: 45 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,16 @@
1+
import me.modmuss50.mpp.PublishModTask
2+
13
plugins {
24
id("java-library")
35
id("maven-publish")
46

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

1013
group = "dev.booky"
11-
version = "1.1.5-SNAPSHOT"
1214

1315
repositories {
1416
maven("https://repo.cloudcraftmc.de/public/")
@@ -70,3 +72,45 @@ tasks {
7072
dependsOn(shadowJar)
7173
}
7274
}
75+
76+
publishMods {
77+
val repositoryName = "CloudCraftProjects/CloudChat"
78+
file = tasks.shadowJar.flatMap { it.archiveFile }.get()
79+
changelog = "See https://github.com/$repositoryName/releases/tag/v${project.version}"
80+
type = if (project.version.toString().endsWith("-SNAPSHOT")) BETA else STABLE
81+
additionalFiles.from(tasks.named<Jar>("sourcesJar").flatMap { it.archiveFile }.get())
82+
dryRun = !hasProperty("noDryPublish")
83+
84+
github {
85+
accessToken = providers.environmentVariable("GITHUB_API_TOKEN")
86+
.orElse(providers.gradleProperty("ccGithubToken"))
87+
88+
displayName = "${rootProject.name} v${project.version}"
89+
90+
repository = repositoryName
91+
commitish = "master"
92+
tagName = "v${project.version}"
93+
94+
if (project != rootProject) {
95+
parent(rootProject.tasks.named("publishGithub"))
96+
}
97+
}
98+
modrinth {
99+
accessToken = providers.environmentVariable("MODRINTH_API_TOKEN")
100+
.orElse(providers.gradleProperty("ccModrinthToken"))
101+
102+
displayName = "${rootProject.name} v${project.version}"
103+
modLoaders.add("paper")
104+
105+
projectId = "JIftXlPn"
106+
minecraftVersionRange {
107+
start = "1.20.6"
108+
end = "latest"
109+
}
110+
}
111+
}
112+
113+
tasks.withType<PublishModTask> {
114+
dependsOn(tasks.shadowJar)
115+
dependsOn(tasks.named<Jar>("sourcesJar"))
116+
}

gradle.properties

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
version=1.1.5

0 commit comments

Comments
 (0)