private Project configureSubModule()

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;
    }