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