Scripts/jfmod/src/main/kotlin/jfmod.curseforge.gradle.kts
JFronny c88155651c
All checks were successful
ci/woodpecker/push/gradle Pipeline was successful
ci/woodpecker/push/pages Pipeline was successful
feat: migrate to CurseForgeGradle
2024-08-02 19:20:33 +02:00

33 lines
1.2 KiB
Plaintext

import io.gitlab.jfronny.scripts.*
import net.darkhax.curseforgegradle.TaskPublishCurseForge
plugins {
id("jfmod")
id("net.darkhax.curseforgegradle")
}
val args = extensions.getByName("jfMod") as JfModExtension
val curseforge by tasks.registering(TaskPublishCurseForge::class) {
if (System.getenv().containsKey("CURSEFORGE_API_TOKEN")) {
val tk = System.getenv()["CURSEFORGE_API_TOKEN"]
if ("debug" == tk) debugMode = true
else apiToken = tk
} else println("No CURSEFORGE_API_TOKEN specified")
disableVersionDetection()
upload(args.curseforge.projectId.get(), tasks.remapJar.get()) {
releaseType = versionType.curseforgeName
addModLoader(args.loaderKind.get().curseforgeName)
addGameVersion(lom.minecraftVersion.get())
addJavaVersion("Java " + lom.javaVersion.get())
changelog = project.changelog
changelogType = "markdown"
displayName = "[${lom.minecraftVersion.get()}] $versionS"
addRequirement(*args.curseforge.requiredDependencies.getOrElse(listOf()).toTypedArray())
addOptional(*args.curseforge.optionalDependencies.getOrElse(listOf()).toTypedArray())
}
}
tasks.deployRelease.dependsOn(curseforge)