From 8b6da081a0e5eee12f2f6c244a1cf120b9f48fb8 Mon Sep 17 00:00:00 2001 From: JFronny Date: Thu, 21 Mar 2024 13:35:48 +0100 Subject: [PATCH] fix: use split sources preference in more places --- .../main/kotlin/io/gitlab/jfronny/scripts/JfModExtension.kt | 1 + jfmod/src/main/kotlin/jfmod.module.gradle.kts | 4 ++-- lom/src/main/kotlin/io/gitlab/jfronny/scripts/LomExt.kt | 3 ++- lom/src/main/kotlin/lom.gradle.kts | 6 +++--- 4 files changed, 8 insertions(+), 6 deletions(-) diff --git a/jfmod/src/main/kotlin/io/gitlab/jfronny/scripts/JfModExtension.kt b/jfmod/src/main/kotlin/io/gitlab/jfronny/scripts/JfModExtension.kt index 01ecfc0..350850a 100644 --- a/jfmod/src/main/kotlin/io/gitlab/jfronny/scripts/JfModExtension.kt +++ b/jfmod/src/main/kotlin/io/gitlab/jfronny/scripts/JfModExtension.kt @@ -26,6 +26,7 @@ interface JfModExtension: LomExtension { fun isFabric(proj: Project) = if (proj == this) isFabric else (proj.extensions.findByName("lom") as? LomExtension)?.isFabric ?: false fun isForge(proj: Project) = if (proj == this) isForge else (proj.extensions.findByName("lom") as? LomExtension)?.isNeoForge ?: false fun isNeoForge(proj: Project) = if (proj == this) isNeoForge else (proj.extensions.findByName("lom") as? LomExtension)?.isNeoForge ?: false + fun isSplitSources(proj: Project) = if (proj == this) isSplitSources else (proj.extensions.findByName("lom") as? LomExtension)?.isSplitSources ?: false fun curseforge(closure: Action) = closure.execute(curseforge) fun modrinth(closure: Action) = closure.execute(modrinth) diff --git a/jfmod/src/main/kotlin/jfmod.module.gradle.kts b/jfmod/src/main/kotlin/jfmod.module.gradle.kts index 6548ca7..d9668e3 100644 --- a/jfmod/src/main/kotlin/jfmod.module.gradle.kts +++ b/jfmod/src/main/kotlin/jfmod.module.gradle.kts @@ -66,7 +66,7 @@ afterEvaluate { mods { register(sub.name) { sourceSet(sub.sourceSets.main.get()) - sourceSet(sub.sourceSets.client.get()) + if (rootArgs.isSplitSources(sub)) sourceSet(sub.sourceSets.client.get()) } if (!sourceSets.testmod.get().resources.isEmpty) { register("${sub.name}-testmod") { @@ -99,7 +99,7 @@ afterEvaluate { if (!isRoot) rootProject.dependencies { if (rootArgs.isFabric && lomArgs.isFabric) { api(project(path = project.path, configuration = "shadow")) - clientImplementation(sourceSets.client.get().output) + if (lomArgs.isSplitSources) clientImplementation(sourceSets.client.get().output) testmodImplementation(sourceSets.testmod.get().output) if (!devOnly) include(project) diff --git a/lom/src/main/kotlin/io/gitlab/jfronny/scripts/LomExt.kt b/lom/src/main/kotlin/io/gitlab/jfronny/scripts/LomExt.kt index a4e755a..d30f437 100644 --- a/lom/src/main/kotlin/io/gitlab/jfronny/scripts/LomExt.kt +++ b/lom/src/main/kotlin/io/gitlab/jfronny/scripts/LomExt.kt @@ -24,4 +24,5 @@ fun DependencyHandler.devProject(path: String): Dependency = project(path, "dev" val LomExtension.isFabric: Boolean get() = loaderKind.get() == LoaderKind.FABRIC val LomExtension.isForge: Boolean get() = loaderKind.get() == LoaderKind.FORGE -val LomExtension.isNeoForge: Boolean get() = loaderKind.get() == LoaderKind.NEOFORGE \ No newline at end of file +val LomExtension.isNeoForge: Boolean get() = loaderKind.get() == LoaderKind.NEOFORGE +val LomExtension.isSplitSources: Boolean get() = isFabric // other loaders don't support split sources \ No newline at end of file diff --git a/lom/src/main/kotlin/lom.gradle.kts b/lom/src/main/kotlin/lom.gradle.kts index f563179..5b60ab7 100644 --- a/lom/src/main/kotlin/lom.gradle.kts +++ b/lom/src/main/kotlin/lom.gradle.kts @@ -22,7 +22,7 @@ args.loaderKind.finalizeValue() loom { runtimeOnlyLog4j.set(true) // Other loaders unfortunately don't support this yet - if (args.isFabric) splitEnvironmentSourceSets() + if (args.isSplitSources) splitEnvironmentSourceSets() silentMojangMappingsLicense() } @@ -44,7 +44,7 @@ loom { mods { register(name) { sourceSet(sourceSets.main.get()) - sourceSet(sourceSets.client.get()) + if (args.isSplitSources) sourceSet(sourceSets.client.get()) } if (hasTestmod) { register("$name-testmod") { @@ -104,7 +104,7 @@ earlyAfterEvaluate { } testmodImplementation(sourceSets.main.get().output) - testmodImplementation(sourceSets.client.get().output) + if (args.isSplitSources) testmodImplementation(sourceSets.client.get().output) } }