Author: olamy Date: Fri Apr 13 17:08:48 2012 New Revision: 1325844 URL: http://svn.apache.org/viewvc?rev=1325844&view=rev Log: apply classic maven filtering on user context file
Modified: tomcat/maven-plugin/trunk/tomcat7-maven-plugin/pom.xml tomcat/maven-plugin/trunk/tomcat7-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat7/run/RunMojo.java Modified: tomcat/maven-plugin/trunk/tomcat7-maven-plugin/pom.xml URL: http://svn.apache.org/viewvc/tomcat/maven-plugin/trunk/tomcat7-maven-plugin/pom.xml?rev=1325844&r1=1325843&r2=1325844&view=diff ============================================================================== --- tomcat/maven-plugin/trunk/tomcat7-maven-plugin/pom.xml (original) +++ tomcat/maven-plugin/trunk/tomcat7-maven-plugin/pom.xml Fri Apr 13 17:08:48 2012 @@ -190,6 +190,12 @@ </dependency> <dependency> + <groupId>org.apache.maven.shared</groupId> + <artifactId>maven-filtering</artifactId> + <version>1.0</version> + </dependency> + + <dependency> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat-maven-plugin-it</artifactId> <scope>test</scope> 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=1325844&r1=1325843&r2=1325844&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 Fri Apr 13 17:08:48 2012 @@ -22,7 +22,11 @@ import org.apache.catalina.loader.Webapp import org.apache.commons.io.FileUtils; import org.apache.commons.lang.StringUtils; import org.apache.maven.artifact.Artifact; +import org.apache.maven.execution.MavenSession; import org.apache.maven.plugin.MojoExecutionException; +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.run.ClassLoaderEntriesCalculator; import org.apache.tomcat.maven.common.run.ClassLoaderEntriesCalculatorRequest; import org.apache.tomcat.maven.common.run.ClassLoaderEntriesCalculatorResult; @@ -126,6 +130,20 @@ public class RunMojo private File temporaryContextFile = null; /** + * + * @component role="org.apache.maven.shared.filtering.MavenFileFilter" role-hint="default" + * @required + */ + private MavenFileFilter mavenFileFilter; + + /** + * @parameter default-value="${session}" + * @readonly + * @required + */ + protected MavenSession session; + + /** * {@inheritDoc} */ @Override @@ -147,7 +165,7 @@ public class RunMojo } //---------------------------------------------------------------------------- // context attributes backgroundProcessorDelay reloadable cannot be modified at runtime. - // It looks only values from the file ared used + // It looks only values from the file are used // so here we create a temporary file with values modified //---------------------------------------------------------------------------- FileReader fr = null; @@ -157,14 +175,24 @@ public class RunMojo { temporaryContextFile = File.createTempFile( "tomcat-maven-plugin", "temp-ctx-file" ); temporaryContextFile.deleteOnExit(); - fw = new FileWriter( temporaryContextFile ); + // format to modify/create <Context backgroundProcessorDelay="5" reloadable="false"> if ( contextFile != null && contextFile.exists() ) { - fr = new FileReader( contextFile ); + MavenFileFilterRequest mavenFileFilterRequest = new MavenFileFilterRequest(); + mavenFileFilterRequest.setFrom( contextFile ); + mavenFileFilterRequest.setTo( temporaryContextFile ); + mavenFileFilterRequest.setMavenProject( project ); + mavenFileFilterRequest.setMavenSession( session ); + mavenFileFilterRequest.setFiltering( true ); + + mavenFileFilter.copyFile( mavenFileFilterRequest ); + + fr = new FileReader( temporaryContextFile ); Xpp3Dom xpp3Dom = Xpp3DomBuilder.build( fr ); xpp3Dom.setAttribute( "backgroundProcessorDelay", Integer.toString( backgroundProcessorDelay ) ); xpp3Dom.setAttribute( "reloadable", Boolean.toString( isContextReloadable() ) ); + fw = new FileWriter( temporaryContextFile ); Xpp3DomWriter.write( fw, xpp3Dom ); Xpp3DomWriter.write( sw, xpp3Dom ); getLog().debug( " generated context file " + sw.toString() ); @@ -199,6 +227,11 @@ public class RunMojo getLog().error( "error creating fake context.xml : " + e.getMessage(), e ); throw new MojoExecutionException( "error creating fake context.xml : " + e.getMessage(), e ); } + catch ( MavenFilteringException e ) + { + getLog().error( "error filtering context.xml : " + e.getMessage(), e ); + throw new MojoExecutionException( "error filtering context.xml : " + e.getMessage(), e ); + } finally { IOUtil.close( fw ); @@ -266,16 +299,16 @@ public class RunMojo { for ( String additionalClasspathDir : additionalClasspathDirs ) { - if( StringUtils.isNotBlank(additionalClasspathDir)) - { - File file = new File( additionalClasspathDir ); - if ( file.exists() ) - { - String fileUri = file.toURI().toString(); - getLog().debug( "add file:" + fileUri + " as a additionalClasspathDir" ); - loader.addRepository( fileUri ); - } - } + if ( StringUtils.isNotBlank( additionalClasspathDir ) ) + { + File file = new File( additionalClasspathDir ); + if ( file.exists() ) + { + String fileUri = file.toURI().toString(); + getLog().debug( "add file:" + fileUri + " as a additionalClasspathDir" ); + loader.addRepository( fileUri ); + } + } } } } --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org