JVM Rocks

java, groovy, grails, gradle, clojure.

Gradle: Filter a File Using Ant Filters

If you want to replace tokens in a file with values from a properties file

For example your file (profile.txt) contains the entry

1
name=@name@

and your properties file (values.properties) contains an entry

1
name=Ted Jurey
1
2
3
4
5
6
7
8
9
10
11
12
import org.apache.tools.ant.filter.ReplaceTokens

task filter(type: Copy) {
  from 'profile.txt'
  into 'filtered'
  def propreties = new Properties()
  file('values.properties').withInputStream {
      properties.load(it)
  }

  filter(ReplaceTokens, tokens: properties)
}