ExplodeBundleTask extends DefaultTask { @TaskAction public void perform() throws DocumentParseException { ExplodeBundle explodeBundle = InjectionRegistry.getInstance(ExplodeBundle.class); checkExportEntities(); explodeBundle.explodeBundle(folderPath.getOrElse("/"), toFilterConfiguration(exportEntities.getOrElse(Collections.emptyMap())), inputBundleFile.getAsFile().get(), exportDir.getAsFile().get()); } @Inject  ExplodeBundleTask(); @Input @Optional Property<String> getFolderPath(); @InputFile RegularFileProperty getInputBundleFile(); @OutputDirectory DirectoryProperty getExportDir(); @Option(option = "outputType", description = "The output type of the configuration files. Either 'yaml' or 'json'.") void setOutputType(String format); @Input @Optional Property<Map> getExportEntities(); @TaskAction void perform();  }
@Test @ExtendWith(TemporaryFolderExtension.class) void performDefaultYamlExport(TemporaryFolder temporaryFolder) throws Exception { File exportDir = setUpExportDir(temporaryFolder); explodeBundleTask.perform(); validateFilesOutputTypeFromDir(exportDir, YML_EXTENSION); }