in src/main/java/org/apache/easyant/tasks/SubModule.java [249:289]
private Project configureSubModule(File file, File directory) {
Project subModule = getProject().createSubProject();
subModule.setNewProperty(EasyAntMagicNames.SUBMODULE, "true");
subModule.setJavaVersionProperty();
for (BuildListener buildListener : getProject().getBuildListeners()) {
subModule.addBuildListener(buildListener);
}
// copy all User properties
addAlmostAll(getProject().getUserProperties(), subModule, PropertyType.USER);
// inherit meta.target directory, for shared build repository.
String metaTarget = getProject().getProperty(EasyAntMagicNames.META_TARGET);
if (metaTarget != null) {
File metaDir = getProject().resolveFile(metaTarget);
subModule.setNewProperty(EasyAntMagicNames.META_TARGET, metaDir.getAbsolutePath());
}
// inherit easyant offline base
String offlineBaseDir = getProject().getProperty(EasyAntMagicNames.OFFLINE_BASE_DIRECTORY);
if (offlineBaseDir != null) {
subModule.setInheritedProperty(EasyAntMagicNames.OFFLINE_BASE_DIRECTORY, offlineBaseDir);
}
subModule.initProperties();
// copy nested properties
for (PropertySet ps : propertySets) {
addAlmostAll(ps.getProperties(), subModule, PropertyType.PLAIN);
}
overrideProperties(subModule);
addReferences(subModule);
getEasyAntEngine().configureEasyAntIvyInstance(subModule);
subModule.addReference(EasyAntMagicNames.PLUGIN_SERVICE_INSTANCE,
getProject().getReference(EasyAntMagicNames.PLUGIN_SERVICE_INSTANCE));
subModule.setName(file.getName());
subModule.setBaseDir(directory);
return subModule;
}