]> git.tdb.fi Git - builder.git/blobdiff - source/androidapplicationcomponent.cpp
Use format() when creating strings from more than two parts
[builder.git] / source / androidapplicationcomponent.cpp
index 85873d4024ab46b14f51c6e05196354eb7fed4ff..95eb9447dc3fe8bd88e684d1e86a6c876ef3f9a7 100644 (file)
@@ -1,4 +1,5 @@
 #include <msp/fs/utils.h>
+#include <msp/strings/format.h>
 #include "androidapplicationcomponent.h"
 #include "androidmanifestfile.h"
 #include "androidresourcefile.h"
@@ -21,26 +22,25 @@ void AndroidApplicationComponent::create_targets() const
        Builder &builder = package.get_builder();
        BuildGraph &build_graph = builder.get_build_graph();
 
-       const BuildGraph::TargetMap &targets = build_graph.get_targets();
        list<Target *> contents;
-       for(BuildGraph::TargetMap::const_iterator i=targets.begin(); i!=targets.end(); ++i)
-               if(i->second->get_package()==&package)
-                       if(InstalledFile *inst = dynamic_cast<InstalledFile *>(i->second))
+       for(const auto &kvp: build_graph.get_targets())
+               if(kvp.second->get_package()==&package)
+                       if(InstalledFile *inst = dynamic_cast<InstalledFile *>(kvp.second))
                                contents.push_back(inst->get_real_target());
 
        AndroidManifestFile *manifest = new AndroidManifestFile(builder, *this);
-       for(set<string>::const_iterator i=permissions.begin(); i!=permissions.end(); ++i)
-               manifest->add_permission(*i);
+       manifest->set_orientation(orientation);
+       for(const string &p: permissions)
+               manifest->add_permission(p);
 
        list<Target *> resource_sources;
        resource_sources.push_back(manifest);
 
        const Toolchain &toolchain = builder.get_toolchain();
        Tool &copy = toolchain.get_tool("CP");
-       SourceList source_filenames = collect_source_files();
-       for(SourceList::const_iterator i=source_filenames.begin(); i!=source_filenames.end(); ++i)
+       for(const FS::Path &s: collect_source_files())
        {
-               Target *tgt = new AndroidResourceFile(builder, *this, *i);
+               Target *tgt = new AndroidResourceFile(builder, *this, s);
                resource_sources.push_back(copy.create_target(*tgt, "//"));
        }
 
@@ -51,7 +51,7 @@ void AndroidApplicationComponent::create_targets() const
        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";
@@ -61,17 +61,17 @@ void AndroidApplicationComponent::create_targets() const
        else
                lib_dir += arch.get_type();
 
-       string assets_dir = "//"+name+"/assets";
-       for(list<Target *>::const_iterator i=contents.begin(); i!=contents.end(); ++i)
+       string assets_dir = format("//%s/assets", name);
+       for(Target *t: contents)
        {
                Target *staged = 0;
-               if(SharedLibrary *shlib = dynamic_cast<SharedLibrary *>(*i))
+               if(SharedLibrary *shlib = dynamic_cast<SharedLibrary *>(t))
                {
                        manifest->set_native_library(shlib);
-                       staged = copy.create_target(**i, lib_dir);
+                       staged = copy.create_target(*t, lib_dir);
                }
                else
-                       staged = copy.create_target(**i, assets_dir);
+                       staged = copy.create_target(*t, assets_dir);
                apk_sources.push_back(staged);
        }
 
@@ -84,6 +84,7 @@ void AndroidApplicationComponent::create_targets() const
 AndroidApplicationComponent::Loader::Loader(AndroidApplicationComponent &c):
        DataFile::DerivedObjectLoader<AndroidApplicationComponent, Component::Loader>(c)
 {
+       add("orientation", &AndroidApplicationComponent::orientation);
        add("permission", &Loader::permission);
 }