uni.setDestinationDir(delayedFile("{BUILD_DIR}/distributions").call());
uni.dependsOn("genBinPatches", "createChangelog", "createVersionPropertiesFML", "generateVersionJson");
}
project.getArtifacts().add("archives", uni);
FileFilterTask task = makeTask("generateInstallJson", FileFilterTask.class);
{
task.setInputFile(delayedFile(JSON_REL));
task.setOutputFile(delayedFile(INSTALL_PROFILE));
task.addReplacement("@minecraft_version@", delayedString("{MC_VERSION}"));
task.addReplacement("@version@", delayedString("{VERSION}"));
task.addReplacement("@project@", delayedString("Forge"));
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));
inst.from(delayedFile(FML_CREDITS));
inst.from(delayedFile(FORGE_LICENSE));
inst.from(delayedFile(FORGE_CREDITS));
inst.from(delayedFile(PAULSCODE_LISCENCE1));
inst.from(delayedFile(PAULSCODE_LISCENCE2));
inst.from(delayedFile(FORGE_LOGO));
inst.from(delayedZipTree(INSTALLER_BASE), new CopyInto("", "!*.json", "!*.png"));
inst.dependsOn("packageUniversal", "downloadBaseInstaller", "generateInstallJson");
inst.rename("forge_logo\\.png", "big_logo.png");
inst.setExtension("jar");
}
project.getArtifacts().add("archives", inst);
final Zip patchZipFML = makeTask("zipFmlPatches", Zip.class);
{
patchZipFML.from(delayedFile(FML_PATCH_DIR));
patchZipFML.setArchiveName("fmlpatches.zip");
patchZipFML.setDestinationDir(delayedFile("{BUILD_DIR}/tmp/").call());
}
final Zip patchZipForge = makeTask("zipForgePatches", Zip.class);
{
patchZipForge.from(delayedFile(FORGE_PATCH_DIR));
patchZipForge.setArchiveName("forgepatches.zip");
patchZipForge.setDestinationDir(delayedFile("{BUILD_DIR}/tmp/").call());
}
final Zip classZip = makeTask("jarClasses", Zip.class);
{
classZip.from(delayedZipTree(BINPATCH_TMP), new CopyInto("", "**/*.class"));
classZip.setArchiveName("binaries.jar");
classZip.setDestinationDir(delayedFile("{BUILD_DIR}/tmp/").call());
}
final File javadocSource = project.file(delayedFile("{BUILD_DIR}/tmp/javadocSource"));
ReplaceJavadocsTask jdSource = makeTask("replaceJavadocs", ReplaceJavadocsTask.class);
{
jdSource.from(delayedFile(FML_SOURCES));
jdSource.from(delayedFile(FORGE_SOURCES));
jdSource.from(delayedFile(ECLIPSE_FORGE_SRC));
jdSource.setOutFile(delayedFile("{BUILD_DIR}/tmp/javadocSource"));
jdSource.setMethodsCsv(delayedFile(METHODS_CSV));
jdSource.setFieldsCsv(delayedFile(FIELDS_CSV));
}
final File javadoc_temp = project.file(delayedFile("{BUILD_DIR}/tmp/javadoc"));
final SubprojectTask javadocJar = makeTask("genJavadocs", SubprojectTask.class);
{
javadocJar.dependsOn("replaceJavadocs");
javadocJar.setBuildFile(delayedFile(ECLIPSE_FORGE + "/build.gradle"));
javadocJar.setTasks("javadoc");
javadocJar.setConfigureTask(new Action<Task>() {
public void execute(Task obj)
{
Javadoc task = (Javadoc)obj;
task.setSource(project.fileTree(javadocSource));
task.setDestinationDir(javadoc_temp);
}
});
javadocJar.dependsOn("generateProjects", "extractForgeSources");
}