Add rudimentary support for modrinth publishing (#263)

(cherry picked from commit 4da029729c)
Signed-off-by: Max <maxh2709@gmail.com>
This commit is contained in:
Max
2022-05-22 18:01:35 +02:00
parent 258d23c62e
commit 5d4a8d9506
6 changed files with 59 additions and 18 deletions

View File

@@ -71,5 +71,6 @@ jobs:
# GIT_PREVIOUS_COMMIT: ${{ github.event.before }}
MAVEN_PASS: ${{ secrets.MAVEN_PASS }}
CURSE_API_KEY: ${{ secrets.CURSE_API_KEY }}
MODRINTH_TOKEN: ${{ secrets.MODRINTH_TOKEN }}
with:
arguments: publish curseforge --stacktrace --no-daemon
arguments: publish curseforge modrinth --stacktrace --no-daemon

View File

@@ -1,3 +1,5 @@
import java.text.SimpleDateFormat
buildscript {
configurations.classpath {
resolutionStrategy.cacheChangingModulesFor 0, 'seconds'
@@ -9,6 +11,7 @@ plugins {
id "dev.architectury.loom" version "0.12.0-SNAPSHOT" apply false
id "org.cadixdev.licenser" version "0.6.1"
id "com.matthewprenger.cursegradle" version "1.4.0" apply false
id "com.modrinth.minotaur" version "2.2.0" apply false
id "maven-publish"
}
@@ -81,7 +84,7 @@ allprojects {
ext {
releaseChangelog = {
def dateFormat = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm")
def dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm")
dateFormat.setTimeZone(TimeZone.getTimeZone("UTC"))
def branch
if (System.env.BRANCH_NAME) {
@@ -115,5 +118,3 @@ allprojects {
task licenseFormatAll
subprojects { p -> licenseFormatAll.dependsOn("${p.path}:licenseFormat") }
task curseforgePublish

View File

@@ -1,6 +1,7 @@
plugins {
id "com.github.johnrengelman.shadow" version "7.1.2"
id "com.matthewprenger.cursegradle"
id "com.modrinth.minotaur"
}
loom {
@@ -99,11 +100,12 @@ publishing {
}
curseforge {
if (project.hasProperty("CURSE_API_KEY") || System.getenv("CURSE_API_KEY") != null) {
apiKey = project.hasProperty("CURSE_API_KEY") ? project.property("CURSE_API_KEY") : System.getenv("CURSE_API_KEY")
var CURSE_API_KEY = project.findProperty("CURSE_API_KEY") ?: System.getenv("CURSE_API_KEY")
if (CURSE_API_KEY != null) {
apiKey = CURSE_API_KEY
project {
id = "419699"
releaseType = "$rootProject.cf_type"
id = rootProject.curseforge_id
releaseType = "$rootProject.artifact_type"
changelogType = "html"
changelog = releaseChangelog()
addGameVersion "1.19-Snapshot"
@@ -126,4 +128,21 @@ curseforge {
}
}
rootProject.tasks.getByName("curseforgePublish").dependsOn tasks.getByName("curseforge")
modrinth {
var MODRINTH_TOKEN = project.findProperty("MODRINTH_TOKEN") ?: System.getenv("MODRINTH_TOKEN")
if (MODRINTH_TOKEN != null) {
token = MODRINTH_TOKEN
projectId = rootProject.modrinth_id
versionType = "$rootProject.artifact_type"
versionNumber = "$project.version+$project.name"
versionName = "[Fabric $rootProject.supported_version] v$project.version"
changelog = releaseChangelog()
uploadFile = remapJar
gameVersions = ["1.19-pre1"]
loaders = ["fabric"]
dependencies {
// TODO: move to slugs if that functionality becomes available in minotaur
required.project("P7dR8mSH") // Fabric API
}
}
}

View File

@@ -1,6 +1,7 @@
plugins {
id "com.github.johnrengelman.shadow" version "7.1.2"
id "com.matthewprenger.cursegradle"
id "com.modrinth.minotaur"
}
loom {
@@ -112,14 +113,15 @@ publishing {
}
curseforge {
if (project.hasProperty("CURSE_API_KEY") || System.getenv("CURSE_API_KEY") != null) {
apiKey = project.hasProperty("CURSE_API_KEY") ? project.property("CURSE_API_KEY") : System.getenv("CURSE_API_KEY")
var CURSE_API_KEY = project.findProperty("CURSE_API_KEY") ?: System.getenv("CURSE_API_KEY")
if (CURSE_API_KEY != null) {
apiKey = CURSE_API_KEY
project {
id = "419699"
releaseType = "$rootProject.cf_type"
id = rootProject.curseforge_id
releaseType = "$rootProject.artifact_type"
changelogType = "html"
changelog = releaseChangelog()
addGameVersion "1.18.2"
addGameVersion "1.19-Snapshot"
addGameVersion "Java 17"
addGameVersion "Forge"
mainArtifact(remapJar.archivePath) {
@@ -136,4 +138,19 @@ curseforge {
}
}
rootProject.tasks.getByName("curseforgePublish").dependsOn tasks.getByName("curseforge")
modrinth {
var MODRINTH_TOKEN = project.findProperty("MODRINTH_TOKEN") ?: System.getenv("MODRINTH_TOKEN")
if (MODRINTH_TOKEN != null) {
token = MODRINTH_TOKEN
projectId = rootProject.modrinth_id
versionType = "$rootProject.artifact_type"
versionNumber = "$project.version+$project.name"
versionName = "[Forge $rootProject.supported_version] v$project.version"
changelog = releaseChangelog()
uploadFile = remapJar
gameVersions = ["1.19-pre1"]
loaders = ["forge"]
dependencies {
}
}
}

View File

@@ -6,7 +6,7 @@ platforms=fabric
minecraft_version=1.19-pre1
supported_version=1.19-pre1
cf_type=beta
artifact_type=beta
archives_base_name=architectury
archives_base_name_snapshot=architectury-snapshot
@@ -18,3 +18,6 @@ fabric_api_version=0.52.4+1.19
mod_menu_version=3.1.0
forge_version=40.1.14
curseforge_id=419699
modrinth_id=lhGA9TYQ

View File

@@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.1-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists