Browse Source

Remove Composer Lock. Tweak Commands and Tasks instantiation

pull/1/head
Andrés Montañez 8 years ago
parent
commit
5d95b4d6cb
  1. 1
      .gitignore
  2. 13
      src/Mage/MageApplication.php
  3. 24
      src/Mage/Task/TaskFactory.php

1
.gitignore vendored

@ -1,2 +1,3 @@
/vendor/ /vendor/
/build /build
composer.lock

13
src/Mage/MageApplication.php

@ -21,6 +21,7 @@ use Symfony\Component\Console\Event\ConsoleExceptionEvent;
use Symfony\Component\Console\ConsoleEvents; use Symfony\Component\Console\ConsoleEvents;
use Symfony\Component\Console\Application; use Symfony\Component\Console\Application;
use Symfony\Component\Yaml\Yaml; use Symfony\Component\Yaml\Yaml;
use ReflectionClass;
use Mage\Runtime\Exception\RuntimeException; use Mage\Runtime\Exception\RuntimeException;
/** /**
@ -96,11 +97,13 @@ class MageApplication extends Application
foreach ($finder as $file) { foreach ($finder as $file) {
$class = substr('\\Mage\\Command\\BuiltIn\\' . str_replace('/', '\\', $file->getRelativePathname()), 0, -4); $class = substr('\\Mage\\Command\\BuiltIn\\' . str_replace('/', '\\', $file->getRelativePathname()), 0, -4);
if (class_exists($class)) { if (class_exists($class)) {
$command = new $class(); $reflex = new ReflectionClass($class);
if ($reflex->isInstantiable()) {
if ($command instanceof AbstractCommand) { $command = new $class();
$command->setRuntime($this->runtime); if ($command instanceof AbstractCommand) {
$this->add($command); $command->setRuntime($this->runtime);
$this->add($command);
}
} }
} }
} }

24
src/Mage/Task/TaskFactory.php

@ -14,6 +14,7 @@ use Mage\Runtime\Runtime;
use Mage\Runtime\Exception\RuntimeException; use Mage\Runtime\Exception\RuntimeException;
use Symfony\Component\Finder\Finder; use Symfony\Component\Finder\Finder;
use Symfony\Component\Finder\SplFileInfo; use Symfony\Component\Finder\SplFileInfo;
use ReflectionClass;
/** /**
* Task Factory * Task Factory
@ -78,11 +79,14 @@ class TaskFactory
$task->setOptions($options); $task->setOptions($options);
return $task; return $task;
} elseif (class_exists($name)) { } elseif (class_exists($name)) {
$task = new $name(); $reflex = new ReflectionClass($name);
if ($task instanceof AbstractTask) { if ($reflex->isInstantiable()) {
$task->setOptions($options); $task = new $name();
$this->add($task); if ($task instanceof AbstractTask) {
return $task; $task->setOptions($options);
$this->add($task);
return $task;
}
} }
} }
@ -101,10 +105,12 @@ class TaskFactory
foreach ($finder as $file) { foreach ($finder as $file) {
$class = substr('\\Mage\\Task\\BuiltIn\\' . str_replace('/', '\\', $file->getRelativePathname()), 0, -4); $class = substr('\\Mage\\Task\\BuiltIn\\' . str_replace('/', '\\', $file->getRelativePathname()), 0, -4);
if (class_exists($class)) { if (class_exists($class)) {
$task = new $class(); $reflex = new ReflectionClass($class);
if ($reflex->isInstantiable()) {
if ($task instanceof AbstractTask) { $task = new $class();
$this->add($task); if ($task instanceof AbstractTask) {
$this->add($task);
}
} }
} }
} }

Loading…
Cancel
Save