Skip to content

Commit 159bd09

Browse files
committed
Add libraries property to reobf tasks
Signed-off-by: SizableShrimp <[email protected]>
1 parent 8cde2f1 commit 159bd09

File tree

5 files changed

+50
-17
lines changed

5 files changed

+50
-17
lines changed

src/patcher/java/net/minecraftforge/gradle/patcher/PatcherPlugin.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -236,7 +236,7 @@ public void apply(@Nonnull Project project) {
236236

237237
reobfJar.configure(task -> {
238238
task.getInput().set(jarTask.flatMap(AbstractArchiveTask::getArchiveFile));
239-
task.getClasspath().from(project.getConfigurations().named(MC_DEP_CONFIG));
239+
task.getLibraries().from(project.getConfigurations().named(MC_DEP_CONFIG));
240240
});
241241

242242
genJoinedBinPatches.configure(task -> {

src/patcher/java/net/minecraftforge/gradle/patcher/tasks/ReobfuscateJar.java

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,20 @@
55

66
package net.minecraftforge.gradle.patcher.tasks;
77

8+
import com.google.common.collect.ImmutableMultimap;
89
import net.minecraftforge.gradle.common.tasks.JarExec;
910
import net.minecraftforge.gradle.common.util.Utils;
1011

1112
import net.minecraftforge.srgutils.IMappingFile;
1213
import org.apache.commons.io.IOUtils;
14+
import org.gradle.api.file.ConfigurableFileCollection;
1315
import org.gradle.api.file.RegularFile;
1416
import org.gradle.api.file.RegularFileProperty;
1517
import org.gradle.api.provider.Provider;
1618
import org.gradle.api.tasks.Input;
1719
import org.gradle.api.tasks.InputFile;
20+
import org.gradle.api.tasks.InputFiles;
21+
import org.gradle.api.tasks.Optional;
1822
import org.gradle.api.tasks.OutputFile;
1923
import org.gradle.api.tasks.TaskAction;
2024

@@ -40,7 +44,7 @@ public abstract class ReobfuscateJar extends JarExec {
4044

4145
public ReobfuscateJar() {
4246
getTool().set(Utils.FART);
43-
getArgs().addAll("--input", "{input}", "--output", "{output}", "--names", "{srg}", "--ann-fix", "--ids-fix", "--src-fix", "--record-fix");
47+
getArgs().addAll("--input", "{input}", "--output", "{output}", "--names", "{srg}", "--lib", "{libraries}", "--ann-fix", "--ids-fix", "--src-fix", "--record-fix");
4448
getOutput().convention(workDir.map(d -> d.file("output.jar")));
4549
}
4650

@@ -83,10 +87,13 @@ public void apply() throws IOException {
8387

8488
@Override
8589
protected List<String> filterArgs(List<String> args) {
86-
return replaceArgs(args, ImmutableMap.of(
87-
"{input}", getInput().get().getAsFile(),
88-
"{output}", outputTemp.get().getAsFile(),
89-
"{srg}", getSrg().get().getAsFile()), null);
90+
return replaceArgsMulti(args, ImmutableMap.of(
91+
"{input}", getInput().get().getAsFile(),
92+
"{output}", outputTemp.get().getAsFile(),
93+
"{srg}", getSrg().get().getAsFile()),
94+
ImmutableMultimap.<String, Object>builder()
95+
.putAll("{libraries}", getLibraries().getFiles())
96+
.build());
9097
}
9198

9299
@InputFile
@@ -98,6 +105,13 @@ protected List<String> filterArgs(List<String> args) {
98105
@OutputFile
99106
public abstract RegularFileProperty getOutput();
100107

108+
/**
109+
* The libraries to use for inheritance data during the renaming process.
110+
*/
111+
@Optional
112+
@InputFiles
113+
public abstract ConfigurableFileCollection getLibraries();
114+
101115
@Input
102116
public boolean getKeepPackages() {
103117
return this.keepPackages;

src/userdev/java/net/minecraftforge/gradle/userdev/UserDevPlugin.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -333,7 +333,7 @@ private NamedDomainObjectContainer<RenameJarInPlace> createReobfExtension(Projec
333333

334334
final RenameJarInPlace task = project.getTasks().maybeCreate("reobf" + name, RenameJarInPlace.class);
335335

336-
task.getClasspath().from(javaConv.getSourceSets().named(SourceSet.MAIN_SOURCE_SET_NAME).map(SourceSet::getCompileClasspath));
336+
task.getLibraries().from(javaConv.getSourceSets().named(SourceSet.MAIN_SOURCE_SET_NAME).map(SourceSet::getCompileClasspath));
337337
task.getMappings().set(project.getTasks().named("createMcpToSrg", GenerateSRG.class).flatMap(GenerateSRG::getOutput));
338338

339339
project.getTasks().named(LifecycleBasePlugin.ASSEMBLE_TASK_NAME).configure(t -> t.dependsOn(task));

src/userdev/java/net/minecraftforge/gradle/userdev/tasks/RenameJar.java

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,16 +22,19 @@
2222
public abstract class RenameJar extends JarExec {
2323
public RenameJar() {
2424
getTool().set(Utils.FART);
25-
getArgs().addAll("--input", "{input}", "--output", "{output}", "--names", "{mappings}", "--ann-fix", "--ids-fix", "--src-fix", "--record-fix");
25+
getArgs().addAll("--input", "{input}", "--output", "{output}", "--names", "{mappings}", "--lib", "{libraries}", "--ann-fix", "--ids-fix", "--src-fix", "--record-fix");
2626
}
2727

28+
@Override
2829
protected List<String> filterArgs(List<String> args) {
2930
return replaceArgsMulti(args, ImmutableMap.of(
30-
"{input}", getInput().get().getAsFile(),
31-
"{output}", getOutput().get().getAsFile()
32-
), ImmutableMultimap.<String, Object>builder()
31+
"{input}", getInput().get().getAsFile(),
32+
"{output}", getOutput().get().getAsFile()),
33+
ImmutableMultimap.<String, Object>builder()
3334
.put("{mappings}", getMappings().get().getAsFile())
34-
.putAll("{mappings}", getExtraMappings().getFiles()).build()
35+
.putAll("{mappings}", getExtraMappings().getFiles())
36+
.putAll("{libraries}", getLibraries().getFiles())
37+
.build()
3538
);
3639
}
3740

@@ -43,6 +46,13 @@ protected List<String> filterArgs(List<String> args) {
4346
@InputFiles
4447
public abstract ConfigurableFileCollection getExtraMappings();
4548

49+
/**
50+
* The libraries to use for inheritance data during the renaming process.
51+
*/
52+
@Optional
53+
@InputFiles
54+
public abstract ConfigurableFileCollection getLibraries();
55+
4656
@InputFile
4757
public abstract RegularFileProperty getInput();
4858

src/userdev/java/net/minecraftforge/gradle/userdev/tasks/RenameJarInPlace.java

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -31,18 +31,20 @@ public abstract class RenameJarInPlace extends JarExec {
3131

3232
public RenameJarInPlace() {
3333
getTool().set(Utils.FART);
34-
getArgs().addAll("--input", "{input}", "--output", "{output}", "--names", "{mappings}", "--ann-fix", "--ids-fix", "--src-fix", "--record-fix");
34+
getArgs().addAll("--input", "{input}", "--output", "{output}", "--names", "{mappings}", "--lib", "{libraries}", "--ann-fix", "--ids-fix", "--src-fix", "--record-fix");
3535
this.getOutputs().upToDateWhen(task -> false);
3636
}
3737

3838
@Override
3939
protected List<String> filterArgs(List<String> args) {
4040
return replaceArgsMulti(args, ImmutableMap.of(
41-
"{input}", getInput().get().getAsFile(),
42-
"{output}", temp.get().getAsFile()
43-
), ImmutableMultimap.<String, Object>builder()
41+
"{input}", getInput().get().getAsFile(),
42+
"{output}", temp.get().getAsFile()),
43+
ImmutableMultimap.<String, Object>builder()
4444
.put("{mappings}", getMappings().get().getAsFile())
45-
.putAll("{mappings}", getExtraMappings().getFiles()).build()
45+
.putAll("{mappings}", getExtraMappings().getFiles())
46+
.putAll("{libraries}", getLibraries().getFiles())
47+
.build()
4648
);
4749
}
4850

@@ -67,6 +69,13 @@ public void apply() throws IOException {
6769
@InputFiles
6870
public abstract ConfigurableFileCollection getExtraMappings();
6971

72+
/**
73+
* The libraries to use for inheritance data during the renaming process.
74+
*/
75+
@Optional
76+
@InputFiles
77+
public abstract ConfigurableFileCollection getLibraries();
78+
7079
@InputFile
7180
public abstract RegularFileProperty getInput();
7281
}

0 commit comments

Comments
 (0)