in src/main/org/apache/ant/antunit/AntUnit.java [374:413]
private Project createProjectForFile(File f) {
Project p = new Project();
if (subprojectCoreLoader != null) {
p.setCoreLoader(subprojectCoreLoader);
}
p.setDefaultInputStream(getProject().getDefaultInputStream());
p.initProperties();
p.setInputHandler(getProject().getInputHandler());
getProject().initSubProject(p);
//pass through inherited properties
for (PropertySet set : propertySets) {
@SuppressWarnings({ "unchecked", "rawtypes" })
Map<String,Object> props = (Map) set.getProperties();
for (String key : props.keySet()) {
if (MagicNames.PROJECT_BASEDIR.equals(key) || MagicNames.ANT_FILE.equals(key)) {
continue;
}
Object value = props.get(key);
if (value instanceof String && p.getProperty(key) == null) {
p.setNewProperty(key, (String) value);
}
}
}
//pass through inherited references. this code is borrowed
//with significant modification from taskdefs.Ant in Ant core.
//unfortunately the only way we can share the code directly
//would be to extend Ant (which might not be a bad idea?)
for (ReferenceSet set : referenceSets) {
set.copyReferencesInto(p);
}
p.setUserProperty(MagicNames.ANT_FILE, f.getAbsolutePath());
attachListeners(f, p);
// read build file
ProjectHelper.configureProject(p, f);
return p;
}