Browse Source

Fix handling of $$ in properties

PR:
Obtained from:
Submitted by:
Reviewed by:


git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@267697 13f79535-47bb-0310-9956-ffa450edef68
master
Conor MacNeill 25 years ago
parent
commit
b8678d9774
2 changed files with 9 additions and 5 deletions
  1. +7
    -2
      src/main/org/apache/tools/ant/ProjectHelper.java
  2. +2
    -3
      src/main/org/apache/tools/ant/taskdefs/Property.java

+ 7
- 2
src/main/org/apache/tools/ant/ProjectHelper.java View File

@@ -484,9 +484,14 @@ public class ProjectHelper {
// assert value!=nil
int pos;
while( (pos=value.indexOf( "$", prev )) >= 0 ) {
if(pos>0)
if(pos>0) {
sb.append( value.substring( prev, pos ) );
if( value.charAt( pos + 1 ) != '{' ) {
}
if( pos == (value.length() - 1)) {
sb.append('$');
prev = pos + 1;
}
else if (value.charAt( pos + 1 ) != '{' ) {
sb.append( value.charAt( pos + 1 ) );
prev=pos+2; // XXX
} else {


+ 2
- 3
src/main/org/apache/tools/ant/taskdefs/Property.java View File

@@ -101,17 +101,16 @@ public class Property extends Task {
public void init() throws BuildException {
try {
if ((name != null) && (value != null)) {
String v = ProjectHelper.replaceProperties(value, project.getProperties());
if( userProperty )
if (project.getUserProperty(name) == null) {
project.setUserProperty(name, v);
project.setUserProperty(name, value);
} else {
project.log("Override ignored for " + name,
project.MSG_VERBOSE);
}
else
if (project.getProperty(name) == null) {
project.setProperty(name, v);
project.setProperty(name, value);
} else {
project.log("Override ignored for " + name,
project.MSG_VERBOSE);


Loading…
Cancel
Save