From ddee3f0226a1d04c178c26444b1d9287574e58e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s=20Monta=C3=B1ez?= Date: Fri, 14 Apr 2017 15:43:27 -0300 Subject: [PATCH] [CQ] Add Symfony abstract task --- CHANGELOG.md | 1 + .../BuiltIn/Symfony/AbstractSymfonyTask.php | 38 +++++++++++++++++++ .../BuiltIn/Symfony/AssetsInstallTask.php | 12 ++---- src/Task/BuiltIn/Symfony/CacheClearTask.php | 13 +------ src/Task/BuiltIn/Symfony/CacheWarmupTask.php | 13 +------ 5 files changed, 44 insertions(+), 33 deletions(-) create mode 100644 src/Task/BuiltIn/Symfony/AbstractSymfonyTask.php diff --git a/CHANGELOG.md b/CHANGELOG.md index d5da887..0a7930a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,7 @@ CHANGELOG for 3.X ================= * 3.2.0 (2017-04-xx) + * Improve code quality, remove duplications on Symfony Tasks. * Improve code quality, remove duplications on Composer Tasks. * [PR#364] Allow to define custom timeout to Composer:Install diff --git a/src/Task/BuiltIn/Symfony/AbstractSymfonyTask.php b/src/Task/BuiltIn/Symfony/AbstractSymfonyTask.php new file mode 100644 index 0000000..6ee9475 --- /dev/null +++ b/src/Task/BuiltIn/Symfony/AbstractSymfonyTask.php @@ -0,0 +1,38 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Mage\Task\BuiltIn\Symfony; + +use Mage\Task\AbstractTask; + +/** + * Abstract Symfony Task + * + * @author Andrés Montañez + */ +abstract class AbstractSymfonyTask extends AbstractTask +{ + protected function getOptions() + { + $options = array_merge( + ['console' => 'bin/console', 'env' => 'dev', 'flags' => ''], + $this->getSymfonyOptions(), + $this->runtime->getMergedOption('symfony'), + $this->options + ); + + return $options; + } + + protected function getSymfonyOptions() + { + return []; + } +} diff --git a/src/Task/BuiltIn/Symfony/AssetsInstallTask.php b/src/Task/BuiltIn/Symfony/AssetsInstallTask.php index 001d100..9e85e3a 100644 --- a/src/Task/BuiltIn/Symfony/AssetsInstallTask.php +++ b/src/Task/BuiltIn/Symfony/AssetsInstallTask.php @@ -18,7 +18,7 @@ use Mage\Task\AbstractTask; * * @author Andrés Montañez */ -class AssetsInstallTask extends AbstractTask +class AssetsInstallTask extends AbstractSymfonyTask { public function getName() { @@ -41,14 +41,8 @@ class AssetsInstallTask extends AbstractTask return $process->isSuccessful(); } - protected function getOptions() + protected function getSymfonyOptions() { - $options = array_merge( - ['console' => 'bin/console', 'env' => 'dev', 'target' => 'web', 'flags' => '--symlink --relative'], - $this->runtime->getMergedOption('symfony'), - $this->options - ); - - return $options; + return ['target' => 'web', 'flags' => '--symlink --relative']; } } diff --git a/src/Task/BuiltIn/Symfony/CacheClearTask.php b/src/Task/BuiltIn/Symfony/CacheClearTask.php index a0b6475..73d2876 100644 --- a/src/Task/BuiltIn/Symfony/CacheClearTask.php +++ b/src/Task/BuiltIn/Symfony/CacheClearTask.php @@ -18,7 +18,7 @@ use Mage\Task\AbstractTask; * * @author Andrés Montañez */ -class CacheClearTask extends AbstractTask +class CacheClearTask extends AbstractSymfonyTask { public function getName() { @@ -40,15 +40,4 @@ class CacheClearTask extends AbstractTask return $process->isSuccessful(); } - - protected function getOptions() - { - $options = array_merge( - ['console' => 'bin/console', 'env' => 'dev', 'flags' => ''], - $this->runtime->getMergedOption('symfony'), - $this->options - ); - - return $options; - } } diff --git a/src/Task/BuiltIn/Symfony/CacheWarmupTask.php b/src/Task/BuiltIn/Symfony/CacheWarmupTask.php index 8584beb..bb6a663 100644 --- a/src/Task/BuiltIn/Symfony/CacheWarmupTask.php +++ b/src/Task/BuiltIn/Symfony/CacheWarmupTask.php @@ -18,7 +18,7 @@ use Mage\Task\AbstractTask; * * @author Andrés Montañez */ -class CacheWarmupTask extends AbstractTask +class CacheWarmupTask extends AbstractSymfonyTask { public function getName() { @@ -40,15 +40,4 @@ class CacheWarmupTask extends AbstractTask return $process->isSuccessful(); } - - protected function getOptions() - { - $options = array_merge( - ['console' => 'bin/console', 'env' => 'dev', 'flags' => ''], - $this->runtime->getMergedOption('symfony'), - $this->options - ); - - return $options; - } }