Author: olamy
Date: Wed Jan 30 15:35:49 2013
New Revision: 1440473

URL: http://svn.apache.org/viewvc?rev=1440473&view=rev
Log:
[MTOMCAT-128] The plugin ignores and/or parses web.xml incorrectally when using 
tomcatWebXml option

Modified:
    tomcat/maven-plugin/trunk/tomcat6-maven-plugin/pom.xml
    
tomcat/maven-plugin/trunk/tomcat6-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat6/AbstractRunMojo.java
    
tomcat/maven-plugin/trunk/tomcat7-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat7/run/AbstractRunMojo.java
    
tomcat/maven-plugin/trunk/tomcat7-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat7/run/RunMojo.java

Modified: tomcat/maven-plugin/trunk/tomcat6-maven-plugin/pom.xml
URL: 
http://svn.apache.org/viewvc/tomcat/maven-plugin/trunk/tomcat6-maven-plugin/pom.xml?rev=1440473&r1=1440472&r2=1440473&view=diff
==============================================================================
--- tomcat/maven-plugin/trunk/tomcat6-maven-plugin/pom.xml (original)
+++ tomcat/maven-plugin/trunk/tomcat6-maven-plugin/pom.xml Wed Jan 30 15:35:49 
2013
@@ -164,6 +164,17 @@
       <scope>runtime</scope>
     </dependency>
     <dependency>
+      <groupId>org.apache.maven.shared</groupId>
+      <artifactId>maven-filtering</artifactId>
+      <version>1.0</version>
+      <exclusions>
+        <exclusion>
+          <groupId>nekohtml</groupId>
+          <artifactId>xercesMinimal</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
       <groupId>org.apache.tomcat.maven</groupId>
       <artifactId>tomcat-maven-plugin-it</artifactId>
       <scope>test</scope>

Modified: 
tomcat/maven-plugin/trunk/tomcat6-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat6/AbstractRunMojo.java
URL: 
http://svn.apache.org/viewvc/tomcat/maven-plugin/trunk/tomcat6-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat6/AbstractRunMojo.java?rev=1440473&r1=1440472&r2=1440473&view=diff
==============================================================================
--- 
tomcat/maven-plugin/trunk/tomcat6-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat6/AbstractRunMojo.java
 (original)
+++ 
tomcat/maven-plugin/trunk/tomcat6-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat6/AbstractRunMojo.java
 Wed Jan 30 15:35:49 2013
@@ -40,11 +40,15 @@ import org.apache.maven.artifact.resolve
 import org.apache.maven.artifact.resolver.filter.ScopeArtifactFilter;
 import 
org.apache.maven.artifact.versioning.InvalidVersionSpecificationException;
 import org.apache.maven.artifact.versioning.VersionRange;
+import org.apache.maven.execution.MavenSession;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.MojoFailureException;
 import org.apache.maven.plugins.annotations.Component;
 import org.apache.maven.plugins.annotations.Parameter;
 import org.apache.maven.project.MavenProject;
+import org.apache.maven.shared.filtering.MavenFileFilter;
+import org.apache.maven.shared.filtering.MavenFileFilterRequest;
+import org.apache.maven.shared.filtering.MavenFilteringException;
 import org.apache.tomcat.maven.common.config.AbstractWebapp;
 import org.apache.tomcat.maven.common.run.EmbeddedRegistry;
 import org.codehaus.plexus.archiver.ArchiverException;
@@ -418,6 +422,12 @@ public abstract class AbstractRunMojo
     @Parameter
     protected String classLoaderClass;
 
+    @Parameter( defaultValue = "${session}", readonly = true, required = true )
+    protected MavenSession session;
+
+    @Component( role = MavenFileFilter.class, hint = "default" )
+    protected MavenFileFilter mavenFileFilter;
+
     // ----------------------------------------------------------------------
     // Mojo Implementation
     // ----------------------------------------------------------------------
@@ -465,6 +475,10 @@ public abstract class AbstractRunMojo
             throw new MojoExecutionException(
                 messagesProvider.getMessage( 
"AbstractRunMojo.cannotCreateConfiguration" ), exception );
         }
+        catch ( MavenFilteringException e )
+        {
+            throw new MojoExecutionException( "filtering issue: " + 
e.getMessage(), e );
+        }
         finally
         {
             if ( useSeparateTomcatClassLoader )
@@ -642,7 +656,7 @@ public abstract class AbstractRunMojo
      * @throws MojoExecutionException if the Tomcat configuration could not be 
created
      */
     private void initConfiguration()
-        throws IOException, MojoExecutionException
+        throws IOException, MojoExecutionException, MavenFilteringException
     {
         if ( configurationDir.exists() )
         {
@@ -667,7 +681,15 @@ public abstract class AbstractRunMojo
                 }
                 //MTOMCAT-42  here it's a real file resources not a one coming 
with the mojo 
                 FileUtils.copyFile( tomcatWebXml, new File( confDir, "web.xml" 
) );
-                //copyFile( tomcatWebXml.getPath(), new File( confDir, 
"web.xml" ) );
+                //MTOMCAT-128 apply filtering
+                MavenFileFilterRequest mavenFileFilterRequest = new 
MavenFileFilterRequest();
+                mavenFileFilterRequest.setFrom( tomcatWebXml );
+                mavenFileFilterRequest.setTo( new File( confDir, "web.xml" ) );
+                mavenFileFilterRequest.setMavenProject( project );
+                mavenFileFilterRequest.setMavenSession( session );
+                mavenFileFilterRequest.setFiltering( true );
+
+                mavenFileFilter.copyFile( mavenFileFilterRequest );
             }
             else
             {

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=1440473&r1=1440472&r2=1440473&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
 Wed Jan 30 15:35:49 2013
@@ -48,6 +48,9 @@ import org.apache.maven.plugin.MojoFailu
 import org.apache.maven.plugins.annotations.Component;
 import org.apache.maven.plugins.annotations.Parameter;
 import org.apache.maven.project.MavenProject;
+import org.apache.maven.shared.filtering.MavenFileFilter;
+import org.apache.maven.shared.filtering.MavenFileFilterRequest;
+import org.apache.maven.shared.filtering.MavenFilteringException;
 import org.apache.naming.NamingEntry;
 import org.apache.naming.resources.FileDirContext;
 import org.apache.tomcat.maven.common.config.AbstractWebapp;
@@ -455,11 +458,15 @@ public abstract class AbstractRunMojo
 
     /**
      * enable client authentication for https (if configured)
+     *
      * @since 2.1
      */
     @Parameter( property = "maven.tomcat.https.clientAuth", defaultValue = 
"false" )
     protected boolean clientAuth = false;
 
+    @Component( role = MavenFileFilter.class, hint = "default" )
+    protected MavenFileFilter mavenFileFilter;
+
     // ----------------------------------------------------------------------
     // Fields
     // ----------------------------------------------------------------------
@@ -519,6 +526,10 @@ public abstract class AbstractRunMojo
         {
             throw new MojoExecutionException( e.getMessage(), e );
         }
+        catch ( MavenFilteringException e )
+        {
+            throw new MojoExecutionException( "filtering issue: " + 
e.getMessage(), e );
+        }
         finally
         {
             if ( useSeparateTomcatClassLoader )
@@ -816,7 +827,7 @@ public abstract class AbstractRunMojo
      * @throws MojoExecutionException if the Tomcat configuration could not be 
created
      */
     private void initConfiguration()
-        throws IOException, MojoExecutionException
+        throws IOException, MojoExecutionException, MavenFilteringException
     {
         if ( configurationDir.exists() )
         {
@@ -848,7 +859,16 @@ public abstract class AbstractRunMojo
                     throw new MojoExecutionException( " tomcatWebXml " + 
tomcatWebXml.getPath() + " not exists" );
                 }
                 //MTOMCAT-42  here it's a real file resources not a one coming 
with the mojo
-                FileUtils.copyFile( tomcatWebXml, new File( confDir, "web.xml" 
) );
+                //MTOMCAT-128 apply filtering
+                MavenFileFilterRequest mavenFileFilterRequest = new 
MavenFileFilterRequest();
+                mavenFileFilterRequest.setFrom( tomcatWebXml );
+                mavenFileFilterRequest.setTo( new File( confDir, "web.xml" ) );
+                mavenFileFilterRequest.setMavenProject( project );
+                mavenFileFilterRequest.setMavenSession( session );
+                mavenFileFilterRequest.setFiltering( true );
+
+                mavenFileFilter.copyFile( mavenFileFilterRequest );
+
             }
             else
             {

Modified: 
tomcat/maven-plugin/trunk/tomcat7-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat7/run/RunMojo.java
URL: 
http://svn.apache.org/viewvc/tomcat/maven-plugin/trunk/tomcat7-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat7/run/RunMojo.java?rev=1440473&r1=1440472&r2=1440473&view=diff
==============================================================================
--- 
tomcat/maven-plugin/trunk/tomcat7-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat7/run/RunMojo.java
 (original)
+++ 
tomcat/maven-plugin/trunk/tomcat7-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat7/run/RunMojo.java
 Wed Jan 30 15:35:49 2013
@@ -118,9 +118,6 @@ public class RunMojo
     @Parameter( alias = "additionalClassesDirs" )
     private List<String> additionalClasspathDirs;
 
-    @Component( role = MavenFileFilter.class, hint = "default" )
-    private MavenFileFilter mavenFileFilter;
-
     /**
      * {@inheritDoc}
      */



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

Reply via email to