@SuppressWarnings("serial")
private void makeObtainTasks()
{
// download tasks
DownloadTask task;
task = makeTask("downloadClient", DownloadTask.class);
{
task.setOutput(delayedFile(Constants.JAR_CLIENT_FRESH));
task.setUrl(delayedString(Constants.MC_JAR_URL));
}
task = makeTask("downloadServer", DownloadTask.class);
{
task.setOutput(delayedFile(Constants.JAR_SERVER_FRESH));
task.setUrl(delayedString(Constants.MC_SERVER_URL));
}
ObtainFernFlowerTask mcpTask = makeTask("downloadMcpTools", ObtainFernFlowerTask.class);
{
mcpTask.setMcpUrl(delayedString(Constants.MCP_URL));
mcpTask.setFfJar(delayedFile(Constants.FERNFLOWER));
}
DownloadTask getAssetsIndex = makeTask("getAssetsIndex", DownloadTask.class);
{
getAssetsIndex.setUrl(delayedString(Constants.ASSETS_INDEX_URL));
getAssetsIndex.setOutput(delayedFile(Constants.ASSETS + "/indexes/{ASSET_INDEX}.json"));
getAssetsIndex.setDoesCache(false);
getAssetsIndex.doLast(new Action<Task>() {
public void execute(Task task)
{
try
{
parseAssetIndex();
}
catch (Exception e)
{
Throwables.propagate(e);
}
}
});
getAssetsIndex.getOutputs().upToDateWhen(new Closure<Boolean>(this, null) {
public Boolean call(Object... obj)
{
return false;
}
});