You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by br...@apache.org on 2005/09/22 04:53:04 UTC
svn commit: r290877 - in /maven/components/trunk: maven-core-it/
maven-core-it/it0054/ maven-core-it/it0054/src/
maven-core-it/it0054/src/main/ maven-core-it/it0054/src/main/filters/
maven-core-it/it0054/src/main/java/ maven-core-it/it0054/src/main/jav...
Author: brett
Date: Wed Sep 21 19:52:39 2005
New Revision: 290877
URL: http://svn.apache.org/viewcvs?rev=290877&view=rev
Log:
PR: MNG-788
add filtering to the build element
Added:
maven/components/trunk/maven-core-it/it0054/ (with props)
maven/components/trunk/maven-core-it/it0054/expected-results.txt (with props)
maven/components/trunk/maven-core-it/it0054/goals.txt (with props)
maven/components/trunk/maven-core-it/it0054/pom.xml (with props)
maven/components/trunk/maven-core-it/it0054/src/
maven/components/trunk/maven-core-it/it0054/src/main/
maven/components/trunk/maven-core-it/it0054/src/main/filters/
maven/components/trunk/maven-core-it/it0054/src/main/filters/filters.properties (with props)
maven/components/trunk/maven-core-it/it0054/src/main/java/
maven/components/trunk/maven-core-it/it0054/src/main/java/org/
maven/components/trunk/maven-core-it/it0054/src/main/java/org/apache/
maven/components/trunk/maven-core-it/it0054/src/main/java/org/apache/maven/
maven/components/trunk/maven-core-it/it0054/src/main/java/org/apache/maven/it0054/
maven/components/trunk/maven-core-it/it0054/src/main/java/org/apache/maven/it0054/Person.java (with props)
maven/components/trunk/maven-core-it/it0054/src/main/resources/
maven/components/trunk/maven-core-it/it0054/src/main/resources/it0054.properties (with props)
maven/components/trunk/maven-core-it/it0054/src/test/
maven/components/trunk/maven-core-it/it0054/src/test/java/
maven/components/trunk/maven-core-it/it0054/src/test/java/org/
maven/components/trunk/maven-core-it/it0054/src/test/java/org/apache/
maven/components/trunk/maven-core-it/it0054/src/test/java/org/apache/maven/
maven/components/trunk/maven-core-it/it0054/src/test/java/org/apache/maven/it0054/
maven/components/trunk/maven-core-it/it0054/src/test/java/org/apache/maven/it0054/PersonTest.java (with props)
Modified:
maven/components/trunk/maven-core-it/README.txt
maven/components/trunk/maven-core-it/integration-tests.txt
maven/components/trunk/maven-model/maven.mdo
maven/components/trunk/maven-plugins/maven-eclipse-plugin/pom.xml
maven/components/trunk/maven-plugins/maven-resources-plugin/pom.xml
maven/components/trunk/maven-plugins/maven-resources-plugin/src/main/java/org/apache/maven/plugin/resources/ResourcesMojo.java
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProject.java
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/injection/DefaultProfileInjector.java
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/overlay/BuildOverlay.java
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/path/DefaultPathTranslator.java
Modified: maven/components/trunk/maven-core-it/README.txt
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-core-it/README.txt?rev=290877&r1=290876&r2=290877&view=diff
==============================================================================
--- maven/components/trunk/maven-core-it/README.txt (original)
+++ maven/components/trunk/maven-core-it/README.txt Wed Sep 21 19:52:39 2005
@@ -150,6 +150,8 @@
as the main artifact. This will not correctly verify until we have
some way to pattern-match the buildnumber/timestamp...
+it0054: Test resource filtering.
+
it0055: Test that source includes/excludes with in the compiler plugin config.
This will test excludes and testExcludes...
@@ -191,7 +193,6 @@
- generated sources
- generated resources from sources
- generated resources from generated sources
-- filtered resources
- build that requires a plugin download
- transitive dependencies
- goal attainment not requiring depedency resolution
Modified: maven/components/trunk/maven-core-it/integration-tests.txt
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-core-it/integration-tests.txt?rev=290877&r1=290876&r2=290877&view=diff
==============================================================================
--- maven/components/trunk/maven-core-it/integration-tests.txt (original)
+++ maven/components/trunk/maven-core-it/integration-tests.txt Wed Sep 21 19:52:39 2005
@@ -11,6 +11,7 @@
it0057
it0056
it0055
+it0054
it0053
it0052
it0051
Propchange: maven/components/trunk/maven-core-it/it0054/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Wed Sep 21 19:52:39 2005
@@ -0,0 +1,2 @@
+target
+log.txt
Added: maven/components/trunk/maven-core-it/it0054/expected-results.txt
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-core-it/it0054/expected-results.txt?rev=290877&view=auto
==============================================================================
--- maven/components/trunk/maven-core-it/it0054/expected-results.txt (added)
+++ maven/components/trunk/maven-core-it/it0054/expected-results.txt Wed Sep 21 19:52:39 2005
@@ -0,0 +1,4 @@
+target/classes/org/apache/maven/it0054/Person.class
+target/test-classes/org/apache/maven/it0054/PersonTest.class
+target/maven-core-it0054-1.0.jar
+target/maven-core-it0054-1.0.jar!/it0054.properties
Propchange: maven/components/trunk/maven-core-it/it0054/expected-results.txt
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/components/trunk/maven-core-it/it0054/expected-results.txt
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/components/trunk/maven-core-it/it0054/goals.txt
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-core-it/it0054/goals.txt?rev=290877&view=auto
==============================================================================
--- maven/components/trunk/maven-core-it/it0054/goals.txt (added)
+++ maven/components/trunk/maven-core-it/it0054/goals.txt Wed Sep 21 19:52:39 2005
@@ -0,0 +1 @@
+package
Propchange: maven/components/trunk/maven-core-it/it0054/goals.txt
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/components/trunk/maven-core-it/it0054/goals.txt
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/components/trunk/maven-core-it/it0054/pom.xml
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-core-it/it0054/pom.xml?rev=290877&view=auto
==============================================================================
--- maven/components/trunk/maven-core-it/it0054/pom.xml (added)
+++ maven/components/trunk/maven-core-it/it0054/pom.xml Wed Sep 21 19:52:39 2005
@@ -0,0 +1,27 @@
+<model>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-core-it0054</artifactId>
+ <packaging>jar</packaging>
+ <version>1.0</version>
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <type>jar</type>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+ <build>
+ <filters>
+ <filter>src/main/filters/filters.properties</filter>
+ </filters>
+ <resources>
+ <resource>
+ <directory>src/main/resources</directory>
+ <filtering>true</filtering>
+ </resource>
+ </resources>
+ </build>
+</model>
Propchange: maven/components/trunk/maven-core-it/it0054/pom.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/components/trunk/maven-core-it/it0054/pom.xml
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/components/trunk/maven-core-it/it0054/src/main/filters/filters.properties
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-core-it/it0054/src/main/filters/filters.properties?rev=290877&view=auto
==============================================================================
--- maven/components/trunk/maven-core-it/it0054/src/main/filters/filters.properties (added)
+++ maven/components/trunk/maven-core-it/it0054/src/main/filters/filters.properties Wed Sep 21 19:52:39 2005
@@ -0,0 +1,2 @@
+surname = van zyl
+country = Canada
Propchange: maven/components/trunk/maven-core-it/it0054/src/main/filters/filters.properties
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/components/trunk/maven-core-it/it0054/src/main/filters/filters.properties
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/components/trunk/maven-core-it/it0054/src/main/java/org/apache/maven/it0054/Person.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-core-it/it0054/src/main/java/org/apache/maven/it0054/Person.java?rev=290877&view=auto
==============================================================================
--- maven/components/trunk/maven-core-it/it0054/src/main/java/org/apache/maven/it0054/Person.java (added)
+++ maven/components/trunk/maven-core-it/it0054/src/main/java/org/apache/maven/it0054/Person.java Wed Sep 21 19:52:39 2005
@@ -0,0 +1,16 @@
+package org.apache.maven.it0054;
+
+public class Person
+{
+ private String name;
+
+ public void setName( String name )
+ {
+ this.name = name;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+}
Propchange: maven/components/trunk/maven-core-it/it0054/src/main/java/org/apache/maven/it0054/Person.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/components/trunk/maven-core-it/it0054/src/main/java/org/apache/maven/it0054/Person.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/components/trunk/maven-core-it/it0054/src/main/resources/it0054.properties
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-core-it/it0054/src/main/resources/it0054.properties?rev=290877&view=auto
==============================================================================
--- maven/components/trunk/maven-core-it/it0054/src/main/resources/it0054.properties (added)
+++ maven/components/trunk/maven-core-it/it0054/src/main/resources/it0054.properties Wed Sep 21 19:52:39 2005
@@ -0,0 +1,3 @@
+name = jason
+surname = ${surname}
+country = @country@
Propchange: maven/components/trunk/maven-core-it/it0054/src/main/resources/it0054.properties
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/components/trunk/maven-core-it/it0054/src/main/resources/it0054.properties
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/components/trunk/maven-core-it/it0054/src/test/java/org/apache/maven/it0054/PersonTest.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-core-it/it0054/src/test/java/org/apache/maven/it0054/PersonTest.java?rev=290877&view=auto
==============================================================================
--- maven/components/trunk/maven-core-it/it0054/src/test/java/org/apache/maven/it0054/PersonTest.java (added)
+++ maven/components/trunk/maven-core-it/it0054/src/test/java/org/apache/maven/it0054/PersonTest.java Wed Sep 21 19:52:39 2005
@@ -0,0 +1,24 @@
+package org.apache.maven.it0054;
+
+import java.util.Properties;
+import junit.framework.TestCase;
+
+public class PersonTest
+ extends TestCase
+{
+ public void testPerson()
+ throws Exception
+ {
+ Person person = new Person();
+
+ person.setName( "foo" );
+
+ assertEquals( "foo", person.getName() );
+
+ Properties p = new Properties();
+ p.load( getClass().getResourceAsStream( "/it0054.properties" ) );
+ assertEquals( "check name", "jason", p.getProperty( "name" ) );
+ assertEquals( "check surname", "van zyl", p.getProperty( "surname" ) );
+ assertEquals( "check country", "Canada", p.getProperty( "country" ) );
+ }
+}
Propchange: maven/components/trunk/maven-core-it/it0054/src/test/java/org/apache/maven/it0054/PersonTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/components/trunk/maven-core-it/it0054/src/test/java/org/apache/maven/it0054/PersonTest.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Modified: maven/components/trunk/maven-model/maven.mdo
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-model/maven.mdo?rev=290877&r1=290876&r2=290877&view=diff
==============================================================================
--- maven/components/trunk/maven-model/maven.mdo (original)
+++ maven/components/trunk/maven-model/maven.mdo Wed Sep 21 19:52:39 2005
@@ -856,6 +856,17 @@
]]></description>
<type>String</type>
</field>
+ <field>
+ <name>filters</name>
+ <version>4.0.0</version>
+ <description><![CDATA[
+ The list of filter properties files that are used when filtering is enabled.
+ ]]></description>
+ <association>
+ <type>String</type>
+ <multiplicity>*</multiplicity>
+ </association>
+ </field>
</fields>
</class>
<class>
Modified: maven/components/trunk/maven-plugins/maven-eclipse-plugin/pom.xml
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-plugins/maven-eclipse-plugin/pom.xml?rev=290877&r1=290876&r2=290877&view=diff
==============================================================================
--- maven/components/trunk/maven-plugins/maven-eclipse-plugin/pom.xml (original)
+++ maven/components/trunk/maven-plugins/maven-eclipse-plugin/pom.xml Wed Sep 21 19:52:39 2005
@@ -2,7 +2,7 @@
<parent>
<artifactId>maven-plugin-parent</artifactId>
<groupId>org.apache.maven.plugins</groupId>
- <version>2.0-beta-1</version>
+ <version>2.0-beta-2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>org.apache.maven.plugins</groupId>
@@ -31,4 +31,4 @@
<scope>test</scope>
</dependency>
</dependencies>
-</project>
\ No newline at end of file
+</project>
Modified: maven/components/trunk/maven-plugins/maven-resources-plugin/pom.xml
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-plugins/maven-resources-plugin/pom.xml?rev=290877&r1=290876&r2=290877&view=diff
==============================================================================
--- maven/components/trunk/maven-plugins/maven-resources-plugin/pom.xml (original)
+++ maven/components/trunk/maven-plugins/maven-resources-plugin/pom.xml Wed Sep 21 19:52:39 2005
@@ -9,6 +9,9 @@
<packaging>maven-plugin</packaging>
<name>Maven Resources Plugin</name>
<version>2.0-beta-2-SNAPSHOT</version>
+ <prerequisites>
+ <maven>2.0-beta-2-SNAPSHOT</maven>
+ </prerequisites>
<dependencies>
<dependency>
<groupId>org.apache.maven</groupId>
@@ -22,7 +25,7 @@
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-model</artifactId>
- <version>2.0-beta-1</version>
+ <version>2.0-beta-2-SNAPSHOT</version>
</dependency>
</dependencies>
-</project>
\ No newline at end of file
+</project>
Modified: maven/components/trunk/maven-plugins/maven-resources-plugin/src/main/java/org/apache/maven/plugin/resources/ResourcesMojo.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-plugins/maven-resources-plugin/src/main/java/org/apache/maven/plugin/resources/ResourcesMojo.java?rev=290877&r1=290876&r2=290877&view=diff
==============================================================================
--- maven/components/trunk/maven-plugins/maven-resources-plugin/src/main/java/org/apache/maven/plugin/resources/ResourcesMojo.java (original)
+++ maven/components/trunk/maven-plugins/maven-resources-plugin/src/main/java/org/apache/maven/plugin/resources/ResourcesMojo.java Wed Sep 21 19:52:39 2005
@@ -69,13 +69,15 @@
* Wheter to apply filters during transfer.
*
* @parameter
+ * @deprecated
*/
- private boolean filtering = false;
+ private boolean filtering = true;
/**
* The name of the filter property file to use.
*
* @parameter expression="${basedir}/filter.properties"
+ * @deprecated use the filters section of the POM.
*/
private File filterPropertiesFile;
@@ -92,6 +94,11 @@
private static final String[] DEFAULT_INCLUDES = {"**/**"};
+ /**
+ * @parameter expression="${project.build.filters}"
+ */
+ private List filters;
+
public void execute()
throws MojoExecutionException
{
@@ -173,13 +180,34 @@
{
if ( filtering )
{
- try
+ if ( filters == null || filters.isEmpty() && filterPropertiesFile.exists() )
{
- filterProperties = PropertyUtils.loadPropertyFile( filterPropertiesFile, true, true );
+ // Deprecated - remove
+ try
+ {
+ filterProperties = PropertyUtils.loadPropertyFile( filterPropertiesFile, true, true );
+ }
+ catch ( IOException e )
+ {
+ throw new MojoExecutionException( "Error loading property file '" + filterPropertiesFile + "'", e );
+ }
}
- catch ( IOException e )
+ else
{
- throw new MojoExecutionException( "Error loading property file '" + filterPropertiesFile + "'", e );
+ filterProperties = new Properties();
+ for ( Iterator i = filters.iterator(); i.hasNext(); )
+ {
+ String filtersfile = (String) i.next();
+ try
+ {
+ Properties properties = PropertyUtils.loadPropertyFile( new File( filtersfile ), true, true );
+ filterProperties.putAll( properties );
+ }
+ catch ( IOException e )
+ {
+ throw new MojoExecutionException( "Error loading property file '" + filtersfile + "'", e );
+ }
+ }
}
}
}
Modified: maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProject.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProject.java?rev=290877&r1=290876&r2=290877&view=diff
==============================================================================
--- maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProject.java (original)
+++ maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProject.java Wed Sep 21 19:52:39 2005
@@ -1440,4 +1440,8 @@
return getModel().getProperties();
}
+ public List getFilters()
+ {
+ return getBuild().getFilters();
+ }
}
Modified: maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/injection/DefaultProfileInjector.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/injection/DefaultProfileInjector.java?rev=290877&r1=290876&r2=290877&view=diff
==============================================================================
--- maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/injection/DefaultProfileInjector.java (original)
+++ maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/injection/DefaultProfileInjector.java Wed Sep 21 19:52:39 2005
@@ -113,6 +113,18 @@
modelBuild.setTestResources( profileTestResources );
}
+ if ( profileBuild.getFilters() != null )
+ {
+ if ( modelBuild.getFilters() == null )
+ {
+ modelBuild.setFilters( profileBuild.getFilters() );
+ }
+ else
+ {
+ modelBuild.getFilters().addAll( profileBuild.getFilters() );
+ }
+ }
+
injectPlugins( profileBuild, modelBuild );
// Plugin management :: aggregate
Modified: maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/overlay/BuildOverlay.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/overlay/BuildOverlay.java?rev=290877&r1=290876&r2=290877&view=diff
==============================================================================
--- maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/overlay/BuildOverlay.java (original)
+++ maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/overlay/BuildOverlay.java Wed Sep 21 19:52:39 2005
@@ -1,5 +1,21 @@
package org.apache.maven.project.overlay;
+/*
+ * Copyright 2001-2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
import org.apache.maven.model.Build;
import org.apache.maven.model.Extension;
import org.apache.maven.model.Plugin;
@@ -10,6 +26,9 @@
import java.util.List;
import java.util.Map;
+/**
+ * @todo why delegate? this is asking for trouble when there are additions.
+ */
public class BuildOverlay
extends Build
{
@@ -234,4 +253,23 @@
return build.toString();
}
+ public void addFilter( String string )
+ {
+ build.addFilter( string );
+ } //-- void addFilter(String)
+
+ public List getFilters()
+ {
+ return build.getFilters();
+ } //-- java.util.List getFilters()
+
+ public void removeFilter( String string )
+ {
+ build.removeFilter( string );
+ } //-- void removeFilter(String)
+
+ public void setFilters( List filters )
+ {
+ build.setFilters( filters );
+ } //-- void setFilters(java.util.List)
}
Modified: maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/path/DefaultPathTranslator.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/path/DefaultPathTranslator.java?rev=290877&r1=290876&r2=290877&view=diff
==============================================================================
--- maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/path/DefaultPathTranslator.java (original)
+++ maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/path/DefaultPathTranslator.java Wed Sep 21 19:52:39 2005
@@ -22,6 +22,8 @@
import java.io.File;
import java.util.Iterator;
+import java.util.List;
+import java.util.ArrayList;
public class DefaultPathTranslator
implements PathTranslator
@@ -54,6 +56,18 @@
Resource resource = (Resource) i.next();
resource.setDirectory( alignToBaseDirectory( resource.getDirectory(), basedir ) );
+ }
+
+ if ( build.getFilters() != null )
+ {
+ List filters = new ArrayList();
+ for ( Iterator i = build.getFilters().iterator(); i.hasNext(); )
+ {
+ String filter = (String) i.next();
+
+ filters.add( alignToBaseDirectory( filter, basedir ) );
+ }
+ build.setFilters( filters );
}
build.setOutputDirectory( alignToBaseDirectory( build.getOutputDirectory(), basedir ) );
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org