From a6547244e96c1e1cbffa6a47719dc69eae66a576 Mon Sep 17 00:00:00 2001 From: modmuss50 Date: Tue, 19 Dec 2023 16:31:35 +0000 Subject: [PATCH] Add loom.getMinecraftVersion() Closes #982 --- .../java/net/fabricmc/loom/api/LoomGradleExtensionAPI.java | 6 ++++++ .../fabricmc/loom/extension/LoomGradleExtensionApiImpl.java | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/src/main/java/net/fabricmc/loom/api/LoomGradleExtensionAPI.java b/src/main/java/net/fabricmc/loom/api/LoomGradleExtensionAPI.java index 4fee840a..ef647b9b 100644 --- a/src/main/java/net/fabricmc/loom/api/LoomGradleExtensionAPI.java +++ b/src/main/java/net/fabricmc/loom/api/LoomGradleExtensionAPI.java @@ -35,6 +35,7 @@ import org.gradle.api.file.ConfigurableFileCollection; import org.gradle.api.file.RegularFileProperty; import org.gradle.api.provider.ListProperty; import org.gradle.api.provider.Property; +import org.gradle.api.provider.Provider; import org.gradle.api.provider.SetProperty; import org.gradle.api.publish.maven.MavenPublication; import org.gradle.api.tasks.SourceSet; @@ -225,4 +226,9 @@ public interface LoomGradleExtensionAPI { Property getSplitModDependencies(); void addRemapperExtension(Class> remapperExtensionClass, Class parametersClass, Action parameterAction); + + /** + * @return The minecraft version, as a {@link Provider}. + */ + Provider getMinecraftVersion(); } diff --git a/src/main/java/net/fabricmc/loom/extension/LoomGradleExtensionApiImpl.java b/src/main/java/net/fabricmc/loom/extension/LoomGradleExtensionApiImpl.java index 0bf6e98e..87875f31 100644 --- a/src/main/java/net/fabricmc/loom/extension/LoomGradleExtensionApiImpl.java +++ b/src/main/java/net/fabricmc/loom/extension/LoomGradleExtensionApiImpl.java @@ -37,6 +37,7 @@ import org.gradle.api.file.RegularFileProperty; import org.gradle.api.model.ObjectFactory; import org.gradle.api.provider.ListProperty; import org.gradle.api.provider.Property; +import org.gradle.api.provider.Provider; import org.gradle.api.provider.SetProperty; import org.gradle.api.publish.maven.MavenPublication; import org.gradle.api.tasks.SourceSet; @@ -406,6 +407,11 @@ public abstract class LoomGradleExtensionApiImpl implements LoomGradleExtensionA remapperExtensions.add(holder); } + @Override + public Provider getMinecraftVersion() { + return getProject().provider(() -> LoomGradleExtension.get(getProject()).getMinecraftProvider().minecraftVersion()); + } + // This is here to ensure that LoomGradleExtensionApiImpl compiles without any unimplemented methods private final class EnsureCompile extends LoomGradleExtensionApiImpl { private EnsureCompile() {