Author: olamy
Date: Mon Feb 18 14:19:43 2008
New Revision: 628894
URL: http://svn.apache.org/viewvc?rev=628894&view=rev
Log:
update documentation
merge duplicate code
Modified:
maven/sandbox/trunk/shared/maven-filtering/src/main/java/org/apache/maven/shared/filtering/DefaultMavenFileFilter.java
maven/sandbox/trunk/shared/maven-filtering/src/main/java/org/apache/maven/shared/filtering/MavenFileFilter.java
maven/sandbox/trunk/shared/maven-filtering/src/main/java/org/apache/maven/shared/filtering/MavenResourcesFiltering.java
maven/sandbox/trunk/shared/maven-filtering/src/main/java/org/apache/maven/shared/filtering/PropertyUtils.java
maven/sandbox/trunk/shared/maven-filtering/src/site/apt/index.apt
Modified:
maven/sandbox/trunk/shared/maven-filtering/src/main/java/org/apache/maven/shared/filtering/DefaultMavenFileFilter.java
URL:
http://svn.apache.org/viewvc/maven/sandbox/trunk/shared/maven-filtering/src/main/java/org/apache/maven/shared/filtering/DefaultMavenFileFilter.java?rev=628894&r1=628893&r2=628894&view=diff
==============================================================================
---
maven/sandbox/trunk/shared/maven-filtering/src/main/java/org/apache/maven/shared/filtering/DefaultMavenFileFilter.java
(original)
+++
maven/sandbox/trunk/shared/maven-filtering/src/main/java/org/apache/maven/shared/filtering/DefaultMavenFileFilter.java
Mon Feb 18 14:19:43 2008
@@ -87,69 +87,20 @@
filterProperties.putAll( System.getProperties() );
// Project properties
- filterProperties.putAll( mavenProject.getProperties() == null ?
Collections.EMPTY_MAP : mavenProject.getProperties() );
+ filterProperties.putAll( mavenProject.getProperties() == null ?
Collections.EMPTY_MAP : mavenProject
+ .getProperties() );
// Take a copy of filterProperties to ensure that evaluated
filterTokens are not propagated
// to subsequent filter files. NB this replicates current behaviour
and seems to make sense.
final Properties baseProps = new Properties();
baseProps.putAll( filterProperties );
- if ( filters != null )
- {
- for ( Iterator i = filters.iterator(); i.hasNext(); )
- {
- String filterfile = (String) i.next();
- try
- {
- Properties properties = PropertyUtils.loadPropertyFile(
new File( filterfile ), baseProps );
- filterProperties.putAll( properties );
- }
- catch ( IOException e )
- {
- throw new MavenFilteringException( "Error loading property
file '" + filterfile + "'", e );
- }
- }
- }
-
- List buildFilters = mavenProject.getFilters();
- if ( buildFilters != null )
- {
- for ( Iterator iterator = buildFilters.iterator();
iterator.hasNext(); )
- {
- String filterFile = (String) iterator.next();
- try
- {
-
- Properties properties = PropertyUtils.loadPropertyFile(
new File( filterFile ), baseProps );
- filterProperties.putAll( properties );
- }
- catch ( IOException e )
- {
- throw new MavenFilteringException( "Error loading property
file '" + filterFile + "'", e );
- }
- }
- }
+ loadProperties( filterProperties, filters, baseProps );
- buildFilters = mavenProject.getBuild().getFilters();
- if ( buildFilters != null )
- {
- for ( Iterator iterator = buildFilters.iterator();
iterator.hasNext(); )
- {
- String filterFile = (String) iterator.next();
- try
- {
+ loadProperties( filterProperties, mavenProject.getFilters(), baseProps
);
- Properties properties = PropertyUtils.loadPropertyFile(
new File( filterFile ), baseProps );
- filterProperties.putAll( properties );
- }
- catch ( IOException e )
- {
- throw new MavenFilteringException( "Error loading property
file '" + filterFile + "'", e );
- }
- }
- }
+ loadProperties( filterProperties,
mavenProject.getBuild().getFilters(), baseProps );
-
List defaultFilterWrappers = new ArrayList( 3 );
// support ${token}
@@ -181,10 +132,32 @@
return new InterpolationFilterReader( reader,
reflectionProperties, "${", "}" );
}
};
-
+
defaultFilterWrappers.add( third );
return defaultFilterWrappers;
+ }
+
+ private void loadProperties( Properties filterProperties, List
/*String*/propertiesFilePaths, Properties baseProps )
+ throws MavenFilteringException
+ {
+ if ( propertiesFilePaths != null )
+ {
+ for ( Iterator iterator = propertiesFilePaths.iterator();
iterator.hasNext(); )
+ {
+ String filterFile = (String) iterator.next();
+ try
+ {
+ // TODO new File should be new
File(mavenProject.getBasedir(), filterfile ) ?
+ Properties properties = PropertyUtils.loadPropertyFile(
new File( filterFile ), baseProps );
+ filterProperties.putAll( properties );
+ }
+ catch ( IOException e )
+ {
+ throw new MavenFilteringException( "Error loading property
file '" + filterFile + "'", e );
+ }
+ }
+ }
}
}
Modified:
maven/sandbox/trunk/shared/maven-filtering/src/main/java/org/apache/maven/shared/filtering/MavenFileFilter.java
URL:
http://svn.apache.org/viewvc/maven/sandbox/trunk/shared/maven-filtering/src/main/java/org/apache/maven/shared/filtering/MavenFileFilter.java?rev=628894&r1=628893&r2=628894&view=diff
==============================================================================
---
maven/sandbox/trunk/shared/maven-filtering/src/main/java/org/apache/maven/shared/filtering/MavenFileFilter.java
(original)
+++
maven/sandbox/trunk/shared/maven-filtering/src/main/java/org/apache/maven/shared/filtering/MavenFileFilter.java
Mon Feb 18 14:19:43 2008
@@ -20,7 +20,6 @@
*/
import java.io.File;
-import java.io.IOException;
import java.util.List;
import org.apache.maven.project.MavenProject;
Modified:
maven/sandbox/trunk/shared/maven-filtering/src/main/java/org/apache/maven/shared/filtering/MavenResourcesFiltering.java
URL:
http://svn.apache.org/viewvc/maven/sandbox/trunk/shared/maven-filtering/src/main/java/org/apache/maven/shared/filtering/MavenResourcesFiltering.java?rev=628894&r1=628893&r2=628894&view=diff
==============================================================================
---
maven/sandbox/trunk/shared/maven-filtering/src/main/java/org/apache/maven/shared/filtering/MavenResourcesFiltering.java
(original)
+++
maven/sandbox/trunk/shared/maven-filtering/src/main/java/org/apache/maven/shared/filtering/MavenResourcesFiltering.java
Mon Feb 18 14:19:43 2008
@@ -35,8 +35,8 @@
/**
* @param resources [EMAIL PROTECTED] List} of [EMAIL PROTECTED]
org.apache.maven.model.Resource}
* @param outputDirectory parent destination directory
- * @param mavenProject
- * @param encoding
+ * @param mavenProject the maven project
+ * @param encoding encoding to use for writing files
* @param fileFilters [EMAIL PROTECTED] List} of String which are path to
a Property file
* @param nonFilteredFileExtensions [EMAIL PROTECTED] List} of String for
non filtered file extensions
* @throws MavenFilteringException
@@ -48,7 +48,7 @@
/**
* @param resources [EMAIL PROTECTED] List} of [EMAIL PROTECTED]
org.apache.maven.model.Resource}
* @param outputDirectory parent destination directory
- * @param encoding
+ * @param encoding encoding to use for writing files
* @param filterWrappers [EMAIL PROTECTED] List} of FileUtils.FilterWrapper
* @param resourcesBaseDirectory baseDirectory of resources
* @param nonFilteredFileExtensions [EMAIL PROTECTED] List} of String for
non filtered file extensions
@@ -62,7 +62,13 @@
* return the List of the non filtered extensions (jpg,jpeg,gif,bmp,png)
* @return [EMAIL PROTECTED] List} of [EMAIL PROTECTED] String}
*/
- public List getDefaultNonFilteredFileExtensions();
+ List getDefaultNonFilteredFileExtensions();
+ /**
+ * @param fileName the file name
+ * @param userNonFilteredFileExtensions an extra list of file extensions
+ * @return true if filtering can be apply to the file (means
extensions.lowerCase is in the
+ * default List or in the user defined extension List)
+ */
boolean filteredFileExtension( String fileName, List
userNonFilteredFileExtensions );
}
Modified:
maven/sandbox/trunk/shared/maven-filtering/src/main/java/org/apache/maven/shared/filtering/PropertyUtils.java
URL:
http://svn.apache.org/viewvc/maven/sandbox/trunk/shared/maven-filtering/src/main/java/org/apache/maven/shared/filtering/PropertyUtils.java?rev=628894&r1=628893&r2=628894&view=diff
==============================================================================
---
maven/sandbox/trunk/shared/maven-filtering/src/main/java/org/apache/maven/shared/filtering/PropertyUtils.java
(original)
+++
maven/sandbox/trunk/shared/maven-filtering/src/main/java/org/apache/maven/shared/filtering/PropertyUtils.java
Mon Feb 18 14:19:43 2008
@@ -106,6 +106,7 @@
* @param fail wheter to throw an exception when the file cannot be loaded
or to return null
* @param useSystemProps wheter to incorporate System.getProperties
settings into the returned Properties object.
* @return the loaded and fully resolved Properties object
+ * @throws IOException if profile does not exist, or cannot be read.
*/
public static Properties loadPropertyFile( File propfile, boolean fail,
boolean useSystemProps )
throws IOException
@@ -149,6 +150,9 @@
* the value of a property contains a key), and will
* not loop endlessly on a pair like
* test = ${test}.
+ * @param k
+ * @param p
+ * @return
*/
private static String getPropertyValue( String k, Properties p )
{
Modified: maven/sandbox/trunk/shared/maven-filtering/src/site/apt/index.apt
URL:
http://svn.apache.org/viewvc/maven/sandbox/trunk/shared/maven-filtering/src/site/apt/index.apt?rev=628894&r1=628893&r2=628894&view=diff
==============================================================================
--- maven/sandbox/trunk/shared/maven-filtering/src/site/apt/index.apt (original)
+++ maven/sandbox/trunk/shared/maven-filtering/src/site/apt/index.apt Mon Feb
18 14:19:43 2008
@@ -25,14 +25,17 @@
Maven Filtering Component
- This Plexus components has been build with the filtering process coming from
the maven-resources-plugin.
+ This Plexus components has been build with the filtering process/code coming
from the maven-resources-plugin.
The goal is to provide a common way for all plugins which needs to filtering
resources.
* Component MavenResourcesFiltering
This component will apply filtering on a List of
org.apache.maven.model.Resource.
- The method without the filterWrappers parameter will interpolate the files
using the default FileUtils.FilterWrapper.
+
+ The method without the filterWrappers parameter will interpolate the files
using the default List of FileUtils.FilterWrapper (see above).
+
+ The component will not filtering some predefined file extensions
(jpg,jpeg,gif,bmp,png). Note : you can easily add extra file extensions.
* Component MavenFileFilter
@@ -47,6 +50,17 @@
[]
- <<NOTE>> : The sentence "values from SystemProps, project.properties,
filters, project.filters and project.build.filters"
- means pairs of key/value will be loaded/overriding with this order. The
value for key java.version can be overriding
- with a property in the maven project (yes crazy but possible).
\ No newline at end of file
+ The values (Properties object) used for interpolation are loaded with the
following order :
+
+ * System Properties
+
+ * List of properties ( the method has a parameter which accept a List of
String -> path properties files )
+
+ * pom.filters
+
+ * pom.build.filters
+
+ []
+
+ <<NOTE>> : As it's a Properties object, last defined key/value pair wins .
+ The value for key java.version can be overriding with a property in the
maven project (yes crazy but possible).
\ No newline at end of file