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'], '\\');