Skip to content

Commit 0ca3806

Browse files
committed
Task inputs -> file collections for input validation
1 parent 24ab86a commit 0ca3806

File tree

5 files changed

+15
-40
lines changed

5 files changed

+15
-40
lines changed

src/main/groovy/net/minecraftforge/forgedev/tasks/launcher/SlimeLauncherEclipseConfiguration.java

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,10 @@
44
*/
55
package net.minecraftforge.forgedev.tasks.launcher;
66

7-
import com.google.gson.JsonIOException;
8-
import com.google.gson.reflect.TypeToken;
97
import net.minecraftforge.forgedev.ForgeDevProblems;
108
import net.minecraftforge.forgedev.ForgeDevTask;
119
import net.minecraftforge.forgedev.Tools;
1210
import net.minecraftforge.forgedev.Util;
13-
import net.minecraftforge.util.data.json.JsonData;
14-
import net.minecraftforge.util.data.json.RunConfig;
1511
import org.gradle.api.DefaultTask;
1612
import org.gradle.api.file.ConfigurableFileCollection;
1713
import org.gradle.api.file.DirectoryProperty;
@@ -25,7 +21,6 @@
2521
import org.gradle.api.provider.ProviderFactory;
2622
import org.gradle.api.tasks.Classpath;
2723
import org.gradle.api.tasks.Input;
28-
import org.gradle.api.tasks.InputFile;
2924
import org.gradle.api.tasks.InputFiles;
3025
import org.gradle.api.tasks.Internal;
3126
import org.gradle.api.tasks.Nested;
@@ -79,7 +74,7 @@ abstract class SlimeLauncherEclipseConfiguration extends DefaultTask implements
7974

8075
protected abstract @Internal DirectoryProperty getCacheDir();
8176

82-
protected abstract @InputFile RegularFileProperty getMetadataZip();
77+
protected abstract @InputFiles ConfigurableFileCollection getMetadata();
8378

8479
protected abstract @Inject ObjectFactory getObjects();
8580

@@ -131,7 +126,7 @@ protected void exec() {
131126
//region Slime Launcher setup
132127
args.addAll(0, List.of("--main", options.getMainClass().get(),
133128
"--cache", this.getCacheDir().get().getAsFile().getAbsolutePath(),
134-
"--metadata", this.getMetadataZip().get().getAsFile().getAbsolutePath(),
129+
"--metadata", this.getMetadata().getSingleFile().getAbsolutePath(),
135130
"--"));
136131

137132
try {

src/main/groovy/net/minecraftforge/forgedev/tasks/launcher/SlimeLauncherExec.java

Lines changed: 11 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -4,27 +4,21 @@
44
*/
55
package net.minecraftforge.forgedev.tasks.launcher;
66

7-
import com.google.gson.JsonIOException;
8-
import com.google.gson.reflect.TypeToken;
97
import net.minecraftforge.forgedev.ForgeDevProblems;
108
import net.minecraftforge.forgedev.ForgeDevTask;
119
import net.minecraftforge.forgedev.Tools;
1210
import net.minecraftforge.forgedev.Util;
13-
import net.minecraftforge.util.data.json.JsonData;
14-
import net.minecraftforge.util.data.json.RunConfig;
1511
import org.gradle.api.Project;
16-
import org.gradle.api.UnknownDomainObjectException;
1712
import org.gradle.api.artifacts.ModuleIdentifier;
1813
import org.gradle.api.attributes.Usage;
14+
import org.gradle.api.file.ConfigurableFileCollection;
1915
import org.gradle.api.file.DirectoryProperty;
20-
import org.gradle.api.file.RegularFileProperty;
21-
import org.gradle.api.provider.ListProperty;
2216
import org.gradle.api.provider.Property;
2317
import org.gradle.api.provider.Provider;
2418
import org.gradle.api.reflect.HasPublicType;
2519
import org.gradle.api.reflect.TypeOf;
2620
import org.gradle.api.tasks.Input;
27-
import org.gradle.api.tasks.InputFile;
21+
import org.gradle.api.tasks.InputFiles;
2822
import org.gradle.api.tasks.Internal;
2923
import org.gradle.api.tasks.JavaExec;
3024
import org.gradle.api.tasks.Nested;
@@ -44,14 +38,11 @@ public abstract class SlimeLauncherExec extends JavaExec implements ForgeDevTask
4438
public static TaskProvider<SlimeLauncherExec> register(Project project, SourceSet sourceSet, SlimeLauncherOptionsImpl options, ModuleIdentifier module, String version, File eclipseOutputDir) {
4539
var metadataDep = project.getDependencyFactory().create(module.getGroup(), module.getName(), version, "metadata", "zip");
4640
var metadataAttr = project.getObjects().named(Usage.class, "metadata");
47-
var metadataZip = project.getObjects().fileProperty().fileProvider(project.getProviders().provider(() -> {
48-
var configuration = project.getConfigurations().detachedConfiguration(
49-
metadataDep
50-
);
51-
configuration.setTransitive(false);
52-
configuration.attributes(a -> a.attribute(Usage.USAGE_ATTRIBUTE, metadataAttr));
53-
return configuration.getSingleFile();
54-
}));
41+
var metadataConfiguration = project.getConfigurations().detachedConfiguration(
42+
metadataDep
43+
);
44+
metadataConfiguration.setTransitive(false);
45+
metadataConfiguration.attributes(a -> a.attribute(Usage.USAGE_ATTRIBUTE, metadataAttr));
5546

5647
var runTaskName = sourceSet.getTaskName("run", options.getName());
5748
var generateEclipseRunTaskName = sourceSet.getTaskName("genEclipseRun", options.getName());
@@ -72,7 +63,7 @@ public static TaskProvider<SlimeLauncherExec> register(Project project, SourceSe
7263

7364
var caches = task.getObjects().directoryProperty().value(task.globalCaches().dir("slime-launcher/cache/%s".formatted(version)));
7465
task.getCacheDir().set(caches.map(task.problems.ensureFileLocation()));
75-
task.getMetadataZip().set(metadataZip);
66+
task.getMetadata().setFrom(metadataConfiguration);
7667

7768
task.getOptions().set(options);
7869
});
@@ -88,7 +79,7 @@ public static TaskProvider<SlimeLauncherExec> register(Project project, SourceSe
8879

8980
var caches = task.getObjectFactory().directoryProperty().value(task.globalCaches().dir("slime-launcher/cache/%s".formatted(version)));
9081
task.getCacheDir().set(caches.map(task.problems.ensureFileLocation()));
91-
task.getMetadataZip().set(metadataZip);
82+
task.getMetadata().setFrom(metadataConfiguration);
9283

9384
task.getOptions().set(options);
9485
});
@@ -102,7 +93,7 @@ public static TaskProvider<SlimeLauncherExec> register(Project project, SourceSe
10293

10394
protected abstract @Internal DirectoryProperty getCacheDir();
10495

105-
protected abstract @InputFile RegularFileProperty getMetadataZip();
96+
protected abstract @InputFiles ConfigurableFileCollection getMetadata();
10697

10798
protected abstract @Input @Optional Property<Boolean> getClient();
10899

@@ -152,7 +143,7 @@ public void exec() {
152143
} else {
153144
this.args("--main", mainClass.get(),
154145
"--cache", this.getCacheDir().get().getAsFile().getAbsolutePath(),
155-
"--metadata", this.getMetadataZip().get().getAsFile().getAbsolutePath(),
146+
"--metadata", this.getMetadata().getSingleFile().getAbsolutePath(),
156147
"--");
157148
}
158149

src/main/groovy/net/minecraftforge/forgedev/tasks/launcher/SlimeLauncherOptions.java

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,10 @@
99
import org.gradle.api.file.ConfigurableFileCollection;
1010
import org.gradle.api.file.DirectoryProperty;
1111
import org.gradle.api.file.FileCollection;
12-
import org.gradle.api.provider.ListProperty;
13-
import org.gradle.api.provider.MapProperty;
14-
import org.gradle.api.provider.Property;
15-
import org.gradle.api.provider.Provider;
1612
import org.gradle.api.tasks.Classpath;
1713
import org.gradle.api.tasks.Input;
1814
import org.gradle.api.tasks.InputFiles;
1915
import org.gradle.api.tasks.Internal;
20-
import org.gradle.api.tasks.Nested;
2116
import org.gradle.api.tasks.Optional;
2217
import org.gradle.api.tasks.SourceSet;
2318

src/main/groovy/net/minecraftforge/forgedev/tasks/launcher/SlimeLauncherOptionsImpl.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ public MapProperty<String, SlimeLauncherOptionsNested> getNested() {
117117
public void with(String sourceSetName, Action<? super SlimeLauncherOptionsNested> action) {
118118
var child = getObjects().newInstance(SlimeLauncherOptionsImpl.class, this.name);
119119
action.execute(child);
120-
this.nested.put(sourceSetName, child);
120+
this.getNested().put(sourceSetName, child);
121121
}
122122

123123
/* SETTERS */
@@ -302,7 +302,7 @@ private SlimeLauncherOptionsInternal inherit(SlimeLauncherOptionsInternal target
302302
target.systemProperties(config.props);
303303
}
304304

305-
var child = this.nested.getting(sourceSetName).getOrNull();
305+
var child = this.getNested().getting(sourceSetName).getOrNull();
306306
if (child != null) {
307307
if (child.getMainClass().filter(Util.IS_NOT_BLANK).isPresent())
308308
target.getMainClass().set(child.getMainClass());

src/main/groovy/net/minecraftforge/forgedev/tasks/launcher/SlimeLauncherOptionsNested.java

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,20 +4,14 @@
44
*/
55
package net.minecraftforge.forgedev.tasks.launcher;
66

7-
import org.gradle.api.Action;
8-
import org.gradle.api.file.ConfigurableFileCollection;
97
import org.gradle.api.file.DirectoryProperty;
10-
import org.gradle.api.file.FileCollection;
118
import org.gradle.api.provider.ListProperty;
129
import org.gradle.api.provider.MapProperty;
1310
import org.gradle.api.provider.Property;
1411
import org.gradle.api.provider.Provider;
15-
import org.gradle.api.tasks.Classpath;
1612
import org.gradle.api.tasks.Input;
17-
import org.gradle.api.tasks.InputFiles;
1813
import org.gradle.api.tasks.Internal;
1914
import org.gradle.api.tasks.Optional;
20-
import org.gradle.api.tasks.SourceSet;
2115

2216
import java.util.Map;
2317

0 commit comments

Comments
 (0)