From 2dd467bdb753e21c969ad6d76417b9473a2f4fa1 Mon Sep 17 00:00:00 2001 From: modmuss Date: Sun, 5 Oct 2025 09:53:49 +0100 Subject: [PATCH] Remove isRootProject from extension as it can hide `Project.getRootProject` when in the loom extension block. (#1381) --- src/main/java/net/fabricmc/loom/LoomGradleExtension.java | 2 -- .../java/net/fabricmc/loom/configuration/ide/RunConfig.java | 3 ++- .../fabricmc/loom/configuration/ide/RunConfigSettings.java | 3 ++- .../loom/configuration/ide/idea/IdeaConfiguration.java | 4 +--- .../net/fabricmc/loom/extension/LoomGradleExtensionImpl.java | 5 ----- src/main/java/net/fabricmc/loom/util/gradle/GradleUtils.java | 4 ++++ 6 files changed, 9 insertions(+), 12 deletions(-) diff --git a/src/main/java/net/fabricmc/loom/LoomGradleExtension.java b/src/main/java/net/fabricmc/loom/LoomGradleExtension.java index 073fb794..68474957 100644 --- a/src/main/java/net/fabricmc/loom/LoomGradleExtension.java +++ b/src/main/java/net/fabricmc/loom/LoomGradleExtension.java @@ -99,8 +99,6 @@ public interface LoomGradleExtension extends LoomGradleExtensionAPI { FileCollection getMinecraftJarsCollection(MappingsNamespace mappingsNamespace); - boolean isRootProject(); - @Override MixinExtension getMixin(); diff --git a/src/main/java/net/fabricmc/loom/configuration/ide/RunConfig.java b/src/main/java/net/fabricmc/loom/configuration/ide/RunConfig.java index 5c047009..0c42a784 100644 --- a/src/main/java/net/fabricmc/loom/configuration/ide/RunConfig.java +++ b/src/main/java/net/fabricmc/loom/configuration/ide/RunConfig.java @@ -58,6 +58,7 @@ import net.fabricmc.loom.configuration.ide.idea.IdeaUtils; import net.fabricmc.loom.configuration.providers.BundleMetadata; import net.fabricmc.loom.configuration.providers.minecraft.library.LibraryContext; import net.fabricmc.loom.util.Constants; +import net.fabricmc.loom.util.gradle.GradleUtils; import net.fabricmc.loom.util.gradle.SourceSetReference; public class RunConfig { @@ -132,7 +133,7 @@ public class RunConfig { RunConfig runConfig = new RunConfig(); runConfig.configName = configName; - if (appendProjectPath && !extension.isRootProject()) { + if (appendProjectPath && !GradleUtils.isRootProject(project)) { runConfig.configName += " (" + project.getPath() + ")"; } diff --git a/src/main/java/net/fabricmc/loom/configuration/ide/RunConfigSettings.java b/src/main/java/net/fabricmc/loom/configuration/ide/RunConfigSettings.java index 7a542829..248b8b2e 100644 --- a/src/main/java/net/fabricmc/loom/configuration/ide/RunConfigSettings.java +++ b/src/main/java/net/fabricmc/loom/configuration/ide/RunConfigSettings.java @@ -46,6 +46,7 @@ import net.fabricmc.loom.LoomGradleExtension; import net.fabricmc.loom.configuration.providers.minecraft.MinecraftSourceSets; import net.fabricmc.loom.util.Constants; import net.fabricmc.loom.util.Platform; +import net.fabricmc.loom.util.gradle.GradleUtils; import net.fabricmc.loom.util.gradle.SourceSetHelper; public abstract class RunConfigSettings implements Named { @@ -139,7 +140,7 @@ public abstract class RunConfigSettings implements Named { this.project = project; this.appendProjectPathToConfigName = project.getObjects().property(Boolean.class).convention(true); this.extension = LoomGradleExtension.get(project); - this.ideConfigGenerated = extension.isRootProject(); + this.ideConfigGenerated = GradleUtils.isRootProject(project); this.mainClass = project.getObjects().property(String.class).convention(project.provider(() -> { Objects.requireNonNull(environment, "Run config " + name + " must specify environment"); Objects.requireNonNull(defaultMainClass, "Run config " + name + " must specify default main class"); diff --git a/src/main/java/net/fabricmc/loom/configuration/ide/idea/IdeaConfiguration.java b/src/main/java/net/fabricmc/loom/configuration/ide/idea/IdeaConfiguration.java index 95cf1438..0d7620bb 100644 --- a/src/main/java/net/fabricmc/loom/configuration/ide/idea/IdeaConfiguration.java +++ b/src/main/java/net/fabricmc/loom/configuration/ide/idea/IdeaConfiguration.java @@ -66,9 +66,7 @@ public abstract class IdeaConfiguration implements Runnable { } private void hookDownloadSources() { - LoomGradleExtension extension = LoomGradleExtension.get(getProject()); - - if (!extension.isRootProject()) { + if (!GradleUtils.isRootProject(getProject())) { return; } diff --git a/src/main/java/net/fabricmc/loom/extension/LoomGradleExtensionImpl.java b/src/main/java/net/fabricmc/loom/extension/LoomGradleExtensionImpl.java index 40c59eb2..47ac3c3c 100644 --- a/src/main/java/net/fabricmc/loom/extension/LoomGradleExtensionImpl.java +++ b/src/main/java/net/fabricmc/loom/extension/LoomGradleExtensionImpl.java @@ -216,11 +216,6 @@ public abstract class LoomGradleExtensionImpl extends LoomGradleExtensionApiImpl return installerData; } - @Override - public boolean isRootProject() { - return project.getRootProject() == project; - } - @Override public MixinExtension getMixin() { return this.mixinApExtension; diff --git a/src/main/java/net/fabricmc/loom/util/gradle/GradleUtils.java b/src/main/java/net/fabricmc/loom/util/gradle/GradleUtils.java index 15685104..0303aa63 100644 --- a/src/main/java/net/fabricmc/loom/util/gradle/GradleUtils.java +++ b/src/main/java/net/fabricmc/loom/util/gradle/GradleUtils.java @@ -124,4 +124,8 @@ public final class GradleUtils { property.set(file); return property.getAsFile().get(); } + + public static boolean isRootProject(Project project) { + return project.getRootProject() == project; + } }