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]

Reply via email to