X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Ftarget.h;h=2824e2a806589c4ce4c948b90dcf37a89fe18c36;hb=aa053d637e8259755af7d2e4b510a242f4d29c7b;hp=114a51ec35ae934faf1ed89acdf9b99a749c9382;hpb=df88e22a258f169b9505acb0cb8d0ba7e66af7b6;p=builder.git diff --git a/source/target.h b/source/target.h index 114a51e..2824e2a 100644 --- a/source/target.h +++ b/source/target.h @@ -1,14 +1,15 @@ #ifndef TARGET_H_ #define TARGET_H_ -#include #include #include #include +#include #include #include class Builder; +class BuildInfo; class Component; class SourcePackage; class Task; @@ -26,7 +27,7 @@ dependencies can be used by other targets further down the chain. class Target { public: - typedef std::list Dependencies; + using Dependencies = std::vector; protected: enum State @@ -52,7 +53,7 @@ protected: Tool *tool; State state; std::string rebuild_reason; - std::list problems; + std::vector problems; Dependencies depends; Dependencies trans_depends; @@ -114,6 +115,8 @@ public: the build() function. */ const Tool *get_tool() const { return tool; } + virtual void collect_build_info(BuildInfo &) const; + /** Indicates if it's possible to build this target. */ bool is_buildable() const { return tool!=0; } @@ -138,7 +141,7 @@ protected: public: bool is_broken() const { return state==BROKEN; } - const std::list &get_problems() const { return problems; } + const std::vector &get_problems() const { return problems; } /** Prepares the target by finding dependencies, recursively preparing them and then checking whether rebuilding is needed. */