summaryrefslogtreecommitdiff
path: root/buildscripts/phing/classes/phing/tasks/ext/SymfonyConsole/SymfonyConsoleTask.php
diff options
context:
space:
mode:
Diffstat (limited to 'buildscripts/phing/classes/phing/tasks/ext/SymfonyConsole/SymfonyConsoleTask.php')
-rw-r--r--buildscripts/phing/classes/phing/tasks/ext/SymfonyConsole/SymfonyConsoleTask.php113
1 files changed, 113 insertions, 0 deletions
diff --git a/buildscripts/phing/classes/phing/tasks/ext/SymfonyConsole/SymfonyConsoleTask.php b/buildscripts/phing/classes/phing/tasks/ext/SymfonyConsole/SymfonyConsoleTask.php
new file mode 100644
index 00000000..64c1f02b
--- /dev/null
+++ b/buildscripts/phing/classes/phing/tasks/ext/SymfonyConsole/SymfonyConsoleTask.php
@@ -0,0 +1,113 @@
+<?php
+require_once "phing/Task.php";
+require_once dirname(__FILE__) . "/Arg.php";
+/**
+ * Symfony Console Task
+ * @author nuno costa <nuno@francodacosta.com>
+ * @license GPL
+ *
+ */
+class SymfonyConsoleTask extends Task
+{
+
+ /**
+ *
+ * @var Array of Arg a collection of Arg objects
+ */
+ private $args = array();
+
+ /**
+ *
+ * @var string the Symfony console command to execute
+ */
+ private $command = null;
+
+ /**
+ *
+ * @var string path to symfony console application
+ */
+ private $console = 'app/console';
+
+
+ /**
+ * sets the symfony console command to execute
+ * @param string $command
+ */
+ public function setCommand($command)
+ {
+ $this->command = $command;
+ }
+
+ /**
+ * return the symfony console command to execute
+ * @return String
+ */
+ public function getCommand()
+ {
+ return $this->command;
+ }
+
+ /**
+ * sets the path to symfony console application
+ * @param string $console
+ */
+ public function setConsole($console)
+ {
+ $this->console = $console;
+ }
+
+ /**
+ * returns the path to symfony console application
+ * @return string
+ */
+ public function getConsole()
+ {
+ return $this->console;
+ }
+
+ /**
+ * appends an arg tag to the arguments stack
+ *
+ * @return Arg Argument object
+ */
+
+ public function createArg()
+ {
+ $num = array_push($this->args, new Arg());
+ return $this->args[$num-1];
+ }
+
+ /**
+ * return the argumments passed to this task
+ * @return array of Arg()
+ */
+ public function getArgs()
+ {
+ return $this->args;
+ }
+
+
+ /**
+ * Gets the command string to be executed
+ * @return string
+ */
+ public function getCmdString() {
+ $cmd = array(
+ $this->console,
+ $this->command,
+ implode(' ', $this->args)
+ );
+ $cmd = implode(' ', $cmd);
+ return $cmd;
+ }
+ /**
+ * executes the synfony consile application
+ */
+ public function main()
+ {
+ $cmd = $this->getCmdString();
+
+ $this->log("executing $cmd");
+ passthru ($cmd);
+ }
+}