Skip to content

Commit b31c5c8

Browse files
committed
Use Tool definition system from GradleUtils Shared
1 parent ab1b684 commit b31c5c8

File tree

9 files changed

+13
-332
lines changed

9 files changed

+13
-332
lines changed

settings.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ plugins {
44
// NOTE: We need to load this into the classpath before GradleUtils for the service to load correctly
55
id 'io.freefair.javadoc-links' version '8.14' apply false // https://plugins.gradle.org/plugin/io.freefair.javadoc-links
66

7-
id 'net.minecraftforge.gradleutils' version '3.2.5' // https://plugins.gradle.org/plugin/net.minecraftforge.gradleutils
7+
id 'net.minecraftforge.gradleutils' version '3.2.7' // https://plugins.gradle.org/plugin/net.minecraftforge.gradleutils
88
}
99

1010
rootProject.name = 'forgegradle'
@@ -35,7 +35,7 @@ dependencyResolutionManagement {
3535
library 'gradle', 'name.remal.gradle-api', 'gradle-api' versionRef 'gradle'
3636

3737
// GradleUtils Shared Base
38-
library 'gradleutils-shared', 'net.minecraftforge', 'gradleutils-shared' version '3.2.5'
38+
library 'gradleutils-shared', 'net.minecraftforge', 'gradleutils-shared' version '3.2.7'
3939

4040
// AccessTransformers Gradle Plugin
4141
// https://plugins.gradle.org/plugin/net.minecraftforge.accesstransformers

src/main/java/net/minecraftforge/gradle/ForgeGradlePlugin.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,12 @@ abstract class ForgeGradlePlugin extends EnhancedPlugin<ExtensionAware> {
1919

2020
@Inject
2121
public ForgeGradlePlugin() {
22-
super(NAME, DISPLAY_NAME);
22+
super(NAME, DISPLAY_NAME, "fgtools");
2323
}
2424

2525
@Override
2626
public void setup(ExtensionAware target) {
2727
ForgeGradleExtensionImpl.register(this, target);
28-
ToolsExtensionImpl.register(this, target);
2928
MinecraftExtensionImpl.register(this, target);
3029
}
3130
}

src/main/java/net/minecraftforge/gradle/MinecraftDependencyWithAccessTransformers.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@
1313
///
1414
/// @see MinecraftDependency
1515
public sealed interface MinecraftDependencyWithAccessTransformers extends MinecraftDependency permits ClosureOwner.MinecraftDependencyWithAccessTransformers, MinecraftDependencyInternal.WithAccessTransformers {
16+
/// The default path, from the source set's [resources][org.gradle.api.tasks.SourceSet#getResources()], for the
17+
/// AccessTransformers config to be located in.
1618
String DEFAULT_PATH = "META-INF/accesstransformer.cfg";
1719

1820
/// Gets the AccessTransformer configuration to use.

src/main/java/net/minecraftforge/gradle/SlimeLauncherExec.java

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -35,19 +35,10 @@
3535

3636
abstract class SlimeLauncherExec extends ToolExec implements EnhancedTask, HasPublicType {
3737
static void register(Project project, SourceSet sourceSet, SlimeLauncherOptionsImpl options, Map<String, RunConfig> configs, Dependency dependency, Provider<RegularFile> metadataZip, boolean single) {
38-
var tools = (ToolsExtensionImpl) project.getExtensions().getByType(ToolsExtension.class);
3938
var taskName = sourceSet.getTaskName("run", options.getName());
4039
project.getTasks().register(single ? taskName : taskName + Util.dependencyToCamelCase(dependency), SlimeLauncherExec.class, task -> {
4140
task.setDescription("Runs the '%s' Slime Launcher run configuration.".formatted(options.getName()));
4241

43-
// TOOL OVERRIDES
44-
var classpathToolOverride = tools.getClasspath(Tools.SLIMELAUNCHER);
45-
if (classpathToolOverride.isPresent())
46-
task.setClasspath(classpathToolOverride.get());
47-
var mainClassToolOverride = tools.getMainClass(Tools.SLIMELAUNCHER);
48-
if (mainClassToolOverride.isPresent())
49-
task.getMainClass().set(mainClassToolOverride);
50-
5142
task.classpath(task.getObjectFactory().fileCollection().from(task.getProviderFactory().provider(sourceSet::getRuntimeClasspath)));
5243
task.getJavaLauncher().unset();
5344

src/main/java/net/minecraftforge/gradle/SyncMinecraftMaven.java

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,11 @@
2020
import org.gradle.api.tasks.Input;
2121
import org.gradle.api.tasks.InputDirectory;
2222
import org.gradle.api.tasks.Internal;
23+
import org.gradle.api.tasks.Nested;
2324
import org.gradle.api.tasks.Optional;
2425
import org.gradle.api.tasks.TaskAction;
2526
import org.gradle.api.tasks.TaskProvider;
27+
import org.gradle.jvm.toolchain.JavaLauncher;
2628
import org.gradle.process.ExecOperations;
2729

2830
import javax.inject.Inject;
@@ -64,10 +66,10 @@ public SyncMinecraftMaven() {
6466
this.setDescription("Syncs the Minecraft dependencies using Minecraft Mavenizer.");
6567

6668
// JavaExec
67-
var fgtools = (ToolsExtensionImpl) this.getProject().getExtensions().getByType(ToolsExtension.class);
68-
this.getExecutable().convention(fgtools.getClasspath(Tools.MAVENIZER).map(Object.class::cast).orElse(this.getTool(Tools.MAVENIZER)));
69-
this.getJavaLauncher().convention(fgtools.getJavaLauncher(Tools.MAVENIZER).orElse(Util.launcherForStrictly(this.getProject(), Tools.MAVENIZER.getJavaVersion()).map(j -> j.getExecutablePath().toString())));
70-
this.getMainClass().convention(fgtools.getMainClass(Tools.MAVENIZER).orElse(Tools.MAVENIZER.getMainClass()));
69+
var tool = this.getTool(Tools.MAVENIZER);
70+
this.getExecutable().convention(tool.getClasspath());
71+
this.getJavaLauncher().convention(tool.getJavaLauncher());
72+
this.getMainClass().convention(tool.getMainClass());
7173

7274
// Minecraft Maven
7375
var defaultDirectory = this.getObjects().directoryProperty().value(this.globalCaches().dir("mavenizer").map(this.problems.ensureFileLocation()));
@@ -102,7 +104,7 @@ public void exec() {
102104
private void exec(Request request) {
103105
this.getExecOperations().javaexec(spec -> {
104106
spec.setClasspath(this.getExecutable());
105-
spec.setExecutable(this.getJavaLauncher().get());
107+
spec.setExecutable(this.getJavaLauncher().get().getExecutablePath());
106108
spec.getMainClass().set(this.getMainClass());
107109

108110
spec.setArgs(this.argsFor(request));
@@ -127,7 +129,7 @@ private List<String> argsFor(Request request) {
127129

128130
// JavaExec
129131
protected abstract @Classpath ConfigurableFileCollection getExecutable();
130-
protected abstract @Input Property<String> getJavaLauncher();
132+
protected abstract @Nested Property<JavaLauncher> getJavaLauncher();
131133
protected abstract @Input Property<String> getMainClass();
132134

133135
// Minecraft Mavenizer

src/main/java/net/minecraftforge/gradle/ToolDefinition.java

Lines changed: 0 additions & 173 deletions
This file was deleted.

src/main/java/net/minecraftforge/gradle/ToolsExtension.java

Lines changed: 0 additions & 13 deletions
This file was deleted.

0 commit comments

Comments
 (0)