bodewig 2004/02/20 07:13:22
Modified: src/main/org/apache/tools/ant/taskdefs/optional/junit
JUnitTask.java
src/main/org/apache/tools/ant/types CommandlineJava.java
Log:
Allow subclasses of <junit> to plug in command lines of their own.
Submitted by: Mariano Benitez <mariano at fuegolabs dot com>
Revision Changes Path
1.93 +28 -18
ant/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTask.java
Index: JUnitTask.java
===================================================================
RCS file:
/home/cvs/ant/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTask.java,v
retrieving revision 1.92
retrieving revision 1.93
diff -u -r1.92 -r1.93
--- JUnitTask.java 9 Feb 2004 21:05:32 -0000 1.92
+++ JUnitTask.java 20 Feb 2004 15:13:21 -0000 1.93
@@ -123,7 +123,7 @@
*/
public class JUnitTask extends Task {
- private CommandlineJava commandline = new CommandlineJava();
+ private CommandlineJava commandline;
private Vector tests = new Vector();
private Vector batchTests = new Vector();
private Vector formatters = new Vector();
@@ -338,7 +338,7 @@
* @since Ant 1.2
*/
public void setMaxmemory(String max) {
- commandline.setMaxmemory(max);
+ getCommandline().setMaxmemory(max);
}
/**
@@ -352,7 +352,7 @@
* @since Ant 1.2
*/
public void setJvm(String value) {
- commandline.setVm(value);
+ getCommandline().setVm(value);
}
/**
@@ -365,7 +365,7 @@
* @since Ant 1.2
*/
public Commandline.Argument createJvmarg() {
- return commandline.createVmArgument();
+ return getCommandline().createVmArgument();
}
/**
@@ -390,7 +390,7 @@
*/
public void addSysproperty(Environment.Variable sysp) {
- commandline.addSysproperty(sysp);
+ getCommandline().addSysproperty(sysp);
}
/**
@@ -405,7 +405,7 @@
// see bugzilla report 21684
String testString = sysp.getContent();
getProject().log("sysproperty added : " + testString,
Project.MSG_DEBUG);
- commandline.addSysproperty(sysp);
+ getCommandline().addSysproperty(sysp);
}
/**
@@ -419,7 +419,7 @@
* @since Ant 1.6
*/
public void addSyspropertyset(PropertySet sysp) {
- commandline.addSyspropertyset(sysp);
+ getCommandline().addSyspropertyset(sysp);
}
/**
@@ -429,7 +429,7 @@
* @since Ant 1.2
*/
public Path createClasspath() {
- return commandline.createClasspath(getProject()).createPath();
+ return getCommandline().createClasspath(getProject()).createPath();
}
/**
@@ -438,7 +438,7 @@
* @since Ant 1.6
*/
public Path createBootclasspath() {
- return commandline.createBootclasspath(getProject()).createPath();
+ return
getCommandline().createBootclasspath(getProject()).createPath();
}
/**
@@ -532,10 +532,10 @@
* @param asserts assertion set
*/
public void addAssertions(Assertions asserts) {
- if (commandline.getAssertions() != null) {
+ if (getCommandline().getAssertions() != null) {
throw new BuildException("Only one assertion declaration is
allowed");
}
- commandline.setAssertions(asserts);
+ getCommandline().setAssertions(asserts);
}
/**
@@ -560,7 +560,7 @@
* @since Ant 1.7
*/
public void setCloneVm(boolean cloneVm) {
- commandline.setCloneVm(cloneVm);
+ getCommandline().setCloneVm(cloneVm);
}
/**
@@ -570,7 +570,7 @@
* @since Ant 1.2
*/
public JUnitTask() throws Exception {
- commandline
+ getCommandline()
.setClassname("org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner");
}
@@ -688,7 +688,7 @@
log("Permissions ignored when running in forked mode!",
Project.MSG_WARN);
}
- CommandlineJava cmd = (CommandlineJava) commandline.clone();
+ CommandlineJava cmd = (CommandlineJava) getCommandline().clone();
cmd.setClassname("org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner");
cmd.createArgument().setValue(test.getName());
@@ -916,13 +916,13 @@
+ "the same VM.", Project.MSG_WARN);
}
- if (commandline.getBootclasspath() != null) {
+ if (getCommandline().getBootclasspath() != null) {
log("bootclasspath is ignored if running in the same VM.",
Project.MSG_WARN);
}
CommandlineJava.SysProperties sysProperties =
- commandline.getSystemProperties();
+ getCommandline().getSystemProperties();
if (sysProperties != null) {
sysProperties.setSystem();
}
@@ -1154,7 +1154,7 @@
* @since Ant 1.6
*/
private void createClassLoader() {
- Path userClasspath = commandline.getClasspath();
+ Path userClasspath = getCommandline().getClasspath();
if (userClasspath != null) {
if (reloading || classLoader == null) {
Path classpath = (Path) userClasspath.clone();
@@ -1175,5 +1175,15 @@
classLoader.addSystemPackageRoot("org.apache.tools.ant");
}
}
+ }
+
+ /**
+ * @since Ant 1.7
+ */
+ protected CommandlineJava getCommandline() {
+ if (commandline == null) {
+ commandline = new CommandlineJava();
+ }
+ return commandline;
}
}
1.52 +3 -3
ant/src/main/org/apache/tools/ant/types/CommandlineJava.java
Index: CommandlineJava.java
===================================================================
RCS file:
/home/cvs/ant/src/main/org/apache/tools/ant/types/CommandlineJava.java,v
retrieving revision 1.51
retrieving revision 1.52
diff -u -r1.51 -r1.52
--- CommandlineJava.java 9 Feb 2004 21:05:36 -0000 1.51
+++ CommandlineJava.java 20 Feb 2004 15:13:22 -0000 1.52
@@ -463,7 +463,7 @@
* Get the VM command parameters, including memory settings
* @return
*/
- private Commandline getActualVMCommand() {
+ protected Commandline getActualVMCommand() {
Commandline actualVMCommand = (Commandline) vmCommand.clone();
if (maxMemory != null) {
if (vmVersion.startsWith("1.1")) {
@@ -604,7 +604,7 @@
*
* @since Ant 1.6
*/
- private boolean haveClasspath() {
+ protected boolean haveClasspath() {
Path fullClasspath = classpath != null
? classpath.concatSystemClasspath("ignore") : null;
return fullClasspath != null
@@ -621,7 +621,7 @@
*
* @since Ant 1.6
*/
- private boolean haveBootclasspath(boolean log) {
+ protected boolean haveBootclasspath(boolean log) {
if (bootclasspath != null
&& bootclasspath.toString().trim().length() > 0) {
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]