Skip to content

Commit

Permalink
Drop support for Symfony 4 and Twig 2 (#816)
Browse files Browse the repository at this point in the history
  • Loading branch information
jordisala1991 committed Apr 24, 2023
1 parent 9cac825 commit 74c2c20
Show file tree
Hide file tree
Showing 12 changed files with 55 additions and 104 deletions.
5 changes: 0 additions & 5 deletions .github/workflows/test.yaml
Expand Up @@ -48,11 +48,6 @@ jobs:
dependencies: lowest
allowed-to-fail: false
variant: normal
- php-version: '8.2'
dependencies: highest
allowed-to-fail: false
symfony-require: 4.4.*
variant: symfony/symfony:"4.4.*"
- php-version: '8.2'
dependencies: highest
allowed-to-fail: false
Expand Down
26 changes: 13 additions & 13 deletions composer.json
Expand Up @@ -30,17 +30,17 @@
"doctrine/collections": "^1.6 || ^2.0",
"doctrine/mongodb-odm": "^2.3",
"doctrine/mongodb-odm-bundle": "^4.4",
"doctrine/persistence": "^2.0 || ^3.0",
"doctrine/persistence": "^3.0",
"sonata-project/admin-bundle": "^4.18",
"sonata-project/exporter": "^2.0 || ^3.0",
"sonata-project/form-extensions": "^1.7.1",
"symfony/config": "^4.4 || ^5.4 || ^6.2",
"symfony/dependency-injection": "^4.4 || ^5.4 || ^6.2",
"symfony/doctrine-bridge": "^4.4.22 || ^5.4 || ^6.2",
"symfony/form": "^4.4 || ^5.4 || ^6.2",
"symfony/http-kernel": "^4.4 || ^5.4 || ^6.2",
"symfony/property-access": "^4.4 || ^5.4 || ^6.2",
"twig/twig": "^2.6 || ^3.0"
"symfony/config": "^5.4 || ^6.2",
"symfony/dependency-injection": "^5.4 || ^6.2",
"symfony/doctrine-bridge": "^5.4 || ^6.2",
"symfony/form": "^5.4 || ^6.2",
"symfony/http-kernel": "^5.4 || ^6.2",
"symfony/property-access": "^5.4 || ^6.2",
"twig/twig": "^3.0"
},
"require-dev": {
"doctrine/data-fixtures": "^1.4",
Expand All @@ -54,14 +54,14 @@
"phpstan/phpstan-symfony": "^1.0",
"phpunit/phpunit": "^9.6",
"psalm/plugin-phpunit": "^0.18",
"psalm/plugin-symfony": "^4.0 || ^5.0",
"psalm/plugin-symfony": "^5.0",
"rector/rector": "^0.15",
"sonata-project/block-bundle": "^4.2",
"symfony/browser-kit": "^4.4 || ^5.4 || ^6.2",
"symfony/css-selector": "^4.4 || ^5.4 || ^6.2",
"symfony/panther": "^1.0 || ^2.0",
"symfony/browser-kit": "^5.4 || ^6.2",
"symfony/css-selector": "^5.4 || ^6.2",
"symfony/panther": "^2.0.1",
"symfony/phpunit-bridge": "^6.2",
"vimeo/psalm": "^4.30 || ^5.7"
"vimeo/psalm": "^5.7"
},
"conflict": {
"sonata-project/block-bundle": "<4.2"
Expand Down
36 changes: 18 additions & 18 deletions src/Resources/config/doctrine_mongodb.php
Expand Up @@ -11,6 +11,8 @@
* file that was distributed with this source code.
*/

namespace Symfony\Component\DependencyInjection\Loader\Configurator;

use Sonata\AdminBundle\FieldDescription\TypeGuesserChain;
use Sonata\DoctrineMongoDBAdminBundle\Builder\DatagridBuilder;
use Sonata\DoctrineMongoDBAdminBundle\Builder\FormContractor;
Expand All @@ -21,8 +23,6 @@
use Sonata\DoctrineMongoDBAdminBundle\FieldDescription\FilterTypeGuesser;
use Sonata\DoctrineMongoDBAdminBundle\FieldDescription\TypeGuesser;
use Sonata\DoctrineMongoDBAdminBundle\Model\ModelManager;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
use Symfony\Component\DependencyInjection\Loader\Configurator\ReferenceConfigurator;

return static function (ContainerConfigurator $containerConfigurator): void {
// Use "service" function for creating references to services when dropping support for Symfony 4.4
Expand All @@ -32,20 +32,20 @@
->set('sonata.admin.manager.doctrine_mongodb', ModelManager::class)
->tag('sonata.admin.manager')
->args([
new ReferenceConfigurator('doctrine_mongodb'),
new ReferenceConfigurator('property_accessor'),
service('doctrine_mongodb'),
service('property_accessor'),
])

->set('sonata.admin.builder.doctrine_mongodb_form', FormContractor::class)
->args([
new ReferenceConfigurator('form.factory'),
new ReferenceConfigurator('form.registry'),
service('form.factory'),
service('form.registry'),
])

->set('sonata.admin.builder.doctrine_mongodb_list', ListBuilder::class)
->args([
new ReferenceConfigurator('sonata.admin.guesser.doctrine_mongodb_list_chain'),
[],
service('sonata.admin.guesser.doctrine_mongodb_list_chain'),
abstract_arg('templates'),
])

->set('sonata.admin.guesser.doctrine_mongodb_list', TypeGuesser::class)
Expand All @@ -54,14 +54,14 @@
->set('sonata.admin.guesser.doctrine_mongodb_list_chain', TypeGuesserChain::class)
->args([
[
new ReferenceConfigurator('sonata.admin.guesser.doctrine_mongodb_list'),
service('sonata.admin.guesser.doctrine_mongodb_list'),
],
])

->set('sonata.admin.builder.doctrine_mongodb_show', ShowBuilder::class)
->args([
new ReferenceConfigurator('sonata.admin.guesser.doctrine_mongodb_show_chain'),
[],
service('sonata.admin.guesser.doctrine_mongodb_show_chain'),
abstract_arg('templates'),
])

->set('sonata.admin.guesser.doctrine_mongodb_show', TypeGuesser::class)
Expand All @@ -70,16 +70,16 @@
->set('sonata.admin.guesser.doctrine_mongodb_show_chain', TypeGuesserChain::class)
->args([
[
new ReferenceConfigurator('sonata.admin.guesser.doctrine_mongodb_list'),
service('sonata.admin.guesser.doctrine_mongodb_list'),
],
])

->set('sonata.admin.builder.doctrine_mongodb_datagrid', DatagridBuilder::class)
->args([
new ReferenceConfigurator('form.factory'),
new ReferenceConfigurator('sonata.admin.builder.filter.factory'),
new ReferenceConfigurator('sonata.admin.guesser.doctrine_mongodb_datagrid_chain'),
'%form.type_extension.csrf.enabled%',
service('form.factory'),
service('sonata.admin.builder.filter.factory'),
service('sonata.admin.guesser.doctrine_mongodb_datagrid_chain'),
param('form.type_extension.csrf.enabled'),
])

->set('sonata.admin.guesser.doctrine_mongodb_datagrid', FilterTypeGuesser::class)
Expand All @@ -88,14 +88,14 @@
->set('sonata.admin.guesser.doctrine_mongodb_datagrid_chain', TypeGuesserChain::class)
->args([
[
new ReferenceConfigurator('sonata.admin.guesser.doctrine_mongodb_datagrid'),
service('sonata.admin.guesser.doctrine_mongodb_datagrid'),
],
])

->set('sonata.admin.data_source.doctrine_mongodb', DataSource::class)

->set('sonata.admin.field_description_factory.doctrine_mongodb', FieldDescriptionFactory::class)
->args([
new ReferenceConfigurator('doctrine_mongodb'),
service('doctrine_mongodb'),
]);
};
4 changes: 2 additions & 2 deletions src/Resources/config/doctrine_mongodb_filter_types.php
Expand Up @@ -11,6 +11,8 @@
* file that was distributed with this source code.
*/

namespace Symfony\Component\DependencyInjection\Loader\Configurator;

use Sonata\DoctrineMongoDBAdminBundle\Filter\BooleanFilter;
use Sonata\DoctrineMongoDBAdminBundle\Filter\CallbackFilter;
use Sonata\DoctrineMongoDBAdminBundle\Filter\ChoiceFilter;
Expand All @@ -22,10 +24,8 @@
use Sonata\DoctrineMongoDBAdminBundle\Filter\ModelFilter;
use Sonata\DoctrineMongoDBAdminBundle\Filter\NumberFilter;
use Sonata\DoctrineMongoDBAdminBundle\Filter\StringFilter;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;

return static function (ContainerConfigurator $containerConfigurator): void {
// Use "service" function for creating references to services when dropping support for Symfony 4.4
$containerConfigurator->services()

->set('sonata.admin.odm.filter.type.boolean', BooleanFilter::class)
Expand Down
7 changes: 3 additions & 4 deletions src/Resources/config/security.php
Expand Up @@ -11,16 +11,15 @@
* file that was distributed with this source code.
*/

namespace Symfony\Component\DependencyInjection\Loader\Configurator;

use Sonata\DoctrineMongoDBAdminBundle\Util\ObjectAclManipulator;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
use Symfony\Component\DependencyInjection\Loader\Configurator\ReferenceConfigurator;

return static function (ContainerConfigurator $containerConfigurator): void {
// Use "service" function for creating references to services when dropping support for Symfony 4.4
$containerConfigurator->services()

->set('sonata.admin.manipulator.acl.object.doctrine_mongodb', ObjectAclManipulator::class)
->args([
new ReferenceConfigurator('doctrine_mongodb'),
service('doctrine_mongodb'),
]);
};
19 changes: 6 additions & 13 deletions tests/App/AppKernel.php
Expand Up @@ -24,13 +24,13 @@
use Sonata\Twig\Bridge\Symfony\SonataTwigBundle;
use Symfony\Bundle\FrameworkBundle\FrameworkBundle;
use Symfony\Bundle\FrameworkBundle\Kernel\MicroKernelTrait;
use Symfony\Bundle\SecurityBundle\DependencyInjection\Security\Factory\AuthenticatorFactoryInterface;
use Symfony\Bundle\SecurityBundle\SecurityBundle;
use Symfony\Bundle\TwigBundle\TwigBundle;
use Symfony\Component\Config\Loader\LoaderInterface;
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\HttpKernel\Kernel;
use Symfony\Component\Routing\Loader\Configurator\RoutingConfigurator;
use Symfony\Component\Security\Http\Attribute\IsGranted;

final class AppKernel extends Kernel
{
Expand Down Expand Up @@ -68,12 +68,7 @@ public function getProjectDir(): string
return __DIR__;
}

/**
* TODO: Add typehint when dropping support of symfony < 5.1.
*
* @param RoutingConfigurator $routes
*/
protected function configureRoutes($routes): void
protected function configureRoutes(RoutingConfigurator $routes): void
{
$routes->import(sprintf('%s/config/routes.yaml', $this->getProjectDir()));
}
Expand All @@ -83,12 +78,10 @@ protected function configureRoutes($routes): void
*/
protected function configureContainer(ContainerBuilder $container, LoaderInterface $loader): void
{
if (interface_exists(AuthenticatorFactoryInterface::class)) {
$loader->load(__DIR__.'/config/config_v5.yml');
$loader->load(__DIR__.'/config/security_v5.yml');
} else {
$loader->load(__DIR__.'/config/config_v4.yml');
$loader->load(__DIR__.'/config/security_v4.yml');
$loader->load(__DIR__.'/config/config.yaml');

if (!class_exists(IsGranted::class)) {
$loader->load(__DIR__.'/config/config_symfony_v5.yaml');
}

if (class_exists(HttpCacheHandler::class)) {
Expand Down
Expand Up @@ -14,6 +14,14 @@ framework:
router:
utf8: true

security:
providers:
in_memory:
memory: null
firewalls:
main:
lazy: true

twig:
exception_controller: null
strict_variables: true
Expand Down
2 changes: 2 additions & 0 deletions tests/App/config/config_symfony_v5.yaml
@@ -0,0 +1,2 @@
security:
enable_authenticator_manager: true
32 changes: 0 additions & 32 deletions tests/App/config/config_v4.yml

This file was deleted.

7 changes: 0 additions & 7 deletions tests/App/config/security_v4.yml

This file was deleted.

8 changes: 0 additions & 8 deletions tests/App/config/security_v5.yml

This file was deleted.

5 changes: 3 additions & 2 deletions tests/App/config/services.php
Expand Up @@ -11,6 +11,8 @@
* file that was distributed with this source code.
*/

namespace Symfony\Component\DependencyInjection\Loader\Configurator;

use Sonata\DoctrineMongoDBAdminBundle\Tests\App\Admin\AddressAdmin;
use Sonata\DoctrineMongoDBAdminBundle\Tests\App\Admin\AuthorAdmin;
use Sonata\DoctrineMongoDBAdminBundle\Tests\App\Admin\BookAdmin;
Expand All @@ -21,14 +23,13 @@
use Sonata\DoctrineMongoDBAdminBundle\Tests\App\Document\Book;
use Sonata\DoctrineMongoDBAdminBundle\Tests\App\Document\Category;
use Sonata\DoctrineMongoDBAdminBundle\Tests\App\Document\PhoneNumber;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;

return static function (ContainerConfigurator $containerConfigurator): void {
$containerConfigurator->services()
->defaults()
->autowire()
->autoconfigure()
->load('Sonata\\DoctrineMongoDBAdminBundle\\Tests\\App\\DataFixtures\\', dirname(__DIR__).'/DataFixtures')
->load('Sonata\\DoctrineMongoDBAdminBundle\\Tests\\App\\DataFixtures\\', \dirname(__DIR__).'/DataFixtures')

->set(CategoryAdmin::class)
->tag('sonata.admin', [
Expand Down

0 comments on commit 74c2c20

Please sign in to comment.