Our build file uses the user.name property to let developers customize
property values. We then use -D to override user.name when doing builds for
dev/production servers. When using any version of Ant before 1.8.2 this
works without issue. With 1.8.2, user.name won't be overridden with what we
passed on the command line via -D. Other non-system properties can
be successfully overridden via -D. I did some searching in the release
notes and didn't see any changes that would cause this to happen. Is this a
known issue? Is there a way to get the old behavior back in 1.8.2?
Thanks,
Nate
Here is a simple build file to test with:
<?xml version="1.0"?>
<project name="anttest" default="test" basedir=".">
<!-- Override user.name for other properties to be loaded with a
-Duser.name=blah -->
<echo message="using properties for user.name: ${user.name} loading prop
file: properties/${user.name}.properties"/>
<property file="properties/${user.name}.properties"/>
<property name="someprop" value="setInBuild"/>
<target name="test">
<echo message="user.name = ${user.name}"/>
<echo message="java.vendor = ${java.vendor}"/>
<echo message="someprop = ${someprop}"/>
</target>
</project>