Merge pull request #95 from voukka/master

Many bug fixes. With this fixes I was able to test my own Tasks! :)
This commit is contained in:
Andrés Montañez
2014-07-30 21:28:09 -03:00
13 changed files with 383 additions and 157 deletions
+9 -1
View File
@@ -150,7 +150,15 @@ abstract class AbstractTask
*/
public function getParameter($name, $default = null)
{
return $this->getConfig()->getParameter($name, $default, $this->parameters);
return $this->getConfig()->getParameter($name, $default, $this->getParameters());
}
/**
* @return array
*/
protected function getParameters()
{
return $this->parameters;
}
/**
@@ -28,10 +28,11 @@ abstract class BaseStrategyTaskAbstract extends AbstractTask implements IsReleas
protected function checkOverrideRelease()
{
$overrideRelease = $this->getParameter('overrideRelease', false);
$symlink = $this->getConfig()->release('symlink', 'current');
if ($overrideRelease == true) {
$releaseToOverride = false;
$resultFetch = $this->runCommandRemote('ls -ld current | cut -d"/" -f2', $releaseToOverride);
$resultFetch = $this->runCommandRemote('ls -ld '.$symlink.' | cut -d"/" -f2', $releaseToOverride);
if ($resultFetch && is_numeric($releaseToOverride)) {
$this->getConfig()->setReleaseId($releaseToOverride);
}
+4 -11
View File
@@ -48,22 +48,15 @@ class Factory
$taskName = str_replace(' ', '', $taskName);
if (strpos($taskName, '/') === false) {
Autoload::loadUserTask($taskName);
$className = 'Task\\' . ucfirst($taskName);
$className = $taskName;
} else {
$taskName = str_replace(' ', '\\', ucwords(str_replace('/', ' ', $taskName)));
$className = 'Mage\\Task\\BuiltIn\\' . $taskName . 'Task';
$className = 'Mage\\Task\\BuiltIn\\' . str_replace(' ', '\\', ucwords(str_replace('/', ' ', $taskName))) . 'Task';
}
$instance = new $className($taskConfig, $inRollback, $stage, $taskParameters);
if (class_exists($className) || Autoload::isLoadable($className)) {
$instance = new $className($taskConfig, $inRollback, $stage, $taskParameters);
} else {
throw new ErrorWithMessageException('The Task "' . $taskName . '" doesn\'t exists.');
}
if (!($instance instanceOf AbstractTask)) {
if (!is_a($instance,'Mage\Task\AbstractTask')) {
throw new Exception('The Task ' . $taskName . ' must be an instance of Mage\Task\AbstractTask.');
}