|
|
@@ -36,6 +36,7 @@ import java.util.Vector; |
|
|
|
import org.apache.tools.ant.input.DefaultInputHandler; |
|
|
|
import org.apache.tools.ant.input.InputHandler; |
|
|
|
import org.apache.tools.ant.launch.AntMain; |
|
|
|
import org.apache.tools.ant.property.GetProperty; |
|
|
|
import org.apache.tools.ant.property.ResolvePropertyMap; |
|
|
|
import org.apache.tools.ant.util.ClasspathUtils; |
|
|
|
import org.apache.tools.ant.util.FileUtils; |
|
|
@@ -147,6 +148,17 @@ public class Main implements AntMain { |
|
|
|
* proxy flag: default is false |
|
|
|
*/ |
|
|
|
private boolean proxy = false; |
|
|
|
|
|
|
|
|
|
|
|
private static final GetProperty NOPROPERTIES = new GetProperty(){ |
|
|
|
@Override |
|
|
|
public Object getProperty(String aName) { |
|
|
|
// No existing property takes precedence |
|
|
|
return null; |
|
|
|
}}; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
* Prints the message of the Throwable if it (the message) is not |
|
|
@@ -760,30 +772,7 @@ public class Main implements AntMain { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
project.init(); |
|
|
|
|
|
|
|
// resolve properties |
|
|
|
PropertyHelper propertyHelper |
|
|
|
= (PropertyHelper) PropertyHelper.getPropertyHelper(project); |
|
|
|
HashMap props = new HashMap(definedProps); |
|
|
|
new ResolvePropertyMap(project, propertyHelper, |
|
|
|
propertyHelper.getExpanders()) |
|
|
|
.resolveAllProperties(props, null, false); |
|
|
|
|
|
|
|
// set user-define properties |
|
|
|
for (Iterator e = props.entrySet().iterator(); e.hasNext(); ) { |
|
|
|
Map.Entry ent = (Map.Entry) e.next(); |
|
|
|
String arg = (String) ent.getKey(); |
|
|
|
Object value = ent.getValue(); |
|
|
|
project.setUserProperty(arg, String.valueOf(value)); |
|
|
|
} |
|
|
|
|
|
|
|
project.setUserProperty(MagicNames.ANT_FILE, |
|
|
|
buildFile.getAbsolutePath()); |
|
|
|
project.setUserProperty(MagicNames.ANT_FILE_TYPE, |
|
|
|
MagicNames.ANT_FILE_TYPE_FILE); |
|
|
|
setProperties(project); |
|
|
|
|
|
|
|
project.setKeepGoingMode(keepGoingMode); |
|
|
|
if (proxy) { |
|
|
@@ -849,6 +838,33 @@ public class Main implements AntMain { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
private void setProperties(final Project project) { |
|
|
|
|
|
|
|
project.init(); |
|
|
|
|
|
|
|
// resolve properties |
|
|
|
PropertyHelper propertyHelper = (PropertyHelper) PropertyHelper |
|
|
|
.getPropertyHelper(project); |
|
|
|
HashMap props = new HashMap(definedProps); |
|
|
|
|
|
|
|
ResolvePropertyMap resolver = new ResolvePropertyMap(project, |
|
|
|
NOPROPERTIES, propertyHelper.getExpanders()); |
|
|
|
resolver.resolveAllProperties(props, null, false); |
|
|
|
|
|
|
|
// set user-define properties |
|
|
|
for (Iterator e = props.entrySet().iterator(); e.hasNext(); ) { |
|
|
|
Map.Entry ent = (Map.Entry) e.next(); |
|
|
|
String arg = (String) ent.getKey(); |
|
|
|
Object value = ent.getValue(); |
|
|
|
project.setUserProperty(arg, String.valueOf(value)); |
|
|
|
} |
|
|
|
|
|
|
|
project.setUserProperty(MagicNames.ANT_FILE, |
|
|
|
buildFile.getAbsolutePath()); |
|
|
|
project.setUserProperty(MagicNames.ANT_FILE_TYPE, |
|
|
|
MagicNames.ANT_FILE_TYPE_FILE); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* Adds the listeners specified in the command line arguments, |
|
|
|
* along with the default listener, to the specified project. |
|
|
|