You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by cz...@apache.org on 2019/06/18 06:39:24 UTC
[sling-slingfeature-maven-plugin] branch master updated: SLING-8520
: Improve artifact/bundle merging
This is an automated email from the ASF dual-hosted git repository.
cziegeler pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-slingfeature-maven-plugin.git
The following commit(s) were added to refs/heads/master by this push:
new 5083be0 SLING-8520 : Improve artifact/bundle merging
5083be0 is described below
commit 5083be0028847c9d78ecd3963d76534654cfc40b
Author: Carsten Ziegeler <cz...@apache.org>
AuthorDate: Tue Jun 18 08:39:16 2019 +0200
SLING-8520 : Improve artifact/bundle merging
---
pom.xml | 2 +-
.../apache/sling/feature/maven/Preprocessor.java | 1 -
.../maven/mojos/AbstractRepositoryMojo.java | 1 -
.../sling/feature/maven/mojos/Aggregate.java | 12 ++++++++
.../feature/maven/mojos/AggregateFeaturesMojo.java | 35 ++++++++++------------
.../sling/feature/maven/mojos/ApisJarMojo.java | 1 -
6 files changed, 29 insertions(+), 23 deletions(-)
diff --git a/pom.xml b/pom.xml
index d923ef5..df337df 100644
--- a/pom.xml
+++ b/pom.xml
@@ -159,7 +159,7 @@
<dependency>
<groupId>org.apache.sling</groupId>
<artifactId>org.apache.sling.feature</artifactId>
- <version>1.0.4</version>
+ <version>1.0.5-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.sling</groupId>
diff --git a/src/main/java/org/apache/sling/feature/maven/Preprocessor.java b/src/main/java/org/apache/sling/feature/maven/Preprocessor.java
index 9562877..80666cc 100644
--- a/src/main/java/org/apache/sling/feature/maven/Preprocessor.java
+++ b/src/main/java/org/apache/sling/feature/maven/Preprocessor.java
@@ -23,7 +23,6 @@ import java.io.Reader;
import java.io.StringReader;
import java.io.StringWriter;
import java.io.Writer;
-import java.net.MalformedURLException;
import java.util.ArrayList;
import java.util.Formatter;
import java.util.HashMap;
diff --git a/src/main/java/org/apache/sling/feature/maven/mojos/AbstractRepositoryMojo.java b/src/main/java/org/apache/sling/feature/maven/mojos/AbstractRepositoryMojo.java
index ecc8a80..988fddf 100644
--- a/src/main/java/org/apache/sling/feature/maven/mojos/AbstractRepositoryMojo.java
+++ b/src/main/java/org/apache/sling/feature/maven/mojos/AbstractRepositoryMojo.java
@@ -28,7 +28,6 @@ import org.apache.maven.artifact.Artifact;
import org.apache.maven.model.Dependency;
import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.plugin.MojoFailureException;
-import org.apache.maven.plugins.annotations.Component;
import org.apache.maven.plugins.annotations.Parameter;
import org.apache.sling.feature.ArtifactId;
import org.apache.sling.feature.Extension;
diff --git a/src/main/java/org/apache/sling/feature/maven/mojos/Aggregate.java b/src/main/java/org/apache/sling/feature/maven/mojos/Aggregate.java
index e012d24..91c0d47 100644
--- a/src/main/java/org/apache/sling/feature/maven/mojos/Aggregate.java
+++ b/src/main/java/org/apache/sling/feature/maven/mojos/Aggregate.java
@@ -18,6 +18,11 @@ package org.apache.sling.feature.maven.mojos;
import java.util.List;
import java.util.Map;
+import java.util.stream.Collectors;
+
+import org.apache.sling.feature.ArtifactId;
+
+import edu.emory.mathcs.backport.java.util.Collections;
public class Aggregate extends FeatureSelectionConfig {
@@ -66,4 +71,11 @@ public class Aggregate extends FeatureSelectionConfig {
+ ", description=" + description + ", vendor=" + vendor + ", artifactsOverrides=" + artifactsOverrides
+ ", variablesOverrides=" + variablesOverrides + ", frameworkPropertiesOverrides=" + frameworkPropertiesOverrides + "]";
}
+
+ public List<ArtifactId> getArtifactOverrideRules() {
+ if (artifactsOverrides == null) {
+ return Collections.emptyList();
+ }
+ return artifactsOverrides.stream().map(r -> ArtifactId.parse(r)).collect(Collectors.toList());
+ }
}
\ No newline at end of file
diff --git a/src/main/java/org/apache/sling/feature/maven/mojos/AggregateFeaturesMojo.java b/src/main/java/org/apache/sling/feature/maven/mojos/AggregateFeaturesMojo.java
index 6ba448b..f112e8a 100644
--- a/src/main/java/org/apache/sling/feature/maven/mojos/AggregateFeaturesMojo.java
+++ b/src/main/java/org/apache/sling/feature/maven/mojos/AggregateFeaturesMojo.java
@@ -16,6 +16,18 @@
*/
package org.apache.sling.feature.maven.mojos;
+import java.io.File;
+import java.net.URL;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Properties;
+import java.util.ServiceLoader;
+import java.util.Spliterator;
+import java.util.Spliterators;
+import java.util.stream.StreamSupport;
+
import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.plugin.MojoFailureException;
import org.apache.maven.plugins.annotations.LifecyclePhase;
@@ -33,20 +45,6 @@ import org.apache.sling.feature.builder.PostProcessHandler;
import org.apache.sling.feature.maven.FeatureConstants;
import org.apache.sling.feature.maven.ProjectHelper;
-import java.io.File;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-import java.util.ServiceLoader;
-import java.util.Spliterator;
-import java.util.Spliterators;
-import java.util.stream.StreamSupport;
-
/**
* Aggregate multiple features into a single one.
*/
@@ -81,9 +79,6 @@ public class AggregateFeaturesMojo extends AbstractIncludingFeatureMojo {
"No features found for aggregate with classifier " + aggregate.classifier);
}
- final List<String> artifactsOverrides = new ArrayList<>();
- if (aggregate.artifactsOverrides != null)
- artifactsOverrides.addAll(aggregate.artifactsOverrides);
final Map<String,String> variablesOverwrites = new HashMap<>();
if (aggregate.variablesOverrides != null)
variablesOverwrites.putAll(aggregate.variablesOverrides);
@@ -142,8 +137,7 @@ public class AggregateFeaturesMojo extends AbstractIncludingFeatureMojo {
return null;
}
}
- }).addArtifactsOverrides(artifactsOverrides)
- .addVariablesOverrides(variablesOverwrites)
+ }).addVariablesOverrides(variablesOverwrites)
.addFrameworkPropertiesOverrides(frameworkPropertiesOverwrites)
.addMergeExtensions(StreamSupport.stream(Spliterators.spliteratorUnknownSize(
ServiceLoader.load(MergeHandler.class).iterator(), Spliterator.ORDERED),
@@ -151,6 +145,9 @@ public class AggregateFeaturesMojo extends AbstractIncludingFeatureMojo {
.addPostProcessExtensions(StreamSupport.stream(Spliterators.spliteratorUnknownSize(
ServiceLoader.load(PostProcessHandler.class).iterator(), Spliterator.ORDERED),
false).toArray(PostProcessHandler[]::new));
+ for (final ArtifactId rule : aggregate.getArtifactOverrideRules()) {
+ builderContext.addArtifactsOverride(rule);
+ }
boolean wildcardSet = false;
for (final Map.Entry<String, Properties> entry : handlerConfiguration.entrySet()) {
diff --git a/src/main/java/org/apache/sling/feature/maven/mojos/ApisJarMojo.java b/src/main/java/org/apache/sling/feature/maven/mojos/ApisJarMojo.java
index d4785e7..1d382bc 100644
--- a/src/main/java/org/apache/sling/feature/maven/mojos/ApisJarMojo.java
+++ b/src/main/java/org/apache/sling/feature/maven/mojos/ApisJarMojo.java
@@ -19,7 +19,6 @@ package org.apache.sling.feature.maven.mojos;
import java.io.File;
import java.io.IOException;
import java.io.StringReader;
-import java.net.MalformedURLException;
import java.net.URL;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;