I am into some scenario that is, read a properties file, and based on the value of property file create folder and copy resources from some directory to it.
properties-file: xyz.properties
CLIENTLIST=A,B
I want to perform following steps in maven.
1. From above properties file pom should read the property.
2. In loop I want to create folders by name A and B.
3. After creating folder i want to copy some resources into it.
ex: after creating folder A , want to copy some resource files from x/y/z directory.
Is it possible in maven ?
I did this using couple of plugins,
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>properties-maven-plugin</artifactId>
<version>1.0.0</version>
<executions>
<execution>
<id>read property file</id>
<phase>install</phase>
<goals>
<goal>read-project-properties</goal>
</goals>
<configuration>
<files>
<file>${basedir}/dirOne/xyz.properties</file>
</files>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>com.soebes.maven.plugins</groupId>
<artifactId>iterator-maven-plugin</artifactId>
<version>0.3</version>
<executions>
<execution>
<phase>install</phase>
<goals>
<goal>iterator</goal>
</goals>
<configuration>
<content>${CLIENTLIST}</content>
<pluginExecutors>
<pluginExecutor>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>2.6</version>
</plugin>
<goal>copy-resources</goal>
<configuration>
<outputDirectory>${basedir}/dirTwo/@item@/</outputDirectory>
<resources>
<resource>
<directory>${basedir}/src/main/resources/</directory>
<includes>
<include>**/*.xml</include>
<include>**/*.properties</include>
</includes>
<excludes><exclude>**/*.cmd</exclude></excludes>
</resource>
</resources>
</configuration>
</pluginExecutor>
</pluginExecutors>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
I have used properties read, iterator and copy-resources plugin to get what I needed.
- First I read property file.
- In loop iterated values which read from properties file.
- And created folder each in loop and copied resources to created folder.