Remove Composer Lock. Tweak Commands and Tasks instantiation

This commit is contained in:
Andrés Montañez
2017-01-06 12:56:49 -03:00
parent 3908c20d8e
commit 5d95b4d6cb
3 changed files with 24 additions and 14 deletions
+8 -5
View File
@@ -21,6 +21,7 @@ use Symfony\Component\Console\Event\ConsoleExceptionEvent;
use Symfony\Component\Console\ConsoleEvents;
use Symfony\Component\Console\Application;
use Symfony\Component\Yaml\Yaml;
use ReflectionClass;
use Mage\Runtime\Exception\RuntimeException;
/**
@@ -96,11 +97,13 @@ class MageApplication extends Application
foreach ($finder as $file) {
$class = substr('\\Mage\\Command\\BuiltIn\\' . str_replace('/', '\\', $file->getRelativePathname()), 0, -4);
if (class_exists($class)) {
$command = new $class();
if ($command instanceof AbstractCommand) {
$command->setRuntime($this->runtime);
$this->add($command);
$reflex = new ReflectionClass($class);
if ($reflex->isInstantiable()) {
$command = new $class();
if ($command instanceof AbstractCommand) {
$command->setRuntime($this->runtime);
$this->add($command);
}
}
}
}
+15 -9
View File
@@ -14,6 +14,7 @@ use Mage\Runtime\Runtime;
use Mage\Runtime\Exception\RuntimeException;
use Symfony\Component\Finder\Finder;
use Symfony\Component\Finder\SplFileInfo;
use ReflectionClass;
/**
* Task Factory
@@ -78,11 +79,14 @@ class TaskFactory
$task->setOptions($options);
return $task;
} elseif (class_exists($name)) {
$task = new $name();
if ($task instanceof AbstractTask) {
$task->setOptions($options);
$this->add($task);
return $task;
$reflex = new ReflectionClass($name);
if ($reflex->isInstantiable()) {
$task = new $name();
if ($task instanceof AbstractTask) {
$task->setOptions($options);
$this->add($task);
return $task;
}
}
}
@@ -101,10 +105,12 @@ class TaskFactory
foreach ($finder as $file) {
$class = substr('\\Mage\\Task\\BuiltIn\\' . str_replace('/', '\\', $file->getRelativePathname()), 0, -4);
if (class_exists($class)) {
$task = new $class();
if ($task instanceof AbstractTask) {
$this->add($task);
$reflex = new ReflectionClass($class);
if ($reflex->isInstantiable()) {
$task = new $class();
if ($task instanceof AbstractTask) {
$this->add($task);
}
}
}
}