Author: olamy Date: Fri Oct 21 09:15:03 2011 New Revision: 1187230 URL: http://svn.apache.org/viewvc?rev=1187230&view=rev Log: [MTOMCAT-77] Add support for using the test classpath instead of the compile classpath with tomcat:run.
Modified: tomcat/maven-plugin/trunk/common-tomcat-maven-plugin/src/main/java/org/apache/tomcat/maven/common/run/ClassLoaderEntriesCalculatorRequest.java tomcat/maven-plugin/trunk/common-tomcat-maven-plugin/src/main/java/org/apache/tomcat/maven/common/run/DefaultClassLoaderEntriesCalculator.java tomcat/maven-plugin/trunk/tomcat6-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat6/RunMojo.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/common-tomcat-maven-plugin/src/main/java/org/apache/tomcat/maven/common/run/ClassLoaderEntriesCalculatorRequest.java URL: http://svn.apache.org/viewvc/tomcat/maven-plugin/trunk/common-tomcat-maven-plugin/src/main/java/org/apache/tomcat/maven/common/run/ClassLoaderEntriesCalculatorRequest.java?rev=1187230&r1=1187229&r2=1187230&view=diff ============================================================================== --- tomcat/maven-plugin/trunk/common-tomcat-maven-plugin/src/main/java/org/apache/tomcat/maven/common/run/ClassLoaderEntriesCalculatorRequest.java (original) +++ tomcat/maven-plugin/trunk/common-tomcat-maven-plugin/src/main/java/org/apache/tomcat/maven/common/run/ClassLoaderEntriesCalculatorRequest.java Fri Oct 21 09:15:03 2011 @@ -38,6 +38,8 @@ public class ClassLoaderEntriesCalculato private boolean addWarDependenciesInClassloader; + private boolean useTestClassPath; + public MavenProject getMavenProject() { return mavenProject; @@ -82,4 +84,15 @@ public class ClassLoaderEntriesCalculato this.addWarDependenciesInClassloader = addWarDependenciesInClassloader; return this; } + + public boolean isUseTestClassPath() + { + return useTestClassPath; + } + + public ClassLoaderEntriesCalculatorRequest setUseTestClassPath( boolean useTestClassPath ) + { + this.useTestClassPath = useTestClassPath; + return this; + } } Modified: tomcat/maven-plugin/trunk/common-tomcat-maven-plugin/src/main/java/org/apache/tomcat/maven/common/run/DefaultClassLoaderEntriesCalculator.java URL: http://svn.apache.org/viewvc/tomcat/maven-plugin/trunk/common-tomcat-maven-plugin/src/main/java/org/apache/tomcat/maven/common/run/DefaultClassLoaderEntriesCalculator.java?rev=1187230&r1=1187229&r2=1187230&view=diff ============================================================================== --- tomcat/maven-plugin/trunk/common-tomcat-maven-plugin/src/main/java/org/apache/tomcat/maven/common/run/DefaultClassLoaderEntriesCalculator.java (original) +++ tomcat/maven-plugin/trunk/common-tomcat-maven-plugin/src/main/java/org/apache/tomcat/maven/common/run/DefaultClassLoaderEntriesCalculator.java Fri Oct 21 09:15:03 2011 @@ -61,8 +61,9 @@ public class DefaultClassLoaderEntriesCa try { - @SuppressWarnings( "unchecked" ) List<String> classPathElements = - request.getMavenProject().getCompileClasspathElements(); + @SuppressWarnings( "unchecked" ) List<String> classPathElements = request.isUseTestClassPath() + ? request.getMavenProject().getTestClasspathElements() + : request.getMavenProject().getCompileClasspathElements(); if ( classPathElements != null ) { for ( String classPathElement : classPathElements ) @@ -90,7 +91,8 @@ public class DefaultClassLoaderEntriesCa String scope = artifact.getScope(); // skip provided and test scoped artifacts - if ( !Artifact.SCOPE_PROVIDED.equals( scope ) && !Artifact.SCOPE_TEST.equals( scope ) ) + if ( !Artifact.SCOPE_PROVIDED.equals( scope ) && ( !Artifact.SCOPE_TEST.equals( scope ) + || request.isUseTestClassPath() ) ) { request.getLog().debug( "add dependency to webapploader " + artifact.getGroupId() + ":" + artifact.getArtifactId() + ":" Modified: tomcat/maven-plugin/trunk/tomcat6-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat6/RunMojo.java URL: http://svn.apache.org/viewvc/tomcat/maven-plugin/trunk/tomcat6-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat6/RunMojo.java?rev=1187230&r1=1187229&r2=1187230&view=diff ============================================================================== --- tomcat/maven-plugin/trunk/tomcat6-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat6/RunMojo.java (original) +++ tomcat/maven-plugin/trunk/tomcat6-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat6/RunMojo.java Fri Oct 21 09:15:03 2011 @@ -49,7 +49,7 @@ import java.util.Set; * @version $Id: RunMojo.java 13551 2011-02-09 16:05:47Z olamy $ * @goal run * @execute phase="compile" - * @requiresDependencyResolution runtime + * @requiresDependencyResolution test */ public class RunMojo extends AbstractRunMojo @@ -108,6 +108,14 @@ public class RunMojo */ private boolean addWarDependenciesInClassloader; + /** + * will use the test classpath rather than the compile one and will add test dependencies too + * + * @parameter expression="${maven.tomcat.useTestClasspath}" default-value="false" + * @since 2.0 + */ + private boolean useTestClasspath; + private File temporaryContextFile = null; // ---------------------------------------------------------------------- @@ -150,7 +158,7 @@ public class RunMojo ClassLoaderEntriesCalculatorRequest request = new ClassLoaderEntriesCalculatorRequest().setDependencies( dependencies ).setLog( getLog() ).setMavenProject( project ).setAddWarDependenciesInClassloader( - addWarDependenciesInClassloader ); + addWarDependenciesInClassloader ).setUseTestClassPath( useTestClasspath ); List<String> classLoaderEntries = classLoaderEntriesCalculator.calculateClassPathEntries( request ); if ( classLoaderEntries != null ) 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=1187230&r1=1187229&r2=1187230&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 Oct 21 09:15:03 2011 @@ -104,6 +104,14 @@ public class RunMojo */ private boolean addWarDependenciesInClassloader; + /** + * will use the test classpath rather than the compile one and will add test dependencies too + * + * @parameter expression="${maven.tomcat.useTestClasspath}" default-value="false" + * @since 2.0 + */ + private boolean useTestClasspath; + private File temporaryContextFile = null; /** @@ -210,7 +218,7 @@ public class RunMojo ClassLoaderEntriesCalculatorRequest request = new ClassLoaderEntriesCalculatorRequest().setDependencies( dependencies ).setLog( getLog() ).setMavenProject( project ).setAddWarDependenciesInClassloader( - addWarDependenciesInClassloader ); + addWarDependenciesInClassloader ).setUseTestClassPath( useTestClasspath ); List<String> classLoaderEntries = classLoaderEntriesCalculator.calculateClassPathEntries( request ); if ( classLoaderEntries != null ) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org