Support Composer and Symfony App paths. Issue #86

Also specify symfony version (2 o 3).
This commit is contained in:
Andrés Montañez 2014-08-06 17:26:16 -03:00
parent 5fb711593a
commit ce0e707dc6
8 changed files with 76 additions and 22 deletions

View file

@ -0,0 +1,26 @@
<?php
/*
* This file is part of the Magallanes package.
*
* (c) Andrés Montañez <andres@andresmontanez.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Mage\Task\BuiltIn\Composer;
use Mage\Task\AbstractTask;
/**
* Abstract Task for Composer
*
* @author Andrés Montañez <andres@andresmontanez.com>
*/
abstract class ComposerAbstractTask extends AbstractTask
{
protected function getComposerPath()
{
return $this->getConfig()->general('composer_path', 'php composer.phar');
}
}

View file

@ -1,10 +1,10 @@
<?php
namespace Mage\Task\BuiltIn\Composer;
use Mage\Task\AbstractTask;
use Mage\Task\BuiltIn\Composer\ComposerAbstractTask;
use Mage\Task\ErrorWithMessageException;
class GenerateAutoloadTask extends AbstractTask
class GenerateAutoloadTask extends ComposerAbstractTask
{
/**
* Returns the Title of the Task
@ -23,8 +23,6 @@ class GenerateAutoloadTask extends AbstractTask
*/
public function run()
{
$composerPath = $this->getConfig()->general('composer_path', 'php composer.phar');
return $this->runCommand($composerPath . ' dumpautoload --optimize');
return $this->runCommand($this->getComposerPath() . ' dumpautoload --optimize');
}
}

View file

@ -1,10 +1,10 @@
<?php
namespace Mage\Task\BuiltIn\Composer;
use Mage\Task\AbstractTask;
use Mage\Task\BuiltIn\Composer\ComposerAbstractTask;
use Mage\Task\ErrorWithMessageException;
class InstallTask extends AbstractTask
class InstallTask extends ComposerAbstractTask
{
/**
* Returns the Title of the Task
@ -23,8 +23,6 @@ class InstallTask extends AbstractTask
*/
public function run()
{
$composerPath = $this->getConfig()->general('composer_path', 'php composer.phar');
return $this->runCommand($composerPath . ' install');
return $this->runCommand($this->getComposerPath() . ' install');
}
}

View file

@ -10,14 +10,14 @@
namespace Mage\Task\BuiltIn\Symfony2;
use Mage\Task\AbstractTask;
use Mage\Task\BuiltIn\Symfony2\SymfonyAbstractTask;
/**
* Task for Dumping Assetics
*
* @author Andrés Montañez <andres@andresmontanez.com>
*/
class AsseticDumpTask extends AbstractTask
class AsseticDumpTask extends SymfonyAbstractTask
{
/**
* (non-PHPdoc)
@ -37,7 +37,7 @@ class AsseticDumpTask extends AbstractTask
// Options
$env = $this->getParameter('env', 'dev');
$command = 'app/console assetic:dump --env=' . $env;
$command = $this->getAppPath() . ' assetic:dump --env=' . $env;
$result = $this->runCommand($command);
return $result;

View file

@ -10,14 +10,14 @@
namespace Mage\Task\BuiltIn\Symfony2;
use Mage\Task\AbstractTask;
use Mage\Task\BuiltIn\Symfony2\SymfonyAbstractTask;
/**
* Task for Installing Assets
*
* @author Andrés Montañez <andres@andresmontanez.com>
*/
class AssetsInstallTask extends AbstractTask
class AssetsInstallTask extends SymfonyAbstractTask
{
/**
* (non-PHPdoc)
@ -44,7 +44,7 @@ class AssetsInstallTask extends AbstractTask
$symlink = true;
}
$command = 'app/console assets:install ' . ($symlink ? '--symlink' : '') . ' ' . ($relative ? '--relative' : '') . ' --env=' . $env . ' ' . $target;
$command = $this->getAppPath() . ' assets:install ' . ($symlink ? '--symlink' : '') . ' ' . ($relative ? '--relative' : '') . ' --env=' . $env . ' ' . $target;
$result = $this->runCommand($command);
return $result;

View file

@ -10,14 +10,14 @@
namespace Mage\Task\BuiltIn\Symfony2;
use Mage\Task\AbstractTask;
use Mage\Task\BuiltIn\Symfony2\SymfonyAbstractTask;
/**
* Task for Clearing the Cache
*
* @author Andrés Montañez <andres@andresmontanez.com>
*/
class CacheClearTask extends AbstractTask
class CacheClearTask extends SymfonyAbstractTask
{
/**
* (non-PHPdoc)
@ -37,7 +37,7 @@ class CacheClearTask extends AbstractTask
// Options
$env = $this->getParameter('env', 'dev');
$command = 'app/console cache:clear --env=' . $env;
$command = $this->getAppPath() . ' cache:clear --env=' . $env;
$result = $this->runCommand($command);
return $result;

View file

@ -10,14 +10,14 @@
namespace Mage\Task\BuiltIn\Symfony2;
use Mage\Task\AbstractTask;
use Mage\Task\BuiltIn\Symfony2\SymfonyAbstractTask;
/**
* Task for Warming Up the Cache
*
* @author Andrés Montañez <andres@andresmontanez.com>
*/
class CacheWarmupTask extends AbstractTask
class CacheWarmupTask extends SymfonyAbstractTask
{
/**
* (non-PHPdoc)
@ -37,7 +37,7 @@ class CacheWarmupTask extends AbstractTask
// Options
$env = $this->getParameter('env', 'dev');
$command = 'app/console cache:warmup --env=' . $env;
$command = $this->getAppPath() . ' cache:warmup --env=' . $env;
$result = $this->runCommand($command);
return $result;

View file

@ -0,0 +1,32 @@
<?php
/*
* This file is part of the Magallanes package.
*
* (c) Andrés Montañez <andres@andresmontanez.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Mage\Task\BuiltIn\Symfony2;
use Mage\Task\AbstractTask;
/**
* Abstract Task for Symfony2
*
* @author Andrés Montañez <andres@andresmontanez.com>
*/
abstract class SymfonyAbstractTask extends AbstractTask
{
protected function getAppPath()
{
if ($this->getConfig()->general('symfony_version', '2') == '3') {
$defaultAppPath = 'bin/console';
} else {
$defaultAppPath = 'app/console';
}
return $this->getConfig()->general('symfony_app_path', $defaultAppPath);
}
}