With this configuration, the plugin replaces any placeholders entries, eg: {{key:value}} or simple {{key}}, by a value provided by an effective dictionary provided by an XL Deploy server.
The maven plugin is using the XL Deploy server's REST API that allows to get the effective dictionary based on an environment.
Why using the effective dictionary and not a dictionary ? The effective dictionary is the combination of the dictionaries associated to an environment, resolving the overide of the key or computing all the values based on other keys.
<plugin>
<groupId>com.xebialabs.utils</groupId>
<artifactId>placeholders-mustachifier-maven-plugin</artifactId>
<version>0.5-SNAPSHOT</version>
<configuration>
<filesets>
<fileset>
<directory>target/classes/com/myproject/resources</directory>
<include>*.properties</include>
</fileset>
</filesets>
<valueProvider>
<xldeploy>
<username>dev</username>
<password>dev1234</password>
<url>http://localhost:4516</url>
<context>deployit</context>
<environment>Environments/Dev/Tomcat-Dev</environment>
</xldeploy>
</valueProvider>
</configuration>
<executions>
<execution>
<phase>compile</phase>
<goals>
<goal>mustache-tovalue</goal>
</goals>
</execution>
</executions>
</plugin>
the property file before the plugin execution
param1={{PARAM1:45}}
param2={{param22}}
param3=45
param4=http://{{host:localhost}}:{{port:8080}}/{{context:default}}
param5={{param5}}
using the effective dictionary based on the environment Environments/Dev/Tomcat-Dev
the property file after the plugin execution
param1=45
param2={{param22}}
param3=45
param4=http://www.xebialabs.com:9090/xldeploy
param5=benoit