vjson.setOutput(delayedFile(VERSION_JSON));
vjson.dependsOn("generateInstallJson");
}
*/
final DelayedJar uni = makeTask("packageUniversal", DelayedJar.class);
{
uni.setClassifier(delayedString("B{BUILD_NUM}").call());
uni.getInputs().file(delayedFile(MCPC_JSON_REL));
uni.getOutputs().upToDateWhen(Constants.CALL_FALSE);
uni.from(delayedZipTree(BINPATCH_TMP));
uni.from(delayedFileTree(FML_RESOURCES));
uni.from(delayedFileTree(FORGE_RESOURCES));
uni.from(delayedFileTree(MCPC_RESOURCES));
uni.from(delayedFileTree(EXTRACTED_RES));
uni.from(delayedFile(FML_VERSIONF));
uni.from(delayedFile(FML_LICENSE));
uni.from(delayedFile(FML_CREDITS));
uni.from(delayedFile(FORGE_LICENSE));
uni.from(delayedFile(FORGE_CREDITS));
uni.from(delayedFile(PAULSCODE_LISCENCE1));
uni.from(delayedFile(PAULSCODE_LISCENCE2));
uni.from(delayedFile(DEOBF_DATA));
uni.from(delayedFile(CHANGELOG));
uni.from(delayedFile(VERSION_JSON));
uni.exclude("devbinpatches.pack.lzma");
uni.setIncludeEmptyDirs(false);
uni.setManifest(new Closure<Object>(project)
{
public Object call()
{
Manifest mani = (Manifest) getDelegate();
mani.getAttributes().put("Main-Class", delayedString("{MAIN_CLASS}").call());
mani.getAttributes().put("TweakClass", delayedString("{FML_TWEAK_CLASS}").call());
mani.getAttributes().put("Class-Path", getServerClassPath(delayedFile(MCPC_JSON_REL).call()));
return null;
}
});
// uni.doLast(new Action<Task>()
// {
// @Override
// public void execute(Task arg0)
// {
// try
// {
// signJar(((DelayedJar)arg0).getArchivePath(), "forge", "*/*/**", "!paulscode/**");
// }
// catch (Exception e)
// {
// Throwables.propagate(e);
// }
// }
// });
uni.setDestinationDir(delayedFile("{BUILD_DIR}/distributions").call());
//uni.dependsOn("genBinPatches", "createChangelog", "createVersionPropertiesFML", "generateVersionJson");
uni.dependsOn("genBinPatches", "createVersionPropertiesFML");
}
project.getArtifacts().add("archives", uni);
FileFilterTask task = makeTask("generateInstallJson", FileFilterTask.class);
{
task.setInputFile(delayedFile(MCPC_JSON_REL));
task.setOutputFile(delayedFile(INSTALL_PROFILE));
task.addReplacement("@minecraft_version@", delayedString("{MC_VERSION}"));
task.addReplacement("@version@", delayedString("{VERSION}"));
task.addReplacement("@project@", delayedString("mcpc-plus"));
task.addReplacement("@artifact@", delayedString("net.minecraftforge:forge:{MC_VERSION}-{VERSION}"));
task.addReplacement("@universal_jar@", new Closure<String>(project)
{
public String call()
{
return uni.getArchiveName();
}
});
task.addReplacement("@timestamp@", new Closure<String>(project)
{
public String call()
{
return (new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ")).format(new Date());
}
});
}
Zip inst = makeTask("packageInstaller", Zip.class);
{
inst.setClassifier("installer");
inst.from(new Closure<File>(project) {
public File call()
{
return uni.getArchivePath();
}
});
inst.from(delayedFile(INSTALL_PROFILE));
inst.from(delayedFile(CHANGELOG));
inst.from(delayedFile(FML_LICENSE));