Hi, when we have a file x.properties file like
x=x y=${x} and <property name="x" value="y"/> <property file="x.properties"/> the ${y} will end up being "y", which is fine - properties are immutable. If you use <property file="x.properties" prefix="foo"/> instead, Ant 1.8.0 will set ${foo.y} to "y" as well as it doesn't apply the prefix when expanding ${x}. Ant 1.8.1 uses the prefix when expanding ${x} inside the file and thus expands ${foo.y} to "x" which makes sense in that it makes the property file self-contained. There is an open bug report against 1.8.1 that wants the old behavior back <https://issues.apache.org/bugzilla/show_bug.cgi?id=49373>. Locally I have a version of trunk that reinstates 1.8.0's behavior, but that same version breaks the AntUnit tests for <loadproperties> with a prefix attribute because the 1.8.1 way is explicitly expected here. We don't have any documentation either way. I see the following choices: (1) embrace <loadproperties prefix="..."/> way for <property file> as well and document it as a breaking change that already occured in 1.8.1 (2) make <loadproperties> prefix useless, remove it again, make <loadproperties> match <property file> of Ant 1.8.0 and earlier. (3) allow different behavior of the tasks and document it. I can't say I'd like either of the three choices too much, maybe anybody sees a different option. (1) looks most attractive to me but there doesn't seem to be a workaround if you want the old behavior back. Stefan --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@ant.apache.org For additional commands, e-mail: dev-h...@ant.apache.org