Skip to content

Commit 45f57d8

Browse files
committed
Review comments
1 parent 1baf59e commit 45f57d8

File tree

13 files changed

+65
-66
lines changed

13 files changed

+65
-66
lines changed

src/legacy/java/net/neoforged/moddevgradle/legacyforge/internal/Obfuscation.java renamed to src/legacy/java/net/neoforged/moddevgradle/legacyforge/dsl/Obfuscation.java

Lines changed: 34 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
1-
package net.neoforged.moddevgradle.legacyforge.internal;
1+
package net.neoforged.moddevgradle.legacyforge.dsl;
22

3+
import net.neoforged.moddevgradle.legacyforge.internal.LegacyForgeModDevPlugin;
4+
import net.neoforged.moddevgradle.legacyforge.tasks.RemapJar;
5+
import net.neoforged.moddevgradle.legacyforge.tasks.RemapOperation;
36
import org.apache.commons.lang3.StringUtils;
47
import org.gradle.api.Action;
58
import org.gradle.api.Project;
@@ -14,37 +17,56 @@
1417
import org.gradle.api.tasks.SourceSet;
1518
import org.gradle.api.tasks.TaskProvider;
1619
import org.gradle.api.tasks.bundling.AbstractArchiveTask;
20+
import org.jetbrains.annotations.ApiStatus;
1721

1822
import javax.inject.Inject;
1923
import java.util.List;
2024

21-
abstract class Obfuscation {
25+
public abstract class Obfuscation {
2226
private final Project project;
23-
final Provider<RegularFile> officialToSrg, mappingsCsv;
24-
final Configuration autoRenamingToolRuntime;
25-
final Configuration installerToolsRuntime;
27+
private final Provider<RegularFile> officialToSrg;
28+
private final Provider<RegularFile> mappingsCsv;
29+
private final Configuration autoRenamingToolRuntime;
30+
private final Configuration installerToolsRuntime;
2631

2732
@Inject
28-
public Obfuscation(Project project, Provider<RegularFile> officialToSrg, Provider<RegularFile> mappingsCsv, Configuration autoRenamingToolRuntime, Configuration installerToolsRuntime) {
33+
public Obfuscation(Project project,
34+
Provider<RegularFile> officialToSrg,
35+
Provider<RegularFile> mappingsCsv,
36+
Configuration autoRenamingToolRuntime,
37+
Configuration installerToolsRuntime) {
2938
this.project = project;
3039
this.officialToSrg = officialToSrg;
3140
this.mappingsCsv = mappingsCsv;
3241
this.autoRenamingToolRuntime = autoRenamingToolRuntime;
3342
this.installerToolsRuntime = installerToolsRuntime;
3443
}
3544

45+
@ApiStatus.Internal
46+
public void configureAutoRenamingToolOperation(RemapOperation operation) {
47+
operation.getToolType().set(RemapOperation.ToolType.ART);
48+
operation.getToolClasspath().from(autoRenamingToolRuntime);
49+
operation.getMappings().from(officialToSrg);
50+
}
51+
52+
@ApiStatus.Internal
53+
public void configureInstallerToolsOperation(RemapOperation operation) {
54+
operation.getToolType().set(RemapOperation.ToolType.INSTALLER_TOOLS);
55+
operation.getToolClasspath().from(installerToolsRuntime);
56+
operation.getMappings().from(mappingsCsv);
57+
}
58+
3659
/**
37-
* Create a configure a reobfuscation task.
60+
* Create and configure a reobfuscation task.
3861
*
3962
* @param jar the jar task to reobfuscate
4063
* @param sourceSet the source set whose classpath to use when remapping inherited methods
4164
* @param configuration an action used to configure the rebfuscation task
4265
* @return a provider of the created task
4366
*/
4467
public TaskProvider<RemapJar> reobfuscate(TaskProvider<? extends AbstractArchiveTask> jar,
45-
SourceSet sourceSet,
46-
Action<RemapJar> configuration) {
47-
68+
SourceSet sourceSet,
69+
Action<RemapJar> configuration) {
4870

4971
var reobf = project.getTasks().register("reobf" + StringUtils.capitalize(jar.getName()), RemapJar.class, task -> {
5072
task.getInput().set(jar.flatMap(AbstractArchiveTask::getArchiveFile));
@@ -54,7 +76,7 @@ public TaskProvider<RemapJar> reobfuscate(TaskProvider<? extends AbstractArchive
5476
task.getArchiveClassifier().convention(jar.flatMap(AbstractArchiveTask::getArchiveClassifier));
5577
task.getArchiveAppendix().convention(jar.flatMap(AbstractArchiveTask::getArchiveAppendix));
5678
task.getLibraries().from(sourceSet.getCompileClasspath());
57-
task.getParameters().from(this, RemapParameters.ToolType.ART);
79+
configureAutoRenamingToolOperation(task.getRemapOperation());
5880
configuration.execute(task);
5981
});
6082

@@ -78,6 +100,7 @@ public TaskProvider<RemapJar> reobfuscate(TaskProvider<? extends AbstractArchive
78100

79101
/**
80102
* Creates a configuration that will remap its dependencies, and adds it as a children of the provided {@code parent}.
103+
* The created configuration uses the name of its parent capitalized and prefixed by "mod".
81104
*/
82105
public Configuration createRemappingConfiguration(Configuration parent) {
83106
var remappingConfig = project.getConfigurations().create("mod" + StringUtils.capitalize(parent.getName()), spec -> {

src/legacy/java/net/neoforged/moddevgradle/legacyforge/internal/LegacyForgeModDevPlugin.java

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import net.neoforged.moddevgradle.internal.LegacyForgeFacade;
55
import net.neoforged.moddevgradle.internal.ModDevPlugin;
66
import net.neoforged.moddevgradle.legacyforge.dsl.MixinExtension;
7+
import net.neoforged.moddevgradle.legacyforge.dsl.Obfuscation;
78
import org.gradle.api.Plugin;
89
import org.gradle.api.Project;
910
import org.gradle.api.artifacts.type.ArtifactTypeDefinition;
@@ -13,14 +14,19 @@
1314
import org.gradle.api.tasks.SourceSet;
1415
import org.gradle.api.tasks.SourceSetContainer;
1516
import org.gradle.jvm.tasks.Jar;
17+
import org.jetbrains.annotations.ApiStatus;
1618

1719
import java.net.URI;
1820
import java.util.Map;
1921
import java.util.stream.Stream;
2022

23+
@ApiStatus.Internal
2124
public class LegacyForgeModDevPlugin implements Plugin<Project> {
2225
public static final Attribute<Boolean> REMAPPED = Attribute.of("net.neoforged.moddevgradle.legacy.remapped", Boolean.class);
2326

27+
public static final String CONFIGURATION_TOOL_ART = "autoRenamingToolRuntime";
28+
public static final String CONFIGURATION_TOOL_INSTALLERTOOLS = "installerToolsRuntime";
29+
2430
@Override
2531
public void apply(Project project) {
2632
project.getPlugins().apply(ModDevPlugin.class);
@@ -36,14 +42,14 @@ public void apply(Project project) {
3642
project.getDependencies().getComponents().withModule("de.oceanlabs.mcp:mcp_config", McpMetadataTransform.class);
3743

3844
var depFactory = project.getDependencyFactory();
39-
var autoRenamingToolRuntime = project.getConfigurations().create("autoRenamingToolRuntime", spec -> {
45+
var autoRenamingToolRuntime = project.getConfigurations().create(CONFIGURATION_TOOL_ART, spec -> {
4046
spec.setDescription("The AutoRenamingTool CLI tool");
4147
spec.setCanBeConsumed(false);
4248
spec.setCanBeResolved(true);
4349
spec.setTransitive(false);
4450
spec.getDependencies().add(depFactory.create("net.neoforged:AutoRenamingTool:2.0.4:all"));
4551
});
46-
var installerToolsRuntime = project.getConfigurations().create("installerToolsRuntime", spec -> {
52+
var installerToolsRuntime = project.getConfigurations().create(CONFIGURATION_TOOL_INSTALLERTOOLS, spec -> {
4753
spec.setDescription("The InstallerTools CLI tool");
4854
spec.setCanBeConsumed(false);
4955
spec.setCanBeResolved(true);
@@ -85,7 +91,7 @@ public void apply(Project project) {
8591
project.getTasks().named(JavaPlugin.JAR_TASK_NAME, Jar.class),
8692
project.getExtensions().getByType(SourceSetContainer.class).getByName(SourceSet.MAIN_SOURCE_SET_NAME),
8793
task -> {
88-
task.getParameters().getMappings().from(extraMixinMappings);
94+
task.getRemapOperation().getMappings().from(extraMixinMappings);
8995
}
9096
);
9197

@@ -115,11 +121,7 @@ public void apply(Project project) {
115121

116122
project.getDependencies().registerTransform(RemappingTransform.class, params -> {
117123
params.parameters(parameters -> {
118-
parameters.getParameters().set(project.provider(() -> {
119-
var p = project.getObjects().newInstance(RemapParameters.class);
120-
p.from(obf, RemapParameters.ToolType.INSTALLER_TOOLS);
121-
return p;
122-
}));
124+
obf.configureInstallerToolsOperation(parameters.getRemapOperation());
123125
parameters.getMinecraftDependencies().from(remapDeps);
124126
});
125127
params.getFrom()

src/legacy/java/net/neoforged/moddevgradle/legacyforge/internal/McpMetadataTransform.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
import org.gradle.api.artifacts.ComponentMetadataContext;
88
import org.gradle.api.artifacts.DirectDependenciesMetadata;
99
import org.gradle.api.artifacts.repositories.RepositoryResourceAccessor;
10-
import org.gradle.api.artifacts.transform.CacheableTransform;
1110
import org.gradle.api.attributes.Usage;
1211
import org.gradle.api.attributes.java.TargetJvmVersion;
1312
import org.gradle.api.model.ObjectFactory;

src/legacy/java/net/neoforged/moddevgradle/legacyforge/internal/RemappingTransform.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package net.neoforged.moddevgradle.legacyforge.internal;
22

3+
import net.neoforged.moddevgradle.legacyforge.tasks.RemapOperation;
34
import org.gradle.api.artifacts.transform.CacheableTransform;
45
import org.gradle.api.artifacts.transform.InputArtifact;
56
import org.gradle.api.artifacts.transform.InputArtifactDependencies;
@@ -9,7 +10,6 @@
910
import org.gradle.api.file.ConfigurableFileCollection;
1011
import org.gradle.api.file.FileCollection;
1112
import org.gradle.api.file.FileSystemLocation;
12-
import org.gradle.api.provider.Property;
1313
import org.gradle.api.provider.Provider;
1414
import org.gradle.api.tasks.CompileClasspath;
1515
import org.gradle.api.tasks.InputFiles;
@@ -46,7 +46,7 @@ public void transform(TransformOutputs outputs) {
4646

4747
var mappedFile = outputs.file(inputFile.getName());
4848
try {
49-
getParameters().getParameters().get()
49+
getParameters().getRemapOperation()
5050
.execute(
5151
getExecOperations(),
5252
inputFile,
@@ -60,7 +60,7 @@ public void transform(TransformOutputs outputs) {
6060

6161
public interface Parameters extends TransformParameters {
6262
@Nested
63-
Property<RemapParameters> getParameters();
63+
RemapOperation getRemapOperation();
6464

6565
@InputFiles
6666
@PathSensitive(PathSensitivity.NONE)

src/legacy/java/net/neoforged/moddevgradle/legacyforge/internal/RemapJar.java renamed to src/legacy/java/net/neoforged/moddevgradle/legacyforge/tasks/RemapJar.java

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package net.neoforged.moddevgradle.legacyforge.internal;
1+
package net.neoforged.moddevgradle.legacyforge.tasks;
22

33
import org.gradle.api.file.ConfigurableFileCollection;
44
import org.gradle.api.file.RegularFileProperty;
@@ -16,14 +16,10 @@
1616
/**
1717
* Task used to remap a jar using AutoRenamingTool.
1818
*/
19-
abstract class RemapJar extends Jar {
19+
public abstract class RemapJar extends Jar {
2020

2121
@Nested
22-
protected abstract RemapParameters getParameters();
23-
24-
@Inject
25-
public RemapJar() {
26-
}
22+
public abstract RemapOperation getRemapOperation();
2723

2824
/**
2925
* The libraries to use for inheritance data during the renaming process.
@@ -38,9 +34,12 @@ public RemapJar() {
3834
@Inject
3935
protected abstract ExecOperations getExecOperations();
4036

37+
@Inject
38+
public RemapJar() {
39+
}
40+
4141
@TaskAction
4242
public void remap() throws IOException {
43-
44-
getParameters().execute(getExecOperations(), getInput().getAsFile().get(), getArchiveFile().get().getAsFile(), getLibraries());
43+
getRemapOperation().execute(getExecOperations(), getInput().getAsFile().get(), getArchiveFile().get().getAsFile(), getLibraries());
4544
}
4645
}

src/legacy/java/net/neoforged/moddevgradle/legacyforge/internal/RemapParameters.java renamed to src/legacy/java/net/neoforged/moddevgradle/legacyforge/tasks/RemapOperation.java

Lines changed: 10 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package net.neoforged.moddevgradle.legacyforge.internal;
1+
package net.neoforged.moddevgradle.legacyforge.tasks;
22

33
import net.neoforged.moddevgradle.internal.utils.NetworkSettingPassthrough;
44
import org.gradle.api.file.ConfigurableFileCollection;
@@ -23,35 +23,24 @@
2323
import java.util.Arrays;
2424
import java.util.List;
2525

26-
abstract class RemapParameters implements Serializable {
26+
public abstract class RemapOperation implements Serializable {
2727
@Inject
28-
public RemapParameters() {}
28+
public RemapOperation() {}
29+
30+
@Input
31+
public abstract Property<ToolType> getToolType();
2932

3033
@Classpath
3134
@InputFiles
32-
protected abstract ConfigurableFileCollection getToolClasspath();
35+
public abstract ConfigurableFileCollection getToolClasspath();
36+
37+
@Internal
38+
protected abstract RegularFileProperty getLogFile();
3339

3440
@InputFiles
3541
@PathSensitive(PathSensitivity.NONE)
3642
public abstract ConfigurableFileCollection getMappings();
3743

38-
@Internal
39-
public abstract RegularFileProperty getLogFile();
40-
41-
@Input
42-
public abstract Property<ToolType> getToolType();
43-
44-
public void from(Obfuscation reobfuscation, ToolType toolType) {
45-
getToolType().set(toolType);
46-
if (toolType == ToolType.ART) {
47-
getToolClasspath().from(reobfuscation.autoRenamingToolRuntime);
48-
getMappings().from(reobfuscation.officialToSrg);
49-
} else {
50-
getToolClasspath().from(reobfuscation.installerToolsRuntime);
51-
getMappings().from(reobfuscation.mappingsCsv);
52-
}
53-
}
54-
5544
public void execute(ExecOperations operations, File input, File output, FileCollection libraries) throws IOException {
5645
final List<String> args = new ArrayList<>();
5746

src/main/java/net/neoforged/moddevgradle/dsl/InternalModelHelper.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package net.neoforged.moddevgradle.dsl;
22

33
import net.neoforged.moddevgradle.internal.utils.StringUtils;
4-
import org.gradle.api.artifacts.Configuration;
54
import org.jetbrains.annotations.ApiStatus;
65
import org.jetbrains.annotations.Nullable;
76

src/main/java/net/neoforged/moddevgradle/internal/RunGameTask.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
import java.io.IOException;
1616
import java.io.UncheckedIOException;
1717
import java.nio.file.Files;
18-
import java.util.HashMap;
1918

2019
/**
2120
* By extending JavaExec, we allow IntelliJ to automatically attach a debugger to the forked JVM, making

src/main/java/net/neoforged/moddevgradle/internal/RunUtils.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@
3838
import java.util.Properties;
3939
import java.util.Set;
4040
import java.util.function.BiConsumer;
41-
import java.util.function.Supplier;
4241
import java.util.stream.Collectors;
4342

4443
final class RunUtils {

src/main/java/net/neoforged/moddevgradle/internal/WriteLegacyClasspath.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,9 @@
22

33
import net.neoforged.moddevgradle.internal.utils.FileUtils;
44
import org.gradle.api.DefaultTask;
5-
import org.gradle.api.file.ConfigurableFileCollection;
65
import org.gradle.api.file.RegularFileProperty;
76
import org.gradle.api.provider.ListProperty;
87
import org.gradle.api.tasks.Input;
9-
import org.gradle.api.tasks.InputFiles;
108
import org.gradle.api.tasks.OutputFile;
119
import org.gradle.api.tasks.TaskAction;
1210

src/main/java/net/neoforged/moddevgradle/internal/jarjar/ResolvedJarJarArtifact.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
import org.gradle.api.tasks.InputFile;
1111
import org.gradle.api.tasks.PathSensitive;
1212
import org.gradle.api.tasks.PathSensitivity;
13-
import org.gradle.api.tasks.SourceSet;
1413

1514
import java.io.File;
1615
import java.io.IOException;

src/test/java/net/neoforged/moddevgradle/functional/KotlinScriptTest.java

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,8 @@
33
import org.gradle.testkit.runner.BuildResult;
44
import org.gradle.testkit.runner.GradleRunner;
55
import org.gradle.testkit.runner.TaskOutcome;
6-
import org.junit.jupiter.api.BeforeEach;
76
import org.junit.jupiter.api.Test;
8-
import org.junit.jupiter.api.io.TempDir;
97

10-
import java.io.BufferedWriter;
11-
import java.io.File;
12-
import java.io.FileWriter;
138
import java.io.IOException;
149

1510
import static org.assertj.core.api.Assertions.assertThat;

src/test/java/net/neoforged/moddevgradle/functional/ValidationTests.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,7 @@
44
import org.gradle.testkit.runner.GradleRunner;
55
import org.junit.jupiter.api.BeforeEach;
66
import org.junit.jupiter.api.Test;
7-
import org.junit.jupiter.api.io.TempDir;
87

9-
import java.io.File;
108
import java.io.IOException;
119
import java.nio.file.Files;
1210

0 commit comments

Comments
 (0)