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: [email protected]
For additional commands, e-mail: [email protected]