blob: 64c1f02bac56c3a593de8100961fb5f6e92a8b70 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
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);
}
}
|