Skip to content

Commit

Permalink
build: now using MPP publishing
Browse files Browse the repository at this point in the history
updated to NeoForge 21.0.14
  • Loading branch information
desht committed Jun 17, 2024
1 parent d4b7a4c commit f4ae4a7
Show file tree
Hide file tree
Showing 6 changed files with 74 additions and 121 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ jobs:
!contains(github.event.head_commit.message, '[ciskip]')
uses: FTBTeam/mods-meta/.github/workflows/standard-release.yml@main
with:
curse-publish-task: curseforge
curse-publish-task: publishMods
java-version: 21
secrets:
ftb-maven-token: ${{ secrets.FTB_MAVEN_TOKEN }}
Expand Down
70 changes: 69 additions & 1 deletion build.gradle
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
plugins {
id "architectury-plugin" version "3.4-SNAPSHOT"
id "dev.architectury.loom" version "1.6-SNAPSHOT" apply false
id "me.modmuss50.mod-publish-plugin" version "0.5.1"
}

architectury {
Expand Down Expand Up @@ -84,6 +85,73 @@ allprojects {
java {
withSourcesJar()
}

publishing {
repositories {
if (ftbPublishing.ftbToken) {
maven {
url ftbPublishing.ftbURL
credentials {
username = ftbPublishing.ftbUser
password = ftbPublishing.ftbToken
}
}
}

if (ftbPublishing.sapsToken) {
maven {
url ftbPublishing.sapsURL
credentials {
username = ftbPublishing.sapsUser
password = ftbPublishing.sapsToken
}
}
}
}
}
}

task curseforgePublish
publishMods {
dryRun = providers.environmentVariable("CURSEFORGE_KEY").getOrNull() == null
changelog = providers.environmentVariable("CHANGELOG").getOrElse("No changelog provided")
version = mod_version

// TODO: Migrate to something else
def tag = providers.environmentVariable("TAG").getOrElse("release")
type = tag == "beta" ? BETA : (tag == "alpha" ? ALPHA : STABLE)

def createOptions = (String projectName) -> {
publishOptions {
file = project.provider { project(":$projectName").tasks.remapJar }.flatMap { it.archiveFile }
displayName = "[${projectName.toUpperCase()}][${minecraft_version}] ${readable_name} ${mod_version}"
modLoaders.add(projectName.toLowerCase())
}
}

def fabricOptions = createOptions("fabric")
// def forgeOptions = createOptions("forge")
def neoForgeOptions = createOptions("neoforge")

def curseForgeOptions = curseforgeOptions {
accessToken = providers.environmentVariable("CURSEFORGE_KEY")
minecraftVersions.add("${minecraft_version}")
javaVersions.add(JavaVersion.VERSION_21)
}

curseforge("curseforgeFabric") {
from(curseForgeOptions, fabricOptions)
projectId = curseforge_id_forge
requires('architectury-api')
requires('fabric-api')
optional('jei')
optional('roughly-enough-items')
}

curseforge("curseforgeNeoForge") {
from(curseForgeOptions, neoForgeOptions)
projectId = curseforge_id_fabric
requires("architectury-api")
optional('jei')
optional('roughly-enough-items')
}
}
28 changes: 2 additions & 26 deletions common/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,6 @@ dependencies {
modCompileOnly "dev.emi:emi-xplat-intermediary:${emi_version}+1.20.4:api"
}

def ENV = System.getenv()

test {
useJUnitPlatform()
}
Expand All @@ -42,32 +40,10 @@ artifacts {

publishing {
publications {
mavenCommon(MavenPublication) {
artifactId = rootProject.archivesBaseName
mavenForge(MavenPublication) {
artifactId = "${rootProject.archives_base_name}"
version ftbPublishing.mavenVersion
from components.java
}
}

repositories {
if (ftbPublishing.ftbToken) {
maven {
url ftbPublishing.ftbURL
credentials {
username = ftbPublishing.ftbUser
password = ftbPublishing.ftbToken
}
}
}

if (ftbPublishing.sapsToken) {
maven {
url ftbPublishing.sapsURL
credentials {
username = ftbPublishing.sapsUser
password = ftbPublishing.sapsToken
}
}
}
}
}
46 changes: 0 additions & 46 deletions fabric/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,6 @@ plugins {
id "com.matthewprenger.cursegradle" version "1.4.0"
}

def ENV = System.getenv()

architectury {
platformSetupLoomIde()
fabric()
Expand Down Expand Up @@ -73,26 +71,6 @@ components.java {
}
}

if (ENV.CURSEFORGE_KEY) {
curseforge {
apiKey = ENV.CURSEFORGE_KEY
project {
id = project.curseforge_id_fabric
releaseType = ftbPublishing.relType
addGameVersion "Fabric"
addGameVersion rootProject.minecraft_version
mainArtifact(remapJar.archiveFile)
relations {
requiredDependency 'architectury-api'
optionalDependency 'jei'
optionalDependency 'roughly-enough-items'
}
changelog = ENV.CHANGELOG // expected to exist if ENV.CURSEFORGE does
changelogType = 'markdown'
}
}
}

publishing {
publications {
mavenFabric(MavenPublication) {
Expand All @@ -101,28 +79,4 @@ publishing {
from components.java
}
}

repositories {
if (ftbPublishing.ftbToken) {
maven {
url ftbPublishing.ftbURL
credentials {
username = ftbPublishing.ftbUser
password = ftbPublishing.ftbToken
}
}
}

if (ftbPublishing.sapsToken) {
maven {
url ftbPublishing.sapsURL
credentials {
username = ftbPublishing.sapsUser
password = ftbPublishing.sapsToken
}
}
}
}
}

rootProject.tasks.getByName("curseforgePublish").dependsOn tasks.getByName("curseforge")
3 changes: 2 additions & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ org.gradle.daemon=false

# Mod
mod_id=ftblibrary
readable_name=FTB Library
mod_version=2100.1.0
mod_author=FTB Team

Expand All @@ -15,7 +16,7 @@ minecraft_version=1.21

# Deps
forge_version=49.0.31
neoforge_version=21.0.4-beta
neoforge_version=21.0.14-beta
neoforge_loader_version=4
fabric_loader_version=0.15.11
fabric_api_version=0.100.1+1.21
Expand Down
46 changes: 0 additions & 46 deletions neoforge/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,6 @@ plugins {
id "com.matthewprenger.cursegradle" version "1.4.0"
}

def ENV = System.getenv()

architectury {
platformSetupLoomIde()
neoForge()
Expand Down Expand Up @@ -97,26 +95,6 @@ components.java {
}
}

if (ENV.CURSEFORGE_KEY) {
curseforge {
apiKey = ENV.CURSEFORGE_KEY
project {
id = project.curseforge_id_forge
releaseType = ftbPublishing.relType
addGameVersion "NeoForge"
addGameVersion rootProject.minecraft_version
mainArtifact(remapJar.archiveFile)
relations {
requiredDependency 'architectury-api'
optionalDependency 'jei'
optionalDependency 'roughly-enough-items'
}
changelog = ENV.CHANGELOG // expected to exist if ENV.CURSEFORGE does
changelogType = 'markdown'
}
}
}

publishing {
publications {
mavenForge(MavenPublication) {
Expand All @@ -125,28 +103,4 @@ publishing {
from components.java
}
}

repositories {
if (ftbPublishing.ftbToken) {
maven {
url ftbPublishing.ftbURL
credentials {
username = ftbPublishing.ftbUser
password = ftbPublishing.ftbToken
}
}
}

if (ftbPublishing.sapsToken) {
maven {
url ftbPublishing.sapsURL
credentials {
username = ftbPublishing.sapsUser
password = ftbPublishing.sapsToken
}
}
}
}
}

rootProject.tasks.getByName("curseforgePublish").dependsOn tasks.getByName("curseforge")

0 comments on commit f4ae4a7

Please sign in to comment.