This is an automated email from the ASF dual-hosted git repository.
simonetripodi pushed a commit to branch master
in repository
https://gitbox.apache.org/repos/asf/sling-org-apache-sling-feature-cpconverter.git
The following commit(s) were added to refs/heads/master by this push:
new 1b7a968 avoid any trouble when specifying an external ArtifactId
which can have different classifiers
1b7a968 is described below
commit 1b7a9683e8c86f2d9bcd71d0a2d6e450cf4d96e2
Author: stripodi <[email protected]>
AuthorDate: Fri Apr 12 01:17:32 2019 +0200
avoid any trouble when specifying an external ArtifactId which can have
different classifiers
---
.../ContentPackage2FeatureModelConverter.java | 21 ++++++++++++++-------
.../cpconverter/vltpkg/VaultPackageAssembler.java | 4 ++--
.../ContentPackage2FeatureModelConverterTest.java | 10 +++++-----
3 files changed, 21 insertions(+), 14 deletions(-)
diff --git
a/src/main/java/org/apache/sling/feature/cpconverter/ContentPackage2FeatureModelConverter.java
b/src/main/java/org/apache/sling/feature/cpconverter/ContentPackage2FeatureModelConverter.java
index 8c051e8..149c673 100644
---
a/src/main/java/org/apache/sling/feature/cpconverter/ContentPackage2FeatureModelConverter.java
+++
b/src/main/java/org/apache/sling/feature/cpconverter/ContentPackage2FeatureModelConverter.java
@@ -58,7 +58,7 @@ public class ContentPackage2FeatureModelConverter {
public static final String ZIP_TYPE = "zip";
- public static final String FEATURE_CLASSIFIER = "cp2fm-converted-feature";
+ public static final String PACKAGE_CLASSIFIER = "cp2fm-converted";
private static final String SLING_OSGI_FEATURE_TILE_TYPE =
"slingosgifeature";
@@ -159,11 +159,17 @@ public class ContentPackage2FeatureModelConverter {
}
ArtifactId id = getTargetFeature().getId();
+ final String classifier;
+ if (id.getClassifier() != null && !id.getClassifier().isEmpty()) {
+ classifier = id.getClassifier() + '-' + runMode;
+ } else {
+ classifier = runMode;
+ }
return runModes.computeIfAbsent(runMode, k -> new Feature(new
ArtifactId(id.getGroupId(),
id.getArtifactId(),
id.getVersion(),
-
id.getClassifier() + '-' + runMode,
+
classifier,
id.getType())));
}
@@ -237,7 +243,7 @@ public class ContentPackage2FeatureModelConverter {
artifactId = new ArtifactId(group,
name,
version,
- FEATURE_CLASSIFIER,
+ null,
SLING_OSGI_FEATURE_TILE_TYPE);
}
@@ -259,7 +265,7 @@ public class ContentPackage2FeatureModelConverter {
targetFeature.getId().getGroupId(),
targetFeature.getId().getArtifactId(),
targetFeature.getId().getVersion(),
- FEATURE_CLASSIFIER,
+ PACKAGE_CLASSIFIER,
ZIP_TYPE);
artifactDeployer.deploy(new
MavenPomSupplierWriter(targetFeature.getId().getGroupId(),
@@ -276,7 +282,7 @@ public class ContentPackage2FeatureModelConverter {
targetFeature.getId().getGroupId(),
targetFeature.getId().getArtifactId(),
targetFeature.getId().getVersion(),
- FEATURE_CLASSIFIER,
+ PACKAGE_CLASSIFIER,
ZIP_TYPE);
// finally serialize the Feature Model(s) file(s)
@@ -331,8 +337,9 @@ public class ContentPackage2FeatureModelConverter {
private void seralize(Feature feature) throws Exception {
StringBuilder fileName = new
StringBuilder().append(feature.getId().getArtifactId());
- if (!FEATURE_CLASSIFIER.equals(feature.getId().getClassifier())) {
-
fileName.append(feature.getId().getClassifier().substring(FEATURE_CLASSIFIER.length()));
+ String classifier = feature.getId().getClassifier();
+ if (classifier != null && !classifier.isEmpty()) {
+ fileName.append('-').append(classifier);
}
fileName.append(JSON_FILE_EXTENSION);
diff --git
a/src/main/java/org/apache/sling/feature/cpconverter/vltpkg/VaultPackageAssembler.java
b/src/main/java/org/apache/sling/feature/cpconverter/vltpkg/VaultPackageAssembler.java
index c68f788..08d4e81 100644
---
a/src/main/java/org/apache/sling/feature/cpconverter/vltpkg/VaultPackageAssembler.java
+++
b/src/main/java/org/apache/sling/feature/cpconverter/vltpkg/VaultPackageAssembler.java
@@ -16,7 +16,7 @@
*/
package org.apache.sling.feature.cpconverter.vltpkg;
-import static
org.apache.sling.feature.cpconverter.ContentPackage2FeatureModelConverter.FEATURE_CLASSIFIER;
+import static
org.apache.sling.feature.cpconverter.ContentPackage2FeatureModelConverter.PACKAGE_CLASSIFIER;
import java.io.File;
import java.io.FileInputStream;
@@ -67,7 +67,7 @@ public final class VaultPackageAssembler implements
EntryHandler {
properties.setProperty(PackageProperties.NAME_VERSION,
packageProperties.getProperty(PackageProperties.NAME_VERSION)
+ '-'
- +
FEATURE_CLASSIFIER);
+ +
PACKAGE_CLASSIFIER);
for (String key : new String[] {
PackageProperties.NAME_GROUP,
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 6db646b..7fb3b15 100644
---
a/src/test/java/org/apache/sling/feature/cpconverter/ContentPackage2FeatureModelConverterTest.java
+++
b/src/test/java/org/apache/sling/feature/cpconverter/ContentPackage2FeatureModelConverterTest.java
@@ -128,24 +128,24 @@ public class ContentPackage2FeatureModelConverterTest {
verifyFeatureFile(outputDirectory,
"asd.retail.all.json",
-
"asd.sample:asd.retail.all:slingosgifeature:cp2fm-converted-feature:0.0.1",
+ "asd.sample:asd.retail.all:slingosgifeature:0.0.1",
Arrays.asList("org.apache.felix:org.apache.felix.framework:6.0.1"),
Arrays.asList("org.apache.sling.commons.log.LogManager.factory.config-asd-retail"),
-
Arrays.asList("asd.sample:asd.retail.all:zip:cp2fm-converted-feature:0.0.1"));
+
Arrays.asList("asd.sample:asd.retail.all:zip:cp2fm-converted:0.0.1"));
verifyFeatureFile(outputDirectory,
"asd.retail.all-author.json",
-
"asd.sample:asd.retail.all:slingosgifeature:cp2fm-converted-feature-author:0.0.1",
+
"asd.sample:asd.retail.all:slingosgifeature:author:0.0.1",
Arrays.asList("org.apache.sling:org.apache.sling.api:2.20.0"),
Collections.emptyList(),
Collections.emptyList());
verifyFeatureFile(outputDirectory,
"asd.retail.all-publish.json",
-
"asd.sample:asd.retail.all:slingosgifeature:cp2fm-converted-feature-publish:0.0.1",
+
"asd.sample:asd.retail.all:slingosgifeature:publish:0.0.1",
Arrays.asList("org.apache.sling:org.apache.sling.models.api:1.3.8"),
Arrays.asList("org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended-asd-retail"),
Collections.emptyList());
- ZipFile zipFile = new ZipFile(new File(outputDirectory,
"asd/sample/asd.retail.all/0.0.1/asd.retail.all-0.0.1-cp2fm-converted-feature.zip"));
+ ZipFile zipFile = new ZipFile(new File(outputDirectory,
"asd/sample/asd.retail.all/0.0.1/asd.retail.all-0.0.1-cp2fm-converted.zip"));
for (String expectedEntry : new String[] {
"jcr_root/content/asd/.content.xml",
"jcr_root/content/asd/resources.xml",