X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fandroidassetpackagingtool.cpp;h=9e0fef75a990f8252d226ceda12dd396fe84fe60;hb=HEAD;hp=cca30b806168f615124058e0d028d27530d826d7;hpb=68f084e4ed817da0c25cefa1772cadf97b8cfe5e;p=builder.git diff --git a/source/androidassetpackagingtool.cpp b/source/androidassetpackagingtool.cpp deleted file mode 100644 index cca30b8..0000000 --- a/source/androidassetpackagingtool.cpp +++ /dev/null @@ -1,84 +0,0 @@ -#include -#include "androidassetpackagingtool.h" -#include "androidmanifestfile.h" -#include "androidresourcebundle.h" -#include "androidtools.h" -#include "component.h" -#include "externaltask.h" -#include "sourcepackage.h" - -using namespace std; -using namespace Msp; - -AndroidAssetPackagingTool::AndroidAssetPackagingTool(Builder &b, const AndroidSdk &s): - Tool(b, "AAPT"), - sdk(s) -{ - set_command((sdk.get_build_tools_dir()/"aapt").str()); -} - -Target *AndroidAssetPackagingTool::create_target(const list &sources, const string &) -{ - AndroidManifestFile *manifest = 0; - list resources; - for(list::const_iterator i=sources.begin(); i!=sources.end(); ++i) - { - if(AndroidManifestFile *m = dynamic_cast(*i)) - manifest = m; - else if(FileTarget *f = dynamic_cast(*i)) - resources.push_back(f); - } - - if(!manifest) - throw invalid_argument("AndroidAssetPackagingTool::create_target"); - - AndroidResourceBundle *res = new AndroidResourceBundle(builder, *manifest->get_component(), *manifest, resources); - res->set_tool(*this); - return res; -} - -Task *AndroidAssetPackagingTool::run(const Target &tgt) const -{ - const AndroidResourceBundle &res = dynamic_cast(tgt); - - ExternalTask::Arguments argv; - argv.push_back(executable->get_path().str()); - argv.push_back("package"); - - FS::Path work_dir = res.get_component()->get_package().get_source_directory(); - - argv.push_back("-I"); - argv.push_back(sdk.get_platform_jar().str()); - - argv.push_back("-F"); - argv.push_back(FS::relative(res.get_path(), work_dir).str()); - - const Target::Dependencies &depends = res.get_dependencies(); - list resource_dirs; - for(Target::Dependencies::const_iterator i=depends.begin(); i!=depends.end(); ++i) - { - FileTarget *file = dynamic_cast(*i); - Target *real = (*i)->get_real_target(); - - if(dynamic_cast(real)) - { - argv.push_back("-M"); - argv.push_back(FS::relative(file->get_path(), work_dir).str()); - } - else if(real->get_package()==res.get_package()) - { - const FS::Path &path = file->get_path(); - resource_dirs.push_back(path.subpath(0, path.size()-2)); - } - } - - set seen_dirs; - for(list::const_iterator i=resource_dirs.begin(); i!=resource_dirs.end(); ++i) - if(seen_dirs.insert(i->str()).second) - { - argv.push_back("-S"); - argv.push_back(FS::relative(*i, work_dir).str()); - } - - return new ExternalTask(argv, work_dir); -}