From f115d43d07357bd75e694bc604a9f823eb564aa6 Mon Sep 17 00:00:00 2001 From: Jonathan Coates Date: Wed, 3 Jan 2024 21:05:03 +0000 Subject: [PATCH] Fix some dependencies not appearing in the POM Again! This time it was just the night-config ones. --- .../cc/tweaked/gradle/CCTweakedExtension.kt | 2 +- gradle/libs.versions.toml | 1 - projects/fabric/build.gradle.kts | 39 ++++++++++++------- 3 files changed, 26 insertions(+), 16 deletions(-) diff --git a/buildSrc/src/main/kotlin/cc/tweaked/gradle/CCTweakedExtension.kt b/buildSrc/src/main/kotlin/cc/tweaked/gradle/CCTweakedExtension.kt index dd097d08d..c254d55b6 100644 --- a/buildSrc/src/main/kotlin/cc/tweaked/gradle/CCTweakedExtension.kt +++ b/buildSrc/src/main/kotlin/cc/tweaked/gradle/CCTweakedExtension.kt @@ -255,7 +255,7 @@ abstract class CCTweakedExtension( } /** - * Exclude a dependency from being publisehd in Maven. + * Exclude a dependency from being published in Maven. */ fun exclude(dep: Dependency) { excludedDeps.add(dep) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 7148b657c..7c3048993 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -180,7 +180,6 @@ kotlin = ["kotlin-stdlib", "kotlin-coroutines"] externalMods-common = ["jei-api", "nightConfig-core", "nightConfig-toml"] externalMods-forge-compile = ["moreRed", "oculus", "jei-api"] externalMods-forge-runtime = ["jei-forge"] -externalMods-fabric = ["nightConfig-core", "nightConfig-toml"] externalMods-fabric-compile = ["fabricPermissions", "iris", "jei-api", "rei-api", "rei-builtin"] externalMods-fabric-runtime = ["jei-fabric", "modmenu"] diff --git a/projects/fabric/build.gradle.kts b/projects/fabric/build.gradle.kts index 5d5cfee6c..a7381070b 100644 --- a/projects/fabric/build.gradle.kts +++ b/projects/fabric/build.gradle.kts @@ -46,9 +46,25 @@ fun addRemappedConfiguration(name: String) { addRemappedConfiguration("testWithSodium") addRemappedConfiguration("testWithIris") +configurations { + // Declare some configurations which are both included (jar-in-jar-ed) and a normal dependency (so they appear in + // our POM). + val includeRuntimeOnly by registering { + isCanBeConsumed = false + isCanBeResolved = false + } + val includeImplementation by registering { + isCanBeConsumed = false + isCanBeResolved = false + } + + include { extendsFrom(includeRuntimeOnly.get(), includeImplementation.get()) } + runtimeOnly { extendsFrom(includeRuntimeOnly.get()) } + implementation { extendsFrom(includeImplementation.get()) } +} + dependencies { clientCompileOnly(variantOf(libs.emi) { classifier("api") }) - modImplementation(libs.bundles.externalMods.fabric) { cct.exclude(this) } modCompileOnly(libs.bundles.externalMods.fabric.compile) { exclude("net.fabricmc", "fabric-loader") exclude("net.fabricmc.fabric-api") @@ -63,24 +79,19 @@ dependencies { "modTestWithIris"(libs.iris) "modTestWithIris"(libs.sodium) - include(libs.cobalt) - include(libs.jzlib) - include(libs.netty.http) - include(libs.netty.socks) - include(libs.netty.proxy) - include(libs.nightConfig.core) - include(libs.nightConfig.toml) + "includeRuntimeOnly"(libs.cobalt) + "includeRuntimeOnly"(libs.jzlib) + "includeRuntimeOnly"(libs.netty.http) + "includeRuntimeOnly"(libs.netty.socks) + "includeRuntimeOnly"(libs.netty.proxy) + + "includeImplementation"(libs.nightConfig.core) + "includeImplementation"(libs.nightConfig.toml) // Pull in our other projects. See comments in MinecraftConfigurations on this nastiness. api(commonClasses(project(":fabric-api"))) { cct.exclude(this) } clientApi(clientClasses(project(":fabric-api"))) { cct.exclude(this) } implementation(project(":core")) { cct.exclude(this) } - // These are transitive deps of :core, so we don't need these deps. However, we want them to appear as runtime deps - // in our POM, and this is the easiest way. - runtimeOnly(libs.cobalt) - runtimeOnly(libs.netty.http) - runtimeOnly(libs.netty.socks) - runtimeOnly(libs.netty.proxy) annotationProcessorEverywhere(libs.autoService)