forked from Clones/Controlify
🐘 Migrate to modmuss50 mod publish plugin
This commit is contained in:
116
build.gradle.kts
116
build.gradle.kts
@ -1,14 +1,10 @@
|
|||||||
import com.github.breadmoirai.githubreleaseplugin.GithubReleaseTask
|
|
||||||
|
|
||||||
plugins {
|
plugins {
|
||||||
java
|
java
|
||||||
|
|
||||||
alias(libs.plugins.loom)
|
alias(libs.plugins.loom)
|
||||||
alias(libs.plugins.loom.quiltflower)
|
alias(libs.plugins.loom.quiltflower)
|
||||||
|
|
||||||
alias(libs.plugins.minotaur)
|
alias(libs.plugins.mod.publish.plugin)
|
||||||
alias(libs.plugins.cursegradle)
|
|
||||||
alias(libs.plugins.github.release)
|
|
||||||
alias(libs.plugins.machete)
|
alias(libs.plugins.machete)
|
||||||
alias(libs.plugins.grgit)
|
alias(libs.plugins.grgit)
|
||||||
alias(libs.plugins.blossom)
|
alias(libs.plugins.blossom)
|
||||||
@ -17,7 +13,9 @@ plugins {
|
|||||||
|
|
||||||
group = "dev.isxander"
|
group = "dev.isxander"
|
||||||
version = "1.4.4+1.20"
|
version = "1.4.4+1.20"
|
||||||
|
val isAlpha = "alpha" in version.toString()
|
||||||
val isBeta = "beta" in version.toString()
|
val isBeta = "beta" in version.toString()
|
||||||
|
if (isAlpha) println("Alpha version detected.")
|
||||||
if (isBeta) println("Beta version detected.")
|
if (isBeta) println("Beta version detected.")
|
||||||
|
|
||||||
repositories {
|
repositories {
|
||||||
@ -161,89 +159,63 @@ tasks {
|
|||||||
register("releaseMod") {
|
register("releaseMod") {
|
||||||
group = "mod"
|
group = "mod"
|
||||||
|
|
||||||
dependsOn("modrinth")
|
dependsOn("publishMods")
|
||||||
dependsOn("modrinthSyncBody")
|
|
||||||
dependsOn("curseforge")
|
|
||||||
dependsOn("publish")
|
dependsOn("publish")
|
||||||
dependsOn("githubRelease")
|
|
||||||
}
|
|
||||||
|
|
||||||
named("modrinth") {
|
|
||||||
dependsOn("optimizeOutputsOfRemapJar")
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
val changelogText = file("changelogs/${project.version}.md").takeIf { it.exists() }?.readText() ?: "No changelog provided."
|
publishMods {
|
||||||
|
file.set(tasks.remapJar.get().archiveFile)
|
||||||
|
changelog.set(
|
||||||
|
file("changelogs/${project.version}.md")
|
||||||
|
.takeIf { it.exists() }
|
||||||
|
?.readText()
|
||||||
|
?: "No changelog provided."
|
||||||
|
)
|
||||||
|
type.set(when {
|
||||||
|
isAlpha -> ALPHA
|
||||||
|
isBeta -> BETA
|
||||||
|
else -> STABLE
|
||||||
|
})
|
||||||
|
modLoaders.add("fabric")
|
||||||
|
|
||||||
val modrinthId: String by project
|
// modrinth and curseforge use different formats for snapshots. this can be expressed globally
|
||||||
if (modrinthId.isNotEmpty()) {
|
val stableMCVersions = listOf("1.20", "1.20.1")
|
||||||
|
|
||||||
|
val modrinthId: String by project
|
||||||
|
if (modrinthId.isNotBlank() && hasProperty("modrinth.token")) {
|
||||||
modrinth {
|
modrinth {
|
||||||
token.set(findProperty("modrinth.token")?.toString())
|
|
||||||
projectId.set(modrinthId)
|
projectId.set(modrinthId)
|
||||||
versionNumber.set("${project.version}")
|
accessToken.set(findProperty("modrinth.token")?.toString())
|
||||||
versionType.set(if (isBeta) "beta" else "release")
|
minecraftVersions.addAll(stableMCVersions)
|
||||||
uploadFile.set(tasks["remapJar"])
|
|
||||||
gameVersions.set(listOf("1.20", "1.20.1"))
|
|
||||||
loaders.set(listOf("fabric", "quilt"))
|
|
||||||
changelog.set(changelogText)
|
|
||||||
syncBodyFrom.set(file(".github/README.md").readText())
|
|
||||||
|
|
||||||
dependencies {
|
requires { projectId.set("fabric-api") }
|
||||||
required.project("yacl")
|
requires { projectId.set("yacl") }
|
||||||
required.project("fabric-api")
|
optional { projectId.set("modmenu") }
|
||||||
optional.project("modmenu")
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
val curseforgeId: String by project
|
val curseforgeId: String by project
|
||||||
if (hasProperty("curseforge.token") && curseforgeId.isNotEmpty()) {
|
if (curseforgeId.isNotBlank() && hasProperty("curseforge.token")) {
|
||||||
curseforge {
|
curseforge {
|
||||||
apiKey = findProperty("curseforge.token")
|
projectId.set(curseforgeId)
|
||||||
project(closureOf<me.hypherionmc.cursegradle.CurseProject> {
|
accessToken.set(findProperty("curseforge.token")?.toString())
|
||||||
mainArtifact(tasks["remapJar"], closureOf<me.hypherionmc.cursegradle.CurseArtifact> {
|
minecraftVersions.addAll(stableMCVersions)
|
||||||
displayName = "${project.version}"
|
|
||||||
})
|
|
||||||
|
|
||||||
id = curseforgeId
|
requires { slug.set("fabric-api") }
|
||||||
releaseType = if (isBeta) "beta" else "release"
|
requires { slug.set("yacl") }
|
||||||
addGameVersion("1.20")
|
optional { slug.set("modmenu") }
|
||||||
addGameVersion("1.20.1")
|
}
|
||||||
addGameVersion("Fabric")
|
|
||||||
addGameVersion("Java 17")
|
|
||||||
|
|
||||||
changelog = changelogText
|
|
||||||
changelogType = "markdown"
|
|
||||||
|
|
||||||
relations(closureOf<me.hypherionmc.cursegradle.CurseRelation> {
|
|
||||||
requiredDependency("fabric-api")
|
|
||||||
requiredDependency("yacl")
|
|
||||||
optionalDependency("modmenu")
|
|
||||||
})
|
|
||||||
})
|
|
||||||
|
|
||||||
options(closureOf<me.hypherionmc.cursegradle.Options> {
|
|
||||||
forgeGradleIntegration = false
|
|
||||||
fabricIntegration = false
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
githubRelease {
|
|
||||||
token(findProperty("github.token")?.toString())
|
|
||||||
|
|
||||||
val githubProject: String by project
|
val githubProject: String by project
|
||||||
val split = githubProject.split("/")
|
if (githubProject.isNotBlank() && hasProperty("github.token")) {
|
||||||
owner(split[0])
|
github {
|
||||||
repo(split[1])
|
repository.set(githubProject)
|
||||||
tagName("${project.version}")
|
accessToken.set(findProperty("github.token")?.toString())
|
||||||
targetCommitish(grgit.branch.current().name)
|
commitish.set(grgit.branch.current().name)
|
||||||
body(changelogText)
|
}
|
||||||
releaseAssets(tasks["remapJar"].outputs.files)
|
}
|
||||||
}
|
|
||||||
|
|
||||||
tasks.getByName<GithubReleaseTask>("githubRelease") {
|
|
||||||
dependsOn("optimizeOutputsOfRemapJar")
|
|
||||||
}
|
}
|
||||||
|
|
||||||
publishing {
|
publishing {
|
||||||
|
@ -1,17 +1,15 @@
|
|||||||
[versions]
|
[versions]
|
||||||
loom = "1.2.+"
|
loom = "1.2.+"
|
||||||
loom_quiltflower = "1.8.+"
|
loom_quiltflower = "1.8.+"
|
||||||
minotaur = "2.7.+"
|
mod_publish_plugin = "0.1.+"
|
||||||
cursegradle = "2.+"
|
|
||||||
github_release = "2.+"
|
|
||||||
machete = "2.+"
|
machete = "2.+"
|
||||||
grgit = "5.0.+"
|
grgit = "5.0.+"
|
||||||
blossom = "1.3.+"
|
blossom = "1.3.+"
|
||||||
|
|
||||||
minecraft = "1.20.1"
|
minecraft = "1.20.1"
|
||||||
quilt_mappings = "13"
|
quilt_mappings = "20"
|
||||||
fabric_loader = "0.14.21"
|
fabric_loader = "0.14.21"
|
||||||
fabric_api = "0.85.0+1.20.1"
|
fabric_api = "0.86.0+1.20.1"
|
||||||
mixin_extras = "0.2.0-beta.8"
|
mixin_extras = "0.2.0-beta.8"
|
||||||
yet_another_config_lib = "3.0.3+1.20"
|
yet_another_config_lib = "3.0.3+1.20"
|
||||||
mod_menu = "7.0.0"
|
mod_menu = "7.0.0"
|
||||||
@ -43,9 +41,7 @@ test_fabric_loader = { module = "net.fabricmc:fabric-loader-junit", version.ref
|
|||||||
loom = { id = "fabric-loom", version.ref = "loom" }
|
loom = { id = "fabric-loom", version.ref = "loom" }
|
||||||
loom_quiltflower = { id = "io.github.juuxel.loom-quiltflower", version.ref = "loom_quiltflower" }
|
loom_quiltflower = { id = "io.github.juuxel.loom-quiltflower", version.ref = "loom_quiltflower" }
|
||||||
|
|
||||||
minotaur = { id = "com.modrinth.minotaur", version.ref = "minotaur" }
|
mod_publish_plugin = { id = "me.modmuss50.mod-publish-plugin", version.ref = "mod_publish_plugin" }
|
||||||
cursegradle = { id = "me.hypherionmc.cursegradle", version.ref = "cursegradle" }
|
|
||||||
github_release = { id = "com.github.breadmoirai.github-release", version.ref = "github_release" }
|
|
||||||
machete = { id = "io.github.p03w.machete", version.ref = "machete" }
|
machete = { id = "io.github.p03w.machete", version.ref = "machete" }
|
||||||
grgit = { id = "org.ajoberstar.grgit", version.ref = "grgit" }
|
grgit = { id = "org.ajoberstar.grgit", version.ref = "grgit" }
|
||||||
blossom = { id = "net.kyori.blossom", version.ref = "blossom" }
|
blossom = { id = "net.kyori.blossom", version.ref = "blossom" }
|
||||||
|
Reference in New Issue
Block a user