vmassol     2004/08/15 08:02:27

  Modified:    
integration/ant/src/test/org/apache/cactus/integration/ant/container/resin
                        TestResin3xTask.java
               
integration/ant/src/java/org/apache/cactus/integration/ant/container/resin
                        AbstractResinTask.java
               integration/ant build.xml
               
integration/ant/src/test-input/org/apache/cactus/integration/ant/container/resin
                        test-resin3x.xml
  Log:
  Added nested <containerclasspath> element for the <resin2x|3x> task and use it to 
pass the clover jar if clover is enabled during the build.
  
  Revision  Changes    Path
  1.2       +10 -1     
jakarta-cactus/integration/ant/src/test/org/apache/cactus/integration/ant/container/resin/TestResin3xTask.java
  
  Index: TestResin3xTask.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-cactus/integration/ant/src/test/org/apache/cactus/integration/ant/container/resin/TestResin3xTask.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- TestResin3xTask.java      31 May 2004 20:05:23 -0000      1.1
  +++ TestResin3xTask.java      15 Aug 2004 15:02:27 -0000      1.2
  @@ -69,6 +69,15 @@
           // for testing. Useful if a server is already started on that port.
           getProject().setProperty("cactus.port", 
               System.getProperty("cactus.port", "8080"));
  +
  +        // Pass clover setting
  +        String cloverEnabled = System.getProperty("clover.enable");
  +        if (cloverEnabled != null)
  +        {
  +            getProject().setProperty("clover.enable", cloverEnabled);
  +            getProject().setProperty("clover.jar",
  +                System.getProperty("clover.jar"));
  +        }
       }
   
       // Test Methods ------------------------------------------------------------
  
  
  
  1.2       +30 -3     
jakarta-cactus/integration/ant/src/java/org/apache/cactus/integration/ant/container/resin/AbstractResinTask.java
  
  Index: AbstractResinTask.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-cactus/integration/ant/src/java/org/apache/cactus/integration/ant/container/resin/AbstractResinTask.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- AbstractResinTask.java    31 May 2004 20:05:22 -0000      1.1
  +++ AbstractResinTask.java    15 Aug 2004 15:02:27 -0000      1.2
  @@ -28,10 +28,12 @@
   import org.apache.cactus.integration.ant.util.DefaultAntTaskFactory;
   import org.apache.tools.ant.BuildException;
   import org.apache.tools.ant.Task;
  +import org.apache.tools.ant.types.Path;
   
   /**
    * Task to start/stop a Resin instance.
    * 
  + * @since Cactus 1.7
    * @version $Id$
    */
   public abstract class AbstractResinTask extends Task
  @@ -89,7 +91,13 @@
        * or the existing file should be truncated.
        */
       private boolean append;
  -    
  +
  +    /**
  +     * Additional classpath entries for the classpath that will be used to 
  +     * start the containers.
  +     */
  +    private Path containerClasspath;
  +
       /**
        * Sets the Resin installation directory.
        * 
  @@ -257,7 +265,10 @@
           container.setAntTaskFactory(new DefaultAntTaskFactory(
               getProject(), getTaskName(), getLocation(), getOwningTarget()));
           container.setPort(getPort());
  -
  +        
  +        // Add specific additional user-defined classpath
  +        container.setContainerClasspath(this.containerClasspath);
  +        
           if (getResinConf() != null)
           {
               container.setResinConf(getResinConf());
  @@ -400,4 +411,20 @@
       {
           return this.append;
       }
  +
  +    /**
  +     * Adds container classpath to the classpath that will be used for starting
  +     * the container. 
  +     *
  +     * @return reference to the classpath
  +     */
  +    public Path createContainerClasspath()
  +    {
  +        if (this.containerClasspath == null)
  +        {
  +            this.containerClasspath = new Path(this.project);            
  +        }
  +        
  +        return this.containerClasspath.createPath();
  +    }    
   }
  
  
  
  1.58      +8 -2      jakarta-cactus/integration/ant/build.xml
  
  Index: build.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-cactus/integration/ant/build.xml,v
  retrieving revision 1.57
  retrieving revision 1.58
  diff -u -r1.57 -r1.58
  --- build.xml 15 Aug 2004 13:56:23 -0000      1.57
  +++ build.xml 15 Aug 2004 15:02:27 -0000      1.58
  @@ -334,7 +334,13 @@
         <!-- Allow using a port different than the default (8080) for
              the integration tests         -->
         <sysproperty key="cactus.port" value="${cactus.port}"/>
  -                            
  +
  +      <!-- We pass all clover.* properties so that we can add the clover
  +           jar to the resin3x tas execution when clover is enabled -->
  +      <syspropertyset>
  +        <propertyref prefix="clover."/>
  +      </syspropertyset>
  +              
         <classpath refid="test.classpath"/>
         <test name="${testcase}" if="testcase"/>
         <batchtest todir="${target.doc.testreports.dir}" unless="testcase">
  
  
  
  1.2       +45 -9     
jakarta-cactus/integration/ant/src/test-input/org/apache/cactus/integration/ant/container/resin/test-resin3x.xml
  
  Index: test-resin3x.xml
  ===================================================================
  RCS file: 
/home/cvs/jakarta-cactus/integration/ant/src/test-input/org/apache/cactus/integration/ant/container/resin/test-resin3x.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- test-resin3x.xml  31 May 2004 20:05:25 -0000      1.1
  +++ test-resin3x.xml  15 Aug 2004 15:02:27 -0000      1.2
  @@ -3,25 +3,45 @@
   <project name="test-resin3x" basedir="." default="setup">
   
     <target name="testExecuteWhenNoDirSpecified">
  -    <resin3x/>
  +    <resin3x>
  +      <containerclasspath>
  +        <pathelement location="${clover.jar}"/>
  +      </containerclasspath>     
  +    </resin3x>
     </target>
   
     <target name="testExecuteWhenNoActionSpecified">
  -    <resin3x dir="${cactus.home.resin3x}"/>
  +    <resin3x dir="${cactus.home.resin3x}">
  +      <containerclasspath>
  +        <pathelement location="${clover.jar}"/>
  +      </containerclasspath>
  +    </resin3x>
     </target>
   
     <target name="testExecuteWhenWrongActionSpecified">
  -    <resin3x dir="${cactus.home.resin3x}" action="invalid"/>
  +    <resin3x dir="${cactus.home.resin3x}" action="invalid">
  +      <containerclasspath>
  +        <pathelement location="${clover.jar}"/>
  +      </containerclasspath>
  +    </resin3x>
     </target>
   
     <target name="testExecuteStartWithNoDeployableAndNoTestURL">
       <parallel>
  -      <resin3x dir="${cactus.home.resin3x}" action="start"/>
  +      <resin3x dir="${cactus.home.resin3x}" action="start">
  +        <containerclasspath>
  +          <pathelement location="${clover.jar}"/>
  +        </containerclasspath>
  +      </resin3x>
         <sequential>
                <waitfor>
             <http url="http://localhost:${cactus.port}"/>
           </waitfor>
  -        <resin3x dir="${cactus.home.resin3x}" action="stop"/>
  +        <resin3x dir="${cactus.home.resin3x}" action="stop">
  +          <containerclasspath>
  +            <pathelement location="${clover.jar}"/>
  +          </containerclasspath>
  +        </resin3x>
                <waitfor>
                  <not>
               <http url="http://localhost:${cactus.port}"/>
  @@ -34,12 +54,20 @@
     <target name="testExecuteStartWithWarDeployableAndNoTestURL">
       <parallel>
         <resin3x dir="${cactus.home.resin3x}" warfile="../../empty.war" 
  -          action="start"/>
  +          action="start">
  +        <containerclasspath>
  +          <pathelement location="${clover.jar}"/>
  +        </containerclasspath>
  +      </resin3x>
         <sequential>
                <waitfor>
             <http url="http://localhost:${cactus.port}/empty"/>
           </waitfor>
  -        <resin3x dir="${cactus.home.resin3x}" action="stop"/>
  +        <resin3x dir="${cactus.home.resin3x}" action="stop">
  +          <containerclasspath>
  +            <pathelement location="${clover.jar}"/>
  +          </containerclasspath>
  +        </resin3x>
                <waitfor>
                  <not>
               <http url="http://localhost:${cactus.port}/empty"/>
  @@ -51,9 +79,17 @@
   
     <target name="testExecuteStartWithNoDeployableAndWithTestURL">
       <resin3x dir="${cactus.home.resin3x}" action="start"
  -        testurl="http://localhost:${cactus.port}"/>
  +        testurl="http://localhost:${cactus.port}";>
  +      <containerclasspath>
  +        <pathelement location="${clover.jar}"/>
  +      </containerclasspath>
  +    </resin3x>
       <resin3x dir="${cactus.home.resin3x}" action="stop"
  -        testurl="http://localhost:${cactus.port}"/>
  +        testurl="http://localhost:${cactus.port}";>
  +      <containerclasspath>
  +        <pathelement location="${clover.jar}"/>
  +      </containerclasspath>
  +    </resin3x>
     </target>
   
   </project>
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to