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/09/13 08:26:50 UTC
[sling-org-apache-sling-feature-cpconverter] branch master updated:
SLING-8608 - Fail the conversion if the resulting attached content-package
is MIXED type
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 2989182 SLING-8608 - Fail the conversion if the resulting attached content-package is MIXED type
2989182 is described below
commit 2989182a59eef68a96342ef6f00191be9e829f5c
Author: Simo Tripodi <st...@adobe.com>
AuthorDate: Fri Sep 13 10:24:40 2019 +0200
SLING-8608 - Fail the conversion if the resulting attached
content-package is MIXED type
---
README.md | 3 +++
.../ContentPackage2FeatureModelConverter.java | 17 +++++++++++++++++
.../ContentPackage2FeatureModelConverterLauncher.java | 6 +++++-
3 files changed, 25 insertions(+), 1 deletion(-)
diff --git a/README.md b/README.md
index 2bc9007..fac1708 100644
--- a/README.md
+++ b/README.md
@@ -474,6 +474,9 @@ Apache Sling Content Package to Sling Feature converter
validated.
-v, --version Display version information.
-X, --verbose Produce execution debug output.
+ -Z, --fail-on-mixed-packages
+ Fail the conversion if the resulting attached
+ content-package is MIXED type
Copyright(c) 2019 The Apache Software Foundation.
```
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 09abfcd..df52819 100644
--- a/src/main/java/org/apache/sling/feature/cpconverter/ContentPackage2FeatureModelConverter.java
+++ b/src/main/java/org/apache/sling/feature/cpconverter/ContentPackage2FeatureModelConverter.java
@@ -84,6 +84,8 @@ public class ContentPackage2FeatureModelConverter extends BaseVaultPackageScanne
private PackagesEventsEmitter emitter;
+ private boolean failOnMixedPackages = false;
+
private boolean dropContent = false;
public ContentPackage2FeatureModelConverter() {
@@ -146,6 +148,11 @@ public class ContentPackage2FeatureModelConverter extends BaseVaultPackageScanne
return this;
}
+ public ContentPackage2FeatureModelConverter setFailOnMixedPackages(boolean failOnMixedPackages) {
+ this.failOnMixedPackages = failOnMixedPackages;
+ return this;
+ }
+
public void convert(File...contentPackages) throws Exception {
requireNonNull(contentPackages , "Null content-package(s) can not be converted.");
secondPass(firstPass(contentPackages));
@@ -302,6 +309,16 @@ public class ContentPackage2FeatureModelConverter extends BaseVaultPackageScanne
PackageId originalPackageId) throws Exception {
try (VaultPackage vaultPackage = open(contentPackageArchive)) {
PackageType packageType = detectPackageType(vaultPackage);
+
+ // SLING-8608 - Fail the conversion if the resulting attached content-package is MIXED type
+ if (PackageType.MIXED == packageType && failOnMixedPackages) {
+ throw new Exception("Generated content-package '"
+ + originalPackageId
+ + "' located in file "
+ + contentPackageArchive
+ + " is of MIXED type");
+ }
+
// don't deploy & add content-packages of type content to featuremodel if dropContent is set
if (PackageType.CONTENT != packageType || !dropContent) {
// deploy the new content-package to the local mvn bundles dir and attach it to the feature
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 faf0403..1626520 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
@@ -89,6 +89,9 @@ public final class ContentPackage2FeatureModelConverterLauncher implements Runna
@Parameters(arity = "1..*", paramLabel = "content-packages", description = "The content-package input file(s).")
private File[] contentPackages;
+ @Option(names = { "-Z", "--fail-on-mixed-packages" }, description = "Fail the conversion if the resulting attached content-package is MIXED type", required = false)
+ private boolean failOnMixedPackages = false;
+
@Override
public void run() {
if (quiet) {
@@ -131,7 +134,8 @@ public final class ContentPackage2FeatureModelConverterLauncher implements Runna
.setBundlesDeployer(new DefaultArtifactsDeployer(artifactsOutputDirectory))
.setEntryHandlersManager(new DefaultEntryHandlersManager())
.setAclManager(new DefaultAclManager())
- .setEmitter(DefaultPackagesEventsEmitter.open(featureModelsOutputDirectory));
+ .setEmitter(DefaultPackagesEventsEmitter.open(featureModelsOutputDirectory))
+ .setFailOnMixedPackages(failOnMixedPackages);
if (filteringPatterns != null && filteringPatterns.length > 0) {
RegexBasedResourceFilter filter = new RegexBasedResourceFilter();