You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by pa...@apache.org on 2019/08/21 20:15:16 UTC

[sling-slingfeature-maven-plugin] branch issues/SLING-8647 created (now e27b9af)

This is an automated email from the ASF dual-hosted git repository.

pauls pushed a change to branch issues/SLING-8647
in repository https://gitbox.apache.org/repos/asf/sling-slingfeature-maven-plugin.git.


      at e27b9af  SLING-8647: Provide policies for configuration merging

This branch includes the following new commits:

     new e27b9af  SLING-8647: Provide policies for configuration merging

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[sling-slingfeature-maven-plugin] 01/01: SLING-8647: Provide policies for configuration merging

Posted by pa...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

pauls pushed a commit to branch issues/SLING-8647
in repository https://gitbox.apache.org/repos/asf/sling-slingfeature-maven-plugin.git

commit e27b9af408c2f6ab377289d60def5dbc955c7640
Author: Karl Pauls <ka...@gmail.com>
AuthorDate: Wed Aug 21 22:15:01 2019 +0200

    SLING-8647: Provide policies for configuration merging
---
 pom.xml                                                      |  2 +-
 .../java/org/apache/sling/feature/maven/mojos/Aggregate.java | 12 ++++++++++--
 .../sling/feature/maven/mojos/AggregateFeaturesMojo.java     |  2 ++
 .../sling/feature/maven/mojos/AggregateFeaturesMojoTest.java |  1 +
 4 files changed, 14 insertions(+), 3 deletions(-)

diff --git a/pom.xml b/pom.xml
index 622f3da..45007a7 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.6</version>
+            <version>1.0.7-SNAPSHOT</version>
         </dependency>
         <dependency>
             <groupId>org.apache.sling</groupId>
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 dbdf75f..ac0bf92 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
@@ -16,14 +16,13 @@
  */
 package org.apache.sling.feature.maven.mojos;
 
+import java.util.Collections;
 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 {
 
     /**
@@ -65,6 +64,8 @@ public class Aggregate extends FeatureSelectionConfig {
 
     public List<String> artifactsOverrides;
 
+    public Map<String, String> configurationOverrides;
+
     public Map<String, String> variablesOverrides;
 
     public Map<String, String> frameworkPropertiesOverrides;
@@ -85,4 +86,11 @@ public class Aggregate extends FeatureSelectionConfig {
         }
         return artifactsOverrides.stream().map(r -> ArtifactId.parse(r)).collect(Collectors.toList());
     }
+
+    public Map<String, String> getConfigurationOverrideRules() {
+        if (configurationOverrides == null) {
+            return Collections.emptyMap();
+        }
+        return configurationOverrides;
+    }
 }
\ 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 bacc699..82c5d71 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
@@ -106,6 +106,8 @@ public class AggregateFeaturesMojo extends AbstractIncludingFeatureMojo {
                 builderContext.addArtifactsOverride(rule);
             }
 
+            builderContext.addConfigsOverrides(aggregate.getConfigurationOverrideRules());
+
             boolean wildcardSet = false;
             for (final Map.Entry<String, Properties> entry : handlerConfiguration.entrySet()) {
                 String key = entry.getKey();
diff --git a/src/test/java/org/apache/sling/feature/maven/mojos/AggregateFeaturesMojoTest.java b/src/test/java/org/apache/sling/feature/maven/mojos/AggregateFeaturesMojoTest.java
index 1c34127..16f7fdd 100644
--- a/src/test/java/org/apache/sling/feature/maven/mojos/AggregateFeaturesMojoTest.java
+++ b/src/test/java/org/apache/sling/feature/maven/mojos/AggregateFeaturesMojoTest.java
@@ -370,6 +370,7 @@ public class AggregateFeaturesMojoTest {
 
         AggregateFeaturesMojo af = new AggregateFeaturesMojo();
         fc1.classifier = "agg";
+        fc1.configurationOverrides = Collections.singletonMap("*", BuilderContext.CONFIG_MERGE_LATEST);
         af.aggregates = Arrays.asList(fc1);
         af.project = mockProj;
         af.projectHelper = new DefaultMavenProjectHelper();