X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fapkbuilder.cpp;h=e487784f4eeebf2df37d974a01432fb70e00d85a;hb=1ed833343bc83b83c5f61cbfd74423bbba677a04;hp=d232a6f927ee23827db9eaafacf7a5997e3f999d;hpb=2a23a19ff6717b32ddc45f84681c5c969c967e45;p=builder.git diff --git a/source/apkbuilder.cpp b/source/apkbuilder.cpp index d232a6f..e487784 100644 --- a/source/apkbuilder.cpp +++ b/source/apkbuilder.cpp @@ -18,6 +18,7 @@ ApkBuilder::ApkBuilder(Builder &b): Tool(b, "APK") { set_command("jar"); + set_run(_run); } Target *ApkBuilder::create_target(const vector &sources, const string &) @@ -43,12 +44,12 @@ void ApkBuilder::do_prepare() jarsigner->prepare(); } -Task *ApkBuilder::run(const Target &tgt) const +Task *ApkBuilder::_run(const AndroidPackageFile &apk) { - const AndroidPackageFile &apk = dynamic_cast(tgt); + const ApkBuilder &tool = dynamic_cast(*apk.get_tool()); ExternalTask::Arguments argv; - argv.push_back(executable->get_path().str()); + argv.push_back(tool.get_executable()->get_path().str()); argv.push_back("u"); FS::Path input_path; @@ -74,6 +75,6 @@ Task *ApkBuilder::run(const Target &tgt) const 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(jarsigner->run(tgt)); + chain->add_task(tool.jarsigner->run(apk)); return chain; }