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());
}
}