You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by si...@apache.org on 2019/04/24 13:52:02 UTC
[sling-org-apache-sling-feature-cpconverter] 10/15: avoid any
trouble when specifying an external ArtifactId which can have different
classifiers
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
commit 1b7a9683e8c86f2d9bcd71d0a2d6e450cf4d96e2
Author: stripodi <st...@192.168.1.111>
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",