Skip to content

Commit

Permalink
refactor: produce only one jar
Browse files Browse the repository at this point in the history
  • Loading branch information
SettingDust committed Apr 20, 2024
1 parent 13a8e0b commit 23bcff8
Show file tree
Hide file tree
Showing 5 changed files with 24 additions and 21 deletions.
27 changes: 13 additions & 14 deletions build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
)

import net.fabricmc.loom.api.LoomGradleExtensionAPI
import net.fabricmc.loom.task.RemapJarTask
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile

plugins {
Expand All @@ -32,12 +31,14 @@ val maven_group: String by project
val archives_name: String by project
val mod_name: String by rootProject

project.version = "${semver.semVersion}+${catalog.versions.minecraft.get()}"
project.version = "${semver.semVersion}"

project.group = maven_group

architectury { minecraft = catalog.versions.minecraft.get() }

base { archivesName.set(archives_name) }

subprojects {
apply(plugin = "java")
apply(plugin = "kotlin")
Expand All @@ -51,7 +52,7 @@ subprojects {
group = maven_group
version = rootProject.version

base { archivesName.set("$archives_name-${project.name}") }
base { archivesName.set("$archives_name${project.path.replace(":", "-")}") }

configure<LoomGradleExtensionAPI> { silentMojangMappingsLicense() }

Expand Down Expand Up @@ -118,22 +119,20 @@ subprojects {
}
}

dependencies {
shadow(project(":fabric")) { isTransitive = false }
shadow(project(":quilt")) { isTransitive = false }
shadow(project(":forge")) { isTransitive = false }
}

tasks {
jar { enabled = false }
shadowJar {
val fabricJar = project(":fabric").tasks.named("remapJar")
val quiltJar = project(":quilt").tasks.named("remapJar")

from(fabricJar, quiltJar)

shadowJar {
configurations = listOf(project.configurations.shadow.get())
mergeServiceFiles()

archiveBaseName.set("$archives_name-intermediary")
archiveClassifier.set("")
}

build {
val forgeJar = project(":forge").tasks.named<RemapJarTask>("remapJar")
dependsOn(shadowJar, forgeJar)
}
build { dependsOn(shadowJar) }
}
4 changes: 2 additions & 2 deletions fabric/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,14 @@ val mod_name: String by rootProject

version = rootProject.version

base { archivesName.set("$archives_name-fabric") }

architectury {
platformSetupLoomIde()
fabric()
}

loom {
mixin { add("main", "$archives_name.fabric.refmap.json") }

mods {
create(archives_name) {
sourceSet("main")
Expand Down
2 changes: 1 addition & 1 deletion fabric/src/main/resources/mod_sets.fabric.mixins.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"required": true,
"minVersion": "0.8",
"package": "settingdust.modsets.mixin.fabric",
"refmap": "${id}.refmap.json",
"refmap": "${id}.fabric.refmap.json",
"compatibilityLevel": "JAVA_17",
"mixins": [
"ModBadgeRendererMixin"
Expand Down
4 changes: 1 addition & 3 deletions forge/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import net.fabricmc.loom.task.AbstractRunTask
import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.util.libsDirectory

val archives_name: String by rootProject
val mod_name: String by rootProject
Expand Down Expand Up @@ -70,7 +69,7 @@ tasks {
jar { enabled = false }

shadowJar {
configurations = listOf(project.configurations.getByName("shadow"))
configurations = listOf(project.configurations.shadow.get())
destinationDirectory = project.layout.buildDirectory.dir("devlibs")
archiveClassifier = "dev"

Expand All @@ -84,7 +83,6 @@ tasks {
remapJar {
dependsOn(shadowJar)
inputFile = shadowJar.get().archiveFile
destinationDirectory = rootProject.libsDirectory
}

afterEvaluate { withType<AbstractRunTask> { dependsOn(shadowJar) } }
Expand Down
8 changes: 7 additions & 1 deletion forge/ingame/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
dependencies { forge(catalog.forge) }

tasks { remapJar { inputFile.set(project(":common:ingame").tasks.jar.get().archiveFile) } }
tasks {
remapJar {
val task = project(":common:ingame").tasks.jar
dependsOn(task)
inputFile.set(task.get().archiveFile)
}
}

0 comments on commit 23bcff8

Please sign in to comment.