void assembleEAR()

in src/main/groovy/com/epam/atg/gradle/assemble/AssembleATGTask.groovy [56:121]


    void assembleEAR() {
        if (!dynamoRoot) {
            dynamoRoot = project.property(ATGPluginConstants.PROJECT_ATG_ROOT_PROPERTY)
            if (!dynamoRoot) {
                throw new IllegalArgumentException('"dynamoRoot" is required property.')
            }
        }
        List<File> tempLinks = []
        Map atgRootModules = ProjectUtils.getAtgRootProjectsPathsWithModulesNames(project)
        atgRootModules.each { String projectPath, String moduleName ->
            File atgModuleFile = new File("$dynamoRoot/$moduleName")
            if (!atgModuleFile.exists()) {
                Project rootAtgProject = project.project(projectPath)
                FileUtils.createLink(atgModuleFile, rootAtgProject.projectDir)
                tempLinks.add(atgModuleFile)
                project.logger.info('Added temporary link from {} to {}', rootAtgProject.projectDir, atgModuleFile)
            }
        }

        project.ant.taskdef(name: 'assembleEAR',
                classname: 'atg.appassembly.ant.CreateUnpackedEarTask',
                classpath: "$dynamoRoot/home/lib/assembler.jar")

        Map assemblerEARTaskParameters = [
                //required
                destinationFile   : destinationFile,
                dynamoModules     : dynamoModules,
                dynamoRoot        : dynamoRoot,

                //optional
                addEarFile        : addEarFile,
                collapseClasspath : collapseClasspath,
                contextRootsFile  : contextRootsFile,
                displayName       : displayName,
                displayVariable   : displayVariable,
                dynamoEnvPropsFile: dynamoEnvPropsFile,
                layer             : layer,
                liveConfig        : liveConfig,
                overwrite         : overwrite,
                prependJars       : prependJars,
                serverName        : serverName,
                standalone        : standalone,

                //optional for atg 11, does not exists for atg < 11
                jboss             : jboss,

                omitLicenses      : omitLicenses
        ]
        List definedKeys = assemblerEARTaskParameters.findAll {
            (it.value != null && ((it.value instanceof String && !((String) it.value).isEmpty()) || !it.value instanceof String))
        }.collect {
            it.key
        }
        assemblerEARTaskParameters = assemblerEARTaskParameters.subMap(definedKeys)
        println(assemblerEARTaskParameters)
        try {
            project.ant.assembleEAR(assemblerEARTaskParameters) {
                assemblerEARTaskParameters
            }
        } finally {
            for (File link in tempLinks) {
                link.delete()
                project.logger.info('Removed temporary link {}', link)
            }
        }
    }