Sorry, I had only looked at the ant ReplaceTokens documentation and not at the
source. It does not support a setPropertiesfile method to allow access to this
feature :(
But (again without having tried this myself) perhaps this is sufficient:
Properties props = new Props()
props.load(...)
copy {
from 'path_to_file_to_be_filtered'
into ...
filter(ReplaceTokens, tokens: props)
}
I'm not clear why Hans had a props.each surrounding the filter in his example.
Narco wrote:
on gradle0.8 filter(ReplaceTokens, propertiesfile: 'mysettings.properties')
gives:
Cause: Error - Invalid filter specification for
org.apache.tools.ant.filters.ReplaceTokens
Steve Appling wrote:
Hans Dockter wrote:
On Nov 4, 2009, at 3:04 PM, Jason Porter wrote:
Sent from my iPhone
On Nov 4, 2009, at 4:43, Levi Hoogenberg <[email protected]
<mailto:[email protected]>> wrote:
Hi Jason,
I don't know if it's the Gradle way, but in one of my projects'
build.gradle I have the following:
processResources {
filter(org.apache.tools.ant.filters.ReplaceTokens, tokens:
[version: project.version])
}
This replaces @version@ in a property file, so that it can be read
from the code.
The processResources task is of type Copy.
See
Javadoc:
http://gradle.org/0.8/docs/javadoc/index.html?org/gradle/api/tasks/Copy.html
What you could do in your case:
Properties props = new Props()
props.load(...)
copy {
from 'path_to_file_to_be_filtered'
into ...
props.each { key, value ->
filter(ReplaceTokens, tokens: props) // It depends on you set up
if this is exactly what you want.
}
}
- Hans
--
Hans Dockter
Gradle Project Manager
http://www.gradle.org
I haven't tried this, but I think the ReplaceTokens filter can read from a
properties file all by itself so you can do:
copy {
from 'path_to_file_to_be_filtered'
into ...
filter(ReplaceTokens, propertiesfile: 'mysettings.properties')
}
Regards,
Levi
On Wed, Nov 4, 2009 at 7:46 AM, Jason Porter <
<http://lightguard.jp/>lightguard.jp <http://lightguard.jp/>@
<http://gmail.com/>gmail.com <http://gmail.com/>> wrote:
In a war I've got I'd like to filter a file that ultimately ends
up in
the WEB-INF directory (chances are I'll just put it here under
webapp/WEB-INF anyway), but I want to replace some tokens in it
(preferably with items that exist in a properties file). I know
how
I'd do this in ant, but what's the gradle way of doing it?
--
Jason Porter
Real Programmers think better when playing Adventure or Rogue.
PGP key id: 926CCFF5
PGP fingerprint: 64C2 C078 13A9 5B23 7738 F7E5 1046 C39B 926C CFF5
PGP key available at: <http://keyserver.net/>keyserver.net
<http://keyserver.net/>, <http://pgp.mit.edu/>pgp.mit.edu
<http://pgp.mit.edu/>
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
<http://xircles.codehaus.org/manage_email>http://xircles.codehaus.org/manage_email
That would work fine, but I don't want to list the tokens and their
values in the build file. I'd rather have them pulled from a
properties file (so it can change from box / environment). Think stuff
like user names and passwords, external locations, etc.
--
Steve Appling
Automated Logic Research Team
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email
--
Steve Appling
Automated Logic Research Team
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email