You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ol...@apache.org on 2011/10/21 11:15:03 UTC

svn commit: r1187230 - in /tomcat/maven-plugin/trunk: common-tomcat-maven-plugin/src/main/java/org/apache/tomcat/maven/common/run/ tomcat6-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat6/ tomcat7-maven-plugin/src/main/java/org/apache/...

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-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org