1 #include <msp/core/environ.h>
2 #include <msp/fs/utils.h>
4 #include "externaltask.h"
5 #include "filetarget.h"
7 #include "sourcepackage.h"
12 JarSigner::JarSigner(Builder &b):
15 set_command("jarsigner");
18 Target *JarSigner::create_target(const list<Target *> &, const string &)
20 throw logic_error("not implemented");
23 Task *JarSigner::run(const Target &tgt) const
25 const FileTarget &file = dynamic_cast<const FileTarget &>(tgt);
27 ExternalTask::Arguments argv;
28 argv.push_back(executable->get_path().str());
30 // TODO Make this generic
31 FS::Path home_dir = Msp::getenv("HOME");
32 argv.push_back("-keystore");
33 argv.push_back((home_dir/".android"/"debug.keystore").str());
34 argv.push_back("-storepass");
35 argv.push_back("android");
37 FS::Path work_dir = file.get_component()->get_package().get_source_directory();
39 argv.push_back(FS::relative(file.get_path(), work_dir).str());
40 argv.push_back("androiddebugkey");
42 return new ExternalTask(argv, work_dir);