#include <msp/io/print.h>
#include <msp/strings/lexicalcast.h>
#include <msp/strings/utils.h>
-#include "android/androidapplicationcomponent.h"
#include "binarycomponent.h"
#include "binarypackage.h"
#include "builder.h"
-#include "datafile/datapackcomponent.h"
#include "file.h"
#include "installcomponent.h"
#include "plugin.h"
FeatureConditional(p, p.name),
options(o)
{
- add("android_application", &Loader::component<AndroidApplicationComponent>);
add("build_info", &Loader::build_info);
- add("datapack", &Loader::component<DataPackComponent>);
add("description", &SourcePackage::description);
add("feature", &Loader::feature);
add("generate", &Loader::generate);
add("source_tarball", &Loader::source_archive);
add("tarball", &Loader::tarball);
add("version", &Loader::version);
+
+ p.builder.get_component_registry().invoke_all(*this);
}
void SourcePackage::Loader::finish()
}
}
-template<typename C, typename... Args>
-void SourcePackage::Loader::component(Args... args, const string &n)
-{
- if(any_of(obj.components.begin(), obj.components.end(), [&n](const Component *c){ return c->get_name()==n; }))
- throw key_error(n);
- C *comp = new C(obj, n, args...);
- load_sub(*comp);
- obj.components.push_back(comp);
-}
-
void SourcePackage::Loader::build_info()
{
load_sub(obj.build_info);