Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  package org.codehaus.mojo.gwt.webxml;
  
  /*
   * Licensed to the Apache Software Foundation (ASF) under one
   * or more contributor license agreements.  See the NOTICE file
   * distributed with this work for additional information
   * regarding copyright ownership.  The ASF licenses this file
   * to you under the Apache License, Version 2.0 (the
   * "License"); you may not use this file except in compliance
  * with the License.  You may obtain a copy of the License at
  *
  *   http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing,
  * software distributed under the License is distributed on an
  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  * KIND, either express or implied.  See the License for the
  * specific language governing permissions and limitations
  * under the License.
  */
 
 import java.io.File;
 import java.net.URL;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
Merges GWT servlet elements into deployment descriptor (and non GWT servlets into shell).

If you use scanRemoteServiceRelativePathAnnotation you must bind this mojo to at least compile phase Because the classpath scanner need to see compile classes

Author(s):
cooper
Version:
$Id$
Goal:
mergewebxml
Phase:
process-resources
RequiresDependencyResolution:
compile
Description:
Merges GWT servlet elements into deployment descriptor (and non GWT servlets into shell).
 
 public class MergeWebXmlMojo
     extends AbstractGwtWebMojo
 {

    
Location on filesystem where merged web.xml will be created. The maven-war-plugin must be configured to use this path as webXml parameter

Parameter:
default-value="${project.build.directory}/web.xml"
 
     private File mergedWebXml;
    
    

Since:
2.1.0-1
Parameter:
default-value="false"
     
     private boolean scanRemoteServiceRelativePathAnnotation;
    
    

Since:
2.1.0-1
Parameter:
 
     private Map<String,StringpackageNamePerModule;
    
    

Since:
2.1.0-1
Component:
Required:
Readonly:
 
Creates a new instance of MergeWebXmlMojo
 
     public MergeWebXmlMojo()
     {
         super();
     }
 
     public void doExecute()
     {
    	if ( "pom".equalsgetProject().getPackaging() ) )
        {
    		getLog().info"GWT mergewebxml is skipped" );
    		return;
    	}
        try
        {
            if ( !.exists() )
            {
                .getParentFile().mkdirs();
                .createNewFile();
            }
            FileUtils.copyFilegetWebXml(),  );
            Set<ServletDescriptorservlets = new LinkedHashSet<ServletDescriptor>();
            
            for ( String module : getModules() )
            {
                GwtModule gwtModule = readModulemodule );
                Map<StringStringmoduleServlets = isWebXmlServletPathAsIs() ? gwtModule.getServlets"" )
                                                                              : gwtModule.getServlets();
                getLog().debug"merge " + moduleServlets.size() + " servlets from module " + module );
                for ( Map.Entry<StringStringservlet : moduleServlets.entrySet() )
                {
                    servlets.addnew ServletDescriptorservlet.getKey(), servlet.getValue() ) );
                }
                if (  &&  != null )
                {
                    String packageName = .getgwtModule.getName() );
                    if ( StringUtils.isBlankpackageName ) )
                    {
                        // here with try with the rename-to value
                        packageName = .getgwtModule.getPath() );
                    }
                    if ( StringUtils.isNotBlankpackageName ) )
                    {
                        getLog().debug"search annotated servlet with package name " + packageName + " in module "
                                            + gwtModule.getName() );
                        Set<ServletDescriptorannotatedServlets = 
                            .findServletspackageNameisWebXmlServletPathAsIs() ? null : gwtModule.getPath(), getAnnotationSearchClassLoader() );
                        servlets.addAllannotatedServlets );
                    } else
                    {
                        getLog().debug"cannot find package name for module " + gwtModule.getName() + " or path "
                                            + gwtModule.getPath() );
                    }
                }
            }
            new GwtWebInfProcessor().processservlets );
            getLog().infoservlets.size() + " servlet(s) merged into " +  );
        }
        catch ( Exception e )
        {
            throw new MojoExecutionException"Unable to merge web.xml"e );
        }
    }
    
    {
        Collection<FileclassPathFiles = .buildClasspathListgetProject(), ., Collections.<Artifact>emptySet() );
        List<URLurls = new ArrayList<URL>( classPathFiles.size() );
        for ( File file : classPathFiles )
        {
            urls.addfile.toURL() );
        }
        URLClassLoader url = new URLClassLoaderurls.toArraynew URL[urls.size()] ) );
        return url;
    }
New to GrepCode? Check out our FAQ X