From 92c108839c37515ae6b9a2e5ccf72d9f1c5ac637 Mon Sep 17 00:00:00 2001 From: Baptiste Lafontaine Date: Thu, 19 Jan 2017 09:43:44 +0100 Subject: [PATCH] Make source folder configurable --- DependencyInjection/Configuration.php | 1 + DependencyInjection/NelmioApiDocExtension.php | 3 +++ Tests/Functional/TestKernel.php | 1 + 3 files changed, 5 insertions(+) diff --git a/DependencyInjection/Configuration.php b/DependencyInjection/Configuration.php index 5356c53..2eb1441 100644 --- a/DependencyInjection/Configuration.php +++ b/DependencyInjection/Configuration.php @@ -22,6 +22,7 @@ final class Configuration implements ConfigurationInterface $treeBuilder ->root('nelmio_api_doc') ->children() + ->scalarNode('source_folder')->defaultValue('%kernel.root_dir%/../src')->end() ->arrayNode('routes') ->info('Filter the routes that are documented') ->addDefaultsIfNotSet() diff --git a/DependencyInjection/NelmioApiDocExtension.php b/DependencyInjection/NelmioApiDocExtension.php index 42eff7b..d3059bb 100644 --- a/DependencyInjection/NelmioApiDocExtension.php +++ b/DependencyInjection/NelmioApiDocExtension.php @@ -41,6 +41,9 @@ final class NelmioApiDocExtension extends Extension } if (class_exists(Swagger::class)) { $loader->load('swagger_php.xml'); + + $swaggerPHPDescriber = $container->getDefinition('nelmio_api_doc.describers.swagger_php'); + $swaggerPHPDescriber->replaceArgument(0, $config['source_folder']); } if (interface_exists(ParamInterface::class)) { $loader->load('fos_rest.xml'); diff --git a/Tests/Functional/TestKernel.php b/Tests/Functional/TestKernel.php index 9cf59d5..4c93ec2 100644 --- a/Tests/Functional/TestKernel.php +++ b/Tests/Functional/TestKernel.php @@ -62,6 +62,7 @@ class TestKernel extends Kernel // Filter routes $c->loadFromExtension('nelmio_api_doc', [ + 'source_folder' => '%kernel.root_dir%', 'routes' => [ 'path_patterns' => ['^/api(?!/admin)'], ],