X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fandroidapplicationcomponent.cpp;h=1aab7355009444a8e98c6c136b9232e633a9c90c;hb=fefa7d1e8ac40136b690e305ce9594af95c678b8;hp=26277c8c02450fd8c75c065cc4f1e0a3ec090e0e;hpb=7c2db9e2b91da953701be233336c5bfa1f3c4af0;p=builder.git diff --git a/source/androidapplicationcomponent.cpp b/source/androidapplicationcomponent.cpp index 26277c8..1aab735 100644 --- a/source/androidapplicationcomponent.cpp +++ b/source/androidapplicationcomponent.cpp @@ -1,4 +1,6 @@ +#include #include +#include #include "androidapplicationcomponent.h" #include "androidmanifestfile.h" #include "androidresourcefile.h" @@ -21,7 +23,7 @@ void AndroidApplicationComponent::create_targets() const Builder &builder = package.get_builder(); BuildGraph &build_graph = builder.get_build_graph(); - list contents; + vector contents; for(const auto &kvp: build_graph.get_targets()) if(kvp.second->get_package()==&package) if(InstalledFile *inst = dynamic_cast(kvp.second)) @@ -32,7 +34,7 @@ void AndroidApplicationComponent::create_targets() const for(const string &p: permissions) manifest->add_permission(p); - list resource_sources; + vector resource_sources; resource_sources.push_back(manifest); const Toolchain &toolchain = builder.get_toolchain(); @@ -46,11 +48,12 @@ void AndroidApplicationComponent::create_targets() const Tool &aapt = toolchain.get_tool("AAPT"); Target *resource_bundle = aapt.create_target(resource_sources); - list apk_sources; + vector apk_sources; + apk_sources.reserve(1+contents.size()); apk_sources.push_back(resource_bundle); const Architecture &arch = package.get_builder().get_current_arch(); - string lib_dir = "//"+name+"/lib/"; + string lib_dir = format("//%s/lib/", name); if(arch.get_type()=="arm") { lib_dir += "armeabi"; @@ -60,7 +63,7 @@ void AndroidApplicationComponent::create_targets() const else lib_dir += arch.get_type(); - string assets_dir = "//"+name+"/assets"; + string assets_dir = format("//%s/assets", name); for(Target *t: contents) { Target *staged = 0; @@ -89,5 +92,6 @@ AndroidApplicationComponent::Loader::Loader(AndroidApplicationComponent &c): void AndroidApplicationComponent::Loader::permission(const string &perm) { - obj.permissions.insert(perm); + if(!any_equals(obj.permissions, perm)) + obj.permissions.push_back(perm); }