Merge pull request #12 from apache/output-file-name-prefix
Added an optional prefix to the conversion output file name to separa…
diff --git a/src/main/java/org/apache/sling/feature/cpconverter/cli/ContentPackage2FeatureModelConverterLauncher.java b/src/main/java/org/apache/sling/feature/cpconverter/cli/ContentPackage2FeatureModelConverterLauncher.java
index 390bf57..faf0403 100644
--- a/src/main/java/org/apache/sling/feature/cpconverter/cli/ContentPackage2FeatureModelConverterLauncher.java
+++ b/src/main/java/org/apache/sling/feature/cpconverter/cli/ContentPackage2FeatureModelConverterLauncher.java
@@ -77,6 +77,9 @@
@Option(names = { "-i", "--artifact-id" }, description = "The optional Artifact Id the Feature File will have, once generated; it will be derived, if not specified.", required = false)
private String artifactIdOverride;
+ @Option(names = { "-p", "--fm-prefix" }, description = "The optional prefix of the output file", required = false)
+ private String fmPrefix;
+
@Option(names = { "-r", "--api-region" }, description = "The API Regions assigned to the generated features", required = false)
private List<String> apiRegions;
@@ -118,6 +121,7 @@
bundlesStartOrder,
featureModelsOutputDirectory,
artifactIdOverride,
+ fmPrefix,
properties);
if (apiRegions != null)
featuresManager.setAPIRegions(apiRegions);
diff --git a/src/main/java/org/apache/sling/feature/cpconverter/features/DefaultFeaturesManager.java b/src/main/java/org/apache/sling/feature/cpconverter/features/DefaultFeaturesManager.java
index f45312f..1f13de6 100644
--- a/src/main/java/org/apache/sling/feature/cpconverter/features/DefaultFeaturesManager.java
+++ b/src/main/java/org/apache/sling/feature/cpconverter/features/DefaultFeaturesManager.java
@@ -68,6 +68,8 @@
private final String artifactIdOverride;
+ private final String prefix;
+
private final Map<String, String> properties;
private final List<String> targetAPIRegions = new ArrayList<>();
@@ -75,18 +77,20 @@
private Feature targetFeature = null;
public DefaultFeaturesManager() {
- this(true, 20, new File(System.getProperty(JAVA_IO_TMPDIR_PROPERTY)), null, null);
+ this(true, 20, new File(System.getProperty(JAVA_IO_TMPDIR_PROPERTY)), null, null, null);
}
public DefaultFeaturesManager(boolean mergeConfigurations,
int bundlesStartOrder,
File featureModelsOutputDirectory,
String artifactIdOverride,
+ String prefix,
Map<String, String> properties) {
this.mergeConfigurations = mergeConfigurations;
this.bundlesStartOrder = bundlesStartOrder;
this.featureModelsOutputDirectory = featureModelsOutputDirectory;
this.artifactIdOverride = artifactIdOverride;
+ this.prefix = prefix;
this.properties = properties;
}
@@ -226,7 +230,9 @@
}
private void seralize(Feature feature, String runMode, RunmodeMapper runmodeMapper) throws Exception {
- StringBuilder fileNameBuilder = new StringBuilder().append(feature.getId().getArtifactId());
+ StringBuilder fileNameBuilder = new StringBuilder()
+ .append((prefix != null) ? prefix : "")
+ .append(feature.getId().getArtifactId());
String classifier = feature.getId().getClassifier();
if (classifier != null && !classifier.isEmpty()) {
diff --git a/src/test/java/org/apache/sling/feature/cpconverter/ContentPackage2FeatureModelConverterTest.java b/src/test/java/org/apache/sling/feature/cpconverter/ContentPackage2FeatureModelConverterTest.java
index 6203af9..6eeb8ae 100644
--- a/src/test/java/org/apache/sling/feature/cpconverter/ContentPackage2FeatureModelConverterTest.java
+++ b/src/test/java/org/apache/sling/feature/cpconverter/ContentPackage2FeatureModelConverterTest.java
@@ -127,7 +127,7 @@
File outputDirectory = new File(System.getProperty("java.io.tmpdir"), getClass().getName() + '_' + System.currentTimeMillis());
- converter.setFeaturesManager(new DefaultFeaturesManager(true, 5, outputDirectory, null, null))
+ converter.setFeaturesManager(new DefaultFeaturesManager(true, 5, outputDirectory, null, null, null))
.setBundlesDeployer(new DefaultArtifactsDeployer(outputDirectory))
.setEmitter(DefaultPackagesEventsEmitter.open(outputDirectory))
.convert(packageFile);
@@ -214,7 +214,7 @@
File outputDirectory = new File(System.getProperty("java.io.tmpdir"), getClass().getName() + '_' + System.currentTimeMillis());
- converter.setFeaturesManager(new DefaultFeaturesManager(true, 5, outputDirectory, null, null))
+ converter.setFeaturesManager(new DefaultFeaturesManager(true, 5, outputDirectory, null, null, null))
.setBundlesDeployer(new DefaultArtifactsDeployer(outputDirectory))
.setEmitter(DefaultPackagesEventsEmitter.open(outputDirectory))
.setDropContent(true)
@@ -284,7 +284,7 @@
File outDir = Files.createTempDirectory(getClass().getSimpleName()).toFile();
try {
- DefaultFeaturesManager fm = new DefaultFeaturesManager(true, 5, outDir, null, null);
+ DefaultFeaturesManager fm = new DefaultFeaturesManager(true, 5, outDir, null, null, null);
fm.setAPIRegions(Arrays.asList("global", "foo.bar"));
converter.setFeaturesManager(fm)
.setBundlesDeployer(new DefaultArtifactsDeployer(outDir))
@@ -407,7 +407,7 @@
File outputDirectory = new File(System.getProperty("java.io.tmpdir"), getClass().getName() + '_' + System.currentTimeMillis());
- converter.setFeaturesManager(new DefaultFeaturesManager(true, 5, outputDirectory, null, null))
+ converter.setFeaturesManager(new DefaultFeaturesManager(true, 5, outputDirectory, null, null, null))
.setBundlesDeployer(new DefaultArtifactsDeployer(outputDirectory))
.setEmitter(DefaultPackagesEventsEmitter.open(outputDirectory))
.convert(packageFile);
@@ -429,7 +429,7 @@
File packageFile = FileUtils.toFile(packageUrl);
converter.setBundlesDeployer(new DefaultArtifactsDeployer(outputDirectory))
- .setFeaturesManager(new DefaultFeaturesManager(false, 5, outputDirectory, null, null))
+ .setFeaturesManager(new DefaultFeaturesManager(false, 5, outputDirectory, null, null, null))
.setEmitter(DefaultPackagesEventsEmitter.open(outputDirectory))
.convert(packageFile);
@@ -446,7 +446,7 @@
File outputDirectory = new File(System.getProperty("java.io.tmpdir"), getClass().getName() + '_' + System.currentTimeMillis());
String overrideId = "${project.groupId}:${project.artifactId}:slingosgifeature:asd.test.all-1.0.0:${project.version}";
- converter.setFeaturesManager(new DefaultFeaturesManager(true, 5, outputDirectory, overrideId, null))
+ converter.setFeaturesManager(new DefaultFeaturesManager(true, 5, outputDirectory, overrideId, null, null))
.setBundlesDeployer(new DefaultArtifactsDeployer(outputDirectory))
.setEmitter(DefaultPackagesEventsEmitter.open(outputDirectory))
.convert(packageFile);
@@ -514,7 +514,7 @@
File outputDirectory = new File(System.getProperty("java.io.tmpdir"), getClass().getName() + '_' + System.currentTimeMillis());
- converter.setFeaturesManager(new DefaultFeaturesManager(true, 5, outputDirectory, null, null))
+ converter.setFeaturesManager(new DefaultFeaturesManager(true, 5, outputDirectory, null, null, null))
.setBundlesDeployer(new DefaultArtifactsDeployer(outputDirectory))
.setEmitter(DefaultPackagesEventsEmitter.open(outputDirectory))
.convert(contentPackages[0]);