]> git.tdb.fi Git - builder.git/commitdiff
Rearrange Target members
authorMikko Rasa <tdb@tdb.fi>
Sun, 15 Jul 2012 11:41:30 +0000 (14:41 +0300)
committerMikko Rasa <tdb@tdb.fi>
Sun, 15 Jul 2012 14:05:48 +0000 (17:05 +0300)
source/target.cpp
source/target.h

index 577438b3528dce736aa3c22077e0857a24f5a0b4..b0273e9ff535d9a5a80d0d6ecee5948245298b8c 100644 (file)
@@ -22,6 +22,15 @@ Target::Target(Builder &b, const string &n):
        builder.add_target(this);
 }
 
+void Target::add_depend(Target &dep)
+{
+       if(&dep==this)
+               throw invalid_argument("Target::add_depend");
+       depends.push_back(&dep);
+       if(state>PREPARING)
+               dep.signal_bubble_rebuild.connect(sigc::mem_fun(this, &Target::check_rebuild));
+}
+
 Target *Target::get_buildable_target()
 {
        if(!needs_rebuild())
@@ -55,13 +64,17 @@ void Target::force_rebuild()
        mark_rebuild("Forced rebuild");
 }
 
-void Target::add_depend(Target &dep)
+void Target::mark_rebuild(const string &reason)
 {
-       if(&dep==this)
-               throw invalid_argument("Target::add_depend");
-       depends.push_back(&dep);
-       if(state>PREPARING)
-               dep.signal_bubble_rebuild.connect(sigc::mem_fun(this, &Target::check_rebuild));
+       if(reason.empty())
+               throw invalid_argument("No reason given for rebuilding "+name);
+
+       state = REBUILD;
+       rebuild_reason = reason;
+
+       builder.get_logger().log("rebuild", format("Rebuilding %s: %s", name, reason));
+
+       signal_bubble_rebuild.emit();
 }
 
 void Target::prepare()
@@ -114,19 +127,6 @@ Task *Target::build()
        return task;
 }
 
-void Target::mark_rebuild(const string &reason)
-{
-       if(reason.empty())
-               throw invalid_argument("No reason given for rebuilding "+name);
-
-       state = REBUILD;
-       rebuild_reason = reason;
-
-       builder.get_logger().log("rebuild", format("Rebuilding %s: %s", name, reason));
-
-       signal_bubble_rebuild.emit();
-}
-
 void Target::build_finished(bool /*success*/)
 {
        state = UPTODATE;
index f9d8b24b4ef25268e28ff8e2637c4e0421e28ecf..ccc616bb464a50a950888040bf41e058d92a1790 100644 (file)
@@ -57,6 +57,21 @@ public:
        const SourcePackage *get_package() const { return package; }
        const Component *get_component() const { return component; }
 
+       /** Adds a dependency for the target.  Order is preseved and is important
+       for some target types.  It is an error to create dependency cycles, although
+       this won't be detected until the targets are prepared. */
+       void add_depend(Target &);
+
+protected:
+       /** Finds dependencies for the target.  Called during preparation.  If the
+       target needs to recursively inspect its dependencies, it should prepare its
+       direct dependencies first. */
+       virtual void find_depends() { }
+
+public:
+       /// Returns the dependencies of the target, in the order they were added.
+       const Dependencies &get_depends() const { return depends; }
+
        /** Tries to locate a target that will help getting this target built.  If
        all dependencies are up-to-date, returns this target.  If there are no
        targets ready to be built (maybe because they are being built right now),
@@ -88,19 +103,14 @@ public:
        /** Forces rebuild of the target. */
        void force_rebuild();
 
-       /** Adds a dependency for the target.  Order is preseved and is important
-       for some target types.  It is an error to create dependency cycles, although
-       this won't be detected until the targets are prepared. */
-       void add_depend(Target &);
-
-       /// Returns the dependencies of the target, in the order they were added.
-       const Dependencies &get_depends() const { return depends; }
+protected:
+       /** Marks the target to be rebuilt and specified a reason for it. */
+       void mark_rebuild(const std::string &);
 
-       /** Finds dependencies for the target.  Called during preparation.  If the
-       target needs to recursively inspect its dependencies, it should prepare its
-       direct dependencies first. */
-       virtual void find_depends() { }
+       /** Checks if the target needs to be rebuilt and why. */
+       virtual void check_rebuild() = 0;
 
+public:
        /** Prepares the target by finding dependencies, recursively preparing them
        and then checking whether rebuilding is needed. */
        virtual void prepare();
@@ -110,12 +120,6 @@ public:
        Task *build();
 
 protected:
-       /** Marks the target to be rebuilt and specified a reason for it. */
-       void mark_rebuild(const std::string &);
-
-       /** Checks if the target needs to be rebuilt and why. */
-       virtual void check_rebuild() = 0;
-
        /** Handler for Task::signal_finished. */
        virtual void build_finished(bool);
 };