]> git.tdb.fi Git - builder.git/blobdiff - source/externaltask.h
Get rid of the install flags, which weren't entirely correct anyway
[builder.git] / source / externaltask.h
index b23bb66728805e280359705ff61a6b2b1436b55f..8127c75762459f9a4c73f1c532412a7567c45281 100644 (file)
@@ -7,6 +7,11 @@
 #include <msp/io/pipe.h>
 #include "task.h"
 
+/**
+Runs an external command.  A zero exit status is translated to a SUCCESS status
+for the task, and anything else is treated as an error.  Output can optionally
+be captured.
+*/
 class ExternalTask: public Task
 {
 public:
@@ -17,8 +22,10 @@ public:
                IGNORE
        };
 
+       typedef std::vector<std::string> Arguments;
+
 private:
-       std::vector<std::string> argv;
+       Arguments argv;
        Msp::FS::Path work_dir;
        int pid;
        int exit_code;
@@ -28,7 +35,11 @@ private:
        std::string output;
 
 public:
-       ExternalTask(const std::vector<std::string> &, const Msp::FS::Path &);
+       /** Creates an ExternalTask with an argument array and an optional working
+       directory.  The first element of the argument array should be the command
+       name.  If the working directory is not specified, no chdir is done. */
+       ExternalTask(const Arguments &, const Msp::FS::Path & = Msp::FS::Path());
+
        virtual ~ExternalTask();
 
        virtual std::string get_command() const;