Browse Source

Added a refid attribute to property.

Submitted by:	Vincent Bergbauer <vincent_bergbauer@yahoo.com>


git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@268042 13f79535-47bb-0310-9956-ffa450edef68
master
Stefan Bodewig 25 years ago
parent
commit
3f2688a0ed
2 changed files with 30 additions and 2 deletions
  1. +9
    -2
      docs/index.html
  2. +21
    -0
      src/main/org/apache/tools/ant/taskdefs/Property.java

+ 9
- 2
docs/index.html View File

@@ -3186,9 +3186,10 @@ resource) in the project.</p>
property cannot be set, and will be ignored. This means that properties set property cannot be set, and will be ignored. This means that properties set
outside the current project always override the properties of the current outside the current project always override the properties of the current
project.</p> project.</p>
<p>There are three ways to set properties:</p>
<p>There are four ways to set properties:</p>
<ul> <ul>
<li>By supplying both the <i>name</i> and <i>value</i> attribute.</li> <li>By supplying both the <i>name</i> and <i>value</i> attribute.</li>
<li>By supplying both the <i>name</i> and <i>refid</i> attribute.</li>
<li>By setting the <i>file</i> attribute with the filename of the property <li>By setting the <i>file</i> attribute with the filename of the property
file to load. This property file has the format as defined by the file used file to load. This property file has the format as defined by the file used
in the class java.util.Properties.</li> in the class java.util.Properties.</li>
@@ -3217,7 +3218,13 @@ This also holds for properties loaded from a property file.</p>
<tr> <tr>
<td valign="top">value</td> <td valign="top">value</td>
<td valign="top">the value of the property.</td> <td valign="top">the value of the property.</td>
<td valign="middle" align="center" rowspan="3">Yes</td>
<td valign="middle" align="center" rowspan="4">Yes</td>
</tr>
<tr>
<td valign="top">refid</td>
<td valign="top"><a href="#references">Reference</a> to an object
defined elsewhere. Only yields reasonable results for references
to <a href="#path">PATH like structures</a> or properties.</td>
</tr> </tr>
<tr> <tr>
<td valign="top">resource</td> <td valign="top">resource</td>


+ 21
- 0
src/main/org/apache/tools/ant/taskdefs/Property.java View File

@@ -55,6 +55,7 @@
package org.apache.tools.ant.taskdefs; package org.apache.tools.ant.taskdefs;


import org.apache.tools.ant.*; import org.apache.tools.ant.*;
import org.apache.tools.ant.types.Reference;
import java.io.*; import java.io.*;
import java.util.*; import java.util.*;


@@ -72,6 +73,7 @@ public class Property extends Task {
String value; String value;
File file; File file;
String resource; String resource;
private Reference ref = null;


boolean userProperty=false; // set read-only properties boolean userProperty=false; // set read-only properties


@@ -99,6 +101,14 @@ public class Property extends Task {
return file; return file;
} }


public void setRefid(Reference ref) {
this.ref = ref;
}

public Reference getRefid() {
return ref;
}

public void setResource(String resource) { public void setResource(String resource) {
this.resource = resource; this.resource = resource;
} }
@@ -107,6 +117,10 @@ public class Property extends Task {
return resource; return resource;
} }


public String toString() {
return value == null ? "" : value;
}

public void execute() throws BuildException { public void execute() throws BuildException {
try { try {
if ((name != null) && (value != null)) { if ((name != null) && (value != null)) {
@@ -117,6 +131,13 @@ public class Property extends Task {


if (resource != null) loadResource(resource); if (resource != null) loadResource(resource);


if ((name != null) && (ref != null)) {
Object obj = ref.getReferencedObject(getProject());
if (obj != null) {
addProperty(name, obj.toString());
}
}

} catch (Exception e) { } catch (Exception e) {
throw new BuildException(e, location); throw new BuildException(e, location);
} }


Loading…
Cancel
Save