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 2ab1e13  SLING-7961 : Adjust feature file reading to latest state
2ab1e13 is described below

commit 2ab1e13c58ecccfbafc811e542b20ef55bea18c7
Author: Carsten Ziegeler <[email protected]>
AuthorDate: Sun Sep 30 14:34:42 2018 +0200

    SLING-7961 : Adjust feature file reading to latest state
---
 ...ateFeatures.java => AggregateFeaturesMojo.java} | 32 +++++++++++++++-------
 ...AttachFeatures.java => AttachFeaturesMojo.java} |  2 +-
 ...resTest.java => AggregateFeaturesMojoTest.java} | 16 +++++------
 ...eatureTest.java => AttachFeaturesMojoTest.java} |  4 +--
 .../feature/maven/mojos/plugins/TestPlugin1.java   |  4 +--
 .../feature/maven/mojos/plugins/TestPlugin2.java   |  4 +--
 6 files changed, 37 insertions(+), 25 deletions(-)

diff --git 
a/src/main/java/org/apache/sling/feature/maven/mojos/AggregateFeatures.java 
b/src/main/java/org/apache/sling/feature/maven/mojos/AggregateFeaturesMojo.java
similarity index 92%
rename from 
src/main/java/org/apache/sling/feature/maven/mojos/AggregateFeatures.java
rename to 
src/main/java/org/apache/sling/feature/maven/mojos/AggregateFeaturesMojo.java
index 7709697..8409039 100644
--- a/src/main/java/org/apache/sling/feature/maven/mojos/AggregateFeatures.java
+++ 
b/src/main/java/org/apache/sling/feature/maven/mojos/AggregateFeaturesMojo.java
@@ -65,7 +65,7 @@ import org.codehaus.plexus.util.AbstractScanner;
     requiresDependencyResolution = ResolutionScope.TEST,
     threadSafe = true
 )
-public class AggregateFeatures extends AbstractFeatureMojo {
+public class AggregateFeaturesMojo extends AbstractFeatureMojo {
 
     private static final String PREFIX = ":aggregate:";
 
@@ -223,16 +223,28 @@ public class AggregateFeatures extends 
AbstractFeatureMojo {
             Map<ArtifactId, Feature> featureMap,
             Map<String, Feature> contextFeatures) throws IOException {
         final String prefix = 
this.features.getAbsolutePath().concat(File.separator);
-        final FeatureScanner scanner = new FeatureScanner(contextFeatures, 
prefix);
-        if ( !fc.includes.isEmpty() ) {
-            scanner.setIncludes(fc.includes.toArray(new 
String[fc.includes.size()]));
-        }
-        if ( !fc.excludes.isEmpty() ) {
-            scanner.setExcludes(fc.excludes.toArray(new 
String[fc.excludes.size()]));
-        }
-        scanner.scan();
+        if ( fc.includes.isEmpty() ) {
+            final FeatureScanner scanner = new FeatureScanner(contextFeatures, 
prefix);
+            if ( !fc.excludes.isEmpty() ) {
+                scanner.setExcludes(fc.excludes.toArray(new 
String[fc.excludes.size()]));
+            }
+            scanner.scan();
+            featureMap.putAll(scanner.getIncluded());
+        } else {
+            for(final String include : fc.includes) {
+                final FeatureScanner scanner = new 
FeatureScanner(contextFeatures, prefix);
+                if ( !fc.excludes.isEmpty() ) {
+                    scanner.setExcludes(fc.excludes.toArray(new 
String[fc.excludes.size()]));
+                }
+                scanner.setIncludes(new String[] {include});
+                scanner.scan();
 
-        featureMap.putAll(scanner.getIncluded());
+                if ( !include.contains("*") && scanner.getIncluded().isEmpty() 
) {
+                    throw new IOException("Non pattern include " + include + " 
not found.");
+                }
+                featureMap.putAll(scanner.getIncluded());
+            }
+        }
     }
 
     private Feature readFeatureFromFile(File f) throws IOException {
diff --git 
a/src/main/java/org/apache/sling/feature/maven/mojos/AttachFeatures.java 
b/src/main/java/org/apache/sling/feature/maven/mojos/AttachFeaturesMojo.java
similarity index 98%
rename from 
src/main/java/org/apache/sling/feature/maven/mojos/AttachFeatures.java
rename to 
src/main/java/org/apache/sling/feature/maven/mojos/AttachFeaturesMojo.java
index 0981130..8d15cf5 100644
--- a/src/main/java/org/apache/sling/feature/maven/mojos/AttachFeatures.java
+++ b/src/main/java/org/apache/sling/feature/maven/mojos/AttachFeaturesMojo.java
@@ -40,7 +40,7 @@ import org.apache.sling.feature.maven.ProjectHelper;
       requiresDependencyResolution = ResolutionScope.TEST,
       threadSafe = true
     )
-public class AttachFeatures extends AbstractFeatureMojo {
+public class AttachFeaturesMojo extends AbstractFeatureMojo {
 
     private void attach(final Feature feature,
             final String classifier)
diff --git 
a/src/test/java/org/apache/sling/feature/maven/mojos/AggregateFeaturesTest.java 
b/src/test/java/org/apache/sling/feature/maven/mojos/AggregateFeaturesMojoTest.java
similarity index 98%
rename from 
src/test/java/org/apache/sling/feature/maven/mojos/AggregateFeaturesTest.java
rename to 
src/test/java/org/apache/sling/feature/maven/mojos/AggregateFeaturesMojoTest.java
index 0b10d2e..d7e9eee 100644
--- 
a/src/test/java/org/apache/sling/feature/maven/mojos/AggregateFeaturesTest.java
+++ 
b/src/test/java/org/apache/sling/feature/maven/mojos/AggregateFeaturesMojoTest.java
@@ -53,7 +53,7 @@ import org.apache.maven.repository.RepositorySystem;
 import org.apache.sling.feature.ArtifactId;
 import org.apache.sling.feature.Feature;
 import org.apache.sling.feature.io.json.FeatureJSONReader;
-import org.apache.sling.feature.maven.mojos.AggregateFeatures.FeatureConfig;
+import 
org.apache.sling.feature.maven.mojos.AggregateFeaturesMojo.FeatureConfig;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -61,7 +61,7 @@ import org.mockito.Mockito;
 import org.mockito.invocation.InvocationOnMock;
 import org.mockito.stubbing.Answer;
 
-public class AggregateFeaturesTest {
+public class AggregateFeaturesMojoTest {
     private Path tempDir;
     private static Map<String, ArtifactId> pluginCallbacks;
 
@@ -158,7 +158,7 @@ public class AggregateFeaturesTest {
         Mockito.when(mockProj.getContextValue(Feature.class.getName() + 
"/assembledmain.json-cache"))
             .thenReturn(featureMap);
 
-        AggregateFeatures af = new AggregateFeatures();
+        AggregateFeaturesMojo af = new AggregateFeaturesMojo();
         af.aggregateClassifier = "aggregated";
         af.aggregates = Collections.singletonList(fc);
         af.project = mockProj;
@@ -216,7 +216,7 @@ public class AggregateFeaturesTest {
         FeatureConfig fc = new FeatureConfig();
         fc.setIncludes("*.json");
         fc.setIncludes("*.foobar");
-        fc.setIncludes("test_z.feature");
+//        fc.setIncludes("test_z.feature");
         fc.setExcludes("*_v*");
         fc.setExcludes("test_w.json");
 
@@ -235,7 +235,7 @@ public class AggregateFeaturesTest {
         Mockito.when(mockProj.getContextValue(Feature.class.getName() + 
"/assembledmain.json-cache"))
             .thenReturn(featureMap);
 
-        AggregateFeatures af = new AggregateFeatures();
+        AggregateFeaturesMojo af = new AggregateFeaturesMojo();
         af.aggregateClassifier = "aggregated";
         af.aggregates = Collections.singletonList(fc);
         af.project = mockProj;
@@ -382,7 +382,7 @@ public class AggregateFeaturesTest {
         Mockito.when(mockProj.getArtifactId()).thenReturn("a");
         Mockito.when(mockProj.getVersion()).thenReturn("999");
 
-        AggregateFeatures af = new AggregateFeatures();
+        AggregateFeaturesMojo af = new AggregateFeaturesMojo();
         af.aggregateClassifier = "agg";
         af.aggregates = Arrays.asList(fc1, fc2, fc3);
         af.project = mockProj;
@@ -449,7 +449,7 @@ public class AggregateFeaturesTest {
         Mockito.when(mockProj.getContextValue(Feature.class.getName() + 
"/assembledmain.json-cache"))
             .thenReturn(featureMap);
 
-        AggregateFeatures af = new AggregateFeatures();
+        AggregateFeaturesMojo af = new AggregateFeaturesMojo();
         af.aggregateClassifier = "mynewfeature";
         af.aggregates = Collections.singletonList(fc);
         af.repoSystem = mockRepo;
@@ -533,7 +533,7 @@ public class AggregateFeaturesTest {
         Mockito.when(mockProj.getContextValue(Feature.class.getName() + 
"/assembledmain.json-cache"))
             .thenReturn(featureMap);
 
-        AggregateFeatures af = new AggregateFeatures();
+        AggregateFeaturesMojo af = new AggregateFeaturesMojo();
         af.aggregateClassifier = "aggregated";
         af.aggregates = Collections.singletonList(fc);
         af.project = mockProj;
diff --git 
a/src/test/java/org/apache/sling/feature/maven/mojos/AttachFeatureTest.java 
b/src/test/java/org/apache/sling/feature/maven/mojos/AttachFeaturesMojoTest.java
similarity index 96%
rename from 
src/test/java/org/apache/sling/feature/maven/mojos/AttachFeatureTest.java
rename to 
src/test/java/org/apache/sling/feature/maven/mojos/AttachFeaturesMojoTest.java
index 0b9e1d1..e8f6ea9 100644
--- a/src/test/java/org/apache/sling/feature/maven/mojos/AttachFeatureTest.java
+++ 
b/src/test/java/org/apache/sling/feature/maven/mojos/AttachFeaturesMojoTest.java
@@ -30,7 +30,7 @@ import org.apache.sling.feature.maven.FeatureConstants;
 import org.junit.Test;
 import org.mockito.Mockito;
 
-public class AttachFeatureTest {
+public class AttachFeaturesMojoTest {
     @Test
     public void testAttachArtifacts() throws Exception {
         File feat_a = new 
File(getClass().getResource("/attach-resources/features/processed/test_a.json").toURI());
@@ -55,7 +55,7 @@ public class AttachFeatureTest {
         project.setVersion("1.0.1");
         project.setBuild(build);
 
-        AttachFeatures af = new AttachFeatures();
+        AttachFeaturesMojo af = new AttachFeaturesMojo();
         af.project = project;
 
         MavenProjectHelper helper = Mockito.mock(MavenProjectHelper.class);
diff --git 
a/src/test/java/org/apache/sling/feature/maven/mojos/plugins/TestPlugin1.java 
b/src/test/java/org/apache/sling/feature/maven/mojos/plugins/TestPlugin1.java
index 57f8779..a7076db 100644
--- 
a/src/test/java/org/apache/sling/feature/maven/mojos/plugins/TestPlugin1.java
+++ 
b/src/test/java/org/apache/sling/feature/maven/mojos/plugins/TestPlugin1.java
@@ -19,7 +19,7 @@ package org.apache.sling.feature.maven.mojos.plugins;
 import org.apache.sling.feature.Extension;
 import org.apache.sling.feature.Feature;
 import org.apache.sling.feature.builder.FeatureExtensionHandler;
-import org.apache.sling.feature.maven.mojos.AggregateFeaturesTest;
+import org.apache.sling.feature.maven.mojos.AggregateFeaturesMojoTest;
 
 public class TestPlugin1 implements FeatureExtensionHandler {
     @Override
@@ -33,6 +33,6 @@ public class TestPlugin1 implements FeatureExtensionHandler {
 
     @Override
     public void postProcess(Feature feature, Extension extension) {
-        AggregateFeaturesTest.addPluginCallback("TestPlugin1 - " 
+extension.getName(), feature.getId());
+        AggregateFeaturesMojoTest.addPluginCallback("TestPlugin1 - " 
+extension.getName(), feature.getId());
     }
 }
diff --git 
a/src/test/java/org/apache/sling/feature/maven/mojos/plugins/TestPlugin2.java 
b/src/test/java/org/apache/sling/feature/maven/mojos/plugins/TestPlugin2.java
index ce55025..ebbde8a 100644
--- 
a/src/test/java/org/apache/sling/feature/maven/mojos/plugins/TestPlugin2.java
+++ 
b/src/test/java/org/apache/sling/feature/maven/mojos/plugins/TestPlugin2.java
@@ -19,7 +19,7 @@ package org.apache.sling.feature.maven.mojos.plugins;
 import org.apache.sling.feature.Extension;
 import org.apache.sling.feature.Feature;
 import org.apache.sling.feature.builder.FeatureExtensionHandler;
-import org.apache.sling.feature.maven.mojos.AggregateFeaturesTest;
+import org.apache.sling.feature.maven.mojos.AggregateFeaturesMojoTest;
 
 public class TestPlugin2 implements FeatureExtensionHandler {
     @Override
@@ -33,6 +33,6 @@ public class TestPlugin2 implements FeatureExtensionHandler {
 
     @Override
     public void postProcess(Feature feature, Extension extension) {
-        AggregateFeaturesTest.addPluginCallback("TestPlugin2 - " 
+extension.getName(), feature.getId());
+        AggregateFeaturesMojoTest.addPluginCallback("TestPlugin2 - " 
+extension.getName(), feature.getId());
     }
 }

Reply via email to