Skip to content

Commit 457a2c4

Browse files
committed
Move JarJar Metadata to the parent Jar task
The parent jar task will now *always* include `META-INF/jarjar/metadata.json`, and the jarJar child task will be responsible for including the embedded dependencies. This will be important for enforcing required dependencies in the JarJar selector, whether or not they are constraints.
1 parent 252a426 commit 457a2c4

File tree

1 file changed

+10
-6
lines changed
  • jarjar-gradle/src/main/java/net/minecraftforge/jarjar/gradle

1 file changed

+10
-6
lines changed

jarjar-gradle/src/main/java/net/minecraftforge/jarjar/gradle/JarJar.java

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
*/
55
package net.minecraftforge.jarjar.gradle;
66

7+
import net.minecraftforge.gradleutils.shared.Closures;
78
import org.gradle.api.Action;
89
import org.gradle.api.Project;
910
import org.gradle.api.Task;
@@ -63,9 +64,15 @@ static TaskProvider<JarJar> register(JarJarContainerInternal container, Action<?
6364
if (jarJarTask.configurationBuildDependencies != null)
6465
jarJarTask.dependsOn(jarJarTask.configurationBuildDependencies);
6566

66-
jarJarTask.dependsOn(metadata);
67-
jarJarTask.getMetadataFile().set(metadata.flatMap(JarJarMetadata::getMetadataFile));
68-
jarJarTask.setManifest(jar.get().getManifest());
67+
jar.get().configure(Closures.<Jar>consumer(jarTask -> {
68+
jarTask.dependsOn(metadata);
69+
70+
jarTask.from(metadata.flatMap(JarJarMetadata::getMetadataFile), copy -> copy
71+
.into("META-INF/jarjar")
72+
);
73+
74+
jarJarTask.setManifest(jarTask.getManifest());
75+
}));
6976
});
7077

7178
return jarJar;
@@ -89,8 +96,6 @@ public void setConfiguration(Provider<? extends Configuration> configuration) {
8996
this.setConfiguration(configuration.get());
9097
}
9198

92-
public abstract @InputFile RegularFileProperty getMetadataFile();
93-
9499
private final JarJarProblems problems = this.getObjectFactory().newInstance(JarJarProblems.class);
95100

96101
protected abstract @Inject ProviderFactory getProviders();
@@ -100,7 +105,6 @@ public JarJar() { }
100105
@Override
101106
protected void copy() {
102107
this.jarJarCopySpec.from(this.getIncludedClasspath());
103-
this.jarJarCopySpec.from(this.getMetadataFile());
104108
super.copy();
105109
}
106110
}

0 commit comments

Comments
 (0)