Author: olamy
Date: Tue Jul 31 07:02:21 2012
New Revision: 1367432

URL: http://svn.apache.org/viewvc?rev=1367432&view=rev
Log:
[MTOMCAT-169] Unable to Deploy WAR Defined via "webapps" Declaration
Submitted by Josh Harness.
Patch modified to preserve backward comp.

Modified:
    
tomcat/maven-plugin/trunk/common-tomcat-maven-plugin/src/main/java/org/apache/tomcat/maven/common/config/AbstractWebapp.java
    
tomcat/maven-plugin/trunk/tomcat7-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat7/run/AbstractRunMojo.java

Modified: 
tomcat/maven-plugin/trunk/common-tomcat-maven-plugin/src/main/java/org/apache/tomcat/maven/common/config/AbstractWebapp.java
URL: 
http://svn.apache.org/viewvc/tomcat/maven-plugin/trunk/common-tomcat-maven-plugin/src/main/java/org/apache/tomcat/maven/common/config/AbstractWebapp.java?rev=1367432&r1=1367431&r2=1367432&view=diff
==============================================================================
--- 
tomcat/maven-plugin/trunk/common-tomcat-maven-plugin/src/main/java/org/apache/tomcat/maven/common/config/AbstractWebapp.java
 (original)
+++ 
tomcat/maven-plugin/trunk/common-tomcat-maven-plugin/src/main/java/org/apache/tomcat/maven/common/config/AbstractWebapp.java
 Tue Jul 31 07:02:21 2012
@@ -64,6 +64,8 @@ public class AbstractWebapp
 
     private File contextFile;
 
+    private boolean asWebapp = false;
+
     public AbstractWebapp()
     {
         super();
@@ -163,4 +165,13 @@ public class AbstractWebapp
         return contextFile;
     }
 
+    public boolean isAsWebapp()
+    {
+        return asWebapp;
+    }
+
+    public void setAsWebapp( boolean asWebapp )
+    {
+        this.asWebapp = asWebapp;
+    }
 }
\ No newline at end of file

Modified: 
tomcat/maven-plugin/trunk/tomcat7-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat7/run/AbstractRunMojo.java
URL: 
http://svn.apache.org/viewvc/tomcat/maven-plugin/trunk/tomcat7-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat7/run/AbstractRunMojo.java?rev=1367432&r1=1367431&r2=1367432&view=diff
==============================================================================
--- 
tomcat/maven-plugin/trunk/tomcat7-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat7/run/AbstractRunMojo.java
 (original)
+++ 
tomcat/maven-plugin/trunk/tomcat7-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat7/run/AbstractRunMojo.java
 Tue Jul 31 07:02:21 2012
@@ -1165,7 +1165,7 @@ public abstract class AbstractRunMojo
      * @return dependency tomcat contexts of warfiles in scope "tomcat"
      */
     private Collection<Context> createDependencyContexts( Tomcat container )
-        throws MojoExecutionException, MalformedURLException
+        throws MojoExecutionException, MalformedURLException, ServletException
     {
         getLog().info( "Deploying dependency wars" );
         // Let's add other modules
@@ -1180,7 +1180,7 @@ public abstract class AbstractRunMojo
             // provided scope, not is it optional
             if ( "war".equals( artifact.getType() ) && !artifact.isOptional() 
&& filter.include( artifact ) )
             {
-                addContextFromArtifact( container, contexts, artifact, "/" + 
artifact.getArtifactId(), null );
+                addContextFromArtifact( container, contexts, artifact, "/" + 
artifact.getArtifactId(), null, false );
             }
         }
 
@@ -1192,15 +1192,15 @@ public abstract class AbstractRunMojo
                 contextPath = "/" + contextPath;
             }
             addContextFromArtifact( container, contexts, getArtifact( 
additionalWebapp ), contextPath,
-                                    additionalWebapp.getContextFile() );
+                                    additionalWebapp.getContextFile(), 
additionalWebapp.isAsWebapp() );
         }
         return contexts;
     }
 
 
     private void addContextFromArtifact( Tomcat container, List<Context> 
contexts, Artifact artifact,
-                                         String contextPath, File contextXml )
-        throws MojoExecutionException, MalformedURLException
+                                         String contextPath, File contextXml, 
boolean asWebApp )
+        throws MojoExecutionException, MalformedURLException, ServletException
     {
         getLog().info( "Deploy warfile: " + String.valueOf( artifact.getFile() 
) + " to contextPath: " + contextPath );
         File webapps = new File( configurationDir, "webapps" );
@@ -1230,7 +1230,15 @@ public abstract class AbstractRunMojo
             }
         }
         WebappLoader webappLoader = new WebappLoader( 
Thread.currentThread().getContextClassLoader() );
-        Context context = container.addContext( contextPath, 
artifactWarDir.getAbsolutePath() );
+        Context context = null;
+        if ( asWebApp )
+        {
+            context = container.addWebapp( contextPath, 
artifactWarDir.getAbsolutePath() );
+        }
+        else
+        {
+            context = container.addContext( contextPath, 
artifactWarDir.getAbsolutePath() );
+        }
         context.setLoader( webappLoader );
 
         File contextFile = contextXml != null ? contextXml : getContextFile();



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to