Details
-
Type:
Improvement
-
Status:
Open
-
Priority:
Major
-
Resolution: Unresolved
-
Affects Version/s: 2.1-alpha-2
-
Fix Version/s: None
-
Component/s: filtering
-
Labels:None
-
Environment:Ubuntu 8.10 x64
Java JDK 1.5
-
Number of attachments :
Description
When performing filtering, people usually have a filter override methodology, where there is a default values in a filter file, and filters can be overriden including a filter file in project wc.
For example, I have this pom, for filtering my web.xml:
<plugin>
<!-- This plugin enables filtering of web.xml based on properties defined in build.properties -->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.1-alpha-2</version>
<configuration>
<filters>
<filter>build.properties</filter>
<filter>build.default.properties</filter>
</filters>
<filteringDeploymentDescriptors>true</filteringDeploymentDescriptors>
</configuration>
</plugin>
I only want to upload to my VCS the build.default.properties, for default properties, and in my WC I want to have a build.properties, with overriden properties. This file should be optional, and excluded from VCS. Now CI is going to fail if this file doesn't exist, with such a message:
[ERROR] fail to build filering wrappers Error loading property file 'build.properties'
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Error loading property file 'build.properties'
What I propose is issuing a warning if filter file is not present, on some filter files, something like:
<plugin>
<!-- This plugin enables filtering of web.xml based on properties defined in build.properties -->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.1-alpha-2</version>
<configuration>
<optionalFilters>
<optionalFilter>build.properties</optionalFilter>
</optionalFilters>
<filters>
<filter>build.default.properties</filter>
</filters>
<filteringDeploymentDescriptors>true</filteringDeploymentDescriptors>
</configuration>
</plugin>
or something like:
<plugin>
<!-- This plugin enables filtering of web.xml based on properties defined in build.properties -->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.1-alpha-2</version>
<configuration>
<failOnMissingFilter>false</failOnMissingFilter>
<filters>
<filter>build.properties</filter>
<filter>build.default.properties</filter>
</filters>
<filteringDeploymentDescriptors>true</filteringDeploymentDescriptors>
</configuration>
</plugin>