[ 
http://jira.codehaus.org/browse/MRESOURCES-77?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Fabian Bauschulte updated MRESOURCES-77:
----------------------------------------

    Attachment: MRESOURCES-77.patch

> Filters for copy-resources goal in plugin configuration section are ignored
> ---------------------------------------------------------------------------
>
>                 Key: MRESOURCES-77
>                 URL: http://jira.codehaus.org/browse/MRESOURCES-77
>             Project: Maven 2.x Resources Plugin
>          Issue Type: Bug
>    Affects Versions: 2.3
>            Reporter: Daniel Uribe
>         Attachments: filter-test.zip, MRESOURCES-77.patch
>
>
> I need to have a project where I can create multiple versions of resource 
> files using different filters, I am trying to use the copy-resources goal for 
> this purpose by making it part of the generate-resource phase and specifying 
> the filters and resources under the plugin section of the POM.
> <plugins>
>       <plugin>
>               <artifactId>maven-resources-plugin</artifactId>
>               <executions>
>                       <execution>
>                               <id>config-a</id>
>                               <phase>generate-resources</phase>
>                               <goals>
>                                       <goal>copy-resources</goal>
>                               </goals>
>                               <configuration>
>                                       <outputDirectory>
>                                               
> ${basedir}/target/generated-resources/a
>                                       </outputDirectory>
>                                       <filters>
>                                               <filter>a.properties</filter>
>                                       </filters>
>                                       <resources>
>                                               <resource>
>                                                       
> <directory>etc/build</directory>
>                                                       
> <filtering>true</filtering>
>                                                       <includes>
>                                                               
> <include>jndi.properties</include>
>                                                       </includes>
>                                               </resource>
>                                       </resources>
>                               </configuration>
>                       </execution>
>                       <execution>
>                               <id>config-b</id>
>                               <phase>generate-resources</phase>
>                               <goals>
>                                       <goal>copy-resources</goal>
>                               </goals>
>                               <configuration>
>                                       <outputDirectory>
>                                               
> ${basedir}/target/generated-resources/b
>                                       </outputDirectory>
>                                       <filters>
>                                               <filter>b.properties</filter>
>                                       </filters>
>                                       <resources>
>                                               <resource>
>                                                       
> <directory>etc/build</directory>
>                                                       
> <filtering>true</filtering>
>                                                       <includes>
>                                                               
> <include>jndi.properties</include>
>                                                       </includes>
>                                               </resource>
>                                       </resources>
>                               </configuration>
>                       </execution>
>               </executions>
>       </plugin>
>       <!-- Other plugin entries -->
> </plugins>
> After doing some debugging, the problem seems to be caused by a combination 
> of things:
> - The CopyResourcesMojo doesn't define its own filters field, so it inherits 
> the configuration from the ResourcesMojo. That configuration specifies that 
> it uses ${project.build.filters} by default. This is part of the plugin.xml 
> in the repository as
>       <filters 
> implementation="java.util.List">${project.build.filters}</filters>
> - When the merging of the plugin.xml configuration from the repository with 
> the configuration from the POM is done, it includes the filters that were 
> specified in the POM, but also includes the default value and implementation 
> attribute. Hence, when the plugin fields are populated (in 
> DefaultPluginManager.populatePluginFields), it gets the value 
> ${project.build.filters} instead of using the <filter> children from the POM 
> configuration.
> I am not really sure what could be a good solution. Removing the default of 
> ${project.build.filters} for the CopyResourcesMojo would make this scenario 
> work, but it would make the filters required when the plugin is declared in 
> the plugins section.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to