Author: sisbell
Date: Tue Feb 3 22:43:53 2009
New Revision: 740495
URL: http://svn.apache.org/viewvc?rev=740495&view=rev
Log:
MNG-4008: Multiple filters.
Added:
maven/components/trunk/maven-project/src/test/resources-project-builder/multiple-filters/
maven/components/trunk/maven-project/src/test/resources-project-builder/multiple-filters/pom.xml
Modified:
maven/components/trunk/maven-project-builder/src/main/java/org/apache/maven/project/builder/PomTransformer.java
maven/components/trunk/maven-project-builder/src/main/java/org/apache/maven/project/builder/ProjectUri.java
maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/builder/PomConstructionTest.java
Modified:
maven/components/trunk/maven-project-builder/src/main/java/org/apache/maven/project/builder/PomTransformer.java
URL:
http://svn.apache.org/viewvc/maven/components/trunk/maven-project-builder/src/main/java/org/apache/maven/project/builder/PomTransformer.java?rev=740495&r1=740494&r2=740495&view=diff
==============================================================================
---
maven/components/trunk/maven-project-builder/src/main/java/org/apache/maven/project/builder/PomTransformer.java
(original)
+++
maven/components/trunk/maven-project-builder/src/main/java/org/apache/maven/project/builder/PomTransformer.java
Tue Feb 3 22:43:53 2009
@@ -559,7 +559,6 @@
}
tmp.removeAll(replace);
-
//Missing Version Rule
if ( getPropertyFor( ProjectUri.version, tmp ) == null )
@@ -742,6 +741,27 @@
modelProperties.removeAll( clearedProperties );
}
+ //Rules processed on collapsed pom
+
+ //Rule: Remove duplicate filters
+ List<ModelProperty> removedProperties = new ArrayList<ModelProperty>();
+ List<String> filters = new ArrayList<String>();
+ for(ModelProperty mp : modelProperties)
+ {
+ if(mp.getUri().equals(ProjectUri.Build.Filters.filter))
+ {
+ if(filters.contains(mp.getResolvedValue()))
+ {
+ removedProperties.add(mp);
+ }
+ else
+ {
+ filters.add(mp.getResolvedValue());
+ }
+ }
+ }
+ modelProperties.removeAll(removedProperties);
+
//Rule: Build plugin config overrides reporting plugin config
ModelDataSource source = new DefaultModelDataSource( modelProperties,
PomTransformer.MODEL_CONTAINER_FACTORIES );
Modified:
maven/components/trunk/maven-project-builder/src/main/java/org/apache/maven/project/builder/ProjectUri.java
URL:
http://svn.apache.org/viewvc/maven/components/trunk/maven-project-builder/src/main/java/org/apache/maven/project/builder/ProjectUri.java?rev=740495&r1=740494&r2=740495&view=diff
==============================================================================
---
maven/components/trunk/maven-project-builder/src/main/java/org/apache/maven/project/builder/ProjectUri.java
(original)
+++
maven/components/trunk/maven-project-builder/src/main/java/org/apache/maven/project/builder/ProjectUri.java
Tue Feb 3 22:43:53 2009
@@ -350,7 +350,7 @@
public static class Filters
{
- public static String xUri =
"http://apache.org/maven/project/build/filters#set";
+ public static String xUri =
"http://apache.org/maven/project/build/filters#collection";
public static String filter = xUri + "/filter";
}
Modified:
maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/builder/PomConstructionTest.java
URL:
http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/builder/PomConstructionTest.java?rev=740495&r1=740494&r2=740495&view=diff
==============================================================================
---
maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/builder/PomConstructionTest.java
(original)
+++
maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/builder/PomConstructionTest.java
Tue Feb 3 22:43:53 2009
@@ -136,6 +136,15 @@
}
+ /*MNG- 4008*/
+ public void testMultipleFilters()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "multiple-filters" );
+ assertEquals( 4, ( (List<?>) pom.getValue( "build/filters" ) ).size()
);
+
+ }
+
/*MNG-4005 - not implemented
public void testDependenciesDifferentVersions()
throws Exception
@@ -748,11 +757,12 @@
assertPathWithNormalizedFileSeparators( pom.getValue(
"reporting/outputDirectory" ) );
}
- /* FIXME: cf. MNG-4008
+ /* MNG-4008 */
public void testMergedFilterOrder()
throws Exception
{
PomTestWrapper pom = buildPom( "merged-filter-order/sub" );
+
System.out.println(pom.getValue( "build/filters" ));
assertEquals( 7, ( (List<?>) pom.getValue( "build/filters" ) ).size()
);
assertTrue( pom.getValue( "build/filters[1]" ).toString().endsWith(
"child-a.properties" ) );
@@ -763,7 +773,7 @@
assertTrue( pom.getValue( "build/filters[6]" ).toString().endsWith(
"parent-b.properties" ) );
assertTrue( pom.getValue( "build/filters[7]" ).toString().endsWith(
"parent-d.properties" ) );
}
- //*/
+
private void assertPathWithNormalizedFileSeparators( Object value )
{
Added:
maven/components/trunk/maven-project/src/test/resources-project-builder/multiple-filters/pom.xml
URL:
http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/test/resources-project-builder/multiple-filters/pom.xml?rev=740495&view=auto
==============================================================================
---
maven/components/trunk/maven-project/src/test/resources-project-builder/multiple-filters/pom.xml
(added)
+++
maven/components/trunk/maven-project/src/test/resources-project-builder/multiple-filters/pom.xml
Tue Feb 3 22:43:53 2009
@@ -0,0 +1,16 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/maven-v4_0_0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>a</groupId>
+ <artifactId>b</artifactId>
+
+ <build>
+ <filters>
+ <filter>src/main/filters/a.properties</filter>
+ <filter>src/main/filters/c.properties</filter>
+ <filter>src/main/filters/b.properties</filter>
+ <filter>src/main/filters/d.properties</filter>
+ </filters>
+ </build>
+
+</project>
\ No newline at end of file