Don't require a mod to be on modrinth/curseforge

This commit is contained in:
Johannes Frohnmeyer 2021-11-30 19:14:42 +00:00
parent 3d7a093a6a
commit 4ebc097bde
1 changed files with 62 additions and 47 deletions

View File

@ -15,10 +15,13 @@ buildscript {
}
}
ext.curseforgeAvailable = project.hasProperty("curseforge_id")
ext.modrinthAvailable = project.hasProperty("modrinth_id")
apply plugin: 'idea'
apply plugin: 'java-library'
apply plugin: 'maven-publish'
apply plugin: com.matthewprenger.cursegradle.CurseGradlePlugin
if (ext.curseforgeAvailable) apply plugin: com.matthewprenger.cursegradle.CurseGradlePlugin
apply plugin: com.modrinth.minotaur.Minotaur
apply plugin: org.ajoberstar.grgit.gradle.GrgitPlugin
@ -293,62 +296,74 @@ dependencies {
}
}
task modrinth(type: com.modrinth.minotaur.TaskModrinthUpload, dependsOn: build) {
token = System.getenv().MODRINTH_API_TOKEN
projectId = project.modrinth_id
versionNumber = version
versionName = "[${project.minecraft_version}] ${version}"
versionType = project.ext.currentType
changelog = changelogStr
uploadFile = file("${project.buildDir}/libs/${archivesBaseName}-${version}.jar")
addGameVersion("${project.minecraft_version}")
addLoader('fabric')
if (!project.ext.modrinth_required_dependencies.isEmpty()) {
project.ext.modrinth_required_dependencies.split(", ").each {
String dep -> addDependency(dep, com.modrinth.minotaur.request.Dependency.DependencyType.REQUIRED)
if (ext.modrinthAvailable) {
task modrinth(type: com.modrinth.minotaur.TaskModrinthUpload, dependsOn: build) {
token = System.getenv().MODRINTH_API_TOKEN
projectId = project.modrinth_id
versionNumber = version
versionName = "[${project.minecraft_version}] ${version}"
versionType = project.ext.currentType
changelog = changelogStr
uploadFile = file("${project.buildDir}/libs/${archivesBaseName}-${version}.jar")
addGameVersion("${project.minecraft_version}")
addLoader('fabric')
if (!project.ext.modrinth_required_dependencies.isEmpty()) {
project.ext.modrinth_required_dependencies.split(", ").each {
String dep -> addDependency(dep, com.modrinth.minotaur.request.Dependency.DependencyType.REQUIRED)
}
}
if (!project.ext.modrinth_optional_dependencies.isEmpty()) {
project.ext.modrinth_optional_dependencies.split(", ").each {
String dep -> addDependency(dep, com.modrinth.minotaur.request.Dependency.DependencyType.OPTIONAL)
}
}
}
if (!project.ext.modrinth_optional_dependencies.isEmpty()) {
project.ext.modrinth_optional_dependencies.split(", ").each {
String dep -> addDependency(dep, com.modrinth.minotaur.request.Dependency.DependencyType.OPTIONAL)
}
}
else {
task modrinth() {
}
}
curseforge {
if (System.getenv().CURSEFORGE_API_TOKEN) {
apiKey = System.getenv().CURSEFORGE_API_TOKEN
} else {
println "No CURSEFORGE_API_TOKEN specified"
}
project {
id = project.curseforge_id
releaseType = 'release'
addGameVersion "Fabric"
addGameVersion "${project.minecraft_version}"
changelog = changelogStr
mainArtifact(file("${project.buildDir}/libs/${archivesBaseName}-${version}.jar"))
mainArtifact.displayName = "[${project.minecraft_version}] ${version}"
if (!project.ext.curseforge_required_dependencies.isEmpty() || !project.ext.curseforge_optional_dependencies.isEmpty()) {
relations {
if (!project.ext.curseforge_required_dependencies.isEmpty()) {
project.ext.curseforge_required_dependencies.split(", ").each {
String dep -> requiredDependency dep
if (ext.curseforgeAvailable) {
curseforge {
if (System.getenv().CURSEFORGE_API_TOKEN) {
apiKey = System.getenv().CURSEFORGE_API_TOKEN
} else {
println "No CURSEFORGE_API_TOKEN specified"
}
project {
id = project.curseforge_id
releaseType = 'release'
addGameVersion "Fabric"
addGameVersion "${project.minecraft_version}"
changelog = changelogStr
mainArtifact(file("${project.buildDir}/libs/${archivesBaseName}-${version}.jar"))
mainArtifact.displayName = "[${project.minecraft_version}] ${version}"
if (!project.ext.curseforge_required_dependencies.isEmpty() || !project.ext.curseforge_optional_dependencies.isEmpty()) {
relations {
if (!project.ext.curseforge_required_dependencies.isEmpty()) {
project.ext.curseforge_required_dependencies.split(", ").each {
String dep -> requiredDependency dep
}
}
}
if (!project.ext.curseforge_optional_dependencies.isEmpty()) {
project.ext.curseforge_optional_dependencies.split(", ").each {
String dep -> optionalDependency dep
if (!project.ext.curseforge_optional_dependencies.isEmpty()) {
project.ext.curseforge_optional_dependencies.split(", ").each {
String dep -> optionalDependency dep
}
}
}
}
releaseType = project.ext.currentType.toString().toLowerCase()
afterEvaluate {
uploadTask.dependsOn(build)
}
}
releaseType = project.ext.currentType.toString().toLowerCase()
afterEvaluate {
uploadTask.dependsOn(build)
options {
forgeGradleIntegration = false
}
}
options {
forgeGradleIntegration = false
}
}
else {
task curseforge() {
}
}