From 090f86cba36053efbcf628065a795efc309e7935 Mon Sep 17 00:00:00 2001 From: Maciej Kobus Date: Tue, 9 Apr 2019 14:31:01 +0200 Subject: [PATCH 1/3] EZP-30576: Upgrade `ezsystems/ezplatform-design-engine` to use Symfony 4 components --- composer.json | 21 +++++++++---- lib/Templating/Twig/TwigThemeLoader.php | 40 ++++++++----------------- 2 files changed, 27 insertions(+), 34 deletions(-) diff --git a/composer.json b/composer.json index e631a42..5ab734f 100644 --- a/composer.json +++ b/composer.json @@ -13,15 +13,24 @@ "email": "dev-team@ez.no" } ], + "minimum-stability": "dev", + "prefer-stable": true, "require": { - "ezsystems/ezpublish-kernel": "^6.0.0|^7.0|^8.0", - "twig/twig": "^1.27|^2.0", - "symfony/symfony": "^2.8.25|^3.1.6|^3.2.12|^3.3.5" + "ezsystems/ezpublish-kernel": "^8.0@dev", + "twig/twig": "^2.11", + "symfony/dependency-injection": "^4.3", + "symfony/http-kernel": "^4.3", + "symfony/http-foundation": "^4.3", + "symfony/config": "^4.3", + "symfony/finder": "^4.3", + "symfony/filesystem": "^4.3", + "symfony/asset": "^4.3", + "symfony/templating": "^4.3" }, "require-dev": { - "phpunit/phpunit": "^5.7|^6.0", - "friendsofphp/php-cs-fixer": "~2.7.1", - "mikey179/vfsStream": "^1.6.3" + "phpunit/phpunit": "^8.1", + "friendsofphp/php-cs-fixer": "^2.15", + "mikey179/vfsstream": "^1.6" }, "autoload": { "psr-4": { diff --git a/lib/Templating/Twig/TwigThemeLoader.php b/lib/Templating/Twig/TwigThemeLoader.php index b05162e..28ac2a9 100644 --- a/lib/Templating/Twig/TwigThemeLoader.php +++ b/lib/Templating/Twig/TwigThemeLoader.php @@ -11,21 +11,16 @@ use EzSystems\EzPlatformDesignEngine\Templating\TemplateNameResolverInterface; use EzSystems\EzPlatformDesignEngine\Templating\TemplatePathRegistryInterface; -use Symfony\Bundle\TwigBundle\Loader\FilesystemLoader; -use Symfony\Component\Config\FileLocatorInterface; -use Symfony\Component\Templating\TemplateNameParserInterface; -use Twig_ExistsLoaderInterface; -use Twig_LoaderInterface; +use Twig\Loader\ExistsLoaderInterface; +use Twig\Loader\FilesystemLoader; +use Twig\Loader\LoaderInterface; +use Twig\Loader\SourceContextLoaderInterface; /** - * Proxy to regular Twig FilesystemLoader. + * Decorates regular Twig FilesystemLoader. * It resolves generic @ezdesign namespace to the actual current namespace. - * - * @note It extends \Symfony\Bundle\TwigBundle\Loader\FilesystemLoader because methods specific to this loader - * (e.g. related to paths and namespaces) are not part of an interface. - * It also does that by convenience for resolving @ezdesign templates paths in debug mode. */ -class TwigThemeLoader extends FilesystemLoader implements Twig_LoaderInterface, Twig_ExistsLoaderInterface +class TwigThemeLoader implements LoaderInterface, ExistsLoaderInterface, SourceContextLoaderInterface { /** * @var TemplateNameResolverInterface @@ -38,22 +33,18 @@ class TwigThemeLoader extends FilesystemLoader implements Twig_LoaderInterface, private $pathRegistry; /** - * @var Twig_LoaderInterface|Twig_ExistsLoaderInterface|\Twig_Loader_Filesystem + * @var FilesystemLoader */ private $innerFilesystemLoader; public function __construct( TemplateNameResolverInterface $templateNameResolver, TemplatePathRegistryInterface $templatePathRegistry, - Twig_LoaderInterface $innerFilesystemLoader, - FileLocatorInterface $locator, - TemplateNameParserInterface $parser + LoaderInterface $innerFilesystemLoader ) { $this->innerFilesystemLoader = $innerFilesystemLoader; $this->nameResolver = $templateNameResolver; $this->pathRegistry = $templatePathRegistry; - - parent::__construct($locator, $parser); } public function exists($name) @@ -84,7 +75,7 @@ public function isFresh($name, $time) return $this->innerFilesystemLoader->isFresh($this->nameResolver->resolveTemplateName($name), $time); } - public function getPaths($namespace = self::MAIN_NAMESPACE) + public function getPaths($namespace = FilesystemLoader::MAIN_NAMESPACE) { return $this->innerFilesystemLoader->getPaths($namespace); } @@ -94,25 +85,18 @@ public function getNamespaces() return $this->innerFilesystemLoader->getNamespaces(); } - public function setPaths($paths, $namespace = self::MAIN_NAMESPACE) + public function setPaths($paths, $namespace = FilesystemLoader::MAIN_NAMESPACE) { - parent::setPaths($paths, $namespace); $this->innerFilesystemLoader->setPaths($paths, $namespace); } - public function addPath($path, $namespace = self::MAIN_NAMESPACE) + public function addPath($path, $namespace = FilesystemLoader::MAIN_NAMESPACE) { - parent::addPath($path, $namespace); $this->innerFilesystemLoader->addPath($path, $namespace); } - public function prependPath($path, $namespace = self::MAIN_NAMESPACE) + public function prependPath($path, $namespace = FilesystemLoader::MAIN_NAMESPACE) { $this->innerFilesystemLoader->prependPath($path, $namespace); } - - public function findTemplate($template, $throw = true) - { - return parent::findTemplate($template, $throw); - } } From 4c9344f2be4452bdb77a1b39771ee3e068ed8504 Mon Sep 17 00:00:00 2001 From: Maciej Kobus Date: Tue, 21 May 2019 15:06:34 +0200 Subject: [PATCH 2/3] EZP-30576: Rename all *.yml files to *.yaml --- .../DependencyInjection/EzPlatformDesignEngineExtension.php | 4 ++-- bundle/EzPlatformDesignEngineBundle.php | 2 +- .../config/{default_settings.yml => default_settings.yaml} | 0 bundle/Resources/config/{services.yml => services.yaml} | 0 4 files changed, 3 insertions(+), 3 deletions(-) rename bundle/Resources/config/{default_settings.yml => default_settings.yaml} (100%) rename bundle/Resources/config/{services.yml => services.yaml} (100%) diff --git a/bundle/DependencyInjection/EzPlatformDesignEngineExtension.php b/bundle/DependencyInjection/EzPlatformDesignEngineExtension.php index c4fc8e5..e87aea7 100644 --- a/bundle/DependencyInjection/EzPlatformDesignEngineExtension.php +++ b/bundle/DependencyInjection/EzPlatformDesignEngineExtension.php @@ -30,8 +30,8 @@ public function getConfiguration(array $config, ContainerBuilder $container) public function load(array $configs, ContainerBuilder $container) { $loader = new Loader\YamlFileLoader($container, new FileLocator(__DIR__ . '/../Resources/config')); - $loader->load('services.yml'); - $loader->load('default_settings.yml'); + $loader->load('services.yaml'); + $loader->load('default_settings.yaml'); $configuration = $this->getConfiguration($configs, $container); $config = $this->processConfiguration($configuration, $configs); diff --git a/bundle/EzPlatformDesignEngineBundle.php b/bundle/EzPlatformDesignEngineBundle.php index d9526b8..7713282 100644 --- a/bundle/EzPlatformDesignEngineBundle.php +++ b/bundle/EzPlatformDesignEngineBundle.php @@ -28,7 +28,7 @@ public function build(ContainerBuilder $container) /** @var \eZ\Bundle\EzPublishCoreBundle\DependencyInjection\EzPublishCoreExtension $eZExtension */ $eZExtension = $container->getExtension('ezpublish'); $eZExtension->addConfigParser(new DesignConfigParser()); - $eZExtension->addDefaultSettings(__DIR__ . '/Resources/config', ['default_settings.yml']); + $eZExtension->addDefaultSettings(__DIR__ . '/Resources/config', ['default_settings.yaml']); $container->addCompilerPass(new TwigThemePass()); $container->addCompilerPass(new AssetThemePass(), PassConfig::TYPE_OPTIMIZE); diff --git a/bundle/Resources/config/default_settings.yml b/bundle/Resources/config/default_settings.yaml similarity index 100% rename from bundle/Resources/config/default_settings.yml rename to bundle/Resources/config/default_settings.yaml diff --git a/bundle/Resources/config/services.yml b/bundle/Resources/config/services.yaml similarity index 100% rename from bundle/Resources/config/services.yml rename to bundle/Resources/config/services.yaml From f2bd3b27760f1cbc4778eb67bb52777beab0f437 Mon Sep 17 00:00:00 2001 From: Maciej Kobus Date: Fri, 7 Jun 2019 14:43:19 +0200 Subject: [PATCH 3/3] Aligned unit tests to PHPUnit 8 --- tests/lib/Asset/ProvisionedPathResolverTest.php | 4 ++-- tests/lib/Asset/ThemePackageTest.php | 8 ++++---- tests/lib/Templating/ThemeTemplateNameResolverTest.php | 4 ++-- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/tests/lib/Asset/ProvisionedPathResolverTest.php b/tests/lib/Asset/ProvisionedPathResolverTest.php index 3482483..1f02030 100644 --- a/tests/lib/Asset/ProvisionedPathResolverTest.php +++ b/tests/lib/Asset/ProvisionedPathResolverTest.php @@ -18,7 +18,7 @@ class ProvisionedPathResolverTest extends TestCase { /** - * @var \PHPUnit_Framework_MockObject_MockObject|AssetPathResolverInterface + * @var \PHPUnit\Framework\MockObject\MockObject|AssetPathResolverInterface */ private $innerResolver; @@ -27,7 +27,7 @@ class ProvisionedPathResolverTest extends TestCase */ private $webrootDir; - protected function setUp() + protected function setUp(): void { parent::setUp(); $this->innerResolver = $this->createMock(AssetPathResolverInterface::class); diff --git a/tests/lib/Asset/ThemePackageTest.php b/tests/lib/Asset/ThemePackageTest.php index 0608f10..8e1f297 100644 --- a/tests/lib/Asset/ThemePackageTest.php +++ b/tests/lib/Asset/ThemePackageTest.php @@ -18,21 +18,21 @@ class ThemePackageTest extends TestCase { /** - * @var \PHPUnit_Framework_MockObject_MockObject|\EzSystems\EzPlatformDesignEngine\Asset\AssetPathResolverInterface + * @var \PHPUnit\Framework\MockObject\MockObject|\EzSystems\EzPlatformDesignEngine\Asset\AssetPathResolverInterface */ private $assetPathResolver; /** - * @var \PHPUnit_Framework_MockObject_MockObject|\Symfony\Component\Asset\PackageInterface + * @var \PHPUnit\Framework\MockObject\MockObject|\Symfony\Component\Asset\PackageInterface */ private $innerPackage; /** - * @var \PHPUnit_Framework_MockObject_MockObject|\eZ\Publish\Core\MVC\ConfigResolverInterface + * @var \PHPUnit\Framework\MockObject\MockObject|\eZ\Publish\Core\MVC\ConfigResolverInterface */ private $configResolver; - protected function setUp() + protected function setUp(): void { parent::setUp(); diff --git a/tests/lib/Templating/ThemeTemplateNameResolverTest.php b/tests/lib/Templating/ThemeTemplateNameResolverTest.php index dcc9999..fe488f6 100644 --- a/tests/lib/Templating/ThemeTemplateNameResolverTest.php +++ b/tests/lib/Templating/ThemeTemplateNameResolverTest.php @@ -16,11 +16,11 @@ class ThemeTemplateNameResolverTest extends TestCase { /** - * @var \PHPUnit_Framework_MockObject_MockObject|ConfigResolverInterface + * @var \PHPUnit\Framework\MockObject\MockObject|ConfigResolverInterface */ private $configResolver; - public function setUp() + protected function setUp(): void { parent::setUp();