1
+ import org.jetbrains.changelog.Changelog
2
+
1
3
plugins {
2
4
java
3
5
id(" maven-publish" )
4
6
id(" fabric-loom" ) version " 1.7.+"
5
7
kotlin(" jvm" ) version " 2.0.20"
6
8
id(" io.github.goooler.shadow" ) version " 8.1.7"
7
9
kotlin(" plugin.serialization" ) version " 2.0.20"
10
+ id(" me.modmuss50.mod-publish-plugin" ) version " 0.7.4"
11
+ id(" org.jetbrains.changelog" ) version " 2.+"
8
12
}
9
13
10
14
configurations.implementation.get().extendsFrom(configurations.shadow.get())
@@ -19,7 +23,7 @@ allprojects {
19
23
20
24
base.archivesName.set(modId)
21
25
group = mavenGroup
22
- version = " $modVersion${getVersionMetadata()} "
26
+ version = " $modVersion + ${rootProject.libs.versions.minecraft.get()} ${getVersionMetadata()}"
23
27
24
28
java {
25
29
sourceCompatibility = JavaVersion .VERSION_21
@@ -118,6 +122,33 @@ dependencies {
118
122
}
119
123
}
120
124
125
+ publishMods {
126
+ file.set(tasks.remapJar.get().archiveFile)
127
+ type.set(STABLE )
128
+ changelog.set(fetchChangelog())
129
+
130
+ displayName.set(" Blockbot ${version.get()} " )
131
+ modLoaders.add(" fabric" )
132
+ modLoaders.add(" quilt" )
133
+
134
+ val minecraftVersion = rootProject.libs.versions.minecraft.get()
135
+ curseforge {
136
+ accessToken.set(providers.environmentVariable(" CF_API_TOKEN" ))
137
+ projectId.set(" 482904" )
138
+ minecraftVersions.add(minecraftVersion)
139
+ }
140
+ modrinth {
141
+ accessToken.set(providers.environmentVariable(" MODRINTH_TOKEN" ))
142
+ projectId.set(" yKZ9outG" )
143
+ minecraftVersions.add(minecraftVersion)
144
+ }
145
+ github {
146
+ accessToken.set(providers.environmentVariable(" GITHUB_TOKEN" ))
147
+ repository.set(providers.environmentVariable(" GITHUB_REPOSITORY" ).getOrElse(" QuiltServerTools/dryrun" ))
148
+ commitish.set(providers.environmentVariable(" GITHUB_REF_NAME" ).getOrElse(" dryrun" ))
149
+ }
150
+ }
151
+
121
152
tasks {
122
153
remapJar {
123
154
dependsOn(shadowJar)
@@ -200,3 +231,16 @@ fun getVersionMetadata(): String {
200
231
// No tracking information could be found about the build
201
232
return " "
202
233
}
234
+
235
+ private fun fetchChangelog (): String {
236
+ val changelog = tasks.getChangelog.get().changelog.get()
237
+ val modVersion: String by project
238
+ return if (changelog.has(modVersion)) {
239
+ changelog.renderItem(
240
+ changelog.get(modVersion).withHeader(false ),
241
+ Changelog .OutputType .MARKDOWN
242
+ )
243
+ } else {
244
+ " "
245
+ }
246
+ }
0 commit comments