public void buildWebapp()

in src/main/java/org/apache/maven/plugins/war/AbstractWarMojo.java [467:530]


    public void buildWebapp(MavenProject mavenProject, File webapplicationDirectory)
            throws MojoExecutionException, MojoFailureException, IOException {

        WebappStructure structure = new WebappStructure(mavenProject.getDependencies());

        // CHECKSTYLE_OFF: LineLength
        final long startTime = System.currentTimeMillis();
        getLog().info("Assembling webapp [" + mavenProject.getArtifactId() + "] in [" + webapplicationDirectory + "]");

        final OverlayManager overlayManager = new OverlayManager(
                overlays, mavenProject, getDependentWarIncludes(), getDependentWarExcludes(), currentProjectOverlay);
        // CHECKSTYLE_ON: LineLength
        List<FilterWrapper> defaultFilterWrappers;
        try {
            MavenResourcesExecution mavenResourcesExecution = new MavenResourcesExecution();
            mavenResourcesExecution.setEscapeString(escapeString);
            mavenResourcesExecution.setSupportMultiLineFiltering(supportMultiLineFiltering);
            mavenResourcesExecution.setMavenProject(mavenProject);

            // if these are NOT set, just use the defaults, which are '${*}' and '@'.
            mavenResourcesExecution.setDelimiters(delimiters, useDefaultDelimiters);

            if (nonFilteredFileExtensions != null) {
                mavenResourcesExecution.setNonFilteredFileExtensions(nonFilteredFileExtensions);
            }

            if (filters == null) {
                filters = getProject().getBuild().getFilters();
            }
            mavenResourcesExecution.setFilters(filters);
            mavenResourcesExecution.setEscapedBackslashesInFilePath(escapedBackslashesInFilePath);
            mavenResourcesExecution.setMavenSession(this.session);
            mavenResourcesExecution.setEscapeString(this.escapeString);
            mavenResourcesExecution.setSupportMultiLineFiltering(supportMultiLineFiltering);

            defaultFilterWrappers = mavenFileFilter.getDefaultFilterWrappers(mavenResourcesExecution);

        } catch (MavenFilteringException e) {
            getLog().error("fail to build filtering wrappers " + e.getMessage());
            throw new MojoExecutionException(e.getMessage(), e);
        }

        final WarPackagingContext context = new DefaultWarPackagingContext(
                webapplicationDirectory,
                structure,
                overlayManager,
                defaultFilterWrappers,
                getNonFilteredFileExtensions(),
                filteringDeploymentDescriptors,
                this.artifactFactory,
                resourceEncoding,
                propertiesEncoding,
                useJvmChmod,
                failOnMissingWebXml,
                outputTimestamp);

        final List<WarPackagingTask> packagingTasks = getPackagingTasks(overlayManager);

        for (WarPackagingTask warPackagingTask : packagingTasks) {
            warPackagingTask.performPackaging(context);
        }

        getLog().debug("Webapp assembled in [" + (System.currentTimeMillis() - startTime) + " msecs]");
    }