From 9996f3c563f9979b5ffd00367af4fa5a1dae434d Mon Sep 17 00:00:00 2001 From: shedaniel Date: Sat, 11 Jun 2022 21:45:24 +0800 Subject: Migrate to Unified Publishing --- .github/workflows/curseforge.yml | 4 +- build.gradle | 74 +++------------------------ fabric/build.gradle | 59 ++++++++++++++-------- forge/build.gradle | 105 ++++++++++++++++++++++++++------------- 4 files changed, 115 insertions(+), 127 deletions(-) diff --git a/.github/workflows/curseforge.yml b/.github/workflows/curseforge.yml index 1d75ff2d6..850313c78 100644 --- a/.github/workflows/curseforge.yml +++ b/.github/workflows/curseforge.yml @@ -22,8 +22,8 @@ jobs: uses: actions/setup-java@v1 with: java-version: 17 - - name: Upload to CurseForge - run: ./gradlew build publish forge:curseforge fabric:curseforge jei-internals-workaround:curseforge --stacktrace + - name: Upload Mod + run: ./gradlew build publish forge:modPublish fabric:modPublish jei-internals-workaround:modPublish --stacktrace env: danielshe_curse_api_key: ${{ secrets.CF_API_KEY }} BRANCH_NAME: ${{ github.ref }} diff --git a/build.gradle b/build.gradle index 58e4bb8ea..936115938 100755 --- a/build.gradle +++ b/build.gradle @@ -2,7 +2,7 @@ plugins { id("architectury-plugin") version("3.4-SNAPSHOT") id("dev.architectury.loom") version("0.11.0-SNAPSHOT") apply false id("org.cadixdev.licenser") version("0.6.1") - id("com.matthewprenger.cursegradle") version("1.4.0") + id("me.shedaniel.unified-publishing") version("0.1.+") id("java") id("maven-publish") } @@ -19,7 +19,7 @@ version = rootProject.base_version + "." + runNumber + (rootProject.unstable.toB group = "me.shedaniel" subprojects { - apply plugin: "com.matthewprenger.cursegradle" + apply plugin: "me.shedaniel.unified-publishing" apply plugin: "dev.architectury.loom" java { @@ -125,82 +125,20 @@ task releaseOnCf { } def time = df.format(new Date()) def changes = new StringBuilder() - changes << "

REI v$project.version for $project.supported_version

Updated at $time.
Click here for changelog" + changes << "## REI v$project.version for $project.supported_version\nUpdated at **$time**.\n![Click here for changelog](https://www.github.com/shedaniel/RoughlyEnoughItems/commits/$branch)" def proc = "git log --max-count=200 --pretty=format:%s".execute() proc.in.eachLine { line -> def processedLine = line.toString() if (!processedLine.contains("New translations") && !processedLine.contains("Merge") && !processedLine.contains("branch")) { - changes << "
- ${processedLine.capitalize()}" + changes << "\n- ${processedLine.capitalize()}" } } proc.waitFor() releaseChangelog = changes.toString() if (subprojects.any { it.name == "forge" }) { - dependsOn project("forge").tasks.getByName("curseforge") + dependsOn project("forge").tasks.getByName("modPublish") } if (subprojects.any { it.name == "fabric" }) { - dependsOn project("fabric").tasks.getByName("curseforge") + dependsOn project("fabric").tasks.getByName("modPublish") } } - -/*project { - id = "310111" - releaseType = "release" - changelogType = "html" - changelog = releaseChangelog - addGameVersion "1.16-Snapshot" - addGameVersion "1.16.2" - addGameVersion "1.16.3" - addGameVersion "1.16.4" - addGameVersion "Java 8" - addGameVersion "Fabric" - relations { - requiredDependency "fabric-api" - requiredDependency "cloth-config" - embeddedLibrary "cloth-api" - } - mainArtifact(file("${project.buildDir}/libs/${project.archivesBaseName}-${project.version}.jar")) { - displayName = "[Fabric $project.supported_version] v$project.version" - } - addArtifact(file("${project.buildDir}/libs/${project.archivesBaseName}-${project.version}-sources.jar")) { - displayName = "[Fabric $project.supported_version] v$project.version Sources" - } - afterEvaluate { - uploadTask.dependsOn("build") - } -}*/ - -/*publishing { - publications { - mavenJava(MavenPublication) { - artifact(jar) { - builtBy remapJar - } - artifact(sourcesJar) { - builtBy remapSourcesJar - } - pom.withXml { - def depsNode = asNode().appendNode("dependencies") - subprojects.each { - def depNode = depsNode.appendNode("dependency") - depNode.appendNode("groupId", it.group) - depNode.appendNode("artifactId", it.name) - depNode.appendNode("version", it.version) - depNode.appendNode("scope", "compile") - } - } - } - } - - repositories { - if (System.getenv("MAVEN_PASS") != null) { - maven { - url = "https://deploy.shedaniel.me/" - credentials { - username = "shedaniel" - password = System.getenv("MAVEN_PASS") - } - } - } - } -}*/ diff --git a/fabric/build.gradle b/fabric/build.gradle index 21d645892..aac12cd98 100644 --- a/fabric/build.gradle +++ b/fabric/build.gradle @@ -101,30 +101,45 @@ publishing { } } -curseforge { - if (project.hasProperty('danielshe_curse_api_key') || System.getenv('danielshe_curse_api_key') != null) { - apiKey = project.hasProperty('danielshe_curse_api_key') ? project.property('danielshe_curse_api_key') : System.getenv('danielshe_curse_api_key') - project { - id = "310111" - releaseType = "release" - changelogType = "html" - changelog = rootProject.releaseChangelog - addGameVersion "1.18.2" - addGameVersion "1.18-Snapshot" - addGameVersion "Java 17" - addGameVersion "Fabric" - relations { - requiredDependency "architectury-api" - requiredDependency "cloth-config" - requiredDependency "fabric-api" +unifiedPublishing { + project { + displayName = "[Fabric $rootProject.supported_version] v$project.version" + releaseType = "release" + gameVersions = ["1.18.2"] + gameLoaders = ["fabric"] + changelog = rootProject.releaseChangelog + + mainPublication remapJar + + relations { + depends { + curseforge = "architectury-api" + modrinth = "architectury-api" + } + depends { + curseforge = "cloth-config" + modrinth = "cloth-config" } - mainArtifact(tasks.getByName("remapJar")) { - displayName = "[Fabric $project.supported_version] v$project.version" + depends { + curseforge = "fabric-api" + modrinth = "fabric-api" + } + } + + if (project.hasProperty("danielshe_curse_api_key") || System.getenv("danielshe_curse_api_key") != null) { + curseforge { + token = project.hasProperty("danielshe_curse_api_key") ? project.property("danielshe_curse_api_key") : System.getenv("danielshe_curse_api_key") + id = "310111" + gameVersions.addAll "Java 17", "1.18-Snapshot" + } + } + + if (project.hasProperty("modrinth_key") || System.getenv("modrinth_key") != null) { + modrinth { + token = project.hasProperty("modrinth_key") ? project.property("modrinth_key") : System.getenv("modrinth_key") + id = "nfn13YXA" + version = "$project.version+$project.name" } } - } - options { - forgeGradleIntegration = false - javaVersionAutoDetect = false } } diff --git a/forge/build.gradle b/forge/build.gradle index 703689d7e..bdb5a966f 100644 --- a/forge/build.gradle +++ b/forge/build.gradle @@ -215,46 +215,81 @@ publishing { } } -curseforge { - if (project.hasProperty('danielshe_curse_api_key') || System.getenv('danielshe_curse_api_key') != null) { - apiKey = project.hasProperty('danielshe_curse_api_key') ? project.property('danielshe_curse_api_key') : System.getenv('danielshe_curse_api_key') - project { - id = "310111" - releaseType = "beta" - changelogType = "html" - changelog = rootProject.releaseChangelog - addGameVersion "1.18.2" - addGameVersion "Java 17" - addGameVersion "Forge" - relations { - requiredDependency "architectury-api" - requiredDependency "cloth-config" - requiredDependency "roughly-enough-items-hacks" +unifiedPublishing { + project { + displayName = "[Forge $rootProject.supported_version] v$project.version" + releaseType = "beta" + gameVersions = ["1.18.2"] + gameLoaders = ["forge"] + changelog = rootProject.releaseChangelog + + mainPublication remapJar + + relations { + depends { + curseforge = "architectury-api" + modrinth = "architectury-api" } - mainArtifact(tasks.getByName("remapJar")) { - displayName = "[Forge $project.supported_version] v$project.version" + depends { + curseforge = "cloth-config" + modrinth = "cloth-config" } - } - project { - id = "567899" - releaseType = "release" - changelogType = "html" - changelog = rootProject.releaseChangelog - addGameVersion "1.18" - addGameVersion "1.18.1" - addGameVersion "Java 17" - addGameVersion "Forge" - relations { - requiredDependency "architectury-api" - requiredDependency "cloth-config" + } + + if (project.hasProperty("danielshe_curse_api_key") || System.getenv("danielshe_curse_api_key") != null) { + curseforge { + token = project.hasProperty("danielshe_curse_api_key") ? project.property("danielshe_curse_api_key") : System.getenv("danielshe_curse_api_key") + id = "310111" + gameVersions.addAll "Java 17" + + relations { + depends "roughly-enough-items-hacks" + } } - mainArtifact(tasks.getByName("serverOnlyJar")) { - displayName = "[Forge $project.supported_version] v$project.version" + } + + if (project.hasProperty("modrinth_key") || System.getenv("modrinth_key") != null) { + modrinth { + token = project.hasProperty("modrinth_key") ? project.property("modrinth_key") : System.getenv("modrinth_key") + id = "nfn13YXA" + version = "$project.version+$project.name" } } } - options { - forgeGradleIntegration = false - javaVersionAutoDetect = false + project { + displayName = "[Forge $rootProject.supported_version] v$project.version" + releaseType = "beta" + gameVersions = ["1.18.2"] + gameLoaders = ["forge"] + changelog = rootProject.releaseChangelog + + mainPublication remapJar + + relations { + depends { + curseforge = "architectury-api" + modrinth = "architectury-api" + } + depends { + curseforge = "cloth-config" + modrinth = "cloth-config" + } + } + + if (project.hasProperty("danielshe_curse_api_key") || System.getenv("danielshe_curse_api_key") != null) { + curseforge { + token = project.hasProperty("danielshe_curse_api_key") ? project.property("danielshe_curse_api_key") : System.getenv("danielshe_curse_api_key") + id = "567899" + gameVersions.addAll "Java 17" + } + } + + if (project.hasProperty("modrinth_key") || System.getenv("modrinth_key") != null) { + modrinth { + token = project.hasProperty("modrinth_key") ? project.property("modrinth_key") : System.getenv("modrinth_key") + id = "OM4ZYSws" + version = "$project.version+$project.name" + } + } } } -- cgit