return apk;
}
-void ApkBuilder::do_prepare()
+void ApkBuilder::do_prepare(ToolData &tool) const
{
- jarsigner = &builder.get_toolchain().get_tool("JSGN");
+ Tool *jarsigner = &builder.get_toolchain().get_tool("JSGN");
jarsigner->prepare();
+ tool.extra_data = jarsigner;
}
Task *ApkBuilder::_run(const AndroidPackageFile &apk)
task->set_stdin(FS::basename(input_path));
task->set_stdout(FS::relative(apk.get_path(), work_dir));
ChainedTask *chain = new ChainedTask(task);
- chain->add_task(tool.jarsigner->run(apk));
+ chain->add_task(tool.extra_data.value<Tool *>()->run(apk));
return chain;
}