From 0b2bb5e7b5051ae87f1c8dcb2f6299bc8e53dce9 Mon Sep 17 00:00:00 2001 From: Jonathan Coates Date: Sun, 2 Jul 2023 12:21:03 +0100 Subject: [PATCH] Use exclusiveContent for our maven This is a little nasty as we need to include ForgeGradle's repo too, but should still help a bit! --- .../main/kotlin/cc-tweaked.forge.gradle.kts | 3 ++- .../cc-tweaked.java-convention.gradle.kts | 20 ++++++++++++++++--- .../gradle/common/util/runs/RunConfigSetup.kt | 9 +++++---- 3 files changed, 24 insertions(+), 8 deletions(-) diff --git a/buildSrc/src/main/kotlin/cc-tweaked.forge.gradle.kts b/buildSrc/src/main/kotlin/cc-tweaked.forge.gradle.kts index 9ffe48f81..ece233e6f 100644 --- a/buildSrc/src/main/kotlin/cc-tweaked.forge.gradle.kts +++ b/buildSrc/src/main/kotlin/cc-tweaked.forge.gradle.kts @@ -10,8 +10,9 @@ import cc.tweaked.gradle.IdeaRunConfigurations import cc.tweaked.gradle.MinecraftConfigurations plugins { - id("cc-tweaked.java-convention") id("net.minecraftforge.gradle") + // We must apply java-convention after Forge, as we need the fg extension to be present. + id("cc-tweaked.java-convention") id("org.parchmentmc.librarian.forgegradle") } diff --git a/buildSrc/src/main/kotlin/cc-tweaked.java-convention.gradle.kts b/buildSrc/src/main/kotlin/cc-tweaked.java-convention.gradle.kts index d8dfb6b4e..75c739613 100644 --- a/buildSrc/src/main/kotlin/cc-tweaked.java-convention.gradle.kts +++ b/buildSrc/src/main/kotlin/cc-tweaked.java-convention.gradle.kts @@ -37,9 +37,25 @@ java { repositories { mavenCentral() - maven("https://squiddev.cc/maven") { + + val mainMaven = maven("https://squiddev.cc/maven") { name = "SquidDev" content { + // Until https://github.com/SpongePowered/Mixin/pull/593 is merged + includeModule("org.spongepowered", "mixin") + } + } + + exclusiveContent { + forRepositories(mainMaven) + + // Include the ForgeGradle repository if present. This requires that ForgeGradle is already present, which we + // enforce in our Forge overlay. + val fg = + project.extensions.findByType(net.minecraftforge.gradle.userdev.DependencyManagementExtension::class.java) + if (fg != null) forRepositories(fg.repository) + + filter { includeGroup("org.squiddev") includeGroup("cc.tweaked") // Things we mirror @@ -49,8 +65,6 @@ repositories { includeGroup("me.shedaniel.cloth") includeGroup("mezz.jei") includeModule("com.terraformersmc", "modmenu") - // Until https://github.com/SpongePowered/Mixin/pull/593 is merged - includeModule("org.spongepowered", "mixin") } } } diff --git a/buildSrc/src/main/kotlin/net/minecraftforge/gradle/common/util/runs/RunConfigSetup.kt b/buildSrc/src/main/kotlin/net/minecraftforge/gradle/common/util/runs/RunConfigSetup.kt index 0a0324dcf..50e33a84b 100644 --- a/buildSrc/src/main/kotlin/net/minecraftforge/gradle/common/util/runs/RunConfigSetup.kt +++ b/buildSrc/src/main/kotlin/net/minecraftforge/gradle/common/util/runs/RunConfigSetup.kt @@ -56,12 +56,13 @@ fun lazyTokens(): MutableMap> { for ((k, v) in config.lazyTokens) lazyTokens[k] = v lazyTokens.compute( "source_roots", - { key: String, sourceRoots: Supplier? -> + { _, sourceRoots -> Supplier { val modClasses = RunConfigGenerator.mapModClassesToGradle(project, config) - (if (sourceRoots != null) Stream.concat( - sourceRoots.get().split(File.pathSeparator).stream(), modClasses, - ) else modClasses).distinct().collect(Collectors.joining(File.pathSeparator)) + (when (sourceRoots) { + null -> modClasses + else -> Stream.concat(sourceRoots.get().split(File.pathSeparator).stream(), modClasses) + }).distinct().collect(Collectors.joining(File.pathSeparator)) } }, )