X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fbuilder.h;h=d12cf003a68d7fc4d994b47b9dcb8f611f1622ff;hb=aeb23448b5035f4ceb662c487913618d0efff888;hp=aef0f47d3a8eb6389748a93aa14f1e0aa77ea7a7;hpb=1dad660f7bbda5ef3239fd6374e0f8a77e19eaaa;p=builder.git diff --git a/source/builder.h b/source/builder.h index aef0f47..d12cf00 100644 --- a/source/builder.h +++ b/source/builder.h @@ -12,7 +12,6 @@ #include "config.h" #include "logger.h" #include "packagemanager.h" -#include "problem.h" #include "target.h" #include "toolchain.h" #include "virtualfilesystem.h" @@ -22,8 +21,8 @@ class Package; class SourcePackage; /** -The main application class. Handles command line options and supervises the -build process. +This class ties everything else together. It also contains code for loading +build files and supervising the build process. */ class Builder { @@ -42,13 +41,9 @@ private: void architecture(const std::string &); void binpkg(const std::string &); void build_type(const std::string &); - void profile(const std::string &); void package(const std::string &); }; -public: - typedef std::list ProblemList; - private: typedef std::map BuildTypeMap; @@ -64,7 +59,6 @@ private: Logger default_logger; const Logger *logger; - ProblemList problems; Msp::FS::Path prefix; Msp::FS::Path tempdir; @@ -93,16 +87,13 @@ public: void set_logger(const Logger *); const Logger &get_logger() const { return *logger; } - void problem(const std::string &, const std::string &); - const ProblemList &get_problems() const { return problems; } + std::list collect_problems() const; /** Loads a build file. If opts is not null, it is used to configure any packages loaded from this file. If all is true, external packages are also configured. */ void load_build_file(const Msp::FS::Path &, const Config::InputOptions *opts = 0, bool all = false); - void load_build_file(const Msp::FS::Path &, const Config::InputOptions &, bool); - /** Builds the goal targets. The build graph must be prepared first. */ int build(unsigned jobs = 1, bool dry_run = false, bool show_progress = false);