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]