[ 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