1
+ import com.matthewprenger.cursegradle.CurseArtifact
2
+ import com.matthewprenger.cursegradle.CurseProject
3
+ import com.matthewprenger.cursegradle.CurseRelation
1
4
import org.jetbrains.dokka.base.DokkaBase
2
5
import org.jetbrains.dokka.base.DokkaBaseConfiguration
3
6
import org.jetbrains.dokka.gradle.AbstractDokkaLeafTask
@@ -19,6 +22,8 @@ plugins {
19
22
alias(libs.plugins.git.hooks)
20
23
alias(libs.plugins.dokka)
21
24
alias(libs.plugins.binary.compatibility)
25
+ alias(libs.plugins.minotaur)
26
+ alias(libs.plugins.cursegradle)
22
27
`maven- publish`
23
28
}
24
29
@@ -31,7 +36,7 @@ buildscript {
31
36
group = " org.quiltmc"
32
37
val rootVersion = project.version
33
38
val flkVersion: String by project
34
- version = project.version.toString() + " + kt." + project.libs.versions.kotlin.orNull + " + flk." + flkVersion
39
+ version = " ${ project.version} + kt.${ project.libs.versions.kotlin.orNull} + flk.$ flkVersion"
35
40
val projectVersion = project.version as String + if (System .getenv(" SNAPSHOTS_URL" ) != null && System .getenv(" MAVEN_URL" ) == null ) " -SNAPSHOT" else " "
36
41
37
42
val javaVersion = 17 // The current version of Java used by Minecraft
@@ -270,3 +275,53 @@ gitHooks {
270
275
apiValidation {
271
276
ignoredProjects.addAll(listOf (" quilt-kotlin-libraries" , " core" ))
272
277
}
278
+
279
+ curseforge {
280
+ System .getenv(" CURSEFORGE_TOKEN" )?.let { apiKey = it }
281
+
282
+ project(closureOf<CurseProject > {
283
+ id = " 720410"
284
+ releaseType = " release"
285
+ addGameVersion(libs.versions.minecraft.get())
286
+ addGameVersion(" Quilt" )
287
+
288
+ changelog = System .getenv(" CHANGELOG" ) ? : " No changelog provided."
289
+ changelogType = " markdown"
290
+
291
+ mainArtifact(tasks.remapJar.get(), closureOf<CurseArtifact > {
292
+ displayName = " QKL $rootVersion + FLK $flkVersion + Kotlin ${project.libs.versions.kotlin.orNull} "
293
+ })
294
+ addArtifact(project(" :core" ).tasks.remapJar.get())
295
+
296
+ relations(closureOf<CurseRelation > {
297
+ requiredDependency(" qsl" )
298
+ embeddedLibrary(" fabric-language-kotlin" )
299
+ })
300
+ })
301
+
302
+ curseGradleOptions.forgeGradleIntegration = false
303
+ }
304
+
305
+ tasks.curseforge.get().dependsOn(tasks.remapJar)
306
+ tasks.curseforge.get().dependsOn(project(" :core" ).tasks.remapJar)
307
+
308
+ modrinth {
309
+ token.set(System .getenv(" MODRINTH_TOKEN" ))
310
+
311
+ projectId.set(" qkl" )
312
+ versionName.set(" QKL $rootVersion + FLK $flkVersion + Kotlin ${project.libs.versions.kotlin.orNull} " )
313
+ versionType.set(" release" )
314
+
315
+ changelog.set(System .getenv(" CHANGELOG" ) ? : " No changelog provided." )
316
+
317
+ file.set(tasks.remapJar.get().archiveFile)
318
+ additionalFiles.add(project(" :core" ).tasks.remapJar.get().archiveFile)
319
+
320
+ dependencies {
321
+ required.project(" qsl" )
322
+ embedded.project(" fabric-language-kotlin" )
323
+ }
324
+ }
325
+
326
+ tasks.modrinth.get().dependsOn(tasks.remapJar)
327
+ tasks.modrinth.get().dependsOn(project(" :core" ).tasks.remapJar)
0 commit comments