@@ -61,9 +61,15 @@ protected function configure()
61
61
->setDescription ($ this ->trans ('commands.config.export.single.description ' ))
62
62
->addArgument (
63
63
'config-name ' ,
64
- InputArgument::REQUIRED ,
64
+ InputArgument::OPTIONAL ,
65
65
$ this ->trans ('commands.config.export.single.arguments.config-name ' )
66
66
)
67
+ ->addOption (
68
+ 'config-names ' ,
69
+ null ,
70
+ InputOption::VALUE_OPTIONAL | InputOption::VALUE_IS_ARRAY ,
71
+ $ this ->trans ('commands.config.export.single.arguments.config-names ' )
72
+ )
67
73
->addOption (
68
74
'directory ' ,
69
75
'' ,
@@ -229,28 +235,32 @@ protected function execute(InputInterface $input, OutputInterface $output)
229
235
230
236
$ directory = $ input ->getOption ('directory ' );
231
237
$ module = $ input ->getOption ('module ' );
232
- $ configName = $ input ->getArgument ('config-name ' );
238
+ $ configNames = $ input ->getOption ('config-names ' );
239
+ $ configNameArg = $ input ->getArgument ('config-name ' );
233
240
$ optionalConfig = $ input ->getOption ('optional-config ' );
234
241
$ removeUuid = $ input ->getOption ('remove-uuid ' );
235
242
$ removeHash = $ input ->getOption ('remove-config-hash ' );
236
243
237
- $ config = $ this ->getConfiguration ($ configName , $ removeUuid , $ removeHash );
238
-
239
- if ($ config ) {
240
- if (!$ directory ) {
241
- $ directory = config_get_config_directory (CONFIG_SYNC_DIRECTORY );
242
- }
243
-
244
- $ this ->configExport [$ configName ] = array ('data ' => $ config , 'optional ' => $ optionalConfig );
244
+ if (empty ($ configNames ) && isset ($ configNameArg )) {
245
+ $ configNames = array ($ configNameArg );
246
+ }
245
247
246
- if ($ input ->getOption ('include-dependencies ' )) {
247
- // Include config dependencies in export files
248
- if ($ dependencies = $ this ->fetchDependencies ($ config , 'config ' )) {
249
- $ this ->resolveDependencies ($ dependencies , $ optionalConfig );
248
+ foreach ($ configNames as $ configName ) {
249
+ $ config = $ this ->getConfiguration ($ configName , $ removeUuid , $ removeHash );
250
+ $ config = $ this ->getConfiguration ($ configName , false );
251
+
252
+ if ($ config ) {
253
+ $ this ->configExport [$ configName ] = array ('data ' => $ config , 'optional ' => $ optionalConfig );
254
+
255
+ if ($ input ->getOption ('include-dependencies ' )) {
256
+ // Include config dependencies in export files
257
+ if ($ dependencies = $ this ->fetchDependencies ($ config , 'config ' )) {
258
+ $ this ->resolveDependencies ($ dependencies , $ optionalConfig );
259
+ }
250
260
}
261
+ } else {
262
+ $ io ->error ($ this ->trans ('commands.config.export.single.messages.config-not-found ' ));
251
263
}
252
- } else {
253
- $ io ->error ($ this ->trans ('commands.config.export.single.messages.config-not-found ' ));
254
264
}
255
265
256
266
if (!$ module ) {
0 commit comments