From 48b34bfbb8cffd27bf76e56c09ce5b5251934836 Mon Sep 17 00:00:00 2001 From: Wagyourtail Date: Mon, 4 Apr 2022 18:11:03 -0700 Subject: [PATCH] some jank to sourcesets to get dev launching --- common/build.gradle | 81 +++++++++++++++++++++++++++------------------ fabric/build.gradle | 3 +- forge/build.gradle | 4 ++- 3 files changed, 54 insertions(+), 34 deletions(-) diff --git a/common/build.gradle b/common/build.gradle index 4007d358d..09bc000e3 100644 --- a/common/build.gradle +++ b/common/build.gradle @@ -7,19 +7,7 @@ architectury { } sourceSets { - api { - compileClasspath += main.compileClasspath - java { - java { - srcDir "$rootDir/src/api/java" - } - resources { - srcDir "$rootDir/src/api/resources" - } - } - } - main { - compileClasspath += api.output + realmain { java { java { srcDir "$rootDir/src/main/java" @@ -29,9 +17,25 @@ sourceSets { } } } + api { + compileClasspath += main.compileClasspath + runtimeClasspath += main.runtimeClasspath + java { + java { + srcDir "$rootDir/src/api/java" + } + resources { + srcDir "$rootDir/src/api/resources" + } + } + } + realmain { + compileClasspath += main.compileClasspath + api.output + runtimeClasspath += main.runtimeClasspath + api.output + } test { - compileClasspath += main.compileClasspath + main.runtimeClasspath + main.output - runtimeClasspath += main.compileClasspath + main.runtimeClasspath + main.output + compileClasspath += realmain.compileClasspath + realmain.output + runtimeClasspath += realmain.runtimeClasspath + realmain.output java { java { srcDir "$rootDir/src/test/java" @@ -41,9 +45,9 @@ sourceSets { } } } - launch { - compileClasspath += main.compileClasspath + main.runtimeClasspath + main.output - runtimeClasspath += main.compileClasspath + main.runtimeClasspath + main.output + main { + compileClasspath += realmain.output + api.output + runtimeClasspath += realmain.output + api.output java { java { srcDir "$rootDir/src/launch/java" @@ -54,7 +58,8 @@ sourceSets { } } schematica_api { - compileClasspath += main.compileClasspath + compileClasspath += realmain.compileClasspath + runtimeClasspath += realmain.runtimeClasspath java { java { srcDir "$rootDir/src/schematica_api/java" @@ -64,8 +69,18 @@ sourceSets { } } } - main { + realmain { compileClasspath += schematica_api.output + runtimeClasspath += schematica_api.output + } +} + +configurations { + transformProductionTweaker { + canBeConsumed = true + canBeResolved = false + // If you want this configuration to share the same dependencies, otherwise omit this line + extendsFrom implementation, runtimeOnly } } @@ -96,7 +111,7 @@ javadoc { jar { classifier "dev" - from sourceSets.launch.output, sourceSets.api.output + from sourceSets.main.output, sourceSets.realmain.output, sourceSets.api.output preserveFileTimestamps = false @@ -113,17 +128,19 @@ jar { } } -remapJar { - targetNamespace.set "official" +import net.fabricmc.loom.task.RemapJarTask + +task transformProductionTweakerTask(type: RemapJarTask, dependsOn: jar) { + input = project.tasks.getByName("jar").archiveFile + archiveClassifier = "transformProductionTweaker" + targetNamespace = "official" + } +jar.finalizedBy(transformProductionTweakerTask) -task proguard(type: ProguardTask) { - url 'https://github.com/Guardsquare/proguard/releases/download/v7.2.1/proguard-7.2.1.zip' - extract 'proguard-7.2.1/lib/proguard.jar' - compType "OFFICIAL" -} - -task createDist(type: CreateDistTask, dependsOn: proguard) - -build.finalizedBy(createDist) \ No newline at end of file +artifacts { + transformProductionTweaker(transformProductionTweakerTask.archiveFile) { + builtBy(transformProductionTweakerTask) + } +} \ No newline at end of file diff --git a/fabric/build.gradle b/fabric/build.gradle index 65f9f6037..4b3ccbd58 100644 --- a/fabric/build.gradle +++ b/fabric/build.gradle @@ -38,8 +38,9 @@ configurations { } dependencies { + modImplementation "net.fabricmc:fabric-loader:${project.fabric_version}" - common(project(path: ":common", configuration: "namedElements")) { transitive false } + common(project(path: ":common", configuration: "namedElements")) shadowCommon(project(path: ":common", configuration: "transformProductionFabric")) { transitive false } } diff --git a/forge/build.gradle b/forge/build.gradle index 08ae62e00..5a1f5dc3c 100644 --- a/forge/build.gradle +++ b/forge/build.gradle @@ -46,7 +46,9 @@ configurations { dependencies { forge "net.minecraftforge:forge:${rootProject.forge_version}" - common(project(path: ":common", configuration: "namedElements")) { transitive false } + common(project(path: ":common", configuration: "namedElements")) { + exclude module: "fabric-loader" + } shadowCommon(project(path: ":common", configuration: "transformProductionForge")) { transitive false } }