You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ant.apache.org by ad...@apache.org on 2002/04/08 02:29:53 UTC

cvs commit: jakarta-ant/proposal/myrmidon/src/todo/org/apache/tools/todo/types SysProperties.java Argument.java ArgumentList.java Commandline.java EnvironmentData.java EnvironmentVariable.java

adammurdoch    02/04/07 17:29:53

  Modified:    proposal/myrmidon/src/java/org/apache/antlib/build
                        Patch.java
               proposal/myrmidon/src/java/org/apache/antlib/cvslib
                        ChangeLog.java Cvs.java
               proposal/myrmidon/src/java/org/apache/antlib/dotnet
                        CSharp.java Ilasm.java
               proposal/myrmidon/src/java/org/apache/antlib/java
                        ExternalCompilerAdaptor.java JavaTask.java
                        JavacAdaptor.java JikesAdaptor.java
               proposal/myrmidon/src/java/org/apache/antlib/nativelib
                        Exec.java
               proposal/myrmidon/src/java/org/apache/antlib/security
                        GenerateKey.java SignJar.java
               proposal/myrmidon/src/java/org/apache/myrmidon/framework/java
                        ExecuteJava.java
               proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs
                        ANTLR.java Cab.java Javah.java Rpm.java
               proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/javac
                        DefaultCompilerAdapter.java Gcj.java
                        ImplementationSpecificArgument.java Javac12.java
                        Javac13.java JavacExternal.java Jikes.java Jvc.java
                        Kjc.java Sj.java
               proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/javadoc
                        Javadoc.java
               proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/jsp/compilers
                        DefaultCompilerAdapter.java JasperC.java
               proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/junit
                        JUnitTask.java
               proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/rmic
                        DefaultRmicAdapter.java KaffeRmic.java SunRmic.java
                        WLRmic.java
               proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/stylebook
                        StyleBook.java
               proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/text
                        Native2Ascii.java
               proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/vss
                        MSVSS.java MSVSSCHECKIN.java MSVSSCHECKOUT.java
                        MSVSSGET.java MSVSSHISTORY.java MSVSSLABEL.java
               proposal/myrmidon/src/todo/org/apache/tools/todo/types
                        SysProperties.java
  Added:       proposal/myrmidon/src/java/org/apache/myrmidon/framework/nativelib
                        Argument.java ArgumentList.java Commandline.java
                        EnvironmentData.java EnvironmentVariable.java
                        Execute.java LoggingExecOutputHandler.java
  Removed:     proposal/myrmidon/src/java/org/apache/myrmidon/framework
                        Execute.java LoggingExecOutputHandler.java
               proposal/myrmidon/src/todo/org/apache/tools/todo/types
                        Argument.java ArgumentList.java Commandline.java
                        EnvironmentData.java EnvironmentVariable.java
  Log:
  Moved a bunch of classes to framework.nativelib:
    - Argument
    - ArgumentList
    - Commandline
    - EnvironmentData
    - EnvironmentVariable
    - Execute
    - LoggingExecOutputHandler
  
  Revision  Changes    Path
  1.14      +2 -2      jakarta-ant/proposal/myrmidon/src/java/org/apache/antlib/build/Patch.java
  
  Index: Patch.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/java/org/apache/antlib/build/Patch.java,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- Patch.java	7 Apr 2002 23:10:43 -0000	1.13
  +++ Patch.java	8 Apr 2002 00:29:51 -0000	1.14
  @@ -12,7 +12,7 @@
   import org.apache.avalon.excalibur.i18n.Resources;
   import org.apache.myrmidon.api.AbstractTask;
   import org.apache.myrmidon.api.TaskException;
  -import org.apache.myrmidon.framework.Execute;
  +import org.apache.myrmidon.framework.nativelib.Execute;
   
   /**
    * Task as a layer on top of patch. Patch applies a diff file to an original.
  @@ -20,7 +20,7 @@
    * @ant.task name="patchx"
    * @author <a href="mailto:stefan.bodewig@epost.de">Stefan Bodewig</a>
    * @author <a href="mailto:peter@apache.org">Peter Donald</a>
  - * @version $Revision: 1.13 $ $Date: 2002/04/07 23:10:43 $
  + * @version $Revision: 1.14 $ $Date: 2002/04/08 00:29:51 $
    */
   public class Patch
       extends AbstractTask
  
  
  
  1.9       +3 -3      jakarta-ant/proposal/myrmidon/src/java/org/apache/antlib/cvslib/ChangeLog.java
  
  Index: ChangeLog.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/java/org/apache/antlib/cvslib/ChangeLog.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- ChangeLog.java	7 Apr 2002 23:10:43 -0000	1.8
  +++ ChangeLog.java	8 Apr 2002 00:29:51 -0000	1.9
  @@ -25,9 +25,9 @@
   import org.apache.avalon.excalibur.io.IOUtil;
   import org.apache.myrmidon.api.AbstractTask;
   import org.apache.myrmidon.api.TaskException;
  -import org.apache.myrmidon.framework.Execute;
  +import org.apache.myrmidon.framework.nativelib.Execute;
   import org.apache.myrmidon.framework.FileSet;
  -import org.apache.tools.todo.types.Commandline;
  +import org.apache.myrmidon.framework.nativelib.Commandline;
   
   /**
    * Change log task.
  @@ -56,7 +56,7 @@
    *
    * @author <a href="mailto:jeff.martin@synamic.co.uk">Jeff Martin</a>
    * @author <a href="mailto:peter@apache.org">Peter Donald</a>
  - * @version $Revision: 1.8 $ $Date: 2002/04/07 23:10:43 $
  + * @version $Revision: 1.9 $ $Date: 2002/04/08 00:29:51 $
    * @ant.task name="changelog"
    */
   public class ChangeLog
  
  
  
  1.31      +3 -3      jakarta-ant/proposal/myrmidon/src/java/org/apache/antlib/cvslib/Cvs.java
  
  Index: Cvs.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/java/org/apache/antlib/cvslib/Cvs.java,v
  retrieving revision 1.30
  retrieving revision 1.31
  diff -u -r1.30 -r1.31
  --- Cvs.java	7 Apr 2002 23:10:43 -0000	1.30
  +++ Cvs.java	8 Apr 2002 00:29:51 -0000	1.31
  @@ -11,8 +11,8 @@
   import java.util.Properties;
   import org.apache.myrmidon.api.AbstractTask;
   import org.apache.myrmidon.api.TaskException;
  -import org.apache.myrmidon.framework.Execute;
  -import org.apache.tools.todo.types.Commandline;
  +import org.apache.myrmidon.framework.nativelib.Execute;
  +import org.apache.myrmidon.framework.nativelib.Commandline;
   import org.apache.tools.todo.util.FileUtils;
   
   /**
  @@ -22,7 +22,7 @@
    * @author <a href="mailto:costin@dnt.ro">costin@dnt.ro</a>
    * @author <a href="mailto:stefano@apache.org">stefano@apache.org</a>
    * @author <a href="mailto:wwerner@picturesafe.de">Wolfgang Werner</a>
  - * @version $Revision: 1.30 $ $Date: 2002/04/07 23:10:43 $
  + * @version $Revision: 1.31 $ $Date: 2002/04/08 00:29:51 $
    * @ant.task name="cvs"
    */
   public class Cvs
  
  
  
  1.12      +2 -2      jakarta-ant/proposal/myrmidon/src/java/org/apache/antlib/dotnet/CSharp.java
  
  Index: CSharp.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/java/org/apache/antlib/dotnet/CSharp.java,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- CSharp.java	7 Apr 2002 23:10:43 -0000	1.11
  +++ CSharp.java	8 Apr 2002 00:29:51 -0000	1.12
  @@ -9,10 +9,10 @@
   
   import java.io.File;
   import org.apache.myrmidon.api.TaskException;
  -import org.apache.myrmidon.framework.Execute;
  +import org.apache.myrmidon.framework.nativelib.Execute;
   import org.apache.tools.todo.taskdefs.MatchingTask;
   import org.apache.tools.todo.types.DirectoryScanner;
  -import org.apache.tools.todo.types.ArgumentList;
  +import org.apache.myrmidon.framework.nativelib.ArgumentList;
   import org.apache.myrmidon.framework.file.Path;
   
   /**
  
  
  
  1.9       +2 -2      jakarta-ant/proposal/myrmidon/src/java/org/apache/antlib/dotnet/Ilasm.java
  
  Index: Ilasm.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/java/org/apache/antlib/dotnet/Ilasm.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- Ilasm.java	7 Apr 2002 23:10:43 -0000	1.8
  +++ Ilasm.java	8 Apr 2002 00:29:51 -0000	1.9
  @@ -9,9 +9,9 @@
   
   import java.io.File;
   import org.apache.myrmidon.api.TaskException;
  -import org.apache.myrmidon.framework.Execute;
  +import org.apache.myrmidon.framework.nativelib.Execute;
   import org.apache.tools.todo.taskdefs.MatchingTask;
  -import org.apache.tools.todo.types.ArgumentList;
  +import org.apache.myrmidon.framework.nativelib.ArgumentList;
   import org.apache.tools.todo.types.DirectoryScanner;
   
   /**
  
  
  
  1.2       +2 -2      jakarta-ant/proposal/myrmidon/src/java/org/apache/antlib/java/ExternalCompilerAdaptor.java
  
  Index: ExternalCompilerAdaptor.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/java/org/apache/antlib/java/ExternalCompilerAdaptor.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- ExternalCompilerAdaptor.java	26 Mar 2002 02:19:53 -0000	1.1
  +++ ExternalCompilerAdaptor.java	8 Apr 2002 00:29:51 -0000	1.2
  @@ -12,13 +12,13 @@
   import java.io.PrintWriter;
   import java.io.IOException;
   import org.apache.myrmidon.api.TaskException;
  -import org.apache.myrmidon.framework.Execute;
  +import org.apache.myrmidon.framework.nativelib.Execute;
   
   /**
    * An abstract compiler adaptor, that forks an external compiler.
    *
    * @author <a href="mailto:adammurdoch@apache.org">Adam Murdoch</a>
  - * @version $Revision: 1.1 $ $Date: 2002/03/26 02:19:53 $
  + * @version $Revision: 1.2 $ $Date: 2002/04/08 00:29:51 $
    */
   public abstract class ExternalCompilerAdaptor
       extends JavaCompilerAdaptor
  
  
  
  1.4       +2 -2      jakarta-ant/proposal/myrmidon/src/java/org/apache/antlib/java/JavaTask.java
  
  Index: JavaTask.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/java/org/apache/antlib/java/JavaTask.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- JavaTask.java	23 Mar 2002 03:46:33 -0000	1.3
  +++ JavaTask.java	8 Apr 2002 00:29:51 -0000	1.4
  @@ -11,8 +11,8 @@
   import org.apache.myrmidon.api.AbstractTask;
   import org.apache.myrmidon.api.TaskException;
   import org.apache.myrmidon.framework.java.ExecuteJava;
  -import org.apache.tools.todo.types.Argument;
  -import org.apache.tools.todo.types.EnvironmentVariable;
  +import org.apache.myrmidon.framework.nativelib.Argument;
  +import org.apache.myrmidon.framework.nativelib.EnvironmentVariable;
   import org.apache.myrmidon.framework.file.Path;
   
   /**
  
  
  
  1.4       +2 -2      jakarta-ant/proposal/myrmidon/src/java/org/apache/antlib/java/JavacAdaptor.java
  
  Index: JavacAdaptor.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/java/org/apache/antlib/java/JavacAdaptor.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- JavacAdaptor.java	7 Apr 2002 23:10:43 -0000	1.3
  +++ JavacAdaptor.java	8 Apr 2002 00:29:51 -0000	1.4
  @@ -12,13 +12,13 @@
   import org.apache.myrmidon.api.TaskException;
   import org.apache.myrmidon.framework.file.FileListUtil;
   import org.apache.myrmidon.framework.file.Path;
  -import org.apache.tools.todo.types.ArgumentList;
  +import org.apache.myrmidon.framework.nativelib.ArgumentList;
   
   /**
    * An adaptor for the in-process Javac compiler.
    *
    * @author <a href="mailto:adammurdoch@apache.org">Adam Murdoch</a>
  - * @version $Revision: 1.3 $ $Date: 2002/04/07 23:10:43 $
  + * @version $Revision: 1.4 $ $Date: 2002/04/08 00:29:51 $
    *
    * @ant.type type="java-compiler" name="javac"
    */
  
  
  
  1.5       +2 -2      jakarta-ant/proposal/myrmidon/src/java/org/apache/antlib/java/JikesAdaptor.java
  
  Index: JikesAdaptor.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/java/org/apache/antlib/java/JikesAdaptor.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- JikesAdaptor.java	7 Apr 2002 23:10:43 -0000	1.4
  +++ JikesAdaptor.java	8 Apr 2002 00:29:51 -0000	1.5
  @@ -9,7 +9,7 @@
   
   import java.io.File;
   import org.apache.myrmidon.api.TaskException;
  -import org.apache.myrmidon.framework.Execute;
  +import org.apache.myrmidon.framework.nativelib.Execute;
   import org.apache.myrmidon.framework.java.JavaRuntimeClassPath;
   import org.apache.myrmidon.framework.file.Path;
   import org.apache.myrmidon.framework.file.FileListUtil;
  @@ -24,7 +24,7 @@
    * @author <a href="mailto:jayglanville@home.com">J D Glanville</a>
    * @author skanthak@muehlheim.de
    * @author <a href="mailto:adammurdoch@apache.org">Adam Murdoch</a>
  - * @version $Revision: 1.4 $ $Date: 2002/04/07 23:10:43 $
  + * @version $Revision: 1.5 $ $Date: 2002/04/08 00:29:51 $
    *
    * @ant.type type="java-compiler" name="jikes"
    */
  
  
  
  1.19      +4 -4      jakarta-ant/proposal/myrmidon/src/java/org/apache/antlib/nativelib/Exec.java
  
  Index: Exec.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/java/org/apache/antlib/nativelib/Exec.java,v
  retrieving revision 1.18
  retrieving revision 1.19
  diff -u -r1.18 -r1.19
  --- Exec.java	7 Apr 2002 23:10:43 -0000	1.18
  +++ Exec.java	8 Apr 2002 00:29:51 -0000	1.19
  @@ -12,10 +12,10 @@
   import org.apache.aut.nativelib.Os;
   import org.apache.myrmidon.api.AbstractTask;
   import org.apache.myrmidon.api.TaskException;
  -import org.apache.myrmidon.framework.Execute;
  -import org.apache.tools.todo.types.Argument;
  -import org.apache.tools.todo.types.EnvironmentData;
  -import org.apache.tools.todo.types.EnvironmentVariable;
  +import org.apache.myrmidon.framework.nativelib.Execute;
  +import org.apache.myrmidon.framework.nativelib.Argument;
  +import org.apache.myrmidon.framework.nativelib.EnvironmentData;
  +import org.apache.myrmidon.framework.nativelib.EnvironmentVariable;
   
   /**
    * Executes a native command.
  
  
  
  1.15      +2 -2      jakarta-ant/proposal/myrmidon/src/java/org/apache/antlib/security/GenerateKey.java
  
  Index: GenerateKey.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/java/org/apache/antlib/security/GenerateKey.java,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- GenerateKey.java	7 Apr 2002 23:10:43 -0000	1.14
  +++ GenerateKey.java	8 Apr 2002 00:29:51 -0000	1.15
  @@ -9,8 +9,8 @@
   
   import org.apache.myrmidon.api.AbstractTask;
   import org.apache.myrmidon.api.TaskException;
  -import org.apache.myrmidon.framework.Execute;
  -import org.apache.tools.todo.types.Commandline;
  +import org.apache.myrmidon.framework.nativelib.Execute;
  +import org.apache.myrmidon.framework.nativelib.Commandline;
   
   /**
    * Generates a key.
  
  
  
  1.18      +1 -1      jakarta-ant/proposal/myrmidon/src/java/org/apache/antlib/security/SignJar.java
  
  Index: SignJar.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/java/org/apache/antlib/security/SignJar.java,v
  retrieving revision 1.17
  retrieving revision 1.18
  diff -u -r1.17 -r1.18
  --- SignJar.java	7 Apr 2002 23:10:43 -0000	1.17
  +++ SignJar.java	8 Apr 2002 00:29:51 -0000	1.18
  @@ -15,7 +15,7 @@
   import java.util.zip.ZipFile;
   import org.apache.myrmidon.api.AbstractTask;
   import org.apache.myrmidon.api.TaskException;
  -import org.apache.myrmidon.framework.Execute;
  +import org.apache.myrmidon.framework.nativelib.Execute;
   import org.apache.myrmidon.framework.FileSet;
   import org.apache.tools.todo.types.DirectoryScanner;
   import org.apache.tools.todo.types.ScannerUtil;
  
  
  
  1.8       +3 -3      jakarta-ant/proposal/myrmidon/src/java/org/apache/myrmidon/framework/java/ExecuteJava.java
  
  Index: ExecuteJava.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/java/org/apache/myrmidon/framework/java/ExecuteJava.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- ExecuteJava.java	7 Apr 2002 23:10:43 -0000	1.7
  +++ ExecuteJava.java	8 Apr 2002 00:29:52 -0000	1.8
  @@ -16,12 +16,12 @@
   import org.apache.avalon.excalibur.i18n.Resources;
   import org.apache.myrmidon.api.TaskContext;
   import org.apache.myrmidon.api.TaskException;
  -import org.apache.myrmidon.framework.Execute;
  +import org.apache.myrmidon.framework.nativelib.Execute;
   import org.apache.myrmidon.framework.file.Path;
   import org.apache.myrmidon.framework.file.FileListUtil;
  -import org.apache.tools.todo.types.EnvironmentData;
  +import org.apache.myrmidon.framework.nativelib.EnvironmentData;
   import org.apache.tools.todo.types.SysProperties;
  -import org.apache.tools.todo.types.ArgumentList;
  +import org.apache.myrmidon.framework.nativelib.ArgumentList;
   import org.apache.tools.todo.util.FileUtils;
   
   /**
  
  
  
  1.1                  jakarta-ant/proposal/myrmidon/src/java/org/apache/myrmidon/framework/nativelib/Argument.java
  
  Index: Argument.java
  ===================================================================
  /*
   * Copyright (C) The Apache Software Foundation. All rights reserved.
   *
   * This software is published under the terms of the Apache Software License
   * version 1.1, a copy of which has been included  with this distribution in
   * the LICENSE.txt file.
   */
  package org.apache.myrmidon.framework.nativelib;
  
  import java.io.File;
  import org.apache.myrmidon.api.TaskException;
  import org.apache.myrmidon.framework.file.Path;
  import org.apache.tools.todo.util.FileUtils;
  
  /**
   * Used for nested xml command line definitions.
   */
  public class Argument
  {
      private String[] m_parts;
  
      public Argument()
      {
      }
  
      public Argument( final String value )
      {
          setValue( value );
      }
  
      public Argument( final File file )
      {
          setFile( file );
      }
  
      /**
       * Sets a single commandline argument to the absolute filename of the
       * given file.
       *
       * @param value a single commandline argument.
       */
      public void setFile( final File value )
      {
          m_parts = new String[]{value.getAbsolutePath()};
      }
  
      /**
       * Line to split into several commandline arguments.
       *
       * @param line line to split into several commandline arguments
       */
      public void setLine( final String line )
          throws TaskException
      {
          m_parts = FileUtils.translateCommandline( line );
      }
  
      /**
       * Sets a single commandline argument and treats it like a PATH -
       * ensures the right separator for the local platform is used.
       *
       * @param value a single commandline argument.
       */
      public void setPath( final Path value ) throws TaskException
      {
          throw new TaskException( "Using a path not implemented." );
          //m_parts = new String[]{ PathUtil.formatPath( value ) };
      }
  
      /**
       * Sets a single commandline argument.
       *
       * @param value a single commandline argument.
       */
      public void setValue( final String value )
      {
          m_parts = new String[]{value};
      }
  
      /**
       * Returns the parts this Argument consists of.
       *
       * @return The Parts value
       */
      public String[] getParts()
      {
          return m_parts;
      }
  }
  
  
  
  1.1                  jakarta-ant/proposal/myrmidon/src/java/org/apache/myrmidon/framework/nativelib/ArgumentList.java
  
  Index: ArgumentList.java
  ===================================================================
  /*
   * Copyright (C) The Apache Software Foundation. All rights reserved.
   *
   * This software is published under the terms of the Apache Software License
   * version 1.1, a copy of which has been included  with this distribution in
   * the LICENSE.txt file.
   */
  package org.apache.myrmidon.framework.nativelib;
  
  import java.util.ArrayList;
  import java.io.File;
  import org.apache.myrmidon.api.TaskException;
  import org.apache.tools.todo.util.FileUtils;
  
  /**
   * A utility class to use to assemble a list of command-line arguments.
   *
   * @author thomas.haas@softwired-inc.com
   * @author <a href="mailto:stefan.bodewig@epost.de">Stefan Bodewig</a>
   * @author <a href="mailto:adammurdoch@apache.org">Adam Murdoch</a>
   * @version $Revision: 1.1 $ $Date: 2002/04/08 00:29:52 $
   */
  public class ArgumentList
  {
      protected final ArrayList m_arguments = new ArrayList();
  
      /**
       * Returns all arguments defined by <code>addLine</code>, <code>addValue</code>
       * or the argument object.
       *
       * @return The Arguments value
       */
      public String[] getArguments()
      {
          final int size = m_arguments.size();
          final ArrayList result = new ArrayList( size * 2 );
          for( int i = 0; i < size; i++ )
          {
              final Argument arg = (Argument)m_arguments.get( i );
              final String[] s = arg.getParts();
              for( int j = 0; j < s.length; j++ )
              {
                  result.add( s[ j ] );
              }
          }
  
          final String[] res = new String[ result.size() ];
          return (String[])result.toArray( res );
      }
  
      /**
       * Sets the arguments, replacing the current value of this list.
       */
      public void setArguments( final ArgumentList list )
      {
          m_arguments.clear();
          addArguments( list );
      }
  
      public void addArguments( final String[] args )
      {
          for( int i = 0; i < args.length; i++ )
          {
              addArgument( args[ i ] );
          }
      }
  
      public void addArguments( final ArgumentList args )
      {
          addArguments( args.getArguments() );
      }
  
      public void addArgument( final File argument )
      {
          addArgument( new Argument( argument ) );
      }
  
      public void addArgument( final String argument )
      {
          addArgument( new Argument( argument ) );
      }
  
      public void addArgument( final Argument argument )
      {
          m_arguments.add( argument );
      }
  
      public void addLine( final String line )
          throws TaskException
      {
          final String[] parts = FileUtils.translateCommandline( line );
          addArguments( parts );
      }
  }
  
  
  
  1.1                  jakarta-ant/proposal/myrmidon/src/java/org/apache/myrmidon/framework/nativelib/Commandline.java
  
  Index: Commandline.java
  ===================================================================
  /*
   * Copyright (C) The Apache Software Foundation. All rights reserved.
   *
   * This software is published under the terms of the Apache Software License
   * version 1.1, a copy of which has been included with this distribution in
   * the LICENSE.txt file.
   */
  package org.apache.myrmidon.framework.nativelib;
  
  
  
  /**
   * Commandline objects help handling command lines specifying processes to
   * execute. The class can be used to define a command line as nested elements or
   * as a helper to define a command line by an application. <p>
   *
   * <code>
   * &lt;someelement&gt;<br>
   * &nbsp;&nbsp;&lt;acommandline executable="/executable/to/run"&gt;<br>
   * &nbsp;&nbsp;&nbsp;&nbsp;&lt;argument value="argument 1" /&gt;<br>
   * &nbsp;&nbsp;&nbsp;&nbsp;&lt;argument line="argument_1 argument_2 argument_3"
   * /&gt;<br>
   * &nbsp;&nbsp;&nbsp;&nbsp;&lt;argument value="argument 4" /&gt;<br>
   * &nbsp;&nbsp;&lt;/acommandline&gt;<br>
   * &lt;/someelement&gt;<br>
   * </code> The element <code>someelement</code> must provide a method <code>createAcommandline</code>
   * which returns an instance of this class.
   *
   * @author thomas.haas@softwired-inc.com
   * @author <a href="mailto:stefan.bodewig@epost.de">Stefan Bodewig</a>
   */
  public class Commandline
      extends ArgumentList
  {
      private String m_executable;
  
      /**
       * Sets the executable to run.
       */
      public void setExecutable( final String executable )
      {
          m_executable = executable;
      }
  
      /**
       * Returns the executable to run.
       */
      public String getExecutable()
      {
          return m_executable;
      }
  
      /**
       * Sets the commandline, replacing its current value.
       */
      public void setCommandline( final Commandline command )
      {
          m_executable = command.getExecutable();
          setArguments( command );
      }
  }
  
  
  
  1.1                  jakarta-ant/proposal/myrmidon/src/java/org/apache/myrmidon/framework/nativelib/EnvironmentData.java
  
  Index: EnvironmentData.java
  ===================================================================
  /*
   * Copyright (C) The Apache Software Foundation. All rights reserved.
   *
   * This software is published under the terms of the Apache Software License
   * version 1.1, a copy of which has been included with this distribution in
   * the LICENSE.txt file.
   */
  package org.apache.myrmidon.framework.nativelib;
  
  import java.util.ArrayList;
  import java.util.Properties;
  
  /**
   * Wrapper for environment variables.
   *
   * @author <a href="mailto:stefan.bodewig@epost.de">Stefan Bodewig</a>
   */
  public class EnvironmentData
  {
      protected final ArrayList m_variables = new ArrayList();
  
      public Properties getVariables()
      {
          final Properties environment = new Properties();
          final int size = m_variables.size();
          for( int i = 0; i < size; i++ )
          {
              final EnvironmentVariable variable = (EnvironmentVariable)m_variables.get( i );
              environment.setProperty( variable.getKey(), variable.getValue() );
          }
          return environment;
      }
  
      public void addVariable( EnvironmentVariable var )
      {
          m_variables.add( var );
      }
  
      public void addVariable( String key, String value )
      {
          final EnvironmentVariable var = new EnvironmentVariable();
          var.setKey( key );
          var.setValue( value );
          addVariable( var );
      }
  
      public void addVariables( EnvironmentData properties )
      {
          m_variables.addAll( properties.m_variables );
      }
  
      public int size()
      {
          return m_variables.size();
      }
  }
  
  
  
  1.1                  jakarta-ant/proposal/myrmidon/src/java/org/apache/myrmidon/framework/nativelib/EnvironmentVariable.java
  
  Index: EnvironmentVariable.java
  ===================================================================
  /*
   * Copyright (C) The Apache Software Foundation. All rights reserved.
   *
   * This software is published under the terms of the Apache Software License
   * version 1.1, a copy of which has been included  with this distribution in
   * the LICENSE.txt file.
   */
  package org.apache.myrmidon.framework.nativelib;
  
  import java.io.File;
  import org.apache.myrmidon.api.TaskException;
  import org.apache.myrmidon.framework.file.Path;
  
  public class EnvironmentVariable
  {
      private String m_key;
      private String m_value;
  
      public void setFile( final File file )
      {
          m_value = file.getAbsolutePath();
      }
  
      public void setKey( final String key )
      {
          m_key = key;
      }
  
      public void setPath( final Path path ) throws TaskException
      {
          throw new TaskException( "Using a path not implemented." );
          //m_value = PathUtil.formatPath( path );
      }
  
      public void setValue( final String value )
      {
          m_value = value;
      }
  
      public String getKey()
      {
          return m_key;
      }
  
      public String getValue()
      {
          return m_value;
      }
  }
  
  
  
  1.1                  jakarta-ant/proposal/myrmidon/src/java/org/apache/myrmidon/framework/nativelib/Execute.java
  
  Index: Execute.java
  ===================================================================
  /*
   * Copyright (C) The Apache Software Foundation. All rights reserved.
   *
   * This software is published under the terms of the Apache Software License
   * version 1.1, a copy of which has been included with this distribution in
   * the LICENSE.txt file.
   */
  package org.apache.myrmidon.framework.nativelib;
  
  import java.io.File;
  import java.util.Properties;
  import org.apache.aut.nativelib.ExecException;
  import org.apache.aut.nativelib.ExecManager;
  import org.apache.aut.nativelib.ExecMetaData;
  import org.apache.aut.nativelib.ExecOutputHandler;
  import org.apache.avalon.excalibur.i18n.ResourceManager;
  import org.apache.avalon.excalibur.i18n.Resources;
  import org.apache.myrmidon.api.TaskContext;
  import org.apache.myrmidon.api.TaskException;
  import org.apache.tools.todo.util.FileUtils;
  
  /**
   * This is a utility class designed to make executing native processes easier
   * in the context of ant.
   *
   * <p>To execute a native process, configure an instance of this class,
   * and then call its {@link #execute} method.
   *
   * @author <a href="mailto:peter@apache.org">Peter Donald</a>
   * @author <a href="mailto:thomas.haas@softwired-inc.com">Thomas Haas</a>
   * @version $Revision: 1.1 $ $Date: 2002/04/08 00:29:52 $
   */
  public class Execute
      extends Commandline
  {
      private static final Resources REZ
          = ResourceManager.getPackageResources( Execute.class );
  
      private Properties m_environment = new Properties();
      private File m_workingDirectory;
      private boolean m_newEnvironment;
      private ExecOutputHandler m_handler;
      private long m_timeout;
      private int m_returnCode;
      private boolean m_ignoreReturnCode;
  
      /**
       * Sets the timeout, in milliseconds, for the process.  The process is
       * forcibly shutdown after this time.  Use 0 to allow the process to
       * run forever.  Default is 0.
       *
       * @param timeout the timeout, in milliseconds.
       */
      public void setTimeout( final long timeout )
      {
          m_timeout = timeout;
      }
  
      /**
       * Sets the handler for the process' output and error streams.  If not
       * provided, the process' output and error are written to the log using
       * the TaskContext's logging methods.
       *
       * @param handler the handler.
       */
      public void setExecOutputHandler( final ExecOutputHandler handler )
      {
          m_handler = handler;
      }
  
      /**
       * Sets the environment to use for the process.
       *
       * @param environment a map from environment variable name to value.
       */
      public void setEnvironment( final Properties environment )
      {
          if( null == environment )
          {
              throw new NullPointerException( "environment" );
          }
          m_environment = environment;
      }
  
      /**
       * If this variable is false then then the environment specified is
       * added to the environment variables for current process. If this
       * value is true then the specified environment replaces the environment
       * for the command.  Default is false.
       */
      public void setNewenvironment( final boolean newEnvironment )
      {
          m_newEnvironment = newEnvironment;
      }
  
      /**
       * Sets the working directory of the process to execute.  Default is the
       * project's base directory.
       *
       * @param workingDirectory the working directory of the process.  Use
       *        null for the project's base directory.
       */
      public void setWorkingDirectory( final File workingDirectory )
      {
          m_workingDirectory = workingDirectory;
      }
  
      /**
       * Sets the expected return code of the process.  If the process does not
       * exit with this return code, and exception is thrown by {@link #execute}.
       * Default is 0.
       *
       * @param returnCode the expected return code.
       */
      public void setReturnCode( final int returnCode )
      {
          m_returnCode = returnCode;
      }
  
      /**
       * If set to true, the return code of the process is ignore.  If false,
       * it is compared against the expected return code.  Default is false.
       */
      public void setIgnoreReturnCode( final boolean ignore )
      {
          m_ignoreReturnCode = ignore;
      }
  
      /**
       * Runs a process defined by the command line and returns its exit status.
       *
       * @return the exit status of the subprocess.
       */
      public int execute( final TaskContext context )
          throws TaskException
      {
          validate();
  
          try
          {
              // Build an output handler
              final ExecOutputHandler handler = buildOutputHandler( context );
  
              // Build the command meta-info
              final ExecManager execManager = (ExecManager)context.getService( ExecManager.class );
              final ExecMetaData metaData = buildExecMetaData( context, execManager );
  
              logExecDetails( metaData, context );
  
              // Execute the process and check return code
              final int returnCode = execManager.execute( metaData, handler, m_timeout );
              checkReturnCode( returnCode );
              return returnCode;
          }
          catch( final Exception e )
          {
              final String message = REZ.getString( "execute.failed.error", getExecutable() );
              throw new TaskException( message, e );
          }
      }
  
      /**
       * Logs the details of the command.
       */
      private void logExecDetails( final ExecMetaData metaData,
                                   final TaskContext context )
          throws TaskException
      {
          if( context.isVerboseEnabled() )
          {
              final String cmdline = FileUtils.formatCommandLine( metaData.getCommand() );
              final String message = REZ.getString( "execute.command.notice", cmdline );
              context.verbose( message );
          }
          if( context.isDebugEnabled() )
          {
              final String message = REZ.getString( "execute.env-vars.notice", metaData.getEnvironment() );
              context.debug( message );
          }
      }
  
      /**
       * Vaidates the arguments.
       */
      private void validate() throws TaskException
      {
          if( null == getExecutable() )
          {
              final String message = REZ.getString( "execute.no-executable.error" );
              throw new TaskException( message );
          }
          if( m_workingDirectory != null )
          {
              if( !m_workingDirectory.exists() )
              {
                  final String message = REZ.getString( "execute.dir-noexist.error", m_workingDirectory );
                  throw new TaskException( message );
              }
              else if( !m_workingDirectory.isDirectory() )
              {
                  final String message = REZ.getString( "execute.dir-notdir.error", m_workingDirectory );
                  throw new TaskException( message );
              }
          }
      }
  
      /**
       * Creates an output handler to use for the process' stdout and stderr.
       */
      private ExecOutputHandler buildOutputHandler( final TaskContext context )
      {
          ExecOutputHandler handler = m_handler;
          if( handler == null )
          {
              handler = new LoggingExecOutputHandler( context );
          }
          return handler;
      }
  
      /**
       * Utility method to verify that specified return code was the
       * return code expected (if any).
       */
      private void checkReturnCode( final int returnCode )
          throws TaskException
      {
          if( ! m_ignoreReturnCode && returnCode != m_returnCode )
          {
              final String message = REZ.getString( "execute.bad-resultcode.error",
                                                    getExecutable(),
                                                    new Integer(returnCode) );
              throw new TaskException( message );
          }
      }
  
      /**
       * Utility method to create an ExecMetaData object
       * to pass to the ExecManager service.
       */
      private ExecMetaData buildExecMetaData( final TaskContext context,
                                              final ExecManager execManager )
          throws ExecException
      {
          // Build the command line
          final String[] command = getCommandLine();
  
          // Build the environment
          final Properties newEnvironment = new Properties();
          if( !m_newEnvironment )
          {
              newEnvironment.putAll( execManager.getNativeEnvironment() );
          }
          newEnvironment.putAll( m_environment );
  
          // Determine the working directory
          File workingDir = m_workingDirectory;
          if( workingDir == null )
          {
              workingDir = context.getBaseDirectory();
          }
  
          return new ExecMetaData( command,
                                   newEnvironment,
                                   workingDir );
      }
  
      /**
       * Builds the command line.
       */
      private String[] getCommandLine()
      {
          final String[] args = getArguments();
          final String[] result = new String[ args.length + 1 ];
          result[ 0 ] = getExecutable().replace( '/', File.separatorChar ).replace( '\\', File.separatorChar );
          System.arraycopy( args, 0, result, 1, args.length );
          return result;
      }
  }
  
  
  
  1.1                  jakarta-ant/proposal/myrmidon/src/java/org/apache/myrmidon/framework/nativelib/LoggingExecOutputHandler.java
  
  Index: LoggingExecOutputHandler.java
  ===================================================================
  /*
   * Copyright (C) The Apache Software Foundation. All rights reserved.
   *
   * This software is published under the terms of the Apache Software License
   * version 1.1, a copy of which has been included  with this distribution in
   * the LICENSE.txt file.
   */
  package org.apache.myrmidon.framework.nativelib;
  
  import org.apache.aut.nativelib.ExecOutputHandler;
  import org.apache.myrmidon.api.TaskContext;
  
  /**
   * An {@link org.apache.aut.nativelib.ExecOutputHandler} adaptor, that writes output to the logging
   * methods of a {@link org.apache.myrmidon.api.TaskContext}.
   *
   * @author <a href="mailto:adammurdoch@apache.org">Adam Murdoch</a>
   * @version $Revision: 1.1 $ $Date: 2002/04/08 00:29:52 $
   */
  public class LoggingExecOutputHandler
      implements ExecOutputHandler
  {
      private final TaskContext m_context;
  
      public LoggingExecOutputHandler( final TaskContext context )
      {
          m_context = context;
      }
  
      /**
       * Receive notification about the process writing
       * to standard output.
       */
      public void stdout( final String line )
      {
          m_context.info( line );
      }
  
      /**
       * Receive notification about the process writing
       * to standard error.
       */
      public void stderr( final String line )
      {
          m_context.error( line );
      }
  }
  
  
  
  1.8       +1 -1      jakarta-ant/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/ANTLR.java
  
  Index: ANTLR.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/ANTLR.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- ANTLR.java	22 Mar 2002 04:12:36 -0000	1.7
  +++ ANTLR.java	8 Apr 2002 00:29:52 -0000	1.8
  @@ -14,7 +14,7 @@
   import org.apache.myrmidon.api.AbstractTask;
   import org.apache.myrmidon.api.TaskException;
   import org.apache.myrmidon.framework.java.ExecuteJava;
  -import org.apache.tools.todo.types.Argument;
  +import org.apache.myrmidon.framework.nativelib.Argument;
   import org.apache.myrmidon.framework.file.Path;
   
   /**
  
  
  
  1.5       +2 -2      jakarta-ant/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/Cab.java
  
  Index: Cab.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/Cab.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- Cab.java	7 Apr 2002 23:10:43 -0000	1.4
  +++ Cab.java	8 Apr 2002 00:29:52 -0000	1.5
  @@ -16,9 +16,9 @@
   import java.util.Iterator;
   import org.apache.aut.nativelib.Os;
   import org.apache.myrmidon.api.TaskException;
  -import org.apache.myrmidon.framework.Execute;
  +import org.apache.myrmidon.framework.nativelib.Execute;
   import org.apache.myrmidon.framework.FileSet;
  -import org.apache.tools.todo.types.Commandline;
  +import org.apache.myrmidon.framework.nativelib.Commandline;
   import org.apache.tools.todo.types.DirectoryScanner;
   import org.apache.tools.todo.types.ScannerUtil;
   
  
  
  
  1.8       +1 -1      jakarta-ant/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/Javah.java
  
  Index: Javah.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/Javah.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- Javah.java	7 Apr 2002 23:10:43 -0000	1.7
  +++ Javah.java	8 Apr 2002 00:29:52 -0000	1.8
  @@ -16,7 +16,7 @@
   import org.apache.myrmidon.api.TaskException;
   import org.apache.myrmidon.framework.file.FileListUtil;
   import org.apache.myrmidon.framework.file.Path;
  -import org.apache.tools.todo.types.ArgumentList;
  +import org.apache.myrmidon.framework.nativelib.ArgumentList;
   import org.apache.tools.todo.util.FileUtils;
   
   /**
  
  
  
  1.5       +2 -2      jakarta-ant/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/Rpm.java
  
  Index: Rpm.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/Rpm.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- Rpm.java	7 Apr 2002 23:10:43 -0000	1.4
  +++ Rpm.java	8 Apr 2002 00:29:52 -0000	1.5
  @@ -10,8 +10,8 @@
   import java.io.File;
   import org.apache.myrmidon.api.AbstractTask;
   import org.apache.myrmidon.api.TaskException;
  -import org.apache.myrmidon.framework.Execute;
  -import org.apache.tools.todo.types.Commandline;
  +import org.apache.myrmidon.framework.nativelib.Execute;
  +import org.apache.myrmidon.framework.nativelib.Commandline;
   
   /**
    * @author lucas@collab.net
  
  
  
  1.11      +3 -3      jakarta-ant/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/javac/DefaultCompilerAdapter.java
  
  Index: DefaultCompilerAdapter.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/javac/DefaultCompilerAdapter.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- DefaultCompilerAdapter.java	7 Apr 2002 23:10:44 -0000	1.10
  +++ DefaultCompilerAdapter.java	8 Apr 2002 00:29:52 -0000	1.11
  @@ -15,10 +15,10 @@
   import org.apache.avalon.excalibur.util.StringUtil;
   import org.apache.myrmidon.api.TaskContext;
   import org.apache.myrmidon.api.TaskException;
  -import org.apache.myrmidon.framework.Execute;
  +import org.apache.myrmidon.framework.nativelib.Execute;
   import org.apache.myrmidon.framework.FileSet;
  -import org.apache.tools.todo.types.Commandline;
  -import org.apache.tools.todo.types.ArgumentList;
  +import org.apache.myrmidon.framework.nativelib.Commandline;
  +import org.apache.myrmidon.framework.nativelib.ArgumentList;
   import org.apache.myrmidon.framework.file.Path;
   import org.apache.myrmidon.framework.file.FileListUtil;
   import org.apache.tools.todo.util.FileUtils;
  
  
  
  1.7       +1 -1      jakarta-ant/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/javac/Gcj.java
  
  Index: Gcj.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/javac/Gcj.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- Gcj.java	7 Apr 2002 09:51:09 -0000	1.6
  +++ Gcj.java	8 Apr 2002 00:29:52 -0000	1.7
  @@ -8,7 +8,7 @@
   package org.apache.tools.todo.taskdefs.javac;
   
   import org.apache.myrmidon.api.TaskException;
  -import org.apache.tools.todo.types.Commandline;
  +import org.apache.myrmidon.framework.nativelib.Commandline;
   import org.apache.myrmidon.framework.file.Path;
   import org.apache.myrmidon.framework.file.FileListUtil;
   
  
  
  
  1.2       +1 -1      jakarta-ant/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/javac/ImplementationSpecificArgument.java
  
  Index: ImplementationSpecificArgument.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/javac/ImplementationSpecificArgument.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- ImplementationSpecificArgument.java	17 Mar 2002 09:42:22 -0000	1.1
  +++ ImplementationSpecificArgument.java	8 Apr 2002 00:29:52 -0000	1.2
  @@ -7,7 +7,7 @@
    */
   package org.apache.tools.todo.taskdefs.javac;
   
  -import org.apache.tools.todo.types.Argument;
  +import org.apache.myrmidon.framework.nativelib.Argument;
   
   /**
    * Adds an "implementation" attribute to Commandline$Attribute used to
  
  
  
  1.3       +2 -2      jakarta-ant/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/javac/Javac12.java
  
  Index: Javac12.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/javac/Javac12.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- Javac12.java	7 Apr 2002 23:10:44 -0000	1.2
  +++ Javac12.java	8 Apr 2002 00:29:52 -0000	1.3
  @@ -12,8 +12,8 @@
   import java.lang.reflect.Method;
   import org.apache.myrmidon.api.TaskException;
   import org.apache.myrmidon.api.TaskContext;
  -import org.apache.tools.todo.types.Commandline;
  -import org.apache.tools.todo.types.ArgumentList;
  +import org.apache.myrmidon.framework.nativelib.Commandline;
  +import org.apache.myrmidon.framework.nativelib.ArgumentList;
   import org.apache.tools.todo.taskdefs.javac.DefaultCompilerAdapter;
   
   /**
  
  
  
  1.3       +2 -2      jakarta-ant/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/javac/Javac13.java
  
  Index: Javac13.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/javac/Javac13.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- Javac13.java	7 Apr 2002 23:10:44 -0000	1.2
  +++ Javac13.java	8 Apr 2002 00:29:52 -0000	1.3
  @@ -10,8 +10,8 @@
   import java.lang.reflect.Method;
   import org.apache.myrmidon.api.TaskException;
   import org.apache.myrmidon.api.TaskContext;
  -import org.apache.tools.todo.types.Commandline;
  -import org.apache.tools.todo.types.ArgumentList;
  +import org.apache.myrmidon.framework.nativelib.Commandline;
  +import org.apache.myrmidon.framework.nativelib.ArgumentList;
   import org.apache.tools.todo.taskdefs.javac.DefaultCompilerAdapter;
   
   /**
  
  
  
  1.3       +1 -1      jakarta-ant/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/javac/JavacExternal.java
  
  Index: JavacExternal.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/javac/JavacExternal.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- JavacExternal.java	7 Apr 2002 09:51:09 -0000	1.2
  +++ JavacExternal.java	8 Apr 2002 00:29:52 -0000	1.3
  @@ -9,7 +9,7 @@
   
   import org.apache.myrmidon.api.TaskException;
   import org.apache.myrmidon.api.TaskContext;
  -import org.apache.tools.todo.types.Commandline;
  +import org.apache.myrmidon.framework.nativelib.Commandline;
   import org.apache.tools.todo.taskdefs.javac.DefaultCompilerAdapter;
   
   /**
  
  
  
  1.7       +1 -1      jakarta-ant/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/javac/Jikes.java
  
  Index: Jikes.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/javac/Jikes.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- Jikes.java	7 Apr 2002 09:51:09 -0000	1.6
  +++ Jikes.java	8 Apr 2002 00:29:52 -0000	1.7
  @@ -8,7 +8,7 @@
   package org.apache.tools.todo.taskdefs.javac;
   
   import org.apache.myrmidon.api.TaskException;
  -import org.apache.tools.todo.types.Commandline;
  +import org.apache.myrmidon.framework.nativelib.Commandline;
   import org.apache.myrmidon.framework.file.Path;
   import org.apache.myrmidon.framework.file.FileListUtil;
   
  
  
  
  1.7       +1 -1      jakarta-ant/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/javac/Jvc.java
  
  Index: Jvc.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/javac/Jvc.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- Jvc.java	7 Apr 2002 09:51:09 -0000	1.6
  +++ Jvc.java	8 Apr 2002 00:29:52 -0000	1.7
  @@ -8,7 +8,7 @@
   package org.apache.tools.todo.taskdefs.javac;
   
   import org.apache.myrmidon.api.TaskException;
  -import org.apache.tools.todo.types.Commandline;
  +import org.apache.myrmidon.framework.nativelib.Commandline;
   import org.apache.myrmidon.framework.file.Path;
   import org.apache.myrmidon.framework.file.FileListUtil;
   
  
  
  
  1.8       +2 -2      jakarta-ant/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/javac/Kjc.java
  
  Index: Kjc.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/javac/Kjc.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- Kjc.java	7 Apr 2002 23:10:44 -0000	1.7
  +++ Kjc.java	8 Apr 2002 00:29:52 -0000	1.8
  @@ -9,8 +9,8 @@
   
   import java.lang.reflect.Method;
   import org.apache.myrmidon.api.TaskException;
  -import org.apache.tools.todo.types.Commandline;
  -import org.apache.tools.todo.types.ArgumentList;
  +import org.apache.myrmidon.framework.nativelib.Commandline;
  +import org.apache.myrmidon.framework.nativelib.ArgumentList;
   import org.apache.myrmidon.framework.file.Path;
   import org.apache.myrmidon.framework.file.FileListUtil;
   
  
  
  
  1.3       +1 -1      jakarta-ant/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/javac/Sj.java
  
  Index: Sj.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/javac/Sj.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- Sj.java	7 Apr 2002 09:51:09 -0000	1.2
  +++ Sj.java	8 Apr 2002 00:29:52 -0000	1.3
  @@ -9,7 +9,7 @@
   
   import org.apache.myrmidon.api.TaskException;
   import org.apache.myrmidon.api.TaskContext;
  -import org.apache.tools.todo.types.Commandline;
  +import org.apache.myrmidon.framework.nativelib.Commandline;
   import org.apache.tools.todo.taskdefs.javac.DefaultCompilerAdapter;
   
   /**
  
  
  
  1.12      +51 -74    jakarta-ant/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/javadoc/Javadoc.java
  
  Index: Javadoc.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/javadoc/Javadoc.java,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- Javadoc.java	7 Apr 2002 23:10:44 -0000	1.11
  +++ Javadoc.java	8 Apr 2002 00:29:52 -0000	1.12
  @@ -19,15 +19,14 @@
   import org.apache.aut.nativelib.Os;
   import org.apache.myrmidon.api.AbstractTask;
   import org.apache.myrmidon.api.TaskException;
  -import org.apache.myrmidon.framework.Execute;
  -import org.apache.myrmidon.framework.Pattern;
  +import org.apache.myrmidon.framework.nativelib.Execute;
   import org.apache.myrmidon.framework.FileSet;
  -import org.apache.tools.todo.types.Commandline;
  -import org.apache.tools.todo.types.DirectoryScanner;
  -import org.apache.myrmidon.framework.file.Path;
  +import org.apache.myrmidon.framework.Pattern;
   import org.apache.myrmidon.framework.file.FileListUtil;
  +import org.apache.myrmidon.framework.file.Path;
  +import org.apache.myrmidon.framework.nativelib.ArgumentList;
  +import org.apache.tools.todo.types.DirectoryScanner;
   import org.apache.tools.todo.types.ScannerUtil;
  -import org.apache.tools.todo.types.ArgumentList;
   
   /**
    * This task makes it easy to generate Javadoc documentation for a collection of
  @@ -66,7 +65,7 @@
       extends AbstractTask
       implements ExecOutputHandler
   {
  -    private ArgumentList m_command = new ArgumentList();
  +    private Execute m_command = new Execute();
   
       private Path m_sourcePath;
       private File m_destDir;
  @@ -83,10 +82,6 @@
       private ArrayList m_links = new ArrayList( 2 );
       private ArrayList m_groups = new ArrayList( 2 );
       private boolean m_useDefaultExcludes = true;
  -    private Html m_doctitle;
  -    private Html m_header;
  -    private Html m_footer;
  -    private Html m_bottom;
       private boolean m_useExternalFile;
       private File m_tmpList;
   
  @@ -158,8 +153,6 @@
       public void setDestdir( File dir )
       {
           m_destDir = dir;
  -        m_command.addArgument( "-d" );
  -        m_command.addArgument( m_destDir );
       }
   
       public void setDocencoding( String enc )
  @@ -433,12 +426,14 @@
   
       public void addBottom( Html text )
       {
  -        m_bottom = text;
  +        m_command.addArgument( "-bottom" );
  +        m_command.addArgument( text.getText() );
       }
   
       public void addDoctitle( Html text )
       {
  -        m_doctitle = text;
  +        m_command.addArgument( "-doctitle" );
  +        m_command.addArgument( text.getText() );
       }
   
       public void addExcludePackage( PackageName pn )
  @@ -448,12 +443,14 @@
   
       public void addFooter( Html text )
       {
  -        m_footer = text;
  +        m_command.addArgument( "-footer" );
  +        m_command.addArgument( text.getText() );
       }
   
       public void addHeader( Html text )
       {
  -        m_header = text;
  +        m_command.addArgument( "-header" );
  +        m_command.addArgument( text.getText() );
       }
   
       public void addPackage( PackageName pn )
  @@ -537,29 +534,7 @@
   
           getContext().info( "Generating Javadoc" );
   
  -        if( m_doctitle != null )
  -        {
  -            m_command.addArgument( "-doctitle" );
  -            m_command.addArgument( m_doctitle.getText() );
  -        }
  -        if( m_header != null )
  -        {
  -            m_command.addArgument( "-header" );
  -            m_command.addArgument( m_header.getText() );
  -        }
  -        if( m_footer != null )
  -        {
  -            m_command.addArgument( "-footer" );
  -            m_command.addArgument( m_footer.getText() );
  -        }
  -        if( m_bottom != null )
  -        {
  -            m_command.addArgument( "-bottom" );
  -            m_command.addArgument( m_bottom.getText() );
  -        }
  -
  -        Commandline cmd = new Commandline();//(Commandline)m_command.clone();
  -        cmd.setExecutable( getJavadocExecutableName() );
  +        m_command.setExecutable( getJavadocExecutableName() );
   
           // ------------------------------------------------ general javadoc arguments
   
  @@ -570,16 +545,16 @@
           {
               classpath.add( m_classpath );
           }
  -        cmd.addArgument( "-classpath" );
  -        cmd.addArgument( FileListUtil.formatPath( classpath, getContext() ) );
  +        m_command.addArgument( "-classpath" );
  +        m_command.addArgument( FileListUtil.formatPath( classpath, getContext() ) );
   
           if( m_version && m_doclet == null )
           {
  -            cmd.addArgument( "-version" );
  +            m_command.addArgument( "-version" );
           }
           if( m_author && m_doclet == null )
           {
  -            cmd.addArgument( "-author" );
  +            m_command.addArgument( "-author" );
           }
   
           if( m_doclet == null )
  @@ -590,6 +565,11 @@
                   throw new TaskException( msg );
               }
           }
  +        if( m_destDir != null )
  +        {
  +            m_command.addArgument( "-d" );
  +            m_command.addArgument( m_destDir );
  +        }
   
           // --------------------------------- javadoc2 arguments for default doclet
   
  @@ -603,12 +583,12 @@
               }
               else
               {
  -                cmd.addArgument( "-doclet" );
  -                cmd.addArgument( m_doclet.getName() );
  +                m_command.addArgument( "-doclet" );
  +                m_command.addArgument( m_doclet.getName() );
                   if( m_doclet.getPath() != null )
                   {
  -                    cmd.addArgument( "-docletpath" );
  -                    cmd.addArgument( FileListUtil.formatPath( m_doclet.getPath(), getContext() ) );
  +                    m_command.addArgument( "-docletpath" );
  +                    m_command.addArgument( FileListUtil.formatPath( m_doclet.getPath(), getContext() ) );
                   }
                   for( Iterator e = m_doclet.getParams(); e.hasNext(); )
                   {
  @@ -618,18 +598,18 @@
                           throw new TaskException( "Doclet parameters must have a name" );
                       }
   
  -                    cmd.addArgument( param.getName() );
  +                    m_command.addArgument( param.getName() );
                       if( param.getValue() != null )
                       {
  -                        cmd.addArgument( param.getValue() );
  +                        m_command.addArgument( param.getValue() );
                       }
                   }
               }
   
               if( m_bootclasspath != null )
               {
  -                cmd.addArgument( "-bootclasspath" );
  -                cmd.addArgument( FileListUtil.formatPath( m_bootclasspath, getContext() ) );
  +                m_command.addArgument( "-bootclasspath" );
  +                m_command.addArgument( FileListUtil.formatPath( m_bootclasspath, getContext() ) );
               }
   
               // add the links arguments
  @@ -655,9 +635,9 @@
                           File packageList = new File( packageListLocation, "package-list" );
                           if( packageList.exists() )
                           {
  -                            cmd.addArgument( "-linkoffline" );
  -                            cmd.addArgument( la.getHref() );
  -                            cmd.addArgument( packageListLocation.getAbsolutePath() );
  +                            m_command.addArgument( "-linkoffline" );
  +                            m_command.addArgument( la.getHref() );
  +                            m_command.addArgument( packageListLocation.getAbsolutePath() );
                           }
                           else
                           {
  @@ -666,8 +646,8 @@
                       }
                       else
                       {
  -                        cmd.addArgument( "-link" );
  -                        cmd.addArgument( la.getHref() );
  +                        m_command.addArgument( "-link" );
  +                        m_command.addArgument( la.getHref() );
                       }
                   }
               }
  @@ -694,9 +674,9 @@
                       {
                           String name = grp.substring( 0, space );
                           String pkgList = grp.substring( space + 1 );
  -                        cmd.addArgument( "-group" );
  -                        cmd.addArgument( name );
  -                        cmd.addArgument( pkgList );
  +                        m_command.addArgument( "-group" );
  +                        m_command.addArgument( name );
  +                        m_command.addArgument( pkgList );
                       }
                   }
               }
  @@ -713,9 +693,9 @@
                       {
                           throw new TaskException( "The title and packages must be specified for group elements." );
                       }
  -                    cmd.addArgument( "-group" );
  -                    cmd.addArgument( title );
  -                    cmd.addArgument( packages );
  +                    m_command.addArgument( "-group" );
  +                    m_command.addArgument( title );
  +                    m_command.addArgument( packages );
                   }
               }
   
  @@ -736,7 +716,7 @@
                   }
                   else
                   {
  -                    cmd.addArgument( name );
  +                    m_command.addArgument( name );
                   }
               }
   
  @@ -752,7 +732,7 @@
               }
               if( packages.size() > 0 )
               {
  -                evaluatePackages( cmd, m_sourcePath, packages, excludePackages );
  +                evaluatePackages( m_command, m_sourcePath, packages, excludePackages );
               }
           }
   
  @@ -770,7 +750,7 @@
                       if( m_tmpList == null )
                       {
                           m_tmpList = File.createTempFile( "javadoc", "", getBaseDirectory() );
  -                        cmd.addArgument( "@" + m_tmpList.getAbsolutePath() );
  +                        m_command.addArgument( "@" + m_tmpList.getAbsolutePath() );
                       }
                       srcListWriter = new PrintWriter( new FileWriter( m_tmpList.getAbsolutePath(),
                                                                        true ) );
  @@ -787,7 +767,7 @@
                       }
                       else
                       {
  -                        cmd.addArgument( sourceFileName );
  +                        m_command.addArgument( sourceFileName );
                       }
                   }
   
  @@ -807,17 +787,14 @@
   
           if( m_packageList != null )
           {
  -            cmd.addArgument( "@" + m_packageList );
  +            m_command.addArgument( "@" + m_packageList );
           }
  -        getContext().debug( "Javadoc args: " + cmd );
  -
  -        final Execute exe = new Execute();
  -        exe.setExecOutputHandler( this );
  +        getContext().debug( "Javadoc args: " + m_command );
   
  -        exe.setCommandline( cmd );
  +        m_command.setExecOutputHandler( this );
           try
           {
  -            exe.execute( getContext() );
  +            m_command.execute( getContext() );
           }
           finally
           {
  
  
  
  1.4       +2 -2      jakarta-ant/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/jsp/compilers/DefaultCompilerAdapter.java
  
  Index: DefaultCompilerAdapter.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/jsp/compilers/DefaultCompilerAdapter.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- DefaultCompilerAdapter.java	7 Apr 2002 23:10:44 -0000	1.3
  +++ DefaultCompilerAdapter.java	8 Apr 2002 00:29:53 -0000	1.4
  @@ -13,8 +13,8 @@
   import org.apache.myrmidon.api.TaskContext;
   import org.apache.myrmidon.api.TaskException;
   import org.apache.tools.todo.taskdefs.jsp.JspC;
  -import org.apache.tools.todo.types.Commandline;
  -import org.apache.tools.todo.types.ArgumentList;
  +import org.apache.myrmidon.framework.nativelib.Commandline;
  +import org.apache.myrmidon.framework.nativelib.ArgumentList;
   import org.apache.tools.todo.util.FileUtils;
   
   /**
  
  
  
  1.5       +2 -2      jakarta-ant/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/jsp/compilers/JasperC.java
  
  Index: JasperC.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/jsp/compilers/JasperC.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- JasperC.java	7 Apr 2002 23:10:44 -0000	1.4
  +++ JasperC.java	8 Apr 2002 00:29:53 -0000	1.5
  @@ -10,8 +10,8 @@
   import org.apache.myrmidon.api.TaskException;
   import org.apache.myrmidon.framework.java.ExecuteJava;
   import org.apache.tools.todo.taskdefs.jsp.JspC;
  -import org.apache.tools.todo.types.Commandline;
  -import org.apache.tools.todo.types.ArgumentList;
  +import org.apache.myrmidon.framework.nativelib.Commandline;
  +import org.apache.myrmidon.framework.nativelib.ArgumentList;
   
   /**
    * The implementation of the jasper compiler. This is a cut-and-paste of the
  
  
  
  1.12      +5 -5      jakarta-ant/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/junit/JUnitTask.java
  
  Index: JUnitTask.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/junit/JUnitTask.java,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- JUnitTask.java	7 Apr 2002 23:10:44 -0000	1.11
  +++ JUnitTask.java	8 Apr 2002 00:29:53 -0000	1.12
  @@ -21,13 +21,13 @@
   import org.apache.myrmidon.framework.file.Path;
   import org.apache.myrmidon.framework.file.FileListUtil;
   import org.apache.myrmidon.framework.java.ExecuteJava;
  -import org.apache.tools.todo.types.Argument;
  -import org.apache.tools.todo.types.Commandline;
  +import org.apache.myrmidon.framework.nativelib.Argument;
  +import org.apache.myrmidon.framework.nativelib.Commandline;
   import org.apache.tools.todo.types.EnumeratedAttribute;
  -import org.apache.tools.todo.types.EnvironmentData;
  -import org.apache.tools.todo.types.EnvironmentVariable;
  +import org.apache.myrmidon.framework.nativelib.EnvironmentData;
  +import org.apache.myrmidon.framework.nativelib.EnvironmentVariable;
   import org.apache.tools.todo.types.SysProperties;
  -import org.apache.tools.todo.types.ArgumentList;
  +import org.apache.myrmidon.framework.nativelib.ArgumentList;
   
   /**
    * Ant task to run JUnit tests. <p>
  
  
  
  1.9       +1 -1      jakarta-ant/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/rmic/DefaultRmicAdapter.java
  
  Index: DefaultRmicAdapter.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/rmic/DefaultRmicAdapter.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- DefaultRmicAdapter.java	7 Apr 2002 23:10:44 -0000	1.8
  +++ DefaultRmicAdapter.java	8 Apr 2002 00:29:53 -0000	1.9
  @@ -15,7 +15,7 @@
   import org.apache.myrmidon.framework.FileNameMapper;
   import org.apache.myrmidon.framework.file.FileListUtil;
   import org.apache.myrmidon.framework.file.Path;
  -import org.apache.tools.todo.types.ArgumentList;
  +import org.apache.myrmidon.framework.nativelib.ArgumentList;
   import org.apache.tools.todo.util.FileUtils;
   
   /**
  
  
  
  1.3       +2 -2      jakarta-ant/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/rmic/KaffeRmic.java
  
  Index: KaffeRmic.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/rmic/KaffeRmic.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- KaffeRmic.java	7 Apr 2002 23:10:44 -0000	1.2
  +++ KaffeRmic.java	8 Apr 2002 00:29:53 -0000	1.3
  @@ -11,8 +11,8 @@
   import java.lang.reflect.Method;
   import org.apache.myrmidon.api.TaskException;
   import org.apache.myrmidon.api.TaskContext;
  -import org.apache.tools.todo.types.Commandline;
  -import org.apache.tools.todo.types.ArgumentList;
  +import org.apache.myrmidon.framework.nativelib.Commandline;
  +import org.apache.myrmidon.framework.nativelib.ArgumentList;
   import org.apache.tools.todo.taskdefs.rmic.DefaultRmicAdapter;
   
   /**
  
  
  
  1.3       +2 -2      jakarta-ant/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/rmic/SunRmic.java
  
  Index: SunRmic.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/rmic/SunRmic.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- SunRmic.java	7 Apr 2002 23:10:44 -0000	1.2
  +++ SunRmic.java	8 Apr 2002 00:29:53 -0000	1.3
  @@ -13,8 +13,8 @@
   import java.lang.reflect.Method;
   import org.apache.myrmidon.api.TaskException;
   import org.apache.myrmidon.api.TaskContext;
  -import org.apache.tools.todo.types.Commandline;
  -import org.apache.tools.todo.types.ArgumentList;
  +import org.apache.myrmidon.framework.nativelib.Commandline;
  +import org.apache.myrmidon.framework.nativelib.ArgumentList;
   import org.apache.tools.todo.taskdefs.rmic.DefaultRmicAdapter;
   
   /**
  
  
  
  1.4       +2 -2      jakarta-ant/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/rmic/WLRmic.java
  
  Index: WLRmic.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/rmic/WLRmic.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- WLRmic.java	7 Apr 2002 23:10:44 -0000	1.3
  +++ WLRmic.java	8 Apr 2002 00:29:53 -0000	1.4
  @@ -11,8 +11,8 @@
   import org.apache.myrmidon.api.TaskException;
   import org.apache.myrmidon.api.TaskContext;
   import org.apache.myrmidon.framework.java.ExecuteJava;
  -import org.apache.tools.todo.types.Commandline;
  -import org.apache.tools.todo.types.ArgumentList;
  +import org.apache.myrmidon.framework.nativelib.Commandline;
  +import org.apache.myrmidon.framework.nativelib.ArgumentList;
   import org.apache.tools.todo.taskdefs.rmic.DefaultRmicAdapter;
   
   /**
  
  
  
  1.4       +1 -1      jakarta-ant/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/stylebook/StyleBook.java
  
  Index: StyleBook.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/stylebook/StyleBook.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- StyleBook.java	7 Apr 2002 23:10:44 -0000	1.3
  +++ StyleBook.java	8 Apr 2002 00:29:53 -0000	1.4
  @@ -10,7 +10,7 @@
   import java.io.File;
   import org.apache.myrmidon.api.TaskException;
   import org.apache.antlib.java.JavaTask;
  -import org.apache.tools.todo.types.Argument;
  +import org.apache.myrmidon.framework.nativelib.Argument;
   
   /**
    * Basic task for apache stylebook.
  
  
  
  1.3       +1 -1      jakarta-ant/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/text/Native2Ascii.java
  
  Index: Native2Ascii.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/text/Native2Ascii.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- Native2Ascii.java	7 Apr 2002 23:10:44 -0000	1.2
  +++ Native2Ascii.java	8 Apr 2002 00:29:53 -0000	1.3
  @@ -13,7 +13,7 @@
   import org.apache.tools.todo.taskdefs.MatchingTask;
   import org.apache.tools.todo.types.DirectoryScanner;
   import org.apache.tools.todo.types.SourceFileScanner;
  -import org.apache.tools.todo.types.ArgumentList;
  +import org.apache.myrmidon.framework.nativelib.ArgumentList;
   import org.apache.tools.todo.util.mappers.IdentityMapper;
   
   /**
  
  
  
  1.5       +4 -7      jakarta-ant/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/vss/MSVSS.java
  
  Index: MSVSS.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/vss/MSVSS.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- MSVSS.java	7 Apr 2002 23:10:44 -0000	1.4
  +++ MSVSS.java	8 Apr 2002 00:29:53 -0000	1.5
  @@ -12,9 +12,9 @@
   import org.apache.aut.nativelib.ExecManager;
   import org.apache.myrmidon.api.AbstractTask;
   import org.apache.myrmidon.api.TaskException;
  -import org.apache.myrmidon.framework.Execute;
  -import org.apache.tools.todo.types.Commandline;
  -import org.apache.tools.todo.types.ArgumentList;
  +import org.apache.myrmidon.framework.nativelib.Execute;
  +import org.apache.myrmidon.framework.nativelib.Commandline;
  +import org.apache.myrmidon.framework.nativelib.ArgumentList;
   
   /**
    * A base class for creating tasks for executing commands on Visual SourceSafe.
  @@ -200,11 +200,9 @@
           return m_vssPath;
       }
   
  -    protected void run( final Commandline cmd )
  +    protected void run( final Execute exe )
           throws TaskException
       {
  -        final Execute exe = new Execute();
  -
           // If location of ss.ini is specified we need to set the
           // environment-variable SSDIR to this value
           if( m_serverPath != null )
  @@ -214,7 +212,6 @@
               exe.setEnvironment( env );
           }
   
  -        exe.setCommandline( cmd );
           exe.execute( getContext() );
       }
   }
  
  
  
  1.5       +13 -13    jakarta-ant/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/vss/MSVSSCHECKIN.java
  
  Index: MSVSSCHECKIN.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/vss/MSVSSCHECKIN.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- MSVSSCHECKIN.java	7 Apr 2002 23:10:44 -0000	1.4
  +++ MSVSSCHECKIN.java	8 Apr 2002 00:29:53 -0000	1.5
  @@ -9,8 +9,8 @@
   
   import java.io.File;
   import org.apache.myrmidon.api.TaskException;
  -import org.apache.tools.todo.types.Commandline;
  -import org.apache.tools.todo.types.ArgumentList;
  +import org.apache.myrmidon.framework.nativelib.ArgumentList;
  +import org.apache.myrmidon.framework.nativelib.Execute;
   
   /**
    * Task to perform CheckIn commands to Microsoft Visual Source Safe.
  @@ -168,7 +168,7 @@
       public void execute()
           throws TaskException
       {
  -        final Commandline commandLine = new Commandline();
  +        final Execute exe = new Execute();
   
           // first off, make sure that we've got a command and a vssdir ...
           final String vsspath = getVsspath();
  @@ -183,24 +183,24 @@
           // build the command line from what we got the format is
           // ss Checkin VSS items [-H] [-C] [-I-] [-N] [-O] [-R] [-W] [-Y] [-?]
           // as specified in the SS.EXE help
  -        commandLine.setExecutable( getSSCommand() );
  -        commandLine.addArgument( COMMAND_CHECKIN );
  +        exe.setExecutable( getSSCommand() );
  +        exe.addArgument( COMMAND_CHECKIN );
   
           // VSS items
  -        commandLine.addArgument( vsspath );
  +        exe.addArgument( vsspath );
           // -GL
  -        getLocalpathCommand( commandLine );
  +        getLocalpathCommand( exe );
           // -I- or -I-Y or -I-N
  -        getAutoresponse( commandLine );
  +        getAutoresponse( exe );
           // -R
  -        getRecursiveCommand( commandLine );
  +        getRecursiveCommand( exe );
           // -W
  -        getWritableCommand( commandLine );
  +        getWritableCommand( exe );
           // -Y
  -        getLoginCommand( commandLine );
  +        getLoginCommand( exe );
           // -C
  -        commandLine.addArgument( "-C" + m_comment );
  +        exe.addArgument( "-C" + m_comment );
   
  -        run( commandLine );
  +        run( exe );
       }
   }
  
  
  
  1.5       +12 -12    jakarta-ant/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/vss/MSVSSCHECKOUT.java
  
  Index: MSVSSCHECKOUT.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/vss/MSVSSCHECKOUT.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- MSVSSCHECKOUT.java	7 Apr 2002 23:10:44 -0000	1.4
  +++ MSVSSCHECKOUT.java	8 Apr 2002 00:29:53 -0000	1.5
  @@ -9,8 +9,8 @@
   
   import java.io.File;
   import org.apache.myrmidon.api.TaskException;
  -import org.apache.tools.todo.types.Commandline;
  -import org.apache.tools.todo.types.ArgumentList;
  +import org.apache.myrmidon.framework.nativelib.ArgumentList;
  +import org.apache.myrmidon.framework.nativelib.Execute;
   
   /**
    * Task to perform CheckOut commands to Microsoft Visual Source Safe.
  @@ -209,7 +209,7 @@
       public void execute()
           throws TaskException
       {
  -        final Commandline commandLine = new Commandline();
  +        final Execute exe = new Execute();
   
           // first off, make sure that we've got a command and a vssdir ...
           final String vsspath = getVsspath();
  @@ -224,23 +224,23 @@
           // build the command line from what we got the format is
           // ss Checkout VSS items [-G] [-C] [-H] [-I-] [-N] [-O] [-R] [-V] [-Y] [-?]
           // as specified in the SS.EXE help
  -        commandLine.setExecutable( getSSCommand() );
  -        commandLine.addArgument( COMMAND_CHECKOUT );
  +        exe.setExecutable( getSSCommand() );
  +        exe.addArgument( COMMAND_CHECKOUT );
   
           // VSS items
  -        commandLine.addArgument( vsspath );
  +        exe.addArgument( vsspath );
           // -GL
  -        getLocalpathCommand( commandLine );
  +        getLocalpathCommand( exe );
           // -I- or -I-Y or -I-N
  -        getAutoresponse( commandLine );
  +        getAutoresponse( exe );
           // -R
  -        getRecursiveCommand( commandLine );
  +        getRecursiveCommand( exe );
           // -V
  -        getVersionCommand( commandLine );
  +        getVersionCommand( exe );
           // -Y
  -        getLoginCommand( commandLine );
  +        getLoginCommand( exe );
   
  -        run( commandLine );
  +        run( exe );
       }
   }
   
  
  
  
  1.6       +14 -15    jakarta-ant/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/vss/MSVSSGET.java
  
  Index: MSVSSGET.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/vss/MSVSSGET.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- MSVSSGET.java	7 Apr 2002 23:10:44 -0000	1.5
  +++ MSVSSGET.java	8 Apr 2002 00:29:53 -0000	1.6
  @@ -9,9 +9,8 @@
   
   import java.io.File;
   import org.apache.myrmidon.api.TaskException;
  -import org.apache.tools.todo.types.Commandline;
  -import org.apache.tools.todo.types.ArgumentList;
  -import org.apache.myrmidon.framework.file.Path;
  +import org.apache.myrmidon.framework.nativelib.ArgumentList;
  +import org.apache.myrmidon.framework.nativelib.Execute;
   
   /**
    * Task to perform GET commands to Microsoft Visual Source Safe. <p>
  @@ -468,7 +467,7 @@
       public void execute()
           throws TaskException
       {
  -        Commandline commandLine = new Commandline();
  +        Execute exe = new Execute();
   
           // first off, make sure that we've got a command and a vssdir ...
           if( getVsspath() == null )
  @@ -482,27 +481,27 @@
           // build the command line from what we got the format is
           // ss Get VSS items [-G] [-H] [-I-] [-N] [-O] [-R] [-V] [-W] [-Y] [-?]
           // as specified in the SS.EXE help
  -        commandLine.setExecutable( getSSCommand() );
  -        commandLine.addArgument( COMMAND_GET );
  +        exe.setExecutable( getSSCommand() );
  +        exe.addArgument( COMMAND_GET );
   
           // VSS items
  -        commandLine.addArgument( getVsspath() );
  +        exe.addArgument( getVsspath() );
           // -GL
  -        getLocalpathCommand( commandLine );
  +        getLocalpathCommand( exe );
           // -I- or -I-Y or -I-N
  -        getAutoresponse( commandLine );
  +        getAutoresponse( exe );
           // -O-
  -        getQuietCommand( commandLine );
  +        getQuietCommand( exe );
           // -R
  -        getRecursiveCommand( commandLine );
  +        getRecursiveCommand( exe );
           // -V
  -        getVersionCommand( commandLine );
  +        getVersionCommand( exe );
           // -W
  -        getWritableCommand( commandLine );
  +        getWritableCommand( exe );
           // -Y
  -        getLoginCommand( commandLine );
  +        getLoginCommand( exe );
   
  -        run( commandLine );
  +        run( exe );
       }
   
   }
  
  
  
  1.4       +14 -44    jakarta-ant/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/vss/MSVSSHISTORY.java
  
  Index: MSVSSHISTORY.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/vss/MSVSSHISTORY.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- MSVSSHISTORY.java	7 Apr 2002 23:10:44 -0000	1.3
  +++ MSVSSHISTORY.java	8 Apr 2002 00:29:53 -0000	1.4
  @@ -15,9 +15,9 @@
   import java.util.Date;
   import java.util.GregorianCalendar;
   import org.apache.myrmidon.api.TaskException;
  -import org.apache.tools.todo.types.Commandline;
  +import org.apache.myrmidon.framework.nativelib.ArgumentList;
  +import org.apache.myrmidon.framework.nativelib.Execute;
   import org.apache.tools.todo.types.EnumeratedAttribute;
  -import org.apache.tools.todo.types.ArgumentList;
   
   /**
    * Task to perform HISTORY commands to Microsoft Visual Source Safe.
  @@ -222,7 +222,7 @@
       public void execute()
           throws TaskException
       {
  -        Commandline commandLine = new Commandline();
  +        Execute exe = new Execute();
   
           // first off, make sure that we've got a command and a vssdir and a label ...
           if( getVsspath() == null )
  @@ -236,41 +236,39 @@
           // build the command line from what we got the format is
           // ss History elements [-H] [-L] [-N] [-O] [-V] [-Y] [-#] [-?]
           // as specified in the SS.EXE help
  -        commandLine.setExecutable( getSSCommand() );
  -        commandLine.addArgument( COMMAND_HISTORY );
  +        exe.setExecutable( getSSCommand() );
  +        exe.addArgument( COMMAND_HISTORY );
   
           // VSS items
  -        commandLine.addArgument( getVsspath() );
  +        exe.addArgument( getVsspath() );
   
           // -I-
  -        commandLine.addArgument( "-I-" );// ignore all errors
  +        exe.addArgument( "-I-" );// ignore all errors
   
           // -V
           // Label an existing file or project version
  -        getVersionDateCommand( commandLine );
  -        getVersionLabelCommand( commandLine );
  +        getVersionDateCommand( exe );
  +        getVersionLabelCommand( exe );
   
           // -R
           if( m_Recursive )
           {
  -            commandLine.addArgument( FLAG_RECURSION );
  +            exe.addArgument( FLAG_RECURSION );
           }
   
           // -B / -D / -F-
           if( m_Style.length() > 0 )
           {
  -            commandLine.addArgument( m_Style );
  +            exe.addArgument( m_Style );
           }
   
           // -Y
  -        getLoginCommand( commandLine );
  +        getLoginCommand( exe );
   
           // -O
  -        getOutputCommand( commandLine );
  +        getOutputCommand( exe );
   
  -        System.out.println( "***: " + commandLine );
  -
  -        run( commandLine );
  +        run( exe );
       }
   
       /**
  @@ -283,34 +281,6 @@
           if( m_OutputFileName != null )
           {
               cmd.addArgument( FLAG_OUTPUT + m_OutputFileName );
  -        }
  -    }
  -
  -    /**
  -     * @param cmd Description of Parameter
  -     */
  -    private void getRecursiveCommand( ArgumentList cmd )
  -    {
  -        if( !m_Recursive )
  -        {
  -            return;
  -        }
  -        else
  -        {
  -            cmd.addArgument( FLAG_RECURSION );
  -        }
  -    }
  -
  -    /**
  -     * Builds the User command.
  -     *
  -     * @param cmd the commandline the command is to be added to
  -     */
  -    private void getUserCommand( ArgumentList cmd )
  -    {
  -        if( m_User != null )
  -        {
  -            cmd.addArgument( FLAG_USER + m_User );
           }
       }
   
  
  
  
  1.4       +12 -12    jakarta-ant/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/vss/MSVSSLABEL.java
  
  Index: MSVSSLABEL.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/vss/MSVSSLABEL.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- MSVSSLABEL.java	7 Apr 2002 23:10:44 -0000	1.3
  +++ MSVSSLABEL.java	8 Apr 2002 00:29:53 -0000	1.4
  @@ -8,8 +8,8 @@
   package org.apache.tools.todo.taskdefs.vss;
   
   import org.apache.myrmidon.api.TaskException;
  -import org.apache.tools.todo.types.Commandline;
  -import org.apache.tools.todo.types.ArgumentList;
  +import org.apache.myrmidon.framework.nativelib.ArgumentList;
  +import org.apache.myrmidon.framework.nativelib.Execute;
   
   /**
    * Task to perform LABEL commands to Microsoft Visual Source Safe. <p>
  @@ -323,7 +323,7 @@
       public void execute()
           throws TaskException
       {
  -        Commandline commandLine = new Commandline();
  +        Execute exe = new Execute();
   
           // first off, make sure that we've got a command and a vssdir and a label ...
           if( getVsspath() == null )
  @@ -342,29 +342,29 @@
           // build the command line from what we got the format is
           // ss Label VSS items [-C]      [-H] [-I-] [-Llabel] [-N] [-O]      [-V]      [-Y] [-?]
           // as specified in the SS.EXE help
  -        commandLine.setExecutable( getSSCommand() );
  -        commandLine.addArgument( COMMAND_LABEL );
  +        exe.setExecutable( getSSCommand() );
  +        exe.addArgument( COMMAND_LABEL );
   
           // VSS items
  -        commandLine.addArgument( getVsspath() );
  +        exe.addArgument( getVsspath() );
   
           // -C
  -        commandLine.addArgument( "-C" + getComment() );
  +        exe.addArgument( "-C" + getComment() );
   
           // -I- or -I-Y or -I-N
  -        getAutoresponse( commandLine );
  +        getAutoresponse( exe );
   
           // -L
           // Specify the new label on the command line (instead of being prompted)
  -        getLabelCommand( commandLine );
  +        getLabelCommand( exe );
   
           // -V
           // Label an existing file or project version
  -        getVersionCommand( commandLine );
  +        getVersionCommand( exe );
   
           // -Y
  -        getLoginCommand( commandLine );
  +        getLoginCommand( exe );
   
  -        run( commandLine );
  +        run( exe );
       }
   }
  
  
  
  1.4       +1 -0      jakarta-ant/proposal/myrmidon/src/todo/org/apache/tools/todo/types/SysProperties.java
  
  Index: SysProperties.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/todo/org/apache/tools/todo/types/SysProperties.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- SysProperties.java	20 Mar 2002 08:19:43 -0000	1.3
  +++ SysProperties.java	8 Apr 2002 00:29:53 -0000	1.4
  @@ -12,6 +12,7 @@
   import java.util.Properties;
   import java.util.Map;
   import org.apache.myrmidon.api.TaskException;
  +import org.apache.myrmidon.framework.nativelib.EnvironmentData;
   
   /**
    * A utility class for handling System properties
  
  
  

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>