diff --git a/config/makers.php b/config/makers.php new file mode 100644 index 000000000..96c362801 --- /dev/null +++ b/config/makers.php @@ -0,0 +1,217 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\DependencyInjection\Loader\Configurator; + +use Symfony\Bundle\MakerBundle\Maker\MakeAuthenticator; +use Symfony\Bundle\MakerBundle\Maker\MakeCommand as MakerMakeCommand; +use Symfony\Bundle\MakerBundle\Maker\MakeController; +use Symfony\Bundle\MakerBundle\Maker\MakeCrud; +use Symfony\Bundle\MakerBundle\Maker\MakeDockerDatabase; +use Symfony\Bundle\MakerBundle\Maker\MakeEntity; +use Symfony\Bundle\MakerBundle\Maker\MakeFixtures; +use Symfony\Bundle\MakerBundle\Maker\MakeForm; +use Symfony\Bundle\MakerBundle\Maker\MakeFunctionalTest; +use Symfony\Bundle\MakerBundle\Maker\MakeListener; +use Symfony\Bundle\MakerBundle\Maker\MakeMessage; +use Symfony\Bundle\MakerBundle\Maker\MakeMessengerMiddleware; +use Symfony\Bundle\MakerBundle\Maker\MakeMigration; +use Symfony\Bundle\MakerBundle\Maker\MakeRegistrationForm; +use Symfony\Bundle\MakerBundle\Maker\MakeResetPassword; +use Symfony\Bundle\MakerBundle\Maker\MakeSchedule; +use Symfony\Bundle\MakerBundle\Maker\MakeSerializerEncoder; +use Symfony\Bundle\MakerBundle\Maker\MakeSerializerNormalizer; +use Symfony\Bundle\MakerBundle\Maker\MakeStimulusController; +use Symfony\Bundle\MakerBundle\Maker\MakeSubscriber; +use Symfony\Bundle\MakerBundle\Maker\MakeTest; +use Symfony\Bundle\MakerBundle\Maker\MakeTwigComponent; +use Symfony\Bundle\MakerBundle\Maker\MakeTwigExtension; +use Symfony\Bundle\MakerBundle\Maker\MakeUnitTest; +use Symfony\Bundle\MakerBundle\Maker\MakeUser; +use Symfony\Bundle\MakerBundle\Maker\MakeValidator; +use Symfony\Bundle\MakerBundle\Maker\MakeVoter; +use Symfony\Bundle\MakerBundle\Maker\MakeWebhook; +use Symfony\Bundle\MakerBundle\Maker\Security\MakeCustomAuthenticator; +use Symfony\Bundle\MakerBundle\Maker\Security\MakeFormLogin; + +return static function (ContainerConfigurator $container) { + $container->services() + + ->set('maker.maker.make_authenticator', MakeAuthenticator::class) + ->args([ + service('maker.file_manager'), + service('maker.security_config_updater'), + service('maker.generator'), + service('maker.doctrine_helper'), + service('maker.security_controller_builder'), + ]) + ->tag('maker.command') + + ->set('maker.maker.make_command', MakerMakeCommand::class) + ->tag('maker.command') + + ->set('maker.maker.make_twig_component', MakeTwigComponent::class) + ->args([ + service('maker.file_manager'), + ]) + ->tag('maker.command') + + ->set('maker.maker.make_controller', MakeController::class) + ->tag('maker.command') + + ->set('maker.maker.make_crud', MakeCrud::class) + ->args([ + service('maker.doctrine_helper'), + service('maker.renderer.form_type_renderer'), + ]) + ->tag('maker.command') + + ->set('maker.maker.make_docker_database', MakeDockerDatabase::class) + ->args([ + service('maker.file_manager'), + ]) + ->tag('maker.command') + + ->set('maker.maker.make_entity', MakeEntity::class) + ->args([ + service('maker.file_manager'), + service('maker.doctrine_helper'), + null, + service('maker.generator'), + service('maker.entity_class_generator'), + ]) + ->tag('maker.command') + + ->set('maker.maker.make_fixtures', MakeFixtures::class) + ->tag('maker.command') + + ->set('maker.maker.make_form', MakeForm::class) + ->args([ + service('maker.doctrine_helper'), + service('maker.renderer.form_type_renderer'), + ]) + ->tag('maker.command') + + ->set('maker.maker.make_functional_test', MakeFunctionalTest::class) + ->tag('maker.command') + ->deprecate('symfony/maker-bundle', '1.29', 'The "%service_id%" service is deprecated, use "maker.maker.make_test" instead.') + + ->set('maker.maker.make_listener', MakeListener::class) + ->args([ + service('maker.event_registry'), + ]) + ->tag('maker.command') + + ->set('maker.maker.make_message', MakeMessage::class) + ->args([ + service('maker.file_manager'), + ]) + ->tag('maker.command') + + ->set('maker.maker.make_messenger_middleware', MakeMessengerMiddleware::class) + ->tag('maker.command') + + ->set('maker.maker.make_registration_form', MakeRegistrationForm::class) + ->args([ + service('maker.file_manager'), + service('maker.renderer.form_type_renderer'), + service('maker.doctrine_helper'), + service('router')->nullOnInvalid(), + ]) + ->tag('maker.command') + + ->set('maker.maker.make_reset_password', MakeResetPassword::class) + ->args([ + service('maker.file_manager'), + service('maker.doctrine_helper'), + service('maker.entity_class_generator'), + service('router')->nullOnInvalid(), + ]) + ->tag('maker.command') + + ->set('maker.maker.make_schedule', MakeSchedule::class) + ->args([ + service('maker.file_manager'), + ]) + ->tag('maker.command') + + ->set('maker.maker.make_serializer_encoder', MakeSerializerEncoder::class) + ->tag('maker.command') + + ->set('maker.maker.make_serializer_normalizer', MakeSerializerNormalizer::class) + ->tag('maker.command') + + ->set('maker.maker.make_subscriber', MakeSubscriber::class) + ->args([ + service('maker.event_registry'), + ]) + ->tag('maker.command') + ->deprecate('symfony/maker-bundle', '1.51', 'The "%service_id%" service is deprecated, use "maker.maker.make_listener" instead.') + + ->set('maker.maker.make_twig_extension', MakeTwigExtension::class) + ->tag('maker.command') + + ->set('maker.maker.make_test', MakeTest::class) + ->tag('maker.command') + + ->set('maker.maker.make_unit_test', MakeUnitTest::class) + ->tag('maker.command') + ->deprecate('symfony/maker-bundle', '1.29', 'The "%service_id%" service is deprecated, use "maker.maker.make_test" instead.') + + ->set('maker.maker.make_validator', MakeValidator::class) + ->tag('maker.command') + + ->set('maker.maker.make_voter', MakeVoter::class) + ->tag('maker.command') + + ->set('maker.maker.make_user', MakeUser::class) + ->args([ + service('maker.file_manager'), + service('maker.user_class_builder'), + service('maker.security_config_updater'), + service('maker.entity_class_generator'), + service('maker.doctrine_helper'), + ]) + ->tag('maker.command') + + ->set('maker.maker.make_migration', MakeMigration::class) + ->args([ + param('kernel.project_dir'), + service('maker.file_link_formatter'), + ]) + ->tag('maker.command') + + ->set('maker.maker.make_stimulus_controller', MakeStimulusController::class) + ->tag('maker.command') + + ->set('maker.maker.make_form_login', MakeFormLogin::class) + ->args([ + service('maker.file_manager'), + service('maker.security_config_updater'), + service('maker.security_controller_builder'), + ]) + ->tag('maker.command') + + ->set('maker.maker.make_custom_authenticator', MakeCustomAuthenticator::class) + ->args([ + service('maker.file_manager'), + service('maker.generator'), + ]) + ->tag('maker.command') + + ->set('maker.maker.make_webhook', MakeWebhook::class) + ->args([ + service('maker.file_manager'), + service('maker.generator'), + ]) + ->tag('maker.command') + ; +}; diff --git a/config/makers.xml b/config/makers.xml deleted file mode 100644 index ad7d45483..000000000 --- a/config/makers.xml +++ /dev/null @@ -1,175 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - null - - - - - - - - - - - - - - - - - - The "%service_id%" service is deprecated, use "maker.maker.make_test" instead. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The "%service_id%" service is deprecated, use "maker.maker.make_listener" instead. - - - - - - - - - - - - - The "%service_id%" service is deprecated, use "maker.maker.make_test" instead. - - - - - - - - - - - - - - - - - - - - - %kernel.project_dir% - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/config/services.php b/config/services.php new file mode 100644 index 000000000..e61a39b97 --- /dev/null +++ b/config/services.php @@ -0,0 +1,125 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\DependencyInjection\Loader\Configurator; + +use Symfony\Bundle\MakerBundle\Command\MakerCommand; +use Symfony\Bundle\MakerBundle\Doctrine\DoctrineHelper; +use Symfony\Bundle\MakerBundle\Doctrine\EntityClassGenerator; +use Symfony\Bundle\MakerBundle\Event\ConsoleErrorSubscriber; +use Symfony\Bundle\MakerBundle\EventRegistry; +use Symfony\Bundle\MakerBundle\FileManager; +use Symfony\Bundle\MakerBundle\Generator; +use Symfony\Bundle\MakerBundle\Renderer\FormTypeRenderer; +use Symfony\Bundle\MakerBundle\Security\SecurityConfigUpdater; +use Symfony\Bundle\MakerBundle\Security\SecurityControllerBuilder; +use Symfony\Bundle\MakerBundle\Security\UserClassBuilder; +use Symfony\Bundle\MakerBundle\Util\AutoloaderUtil; +use Symfony\Bundle\MakerBundle\Util\ComposerAutoloaderFinder; +use Symfony\Bundle\MakerBundle\Util\MakerFileLinkFormatter; +use Symfony\Bundle\MakerBundle\Util\PhpCompatUtil; +use Symfony\Bundle\MakerBundle\Util\TemplateComponentGenerator; +use Symfony\Bundle\MakerBundle\Util\TemplateLinter; + +return static function (ContainerConfigurator $container) { + $container->services() + + ->set('maker.file_manager', FileManager::class) + ->args([ + service('filesystem'), + service('maker.autoloader_util'), + service('maker.file_link_formatter'), + param('kernel.project_dir'), + param('twig.default_path'), + ]) + + ->set('maker.autoloader_finder', ComposerAutoloaderFinder::class) + ->args([ + null, // root namespace + ]) + + ->set('maker.autoloader_util', AutoloaderUtil::class) + ->args([ + service('maker.autoloader_finder'), + ]) + + ->set('maker.file_link_formatter', MakerFileLinkFormatter::class) + ->args([ + service('debug.file_link_formatter')->nullOnInvalid(), + ]) + + ->set('maker.event_registry', EventRegistry::class) + ->args([ + service('event_dispatcher'), + ]) + + ->set('maker.console_error_listener', ConsoleErrorSubscriber::class) + ->tag('kernel.event_subscriber') + + ->set('maker.doctrine_helper', DoctrineHelper::class) + ->args([ + null, // entity namespace + service('doctrine')->nullOnInvalid(), + ]) + + ->set('maker.template_linter', TemplateLinter::class) + ->args([ + env('default::string:MAKER_PHP_CS_FIXER_BINARY_PATH'), + env('default::string:MAKER_PHP_CS_FIXER_CONFIG_PATH'), + ]) + + ->set('maker.auto_command.abstract', MakerCommand::class) + ->abstract() + ->args([ + null, // maker + service('maker.file_manager'), + service('maker.generator'), + service('maker.template_linter'), + ]) + + ->set('maker.generator', Generator::class) + ->args([ + service('maker.file_manager'), + null, // root namespace + null, // PhpCompatUtil + service('maker.template_component_generator'), + ]) + + ->set('maker.entity_class_generator', EntityClassGenerator::class) + ->args([ + service('maker.generator'), + service('maker.doctrine_helper'), + ]) + + ->set('maker.user_class_builder', UserClassBuilder::class) + + ->set('maker.security_config_updater', SecurityConfigUpdater::class) + + ->set('maker.renderer.form_type_renderer', FormTypeRenderer::class) + ->args([ + service('maker.generator'), + ]) + + ->set('maker.security_controller_builder', SecurityControllerBuilder::class) + + ->set('maker.php_compat_util', PhpCompatUtil::class) + ->args([ + service('maker.file_manager'), + ]) + + ->set('maker.template_component_generator', TemplateComponentGenerator::class) + ->args([ + null, // generate_final_classes + null, // generate_final_entities + null, // root_namespace + ]) + ; +}; diff --git a/config/services.xml b/config/services.xml deleted file mode 100644 index 5fbc0439b..000000000 --- a/config/services.xml +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - - - - - - - %kernel.project_dir% - %twig.default_path% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - %env(default::string:MAKER_PHP_CS_FIXER_BINARY_PATH)% - %env(default::string:MAKER_PHP_CS_FIXER_CONFIG_PATH)% - - - - - - - - - - - - - null - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/MakerBundle.php b/src/MakerBundle.php index 42516aec8..8c7231e6c 100644 --- a/src/MakerBundle.php +++ b/src/MakerBundle.php @@ -41,8 +41,8 @@ public function configure(DefinitionConfigurator $definition): void public function loadExtension(array $config, ContainerConfigurator $container, ContainerBuilder $builder): void { - $container->import('../config/services.xml'); - $container->import('../config/makers.xml'); + $container->import('../config/services.php'); + $container->import('../config/makers.php'); $rootNamespace = trim($config['root_namespace'], '\\');