Uploaded image for project: 'Maven Resources Plugin'
  1. Maven Resources Plugin
  2. MRESOURCES-8

maven-resources-plugin ignores configuration/resources property (add a new mojo to copy resources)

    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 2.1, 2.2
    • 2.3
    • None
    • None

    Description

      I am evaluating maven + eclipse combo. In a trivial POM filtered resources exist only in target/classes. If one executes Project -> Clean under eclipse this information is lost. If filtered resources would appear as source folder they would survive cleaning and not got overriden by unfiltered ones.

      I have been trying to implement a scenario which would allow filtered resources to appear as "static" source folder under eclipse.
      The POM explains it best:

      <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <groupId>com.mobilebox.squash.client</groupId>
        <artifactId>squash-client</artifactId>
        <packaging>jar</packaging>
        <version>1.0-SNAPSHOT</version>
        <name>Maven Quick Start Archetype</name>
        <url>http://maven.apache.org</url>
        <build>
          <plugins>
            <plugin>
              <artifactId>maven-resources-plugin</artifactId>
              <executions>
                <execution>
                  <id>prefilter-resources</id>
                  <phase>generate-resources</phase>
                  <goals>
                    <goal>resources</goal>
                  </goals>
                  <configuration>
                    <outputDirectory>target/generated-resources</outputDirectory>
                    <resources>
                      <resource>
                        <directory>src/main/resource-templates</directory>
                        <filtering>true</filtering>
                      </resource>
                    </resources>
                  </configuration>
                </execution>
              </executions>
            </plugin>
          </plugins>
          <filters>
            <filter>${ffile}</filter>
          </filters>
          <resources>
            <resource>
              <directory>src/main/resources</directory>
            </resource>
            <resource>
              <directory>target/generated-resources</directory>
            </resource>
          </resources>
        </build>
        <dependencies>
          <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>3.8.1</version>
            <scope>test</scope>
          </dependency>
        </dependencies>
        <properties>
          <ffile>filter.properties</ffile>
        </properties>
      </project>
      

      thing is this part:

      <resources>
        <resource>
          <directory>src/main/properties</directory>
          <filtering>true</filtering>
        </resource>
      </resources>
      

      is completely ignored. Instead for both maven-resource-plugin executions (the one in generate-resources phase and the default one) this config is used:

      <resources>
        <resource>
          <directory>src/main/resources</directory>
        </resource>
        <resource>
          <directory>target/generated-resources</directory>
        </resource>
      </resources>
      

      which of course breaks the whole idea.

      Is this a bug or a design decision. In latter case is there any equivalent approach I might take?

      Attachments

        1. example.zip
          5 kB
          Leszek Gawron
        2. MRESOURCES-8-workaround.patch
          3 kB
          Chris Hagmann
        3. pom.xml
          2 kB
          Leszek Gawron

        Issue Links

          Activity

            People

              olamy Olivier Lamy
              lgawron Leszek Gawron
              Votes:
              17 Vote for this issue
              Watchers:
              15 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: