[
http://jira.codehaus.org/browse/MRESOURCES-77?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
John Casey closed MRESOURCES-77.
--------------------------------
Assignee: John Casey
Resolution: Fixed
> 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
> Assignee: John Casey
> Fix For: 2.4
>
> Attachments: filter-test.zip, MRESOURCES-77.patch, 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