mirror of
https://github.com/rectorphp/rector.git
synced 2025-03-14 12:29:43 +01:00
[NodeTypeResolver] Move Container to src, so it can be used in standalone code
This commit is contained in:
parent
8dc06a625f
commit
9a087b3565
@ -0,0 +1,24 @@
|
||||
<?php declare(strict_types=1);
|
||||
|
||||
namespace Rector\NodeTypeResolver\DependencyInjection;
|
||||
|
||||
use Psr\Container\ContainerInterface;
|
||||
|
||||
final class NodeTypeResolverContainerFactory
|
||||
{
|
||||
public function create(): ContainerInterface
|
||||
{
|
||||
$kernel = new NodeTypeResolverKernel();
|
||||
$kernel->boot();
|
||||
|
||||
return $kernel->getContainer();
|
||||
}
|
||||
|
||||
public function createWithConfig(string $config): ContainerInterface
|
||||
{
|
||||
$kernel = new NodeTypeResolverKernel($config);
|
||||
$kernel->boot();
|
||||
|
||||
return $kernel->getContainer();
|
||||
}
|
||||
}
|
@ -1,6 +1,6 @@
|
||||
<?php declare(strict_types=1);
|
||||
|
||||
namespace Rector\NodeTypeResolver\Tests\DependencyInjection;
|
||||
namespace Rector\NodeTypeResolver\DependencyInjection;
|
||||
|
||||
use Symfony\Component\Config\Loader\LoaderInterface;
|
||||
use Symfony\Component\HttpKernel\Bundle\BundleInterface;
|
||||
@ -8,10 +8,25 @@ use Symfony\Component\HttpKernel\Kernel;
|
||||
|
||||
final class NodeTypeResolverKernel extends Kernel
|
||||
{
|
||||
/**
|
||||
* @var null|string
|
||||
*/
|
||||
private $config;
|
||||
|
||||
public function __construct(?string $config = null)
|
||||
{
|
||||
$this->config = $config;
|
||||
|
||||
parent::__construct('dev', true);
|
||||
}
|
||||
|
||||
public function registerContainerConfiguration(LoaderInterface $loader): void
|
||||
{
|
||||
$loader->load(__DIR__ . '/../../src/config/services.yml');
|
||||
$loader->load(__DIR__ . '/../config/config.tests.yml');
|
||||
|
||||
if ($this->config) {
|
||||
$loader->load($this->config);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@ -24,11 +39,11 @@ final class NodeTypeResolverKernel extends Kernel
|
||||
|
||||
public function getCacheDir(): string
|
||||
{
|
||||
return sys_get_temp_dir() . '/_node_type_resolver_test_cache';
|
||||
return sys_get_temp_dir() . '/_rector_node_type_resolver_cache';
|
||||
}
|
||||
|
||||
public function getLogDir(): string
|
||||
{
|
||||
return sys_get_temp_dir() . '/_node_type_resolver_test_log';
|
||||
return sys_get_temp_dir() . '/_rector_type_resolver_test_log';
|
||||
}
|
||||
}
|
@ -12,7 +12,7 @@ services:
|
||||
|
||||
Rector\NodeTypeResolver\:
|
||||
resource: '../'
|
||||
exclude: '../{Contract}'
|
||||
exclude: '../{Contract,DependencyInjection/NodeTypeResolverKernel.php,DependencyInjection/NodeTypeResolverContainerFactory.php}'
|
||||
|
||||
Rector\PhpParser\CurrentNodeProvider: ~
|
||||
|
||||
|
@ -4,7 +4,7 @@ namespace Rector\NodeTypeResolver\Tests;
|
||||
|
||||
use PHPUnit\Framework\TestCase;
|
||||
use Psr\Container\ContainerInterface;
|
||||
use Rector\NodeTypeResolver\Tests\DependencyInjection\NodeTypeResolverContainerFactory;
|
||||
use Rector\NodeTypeResolver\DependencyInjection\NodeTypeResolverContainerFactory;
|
||||
|
||||
abstract class AbstractNodeTypeResolverContainerAwareTestCase extends TestCase
|
||||
{
|
||||
@ -26,7 +26,9 @@ abstract class AbstractNodeTypeResolverContainerAwareTestCase extends TestCase
|
||||
public function __construct(?string $name = null, array $data = [], string $dataName = '')
|
||||
{
|
||||
if (self::$cachedContainer === null) {
|
||||
self::$cachedContainer = (new NodeTypeResolverContainerFactory())->create();
|
||||
self::$cachedContainer = (new NodeTypeResolverContainerFactory())->createWithConfig(
|
||||
__DIR__ . '/config/config.tests.yml'
|
||||
);
|
||||
}
|
||||
|
||||
$this->container = self::$cachedContainer;
|
||||
|
@ -1,17 +0,0 @@
|
||||
<?php declare(strict_types=1);
|
||||
|
||||
namespace Rector\NodeTypeResolver\Tests\DependencyInjection;
|
||||
|
||||
use Psr\Container\ContainerInterface;
|
||||
|
||||
final class NodeTypeResolverContainerFactory
|
||||
{
|
||||
public function create(): ContainerInterface
|
||||
{
|
||||
$nodeTypeResolverKernel = new NodeTypeResolverKernel('dev', true);
|
||||
|
||||
$nodeTypeResolverKernel->boot();
|
||||
|
||||
return $nodeTypeResolverKernel->getContainer();
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user