ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From dona...@apache.org
Subject cvs commit: jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/util FileUtils.java
Date Sun, 20 Jan 2002 02:11:45 GMT
donaldp     02/01/19 18:11:45

  Modified:    proposal/myrmidon/src/java/org/apache/antlib/cvslib Cvs.java
               proposal/myrmidon/src/java/org/apache/antlib/nativelib
                        Exec.java
               proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs
                        Checksum.java Java.java Patch.java Tar.java
               proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/compilers
                        DefaultCompilerAdapter.java Gcj.java Jikes.java
                        Jvc.java Kjc.java
               proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/exec
                        ExecTask.java
               proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/javadoc
                        Javadoc.java
               proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional
                        ANTLR.java Cab.java Javah.java
               proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/ccm
                        CCMCheck.java CCMCreateTask.java
                        CCMReconfigure.java
               proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/clearcase
                        CCCheckin.java CCCheckout.java CCUnCheckout.java
                        CCUpdate.java
               proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/dotnet
                        NetCommand.java
               proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/ejb
                        BorlandDeploymentTool.java
                        BorlandGenerateClient.java
               proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/javacc
                        JJTree.java JavaCC.java
               proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/jdepend
                        JDependTask.java
               proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/jsp/compilers
                        DefaultCompilerAdapter.java JasperC.java
               proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/junit
                        JUnitTask.java
               proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/metamata
                        AbstractMetamataTask.java MParse.java
               proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/perforce
                        P4Base.java
               proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/pvcs
                        Pvcs.java
               proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/sitraka
                        CovMerge.java CovReport.java Coverage.java
               proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/vss
                        MSVSS.java MSVSSCHECKIN.java MSVSSCHECKOUT.java
                        MSVSSGET.java MSVSSHISTORY.java MSVSSLABEL.java
               proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/rmic
                        DefaultRmicAdapter.java
               proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/security
                        GenerateKey.java SignJar.java
               proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/text
                        Native2Ascii.java
               proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/unix
                        Rpm.java
               proposal/myrmidon/src/main/org/apache/tools/ant/types
                        Argument.java Commandline.java CommandlineJava.java
               proposal/myrmidon/src/main/org/apache/tools/ant/util
                        FileUtils.java
  Added:       proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs
                        TarFileSet.java TarLongFileMode.java
  Log:
  Did some create->add munging
  
  Revision  Changes    Path
  1.15      +12 -11    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.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- Cvs.java	12 Jan 2002 05:49:53 -0000	1.14
  +++ Cvs.java	20 Jan 2002 02:11:42 -0000	1.15
  @@ -15,6 +15,7 @@
   import org.apache.tools.ant.types.Commandline;
   import org.apache.tools.ant.types.EnvironmentData;
   import org.apache.tools.ant.types.EnvironmentVariable;
  +import org.apache.tools.ant.util.FileUtils;
   
   /**
    * Task to interact with a CVS repository.
  @@ -23,7 +24,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.14 $ $Date: 2002/01/12 05:49:53 $
  + * @version $Revision: 1.15 $ $Date: 2002/01/20 02:11:42 $
    */
   public class Cvs
       extends AbstractTask
  @@ -204,37 +205,37 @@
           command.setExecutable( "cvs" );
           if( m_cvsRoot != null )
           {
  -            command.createArgument().setValue( "-d" );
  -            command.createArgument().setValue( m_cvsRoot );
  +            command.addArgument( "-d" );
  +            command.addArgument( m_cvsRoot );
           }
   
           if( m_noexec )
           {
  -            command.createArgument().setValue( "-n" );
  +            command.addArgument( "-n" );
           }
   
           if( m_quiet )
           {
  -            command.createArgument().setValue( "-q" );
  +            command.addArgument( "-q" );
           }
   
  -        command.createArgument().setLine( m_command );
  +        command.addArguments( FileUtils.translateCommandline( m_command ) );
   
           if( null != m_date )
           {
  -            command.createArgument().setValue( "-D" );
  -            command.createArgument().setValue( m_date );
  +            command.addArgument( "-D" );
  +            command.addArgument( m_date );
           }
   
           if( null != m_tag )
           {
  -            command.createArgument().setValue( "-r" );
  -            command.createArgument().setValue( m_tag );
  +            command.addArgument( "-r" );
  +            command.addArgument( m_tag );
           }
   
           if( m_module != null )
           {
  -            command.createArgument().setLine( m_module );
  +            command.addArguments( FileUtils.translateCommandline( m_module ) );
           }
           return command;
       }
  
  
  
  1.3       +2 -2      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.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- Exec.java	12 Jan 2002 05:50:43 -0000	1.2
  +++ Exec.java	20 Jan 2002 02:11:42 -0000	1.3
  @@ -98,9 +98,9 @@
       /**
        * Add a nested arg element - a command line argument.
        */
  -    public Argument createArg()
  +    public void addArg( final Argument argument )
       {
  -        return m_command.createArgument();
  +        m_command.addArgument( argument );
       }
   
       public void execute()
  
  
  
  1.14      +216 -189  jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/Checksum.java
  
  Index: Checksum.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/Checksum.java,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- Checksum.java	13 Jan 2002 00:00:15 -0000	1.13
  +++ Checksum.java	20 Jan 2002 02:11:42 -0000	1.14
  @@ -11,8 +11,9 @@
   import java.io.File;
   import java.io.FileInputStream;
   import java.io.FileOutputStream;
  -import java.io.IOException;
   import java.io.InputStreamReader;
  +import java.io.IOException;
  +import java.io.InputStream;
   import java.security.DigestInputStream;
   import java.security.MessageDigest;
   import java.security.NoSuchAlgorithmException;
  @@ -20,9 +21,10 @@
   import java.util.ArrayList;
   import java.util.Enumeration;
   import java.util.Hashtable;
  +import org.apache.avalon.excalibur.io.IOUtil;
   import org.apache.myrmidon.api.TaskException;
  -import org.apache.tools.ant.types.DirectoryScanner;
   import org.apache.tools.ant.taskdefs.condition.Condition;
  +import org.apache.tools.ant.types.DirectoryScanner;
   import org.apache.tools.ant.types.FileSet;
   
   /**
  @@ -31,61 +33,73 @@
    *
    * @author <a href="mailto:umagesh@rediffmail.com">Magesh Umasankar</a>
    */
  -public class Checksum extends MatchingTask implements Condition
  +public class Checksum
  +    extends MatchingTask
  +    implements Condition
   {
       /**
        * File for which checksum is to be calculated.
        */
  -    private File file = null;
  +    private File m_file;
  +
       /**
        * MessageDigest algorithm to be used.
        */
  -    private String algorithm = "MD5";
  +    private String m_algorithm = "MD5";
  +
       /**
        * MessageDigest Algorithm provider
        */
  -    private String provider = null;
  +    private String m_provider;
  +
       /**
        * ArrayList to hold source file sets.
        */
  -    private ArrayList filesets = new ArrayList();
  +    private ArrayList m_filesets = new ArrayList();
  +
       /**
        * Stores SourceFile, DestFile pairs and SourceFile, Property String pairs.
        */
  -    private Hashtable includeFileMap = new Hashtable();
  +    private Hashtable m_includeFileMap = new Hashtable();
  +
       /**
        * File Extension that is be to used to create or identify destination file
        */
  -    private String fileext;
  +    private String m_fileext;
  +
       /**
        * Create new destination file? Defaults to false.
        */
  -    private boolean forceOverwrite;
  +    private boolean m_forceOverwrite;
  +
       /**
        * is this task being used as a nested condition element?
        */
  -    private boolean isCondition;
  +    private boolean m_isCondition;
  +
       /**
        * Message Digest instance
        */
  -    private MessageDigest messageDigest;
  +    private MessageDigest m_messageDigest;
  +
       /**
        * Holds generated checksum and gets set as a Project Property.
        */
  -    private String property;
  +    private String m_property;
  +
       /**
        * Contains the result of a checksum verification. ("true" or "false")
        */
  -    private String verifyProperty;
  +    private String m_verifyProperty;
   
       /**
        * Sets the MessageDigest algorithm to be used to calculate the checksum.
        *
        * @param algorithm The new Algorithm value
        */
  -    public void setAlgorithm( String algorithm )
  +    public void setAlgorithm( final String algorithm )
       {
  -        this.algorithm = algorithm;
  +        m_algorithm = algorithm;
       }
   
       /**
  @@ -93,9 +107,9 @@
        *
        * @param file The new File value
        */
  -    public void setFile( File file )
  +    public void setFile( final File file )
       {
  -        this.file = file;
  +        m_file = file;
       }
   
       /**
  @@ -104,9 +118,9 @@
        *
        * @param fileext The new Fileext value
        */
  -    public void setFileext( String fileext )
  +    public void setFileext( final String fileext )
       {
  -        this.fileext = fileext;
  +        m_fileext = fileext;
       }
   
       /**
  @@ -117,7 +131,7 @@
        */
       public void setForceOverwrite( boolean forceOverwrite )
       {
  -        this.forceOverwrite = forceOverwrite;
  +        this.m_forceOverwrite = forceOverwrite;
       }
   
       /**
  @@ -127,7 +141,7 @@
        */
       public void setProperty( String property )
       {
  -        this.property = property;
  +        this.m_property = property;
       }
   
       /**
  @@ -136,9 +150,9 @@
        *
        * @param provider The new Provider value
        */
  -    public void setProvider( String provider )
  +    public void setProvider( final String provider )
       {
  -        this.provider = provider;
  +        m_provider = provider;
       }
   
       /**
  @@ -147,9 +161,9 @@
        *
        * @param verifyProperty The new Verifyproperty value
        */
  -    public void setVerifyproperty( String verifyProperty )
  +    public void setVerifyproperty( final String verifyProperty )
       {
  -        this.verifyProperty = verifyProperty;
  +        m_verifyProperty = verifyProperty;
       }
   
       /**
  @@ -157,9 +171,9 @@
        *
        * @param set The feature to be added to the Fileset attribute
        */
  -    public void addFileset( FileSet set )
  +    public void addFileset( final FileSet set )
       {
  -        filesets.add( set );
  +        m_filesets.add( set );
       }
   
       /**
  @@ -167,12 +181,11 @@
        *
        * @return Returns true if the checksum verification test passed, false
        *      otherwise.
  -     * @exception TaskException Description of Exception
        */
       public boolean eval()
           throws TaskException
       {
  -        isCondition = true;
  +        m_isCondition = true;
           return validateAndExecute();
       }
   
  @@ -184,10 +197,10 @@
       public void execute()
           throws TaskException
       {
  -        boolean value = validateAndExecute();
  -        if( verifyProperty != null )
  +        final boolean value = validateAndExecute();
  +        if( m_verifyProperty != null )
           {
  -            setProperty( verifyProperty, new Boolean( value ).toString() );
  +            setProperty( m_verifyProperty, new Boolean( value ).toString() );
           }
       }
   
  @@ -197,36 +210,37 @@
        * @param file The feature to be added to the ToIncludeFileMap attribute
        * @exception TaskException Description of Exception
        */
  -    private void addToIncludeFileMap( File file )
  +    private void addToIncludeFileMap( final File file )
           throws TaskException
       {
           if( file != null )
           {
               if( file.exists() )
               {
  -                if( property == null )
  +                if( m_property == null )
                   {
  -                    File dest = new File( file.getParent(), file.getName() + fileext );
  -                    if( forceOverwrite || isCondition ||
  +                    final File dest = new File( file.getParent(), file.getName() + m_fileext );
  +                    if( m_forceOverwrite || m_isCondition ||
                           ( file.lastModified() > dest.lastModified() ) )
                       {
  -                        includeFileMap.put( file, dest );
  +                        m_includeFileMap.put( file, dest );
                       }
                       else
                       {
  -                        getLogger().debug( file + " omitted as " + dest + " is up to date." );
  +                        final String message = file + " omitted as " + dest +
  +                            " is up to date.";
  +                        getLogger().debug( message );
                       }
                   }
                   else
                   {
  -                    includeFileMap.put( file, property );
  +                    m_includeFileMap.put( file, m_property );
                   }
               }
               else
               {
  -                String message = "Could not find file "
  -                    + file.getAbsolutePath()
  -                    + " to generate checksum for.";
  +                final String message = "Could not find file " + file.getAbsolutePath() +
  +                    " to generate checksum for.";
                   getLogger().info( message );
                   throw new TaskException( message );
               }
  @@ -235,253 +249,266 @@
   
       /**
        * Generate checksum(s) using the message digest created earlier.
  -     *
  -     * @return Description of the Returned Value
  -     * @exception TaskException Description of Exception
        */
       private boolean generateChecksums()
           throws TaskException
       {
           boolean checksumMatches = true;
  +        final Enumeration includes = m_includeFileMap.keys();
  +        while( includes.hasMoreElements() )
  +        {
  +            final File src = (File)includes.nextElement();
  +            if( !m_isCondition )
  +            {
  +                final String message = "Calculating " + m_algorithm + " checksum for " + src;
  +                getLogger().info( message );
  +            }
  +
  +            checksumMatches = z( src, checksumMatches );
  +        }
  +
  +        return checksumMatches;
  +    }
  +
  +    private boolean z( final File src, boolean checksumMatches )
  +        throws TaskException
  +    {
           FileInputStream fis = null;
           FileOutputStream fos = null;
           try
           {
  -            for( Enumeration e = includeFileMap.keys(); e.hasMoreElements(); )
  +            fis = new FileInputStream( src );
  +            final byte[] fileDigest = buildDigest( fis );
  +            IOUtil.shutdownStream( fis );
  +
  +
  +            String checksum = "";
  +            for( int i = 0; i < fileDigest.length; i++ )
               {
  -                messageDigest.reset();
  -                File src = (File)e.nextElement();
  -                if( !isCondition )
  +                final String hexStr = Integer.toHexString( 0x00ff & fileDigest[ i ] );
  +                if( hexStr.length() < 2 )
                   {
  -                    getLogger().info( "Calculating " + algorithm + " checksum for " + src );
  +                    checksum += "0";
                   }
  -                fis = new FileInputStream( src );
  -                DigestInputStream dis = new DigestInputStream( fis,
  -                                                               messageDigest );
  -                while( dis.read() != -1 )
  -                    ;
  -                dis.close();
  -                fis.close();
  -                fis = null;
  -                byte[] fileDigest = messageDigest.digest();
  -                String checksum = "";
  -                for( int i = 0; i < fileDigest.length; i++ )
  +                checksum += hexStr;
  +            }
  +
  +            //can either be a property name string or a file
  +            Object destination = m_includeFileMap.get( src );
  +            if( destination instanceof String )
  +            {
  +                String prop = (String)destination;
  +                if( m_isCondition )
                   {
  -                    String hexStr = Integer.toHexString( 0x00ff & fileDigest[ i ] );
  -                    if( hexStr.length() < 2 )
  -                    {
  -                        checksum += "0";
  -                    }
  -                    checksum += hexStr;
  +                    checksumMatches = checksum.equals( m_property );
                   }
  -                //can either be a property name string or a file
  -                Object destination = includeFileMap.get( src );
  -                if( destination instanceof java.lang.String )
  +                else
                   {
  -                    String prop = (String)destination;
  -                    if( isCondition )
  -                    {
  -                        checksumMatches = checksum.equals( property );
  -                    }
  -                    else
  -                    {
  -                        setProperty( prop, checksum );
  -                    }
  +                    setProperty( prop, checksum );
                   }
  -                else if( destination instanceof java.io.File )
  +            }
  +            else if( destination instanceof File )
  +            {
  +                final File file = (File)destination;
  +                if( m_isCondition )
                   {
  -                    if( isCondition )
  +                    if( file.exists() &&
  +                        file.length() == checksum.length() )
                       {
  -                        File existingFile = (File)destination;
  -                        if( existingFile.exists() &&
  -                            existingFile.length() == checksum.length() )
  -                        {
  -                            fis = new FileInputStream( existingFile );
  -                            InputStreamReader isr = new InputStreamReader( fis );
  -                            BufferedReader br = new BufferedReader( isr );
  -                            String suppliedChecksum = br.readLine();
  -                            fis.close();
  -                            fis = null;
  -                            br.close();
  -                            isr.close();
  -                            checksumMatches =
  -                                checksum.equals( suppliedChecksum );
  -                        }
  -                        else
  -                        {
  -                            checksumMatches = false;
  -                        }
  +                        fis = new FileInputStream( file );
  +                        InputStreamReader isr = new InputStreamReader( fis );
  +                        BufferedReader br = new BufferedReader( isr );
  +                        String suppliedChecksum = br.readLine();
  +                        fis.close();
  +                        fis = null;
  +                        br.close();
  +                        isr.close();
  +                        checksumMatches =
  +                            checksum.equals( suppliedChecksum );
                       }
                       else
                       {
  -                        File dest = (File)destination;
  -                        fos = new FileOutputStream( dest );
  -                        fos.write( checksum.getBytes() );
  -                        fos.close();
  -                        fos = null;
  +                        checksumMatches = false;
                       }
                   }
  +                else
  +                {
  +                    fos = new FileOutputStream( file );
  +                    fos.write( checksum.getBytes() );
  +                    fos.close();
  +                    fos = null;
  +                }
               }
           }
  -        catch( Exception e )
  +        catch( final Exception e )
           {
  -            throw new TaskException( "Error", e );
  +            throw new TaskException( e.getMessage(), e );
           }
           finally
           {
  -            if( fis != null )
  -            {
  -                try
  -                {
  -                    fis.close();
  -                }
  -                catch( IOException e )
  -                {
  -                }
  -            }
  -            if( fos != null )
  -            {
  -                try
  -                {
  -                    fos.close();
  -                }
  -                catch( IOException e )
  -                {
  -                }
  -            }
  +            IOUtil.shutdownStream( fis );
  +            IOUtil.shutdownStream( fos );
           }
           return checksumMatches;
       }
   
  +    private byte[] buildDigest( final InputStream input )
  +        throws IOException
  +    {
  +        m_messageDigest.reset();
  +
  +        final DigestInputStream digester =
  +            new DigestInputStream( input, m_messageDigest );
  +
  +        while( digester.read() != -1 )
  +        {
  +        }
  +
  +        digester.close();
  +        return m_messageDigest.digest();
  +    }
  +
       /**
        * Validate attributes and get down to business.
  -     *
  -     * @return Description of the Returned Value
  -     * @exception TaskException Description of Exception
        */
       private boolean validateAndExecute()
           throws TaskException
       {
  -
  -        if( file == null && filesets.size() == 0 )
  +        if( null == m_file && 0 == m_filesets.size() )
           {
  -            throw new TaskException(
  -                "Specify at least one source - a file or a fileset." );
  +            final String message = "Specify at least one source - a file or a fileset.";
  +            throw new TaskException( message );
           }
   
  -        if( file != null && file.exists() && file.isDirectory() )
  +        if( null != m_file && m_file.exists() && m_file.isDirectory() )
           {
  -            throw new TaskException(
  -                "Checksum cannot be generated for directories" );
  +            final String message = "Checksum cannot be generated for directories";
  +            throw new TaskException( message );
           }
   
  -        if( property != null && fileext != null )
  +        if( null != m_property && null != m_fileext )
           {
  -            throw new TaskException(
  -                "Property and FileExt cannot co-exist." );
  +            final String message = "Property and FileExt cannot co-exist.";
  +            throw new TaskException( message );
           }
   
  -        if( property != null )
  +        if( m_property != null )
           {
  -            if( forceOverwrite )
  +            if( m_forceOverwrite )
               {
  -                throw new TaskException(
  -                    "ForceOverwrite cannot be used when Property is specified" );
  +                final String message =
  +                    "ForceOverwrite cannot be used when Property is specified";
  +                throw new TaskException( message );
               }
   
  -            if( file != null )
  +            if( m_file != null )
               {
  -                if( filesets.size() > 0 )
  +                if( m_filesets.size() > 0 )
                   {
  -                    throw new TaskException(
  -                        "Multiple files cannot be used when Property is specified" );
  +                    final String message =
  +                        "Multiple files cannot be used when Property is specified";
  +                    throw new TaskException( message );
                   }
               }
               else
               {
  -                if( filesets.size() > 1 )
  +                if( m_filesets.size() > 1 )
                   {
  -                    throw new TaskException(
  -                        "Multiple files cannot be used when Property is specified" );
  +                    final String message =
  +                        "Multiple files cannot be used when Property is specified";
  +                    throw new TaskException( message );
                   }
               }
           }
   
  -        if( verifyProperty != null )
  +        if( m_verifyProperty != null )
           {
  -            isCondition = true;
  +            m_isCondition = true;
           }
   
  -        if( verifyProperty != null && forceOverwrite )
  +        if( m_verifyProperty != null && m_forceOverwrite )
           {
  -            throw new TaskException(
  -                "VerifyProperty and ForceOverwrite cannot co-exist." );
  +            final String message = "VerifyProperty and ForceOverwrite cannot co-exist.";
  +            throw new TaskException( message );
           }
   
  -        if( isCondition && forceOverwrite )
  +        if( m_isCondition && m_forceOverwrite )
           {
  -            throw new TaskException(
  -                "ForceOverwrite cannot be used when conditions are being used." );
  +            final String message = "ForceOverwrite cannot be used when conditions are being used.";
  +            throw new TaskException( message );
           }
   
  -        if( fileext == null )
  +        if( m_fileext == null )
           {
  -            fileext = "." + algorithm;
  +            m_fileext = "." + m_algorithm;
           }
  -        else if( fileext.trim().length() == 0 )
  +        else if( m_fileext.trim().length() == 0 )
           {
  -            throw new TaskException(
  -                "File extension when specified must not be an empty string" );
  +            final String message = "File extension when specified must not be an empty string";
  +            throw new TaskException( message );
           }
   
  -        messageDigest = null;
  -        if( provider != null )
  +        setupMessageDigest();
  +
  +        if( m_messageDigest == null )
  +        {
  +            final String message = "Unable to create Message Digest";
  +            throw new TaskException( message );
  +        }
  +
  +        addIncludes();
  +
  +        return generateChecksums();
  +    }
  +
  +    private void setupMessageDigest()
  +        throws TaskException
  +    {
  +        m_messageDigest = null;
  +        if( m_provider != null )
           {
               try
               {
  -                messageDigest = MessageDigest.getInstance( algorithm, provider );
  +                m_messageDigest = MessageDigest.getInstance( m_algorithm, m_provider );
               }
  -            catch( NoSuchAlgorithmException noalgo )
  +            catch( final NoSuchAlgorithmException nsae )
               {
  -                throw new TaskException( noalgo.toString(), noalgo );
  +                throw new TaskException( nsae.toString(), nsae );
               }
  -            catch( NoSuchProviderException noprovider )
  +            catch( final NoSuchProviderException nspe )
               {
  -                throw new TaskException( noprovider.toString(), noprovider );
  +                throw new TaskException( nspe.toString(), nspe );
               }
           }
           else
           {
               try
               {
  -                messageDigest = MessageDigest.getInstance( algorithm );
  +                m_messageDigest = MessageDigest.getInstance( m_algorithm );
               }
  -            catch( NoSuchAlgorithmException noalgo )
  +            catch( final NoSuchAlgorithmException nsae )
               {
  -                throw new TaskException( noalgo.toString(), noalgo );
  +                throw new TaskException( nsae.toString(), nsae );
               }
           }
  +    }
   
  -        if( messageDigest == null )
  -        {
  -            throw new TaskException( "Unable to create Message Digest" );
  -        }
  -
  -        addToIncludeFileMap( file );
  +    private void addIncludes()
  +        throws TaskException
  +    {
  +        addToIncludeFileMap( m_file );
   
  -        int sizeofFileSet = filesets.size();
  -        for( int i = 0; i < sizeofFileSet; i++ )
  +        final int size = m_filesets.size();
  +        for( int i = 0; i < size; i++ )
           {
  -            FileSet fs = (FileSet)filesets.get( i );
  -            DirectoryScanner ds = fs.getDirectoryScanner();
  -            String[] srcFiles = ds.getIncludedFiles();
  +            final FileSet fileSet = (FileSet)m_filesets.get( i );
  +            final DirectoryScanner scanner = fileSet.getDirectoryScanner();
  +            final String[] srcFiles = scanner.getIncludedFiles();
               for( int j = 0; j < srcFiles.length; j++ )
               {
  -                File src = new File( fs.getDir(), srcFiles[ j ] );
  +                final File src = new File( fileSet.getDir(), srcFiles[ j ] );
                   addToIncludeFileMap( src );
               }
           }
  -
  -        return generateChecksums();
       }
   }
  
  
  
  1.24      +5 -5      jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/Java.java
  
  Index: Java.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/Java.java,v
  retrieving revision 1.23
  retrieving revision 1.24
  diff -u -r1.23 -r1.24
  --- Java.java	17 Jan 2002 08:04:54 -0000	1.23
  +++ Java.java	20 Jan 2002 02:11:42 -0000	1.24
  @@ -106,17 +106,17 @@
       /**
        * Creates a nested arg element.
        */
  -    public Argument createArg()
  +    public void addArg( final Argument argument )
       {
  -        return m_cmdl.createArgument();
  +        m_cmdl.addArgument( argument );
       }
   
       /**
        * Creates a nested jvmarg element.
        */
  -    public Argument createJvmarg()
  +    public void addJvmarg( final Argument argument )
       {
  -        return m_cmdl.createVmArgument();
  +        m_cmdl.addVmArgument( argument );
       }
   
       public void execute()
  @@ -192,7 +192,7 @@
           for( int i = 0; i < size; i++ )
           {
               final String arg = (String)args.get( i );
  -            java.createArgument().setValue( arg );
  +            java.addArgument( arg );
           }
           run( java );
       }
  
  
  
  1.13      +8 -8      jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/Patch.java
  
  Index: Patch.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/Patch.java,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- Patch.java	12 Jan 2002 23:41:07 -0000	1.12
  +++ Patch.java	20 Jan 2002 02:11:42 -0000	1.13
  @@ -154,35 +154,35 @@
   
           if( m_backups )
           {
  -            cmd.createArgument().setValue( "-b" );
  +            cmd.addArgument( "-b" );
           }
   
           if( null != m_strip )
           {
  -            cmd.createArgument().setValue( "-p" + m_strip.intValue() );
  +            cmd.addArgument( "-p" + m_strip.intValue() );
           }
   
           if( m_quiet )
           {
  -            cmd.createArgument().setValue( "-s" );
  +            cmd.addArgument( "-s" );
           }
   
           if( m_reverse )
           {
  -            cmd.createArgument().setValue( "-R" );
  +            cmd.addArgument( "-R" );
           }
   
  -        cmd.createArgument().setValue( "-i" );
  -        cmd.createArgument().setFile( m_patchFile );
  +        cmd.addArgument( "-i" );
  +        cmd.addArgument( m_patchFile );
   
           if( m_ignorewhitespace )
           {
  -            cmd.createArgument().setValue( "-l" );
  +            cmd.addArgument( "-l" );
           }
   
           if( null != m_originalFile )
           {
  -            cmd.createArgument().setFile( m_originalFile );
  +            cmd.addArgument( m_originalFile );
           }
           return cmd;
       }
  
  
  
  1.17      +52 -175   jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/Tar.java
  
  Index: Tar.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/Tar.java,v
  retrieving revision 1.16
  retrieving revision 1.17
  diff -u -r1.16 -r1.17
  --- Tar.java	20 Jan 2002 00:03:17 -0000	1.16
  +++ Tar.java	20 Jan 2002 02:11:42 -0000	1.17
  @@ -22,6 +22,7 @@
   import org.apache.aut.tar.TarConstants;
   import org.apache.aut.tar.TarEntry;
   import org.apache.aut.tar.TarOutputStream;
  +import org.apache.avalon.excalibur.io.IOUtil;
   
   /**
    * Creates a TAR archive.
  @@ -128,7 +129,7 @@
               }
   
               // add the main fileset to the list of filesets to process.
  -            TarFileSet mainFileSet = new TarFileSet( /*fileset*/ );
  +            final TarFileSet mainFileSet = new TarFileSet( /*fileset*/ );
               mainFileSet.setDir( baseDir );
               filesets.add( mainFileSet );
           }
  @@ -222,212 +223,88 @@
           }
       }
   
  -    protected boolean archiveIsUpToDate( String[] files )
  +    private boolean archiveIsUpToDate( final String[] files )
           throws TaskException
       {
  -        SourceFileScanner sfs = new SourceFileScanner( this );
  -        MergingMapper mm = new MergingMapper();
  -        mm.setTo( tarFile.getAbsolutePath() );
  -        return sfs.restrict( files, baseDir, null, mm ).length == 0;
  +        final SourceFileScanner scanner = new SourceFileScanner( this );
  +        final MergingMapper mapper = new MergingMapper();
  +        mapper.setTo( tarFile.getAbsolutePath() );
  +        return scanner.restrict( files, baseDir, null, mapper ).length == 0;
       }
   
  -    protected void tarFile( File file, TarOutputStream tOut, String vPath,
  -                            TarFileSet tarFileSet )
  +    private void tarFile( final File file,
  +                          final TarOutputStream output,
  +                          String path,
  +                          final TarFileSet tarFileSet )
           throws IOException, TaskException
       {
  -        FileInputStream fIn = null;
  -
           // don't add "" to the archive
  -        if( vPath.length() <= 0 )
  +        if( path.length() <= 0 )
           {
               return;
           }
   
  -        if( file.isDirectory() && !vPath.endsWith( "/" ) )
  +        if( file.isDirectory() && !path.endsWith( "/" ) )
           {
  -            vPath += "/";
  +            path += "/";
           }
   
  -        try
  +        if( path.length() >= TarConstants.NAMELEN )
           {
  -            if( vPath.length() >= TarConstants.NAMELEN )
  +            if( longFileMode.isOmitMode() )
               {
  -                if( longFileMode.isOmitMode() )
  -                {
  -                    getLogger().info( "Omitting: " + vPath );
  -                    return;
  -                }
  -                else if( longFileMode.isWarnMode() )
  -                {
  -                    final String message = "Entry: " + vPath + " longer than " +
  -                        TarConstants.NAMELEN + " characters.";
  -                    getLogger().warn( message );
  -                    if( !longWarningGiven )
  -                    {
  -                        final String message2 = "Resulting tar file can only be processed successfully"
  -                            + " by GNU compatible tar commands";
  -                        getLogger().warn( message2 );
  -                        longWarningGiven = true;
  -                    }
  -                }
  -                else if( longFileMode.isFailMode() )
  +                final String message = "Omitting: " + path;
  +                getLogger().info( message );
  +                return;
  +            }
  +            else if( longFileMode.isWarnMode() )
  +            {
  +                final String message = "Entry: " + path + " longer than " +
  +                    TarConstants.NAMELEN + " characters.";
  +                getLogger().warn( message );
  +                if( !longWarningGiven )
                   {
  -                    throw new TaskException(
  -                        "Entry: " + vPath + " longer than " +
  -                        TarConstants.NAMELEN + "characters." );
  +                    final String message2 = "Resulting tar file can only be processed successfully"
  +                        + " by GNU compatible tar commands";
  +                    getLogger().warn( message2 );
  +                    longWarningGiven = true;
                   }
               }
  -
  -            TarEntry te = new TarEntry( vPath );
  -            te.setModTime( file.lastModified() );
  -            if( !file.isDirectory() )
  +            else if( longFileMode.isFailMode() )
               {
  -                te.setSize( file.length() );
  -                te.setMode( tarFileSet.getMode() );
  +                final String message = "Entry: " + path + " longer than " +
  +                                        TarConstants.NAMELEN + "characters.";
  +                throw new TaskException( message );
               }
  -            te.setUserName( tarFileSet.getUserName() );
  -            te.setGroupName( tarFileSet.getGroup() );
  -
  -            tOut.putNextEntry( te );
  +        }
   
  +        FileInputStream input = null;
  +        try
  +        {
  +            final TarEntry entry = new TarEntry( path );
  +            entry.setModTime( file.lastModified() );
               if( !file.isDirectory() )
               {
  -                fIn = new FileInputStream( file );
  -
  -                byte[] buffer = new byte[ 8 * 1024 ];
  -                int count = 0;
  -                do
  -                {
  -                    tOut.write( buffer, 0, count );
  -                    count = fIn.read( buffer, 0, buffer.length );
  -                } while( count != -1 );
  +                entry.setSize( file.length() );
  +                entry.setMode( tarFileSet.getMode() );
               }
  +            entry.setUserName( tarFileSet.getUserName() );
  +            entry.setGroupName( tarFileSet.getGroup() );
   
  -            tOut.closeEntry();
  -        }
  -        finally
  -        {
  -            if( fIn != null )
  -                fIn.close();
  -        }
  -    }
  -
  -    public static class TarFileSet extends FileSet
  -    {
  -        private String[] files = null;
  -
  -        private int mode = 0100644;
  -
  -        private String userName = "";
  -        private String groupName = "";
  -
  -        public void setGroup( String groupName )
  -        {
  -            this.groupName = groupName;
  -        }
  +            output.putNextEntry( entry );
   
  -        public void setMode( String octalString )
  -        {
  -            this.mode = 0100000 | Integer.parseInt( octalString, 8 );
  -        }
  -
  -        public void setUserName( String userName )
  -        {
  -            this.userName = userName;
  -        }
  -
  -        /**
  -         * Get a list of files and directories specified in the fileset.
  -         *
  -         * @param p Description of Parameter
  -         * @return a list of file and directory names, relative to the baseDir
  -         *      for the project.
  -         */
  -        public String[] getFiles()
  -            throws TaskException
  -        {
  -            if( files == null )
  +            if( !file.isDirectory() )
               {
  -                final DirectoryScanner scanner = getDirectoryScanner();
  -                final String[] directories = scanner.getIncludedDirectories();
  -                final String[] filesPerSe = scanner.getIncludedFiles();
  -                files = new String[ directories.length + filesPerSe.length ];
  -                System.arraycopy( directories, 0, files, 0, directories.length );
  -                System.arraycopy( filesPerSe, 0, files, directories.length,
  -                                  filesPerSe.length );
  +                input = new FileInputStream( file );
  +                IOUtil.copy( input, output );
               }
   
  -            return files;
  +            output.closeEntry();
           }
  -
  -        public String getGroup()
  -        {
  -            return groupName;
  -        }
  -
  -        public int getMode()
  -        {
  -            return mode;
  -        }
  -
  -        public String getUserName()
  -        {
  -            return userName;
  -        }
  -
  -    }
  -
  -    /**
  -     * Valid Modes for LongFile attribute to Tar Task
  -     *
  -     * @author <a href="mailto:umagesh@apache.org">Magesh Umasankar</a>
  -     */
  -    public static class TarLongFileMode extends EnumeratedAttribute
  -    {
  -        // permissable values for longfile attribute
  -        public final static String WARN = "warn";
  -        public final static String FAIL = "fail";
  -        public final static String TRUNCATE = "truncate";
  -        public final static String GNU = "gnu";
  -        public final static String OMIT = "omit";
  -
  -        private final String[] validModes = {WARN, FAIL, TRUNCATE, GNU, OMIT};
  -
  -        public TarLongFileMode()
  -            throws TaskException
  -        {
  -            super();
  -            setValue( WARN );
  -        }
  -
  -        public String[] getValues()
  -        {
  -            return validModes;
  -        }
  -
  -        public boolean isFailMode()
  -        {
  -            return FAIL.equalsIgnoreCase( getValue() );
  -        }
  -
  -        public boolean isGnuMode()
  -        {
  -            return GNU.equalsIgnoreCase( getValue() );
  -        }
  -
  -        public boolean isOmitMode()
  -        {
  -            return OMIT.equalsIgnoreCase( getValue() );
  -        }
  -
  -        public boolean isTruncateMode()
  -        {
  -            return TRUNCATE.equalsIgnoreCase( getValue() );
  -        }
  -
  -        public boolean isWarnMode()
  +        finally
           {
  -            return WARN.equalsIgnoreCase( getValue() );
  +            if( input != null )
  +                input.close();
           }
       }
   }
  
  
  
  1.1                  jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/TarFileSet.java
  
  Index: TarFileSet.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.tools.ant.taskdefs;
  
  import org.apache.tools.ant.types.FileSet;
  import org.apache.tools.ant.types.DirectoryScanner;
  import org.apache.myrmidon.api.TaskException;
  
  public class TarFileSet
      extends FileSet
  {
      private String[] m_files;
      private int m_mode = 0100644;
  
      private String m_userName = "";
      private String m_groupName = "";
  
      public void setGroup( final String groupName )
      {
          m_groupName = groupName;
      }
  
      public void setMode( final String octalString )
      {
          m_mode = 0100000 | Integer.parseInt( octalString, 8 );
      }
  
      public void setUserName( final String userName )
      {
          m_userName = userName;
      }
  
      /**
       * Get a list of files and directories specified in the fileset.
       *
       * @return a list of file and directory names, relative to the baseDir
       *      for the project.
       */
      protected String[] getFiles()
          throws TaskException
      {
          if( m_files == null )
          {
              final DirectoryScanner scanner = getDirectoryScanner();
              final String[] directories = scanner.getIncludedDirectories();
              final String[] filesPerSe = scanner.getIncludedFiles();
              m_files = new String[ directories.length + filesPerSe.length ];
              System.arraycopy( directories, 0, m_files, 0, directories.length );
              System.arraycopy( filesPerSe, 0, m_files, directories.length,
                                filesPerSe.length );
          }
  
          return m_files;
      }
  
      protected String getGroup()
      {
          return m_groupName;
      }
  
      protected int getMode()
      {
          return m_mode;
      }
  
      protected String getUserName()
      {
          return m_userName;
      }
  }
  
  
  
  1.1                  jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/TarLongFileMode.java
  
  Index: TarLongFileMode.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.tools.ant.taskdefs;
  
  import org.apache.myrmidon.api.TaskException;
  import org.apache.tools.ant.types.EnumeratedAttribute;
  
  /**
   * Valid Modes for LongFile attribute to Tar Task
   *
   * @author <a href="mailto:umagesh@apache.org">Magesh Umasankar</a>
   */
  public class TarLongFileMode
      extends EnumeratedAttribute
  {
      // permissable values for longfile attribute
      public final static String WARN = "warn";
      public final static String FAIL = "fail";
      public final static String TRUNCATE = "truncate";
      public final static String GNU = "gnu";
      public final static String OMIT = "omit";
  
      private final String[] validModes = {WARN, FAIL, TRUNCATE, GNU, OMIT};
  
      public TarLongFileMode()
          throws TaskException
      {
          super();
          setValue( WARN );
      }
  
      public String[] getValues()
      {
          return validModes;
      }
  
      public boolean isFailMode()
      {
          return FAIL.equalsIgnoreCase( getValue() );
      }
  
      public boolean isGnuMode()
      {
          return GNU.equalsIgnoreCase( getValue() );
      }
  
      public boolean isOmitMode()
      {
          return OMIT.equalsIgnoreCase( getValue() );
      }
  
      public boolean isTruncateMode()
      {
          return TRUNCATE.equalsIgnoreCase( getValue() );
      }
  
      public boolean isWarnMode()
      {
          return WARN.equalsIgnoreCase( getValue() );
      }
  }
  
  
  
  1.25      +28 -27    jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/compilers/DefaultCompilerAdapter.java
  
  Index: DefaultCompilerAdapter.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/compilers/DefaultCompilerAdapter.java,v
  retrieving revision 1.24
  retrieving revision 1.25
  diff -u -r1.24 -r1.25
  --- DefaultCompilerAdapter.java	19 Jan 2002 07:26:21 -0000	1.24
  +++ DefaultCompilerAdapter.java	20 Jan 2002 02:11:42 -0000	1.25
  @@ -20,6 +20,7 @@
   import org.apache.tools.ant.types.Commandline;
   import org.apache.tools.ant.types.Path;
   import org.apache.tools.ant.types.FileSet;
  +import org.apache.tools.ant.util.FileUtils;
   
   /**
    * This is the default implementation for the CompilerAdapter interface.
  @@ -133,7 +134,7 @@
               }
               else
               {
  -                cmd.createArgument().setValue( memoryParameterPrefix + "ms" + m_memoryInitialSize );
  +                cmd.addArgument( memoryParameterPrefix + "ms" + m_memoryInitialSize );
               }
           }
   
  @@ -146,54 +147,54 @@
               }
               else
               {
  -                cmd.createArgument().setValue( memoryParameterPrefix + "mx" + m_memoryMaximumSize );
  +                cmd.addArgument( memoryParameterPrefix + "mx" + m_memoryMaximumSize );
               }
           }
   
           if( m_attributes.getNowarn() )
           {
  -            cmd.createArgument().setValue( "-nowarn" );
  +            cmd.addArgument( "-nowarn" );
           }
   
           if( m_deprecation == true )
           {
  -            cmd.createArgument().setValue( "-deprecation" );
  +            cmd.addArgument( "-deprecation" );
           }
   
           if( m_destDir != null )
           {
  -            cmd.createArgument().setValue( "-d" );
  -            cmd.createArgument().setFile( m_destDir );
  +            cmd.addArgument( "-d" );
  +            cmd.addArgument( m_destDir );
           }
   
  -        cmd.createArgument().setValue( "-classpath" );
  -        cmd.createArgument().setPath( classpath );
  +        cmd.addArgument( "-classpath" );
  +        cmd.addArguments( FileUtils.translateCommandline( classpath ) );
   
  -        cmd.createArgument().setValue( "-sourcepath" );
  -        cmd.createArgument().setPath( src );
  +        cmd.addArgument( "-sourcepath" );
  +        cmd.addArguments( FileUtils.translateCommandline( src ) );
   
           if( target != null )
           {
  -            cmd.createArgument().setValue( "-target" );
  -            cmd.createArgument().setValue( target );
  +            cmd.addArgument( "-target" );
  +            cmd.addArgument( target );
           }
   
           if( m_bootclasspath != null )
           {
  -            cmd.createArgument().setValue( "-bootclasspath" );
  -            cmd.createArgument().setPath( m_bootclasspath );
  +            cmd.addArgument( "-bootclasspath" );
  +            cmd.addArguments( FileUtils.translateCommandline( m_bootclasspath ) );
           }
   
           if( m_extdirs != null )
           {
  -            cmd.createArgument().setValue( "-extdirs" );
  -            cmd.createArgument().setPath( m_extdirs );
  +            cmd.addArgument( "-extdirs" );
  +            cmd.addArguments( FileUtils.translateCommandline( m_extdirs ) );
           }
   
           if( m_encoding != null )
           {
  -            cmd.createArgument().setValue( "-encoding" );
  -            cmd.createArgument().setValue( m_encoding );
  +            cmd.addArgument( "-encoding" );
  +            cmd.addArgument( m_encoding );
           }
           if( m_debug )
           {
  @@ -202,30 +203,30 @@
                   String debugLevel = m_attributes.getDebugLevel();
                   if( debugLevel != null )
                   {
  -                    cmd.createArgument().setValue( "-g:" + debugLevel );
  +                    cmd.addArgument( "-g:" + debugLevel );
                   }
                   else
                   {
  -                    cmd.createArgument().setValue( "-g" );
  +                    cmd.addArgument( "-g" );
                   }
               }
               else
               {
  -                cmd.createArgument().setValue( "-g" );
  +                cmd.addArgument( "-g" );
               }
           }
           else
           {
  -            cmd.createArgument().setValue( "-g:none" );
  +            cmd.addArgument( "-g:none" );
           }
           if( m_optimize )
           {
  -            cmd.createArgument().setValue( "-O" );
  +            cmd.addArgument( "-O" );
           }
   
           if( m_verbose )
           {
  -            cmd.createArgument().setValue( "-verbose" );
  +            cmd.addArgument( "-verbose" );
           }
   
           addCurrentCompilerArgs( cmd );
  @@ -262,8 +263,8 @@
           setupJavacCommandlineSwitches( cmd, true );
           if( m_attributes.getSource() != null )
           {
  -            cmd.createArgument().setValue( "-source" );
  -            cmd.createArgument().setValue( m_attributes.getSource() );
  +            cmd.addArgument( "-source" );
  +            cmd.addArgument( m_attributes.getSource() );
           }
           return cmd;
       }
  @@ -410,7 +411,7 @@
           for( int i = 0; i < m_compileList.length; i++ )
           {
               String arg = m_compileList[ i ].getAbsolutePath();
  -            cmd.createArgument().setValue( arg );
  +            cmd.addArgument( arg );
               niceSourceList.append( "    " + arg + StringUtil.LINE_SEPARATOR );
           }
   
  
  
  
  1.8       +9 -8      jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/compilers/Gcj.java
  
  Index: Gcj.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/compilers/Gcj.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- Gcj.java	19 Jan 2002 07:26:21 -0000	1.7
  +++ Gcj.java	20 Jan 2002 02:11:42 -0000	1.8
  @@ -10,6 +10,7 @@
   import org.apache.myrmidon.api.TaskException;
   import org.apache.tools.ant.types.Commandline;
   import org.apache.tools.ant.types.Path;
  +import org.apache.tools.ant.util.FileUtils;
   
   /**
    * The implementation of the gcj compiler. This is primarily a cut-and-paste
  @@ -72,8 +73,8 @@
   
           if( m_destDir != null )
           {
  -            cmd.createArgument().setValue( "-d" );
  -            cmd.createArgument().setFile( m_destDir );
  +            cmd.addArgument( "-d" );
  +            cmd.addArgument( m_destDir );
   
               if( m_destDir.mkdirs() )
               {
  @@ -82,26 +83,26 @@
               ;
           }
   
  -        cmd.createArgument().setValue( "-classpath" );
  -        cmd.createArgument().setPath( classpath );
  +        cmd.addArgument( "-classpath" );
  +        cmd.addArguments( FileUtils.translateCommandline( classpath ) );
   
           if( m_encoding != null )
           {
  -            cmd.createArgument().setValue( "--encoding=" + m_encoding );
  +            cmd.addArgument( "--encoding=" + m_encoding );
           }
           if( m_debug )
           {
  -            cmd.createArgument().setValue( "-g1" );
  +            cmd.addArgument( "-g1" );
           }
           if( m_optimize )
           {
  -            cmd.createArgument().setValue( "-O" );
  +            cmd.addArgument( "-O" );
           }
   
           /**
            * gcj should be set for generate class.
            */
  -        cmd.createArgument().setValue( "-C" );
  +        cmd.addArgument( "-C" );
   
           addCurrentCompilerArgs( cmd );
   
  
  
  
  1.10      +13 -12    jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/compilers/Jikes.java
  
  Index: Jikes.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/compilers/Jikes.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- Jikes.java	19 Jan 2002 07:26:21 -0000	1.9
  +++ Jikes.java	20 Jan 2002 02:11:42 -0000	1.10
  @@ -10,6 +10,7 @@
   import org.apache.myrmidon.api.TaskException;
   import org.apache.tools.ant.types.Commandline;
   import org.apache.tools.ant.types.Path;
  +import org.apache.tools.ant.util.FileUtils;
   
   /**
    * The implementation of the jikes compiler. This is primarily a cut-and-paste
  @@ -83,37 +84,37 @@
           cmd.setExecutable( "jikes" );
   
           if( m_deprecation == true )
  -            cmd.createArgument().setValue( "-deprecation" );
  +            cmd.addArgument( "-deprecation" );
   
           if( m_destDir != null )
           {
  -            cmd.createArgument().setValue( "-d" );
  -            cmd.createArgument().setFile( m_destDir );
  +            cmd.addArgument( "-d" );
  +            cmd.addArgument( m_destDir );
           }
   
  -        cmd.createArgument().setValue( "-classpath" );
  -        cmd.createArgument().setPath( classpath );
  +        cmd.addArgument( "-classpath" );
  +        cmd.addArguments( FileUtils.translateCommandline( classpath ) );
   
           if( m_encoding != null )
           {
  -            cmd.createArgument().setValue( "-encoding" );
  -            cmd.createArgument().setValue( m_encoding );
  +            cmd.addArgument( "-encoding" );
  +            cmd.addArgument( m_encoding );
           }
           if( m_debug )
           {
  -            cmd.createArgument().setValue( "-g" );
  +            cmd.addArgument( "-g" );
           }
           if( m_optimize )
           {
  -            cmd.createArgument().setValue( "-O" );
  +            cmd.addArgument( "-O" );
           }
           if( m_verbose )
           {
  -            cmd.createArgument().setValue( "-verbose" );
  +            cmd.addArgument( "-verbose" );
           }
           if( m_depend )
           {
  -            cmd.createArgument().setValue( "-depend" );
  +            cmd.addArgument( "-depend" );
           }
   
           if( m_attributes.getNowarn() )
  @@ -124,7 +125,7 @@
                * let the magic property win over the attribute for backwards
                * compatibility
                */
  -            cmd.createArgument().setValue( "-nowarn" );
  +            cmd.addArgument( "-nowarn" );
           }
   
           addCurrentCompilerArgs( cmd );
  
  
  
  1.7       +11 -10    jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/compilers/Jvc.java
  
  Index: Jvc.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/compilers/Jvc.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- Jvc.java	19 Jan 2002 07:26:21 -0000	1.6
  +++ Jvc.java	20 Jan 2002 02:11:42 -0000	1.7
  @@ -10,6 +10,7 @@
   import org.apache.myrmidon.api.TaskException;
   import org.apache.tools.ant.types.Commandline;
   import org.apache.tools.ant.types.Path;
  +import org.apache.tools.ant.util.FileUtils;
   
   /**
    * The implementation of the jvc compiler from microsoft. This is primarily a
  @@ -65,32 +66,32 @@
   
           if( m_destDir != null )
           {
  -            cmd.createArgument().setValue( "/d" );
  -            cmd.createArgument().setFile( m_destDir );
  +            cmd.addArgument( "/d" );
  +            cmd.addArgument( m_destDir );
           }
   
           // Add the Classpath before the "internal" one.
  -        cmd.createArgument().setValue( "/cp:p" );
  -        cmd.createArgument().setPath( classpath );
  +        cmd.addArgument( "/cp:p" );
  +        cmd.addArguments( FileUtils.translateCommandline( classpath ) );
   
           // Enable MS-Extensions and ...
  -        cmd.createArgument().setValue( "/x-" );
  +        cmd.addArgument( "/x-" );
           // ... do not display a Message about this.
  -        cmd.createArgument().setValue( "/nomessage" );
  +        cmd.addArgument( "/nomessage" );
           // Do not display Logo
  -        cmd.createArgument().setValue( "/nologo" );
  +        cmd.addArgument( "/nologo" );
   
           if( m_debug )
           {
  -            cmd.createArgument().setValue( "/g" );
  +            cmd.addArgument( "/g" );
           }
           if( m_optimize )
           {
  -            cmd.createArgument().setValue( "/O" );
  +            cmd.addArgument( "/O" );
           }
           if( m_verbose )
           {
  -            cmd.createArgument().setValue( "/verbose" );
  +            cmd.addArgument( "/verbose" );
           }
   
           addCurrentCompilerArgs( cmd );
  
  
  
  1.9       +11 -10    jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/compilers/Kjc.java
  
  Index: Kjc.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/compilers/Kjc.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- Kjc.java	19 Jan 2002 07:26:21 -0000	1.8
  +++ Kjc.java	20 Jan 2002 02:11:42 -0000	1.9
  @@ -11,6 +11,7 @@
   import org.apache.myrmidon.api.TaskException;
   import org.apache.tools.ant.types.Commandline;
   import org.apache.tools.ant.types.Path;
  +import org.apache.tools.ant.util.FileUtils;
   
   /**
    * The implementation of the Java compiler for KJC. This is primarily a
  @@ -72,17 +73,17 @@
   
           if( m_deprecation == true )
           {
  -            cmd.createArgument().setValue( "-deprecation" );
  +            cmd.addArgument( "-deprecation" );
           }
   
           if( m_destDir != null )
           {
  -            cmd.createArgument().setValue( "-d" );
  -            cmd.createArgument().setFile( m_destDir );
  +            cmd.addArgument( "-d" );
  +            cmd.addArgument( m_destDir );
           }
   
           // generate the clsspath
  -        cmd.createArgument().setValue( "-classpath" );
  +        cmd.addArgument( "-classpath" );
   
           Path cp = new Path();
   
  @@ -100,29 +101,29 @@
           cp.append( classpath );
           cp.append( src );
   
  -        cmd.createArgument().setPath( cp );
  +        cmd.addArguments( FileUtils.translateCommandline( cp ) );
   
           // kjc-1.5A doesn't support -encoding option now.
           // but it will be supported near the feature.
           if( m_encoding != null )
           {
  -            cmd.createArgument().setValue( "-encoding" );
  -            cmd.createArgument().setValue( m_encoding );
  +            cmd.addArgument( "-encoding" );
  +            cmd.addArgument( m_encoding );
           }
   
           if( m_debug )
           {
  -            cmd.createArgument().setValue( "-g" );
  +            cmd.addArgument( "-g" );
           }
   
           if( m_optimize )
           {
  -            cmd.createArgument().setValue( "-O2" );
  +            cmd.addArgument( "-O2" );
           }
   
           if( m_verbose )
           {
  -            cmd.createArgument().setValue( "-verbose" );
  +            cmd.addArgument( "-verbose" );
           }
   
           addCurrentCompilerArgs( cmd );
  
  
  
  1.15      +2 -4      jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/exec/ExecTask.java
  
  Index: ExecTask.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/exec/ExecTask.java,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- ExecTask.java	30 Dec 2001 10:46:58 -0000	1.14
  +++ ExecTask.java	20 Jan 2002 02:11:42 -0000	1.15
  @@ -162,12 +162,10 @@
   
       /**
        * Add a nested arg element - a command line argument.
  -     *
  -     * @return Description of the Returned Value
        */
  -    public Argument createArg()
  +    public void addArg( final Argument argument )
       {
  -        return m_command.createArgument();
  +        m_command.addArgument( argument );
       }
   
       /**
  
  
  
  1.15      +59 -58    jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/javadoc/Javadoc.java
  
  Index: Javadoc.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/javadoc/Javadoc.java,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- Javadoc.java	19 Jan 2002 07:26:22 -0000	1.14
  +++ Javadoc.java	20 Jan 2002 02:11:43 -0000	1.15
  @@ -20,6 +20,7 @@
   import org.apache.aut.nativelib.ExecOutputHandler;
   import org.apache.tools.ant.types.DirectoryScanner;
   import org.apache.tools.ant.Task;
  +import org.apache.tools.ant.util.FileUtils;
   import org.apache.tools.ant.taskdefs.exec.Execute2;
   import org.apache.tools.ant.types.Commandline;
   import org.apache.tools.ant.types.FileSet;
  @@ -89,7 +90,7 @@
   
       public void setAccess( AccessType at )
       {
  -        m_command.createArgument().setValue( "-" + at.getValue() );
  +        m_command.addArgument( "-" + at.getValue() );
       }
   
       public void setAdditionalparam( String add )
  @@ -155,14 +156,14 @@
       public void setDestdir( File dir )
       {
           m_destDir = dir;
  -        m_command.createArgument().setValue( "-d" );
  -        m_command.createArgument().setFile( m_destDir );
  +        m_command.addArgument( "-d" );
  +        m_command.addArgument( m_destDir );
       }
   
       public void setDocencoding( String enc )
       {
  -        m_command.createArgument().setValue( "-docencoding" );
  -        m_command.createArgument().setValue( enc );
  +        m_command.addArgument( "-docencoding" );
  +        m_command.addArgument( enc );
       }
   
       public void setDoclet( String src )
  @@ -193,8 +194,8 @@
   
       public void setEncoding( String enc )
       {
  -        m_command.createArgument().setValue( "-encoding" );
  -        m_command.createArgument().setValue( enc );
  +        m_command.addArgument( "-encoding" );
  +        m_command.addArgument( enc );
       }
   
       public void setExcludePackageNames( String src )
  @@ -211,8 +212,8 @@
   
       public void setExtdirs( String src )
       {
  -        m_command.createArgument().setValue( "-extdirs" );
  -        m_command.createArgument().setValue( src );
  +        m_command.addArgument( "-extdirs" );
  +        m_command.addArgument( src );
       }
   
       public void setFooter( String src )
  @@ -236,8 +237,8 @@
   
       public void setHelpfile( File f )
       {
  -        m_command.createArgument().setValue( "-helpfile" );
  -        m_command.createArgument().setFile( f );
  +        m_command.addArgument( "-helpfile" );
  +        m_command.addArgument( f );
       }
   
       public void setLink( String src )
  @@ -268,13 +269,13 @@
   
       public void setLocale( String src )
       {
  -        m_command.createArgument().setValue( "-locale" );
  -        m_command.createArgument().setValue( src );
  +        m_command.addArgument( "-locale" );
  +        m_command.addArgument( src );
       }
   
       public void setMaxmemory( final String max )
       {
  -        m_command.createArgument().setValue( "-J-Xmx" + max );
  +        m_command.addArgument( "-J-Xmx" + max );
       }
   
       public void setNodeprecated( boolean b )
  @@ -314,8 +315,8 @@
   
       public void setOverview( File f )
       {
  -        m_command.createArgument().setValue( "-overview" );
  -        m_command.createArgument().setFile( f );
  +        m_command.addArgument( "-overview" );
  +        m_command.addArgument( f );
       }
   
       public void setPackage( boolean b )
  @@ -393,8 +394,8 @@
   
       public void setStylesheetfile( File f )
       {
  -        m_command.createArgument().setValue( "-stylesheetfile" );
  -        m_command.createArgument().setFile( f );
  +        m_command.addArgument( "-stylesheetfile" );
  +        m_command.addArgument( f );
       }
   
       public void setUse( boolean b )
  @@ -536,23 +537,23 @@
   
           if( m_doctitle != null )
           {
  -            m_command.createArgument().setValue( "-doctitle" );
  -            m_command.createArgument().setValue( m_doctitle.getText() );
  +            m_command.addArgument( "-doctitle" );
  +            m_command.addArgument( m_doctitle.getText() );
           }
           if( m_header != null )
           {
  -            m_command.createArgument().setValue( "-header" );
  -            m_command.createArgument().setValue( m_header.getText() );
  +            m_command.addArgument( "-header" );
  +            m_command.addArgument( m_header.getText() );
           }
           if( m_footer != null )
           {
  -            m_command.createArgument().setValue( "-footer" );
  -            m_command.createArgument().setValue( m_footer.getText() );
  +            m_command.addArgument( "-footer" );
  +            m_command.addArgument( m_footer.getText() );
           }
           if( m_bottom != null )
           {
  -            m_command.createArgument().setValue( "-bottom" );
  -            m_command.createArgument().setValue( m_bottom.getText() );
  +            m_command.addArgument( "-bottom" );
  +            m_command.addArgument( m_bottom.getText() );
           }
   
           Commandline cmd = new Commandline();//(Commandline)m_command.clone();
  @@ -567,13 +568,13 @@
           {
               classpath.addPath( m_classpath );
           }
  -        cmd.createArgument().setValue( "-classpath" );
  -        cmd.createArgument().setValue( classpath.toString() );
  +        cmd.addArgument( "-classpath" );
  +        cmd.addArgument( classpath.toString() );
   
           if( m_version && m_doclet == null )
  -            cmd.createArgument().setValue( "-version" );
  +            cmd.addArgument( "-version" );
           if( m_author && m_doclet == null )
  -            cmd.createArgument().setValue( "-author" );
  +            cmd.addArgument( "-author" );
   
           if( m_doclet == null )
           {
  @@ -596,12 +597,12 @@
               }
               else
               {
  -                cmd.createArgument().setValue( "-doclet" );
  -                cmd.createArgument().setValue( m_doclet.getName() );
  +                cmd.addArgument( "-doclet" );
  +                cmd.addArgument( m_doclet.getName() );
                   if( m_doclet.getPath() != null )
                   {
  -                    cmd.createArgument().setValue( "-docletpath" );
  -                    cmd.createArgument().setPath( m_doclet.getPath() );
  +                    cmd.addArgument( "-docletpath" );
  +                    cmd.addArguments( FileUtils.translateCommandline( m_doclet.getPath() ) );
                   }
                   for( Iterator e = m_doclet.getParams(); e.hasNext(); )
                   {
  @@ -611,18 +612,18 @@
                           throw new TaskException( "Doclet parameters must have a name" );
                       }
   
  -                    cmd.createArgument().setValue( param.getName() );
  +                    cmd.addArgument( param.getName() );
                       if( param.getValue() != null )
                       {
  -                        cmd.createArgument().setValue( param.getValue() );
  +                        cmd.addArgument( param.getValue() );
                       }
                   }
               }
   
               if( m_bootclasspath != null )
               {
  -                cmd.createArgument().setValue( "-bootclasspath" );
  -                cmd.createArgument().setPath( m_bootclasspath );
  +                cmd.addArgument( "-bootclasspath" );
  +                cmd.addArguments( FileUtils.translateCommandline( m_bootclasspath ) );
               }
   
               // add the links arguments
  @@ -648,9 +649,9 @@
                           File packageList = new File( packageListLocation, "package-list" );
                           if( packageList.exists() )
                           {
  -                            cmd.createArgument().setValue( "-linkoffline" );
  -                            cmd.createArgument().setValue( la.getHref() );
  -                            cmd.createArgument().setValue( packageListLocation.getAbsolutePath() );
  +                            cmd.addArgument( "-linkoffline" );
  +                            cmd.addArgument( la.getHref() );
  +                            cmd.addArgument( packageListLocation.getAbsolutePath() );
                           }
                           else
                           {
  @@ -659,8 +660,8 @@
                       }
                       else
                       {
  -                        cmd.createArgument().setValue( "-link" );
  -                        cmd.createArgument().setValue( la.getHref() );
  +                        cmd.addArgument( "-link" );
  +                        cmd.addArgument( la.getHref() );
                       }
                   }
               }
  @@ -687,9 +688,9 @@
                       {
                           String name = grp.substring( 0, space );
                           String pkgList = grp.substring( space + 1 );
  -                        cmd.createArgument().setValue( "-group" );
  -                        cmd.createArgument().setValue( name );
  -                        cmd.createArgument().setValue( pkgList );
  +                        cmd.addArgument( "-group" );
  +                        cmd.addArgument( name );
  +                        cmd.addArgument( pkgList );
                       }
                   }
               }
  @@ -706,9 +707,9 @@
                       {
                           throw new TaskException( "The title and packages must be specified for group elements." );
                       }
  -                    cmd.createArgument().setValue( "-group" );
  -                    cmd.createArgument().setValue( title );
  -                    cmd.createArgument().setValue( packages );
  +                    cmd.addArgument( "-group" );
  +                    cmd.addArgument( title );
  +                    cmd.addArgument( packages );
                   }
               }
   
  @@ -729,7 +730,7 @@
                   }
                   else
                   {
  -                    cmd.createArgument().setValue( name );
  +                    cmd.addArgument( name );
                   }
               }
   
  @@ -763,7 +764,7 @@
                       if( m_tmpList == null )
                       {
                           m_tmpList = File.createTempFile( "javadoc", "", getBaseDirectory() );
  -                        cmd.createArgument().setValue( "@" + m_tmpList.getAbsolutePath() );
  +                        cmd.addArgument( "@" + m_tmpList.getAbsolutePath() );
                       }
                       srcListWriter = new PrintWriter( new FileWriter( m_tmpList.getAbsolutePath(),
                                                                        true ) );
  @@ -780,7 +781,7 @@
                       }
                       else
                       {
  -                        cmd.createArgument().setValue( sourceFileName );
  +                        cmd.addArgument( sourceFileName );
                       }
                   }
   
  @@ -800,7 +801,7 @@
   
           if( m_packageList != null )
           {
  -            cmd.createArgument().setValue( "@" + m_packageList );
  +            cmd.addArgument( "@" + m_packageList );
           }
           getLogger().debug( "Javadoc args: " + cmd );
   
  @@ -873,8 +874,8 @@
       {
           if( value != null && value.length() != 0 )
           {
  -            m_command.createArgument().setValue( key );
  -            m_command.createArgument().setValue( value );
  +            m_command.addArgument( key );
  +            m_command.addArgument( value );
           }
           else
           {
  @@ -886,7 +887,7 @@
       {
           if( b )
           {
  -            m_command.createArgument().setValue( arg );
  +            m_command.addArgument( arg );
           }
       }
   
  @@ -969,7 +970,7 @@
               if( m_useExternalFile )
               {
                   m_tmpList = File.createTempFile( "javadoc", "", getBaseDirectory() );
  -                toExecute.createArgument().setValue( "@" + m_tmpList.getAbsolutePath() );
  +                toExecute.addArgument( "@" + m_tmpList.getAbsolutePath() );
                   packageListWriter = new PrintWriter( new FileWriter( m_tmpList ) );
               }
   
  @@ -1008,7 +1009,7 @@
                               }
                               else
                               {
  -                                toExecute.createArgument().setValue( pkgDir );
  +                                toExecute.addArgument( pkgDir );
                               }
                               addedPackages.add( pkgDir );
                           }
  
  
  
  1.19      +5 -5      jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/ANTLR.java
  
  Index: ANTLR.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/ANTLR.java,v
  retrieving revision 1.18
  retrieving revision 1.19
  diff -u -r1.18 -r1.19
  --- ANTLR.java	15 Jan 2002 09:51:08 -0000	1.18
  +++ ANTLR.java	20 Jan 2002 02:11:43 -0000	1.19
  @@ -105,9 +105,9 @@
        *      the JVM.
        * @see #setFork(boolean)
        */
  -    public Argument createJvmarg()
  +    public void addJvmarg( final Argument argument )
       {
  -        return commandline.createVmArgument();
  +        commandline.addVmArgument( argument );
       }
   
       public void execute()
  @@ -122,9 +122,9 @@
           //TODO: use ANTLR to parse the grammer file to do this.
           if( target.lastModified() > getGeneratedFile().lastModified() )
           {
  -            commandline.createArgument().setValue( "-o" );
  -            commandline.createArgument().setValue( outputDirectory.toString() );
  -            commandline.createArgument().setValue( target.toString() );
  +            commandline.addArgument( "-o" );
  +            commandline.addArgument( outputDirectory.toString() );
  +            commandline.addArgument( target.toString() );
   
               if( fork )
               {
  
  
  
  1.19      +7 -7      jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/Cab.java
  
  Index: Cab.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/Cab.java,v
  retrieving revision 1.18
  retrieving revision 1.19
  diff -u -r1.18 -r1.19
  --- Cab.java	12 Jan 2002 23:47:43 -0000	1.18
  +++ Cab.java	20 Jan 2002 02:11:43 -0000	1.19
  @@ -247,13 +247,13 @@
       {
           final Commandline cmd = new Commandline();
           cmd.setExecutable( "cabarc" );
  -        cmd.createArgument().setValue( "-r" );
  -        cmd.createArgument().setValue( "-p" );
  +        cmd.addArgument( "-r" );
  +        cmd.addArgument( "-p" );
   
           if( !m_compress )
           {
  -            cmd.createArgument().setValue( "-m" );
  -            cmd.createArgument().setValue( "none" );
  +            cmd.addArgument( "-m" );
  +            cmd.addArgument( "none" );
           }
   
           if( m_options != null )
  @@ -261,9 +261,9 @@
               cmd.createArgument().setLine( m_options );
           }
   
  -        cmd.createArgument().setValue( "n" );
  -        cmd.createArgument().setFile( m_cabFile );
  -        cmd.createArgument().setValue( "@" + listFile.getAbsolutePath() );
  +        cmd.addArgument( "n" );
  +        cmd.addArgument( m_cabFile );
  +        cmd.addArgument( "@" + listFile.getAbsolutePath() );
   
           return cmd;
       }
  
  
  
  1.19      +15 -14    jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/Javah.java
  
  Index: Javah.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/Javah.java,v
  retrieving revision 1.18
  retrieving revision 1.19
  diff -u -r1.18 -r1.19
  --- Javah.java	19 Jan 2002 07:26:22 -0000	1.18
  +++ Javah.java	20 Jan 2002 02:11:43 -0000	1.19
  @@ -17,6 +17,7 @@
   import org.apache.myrmidon.api.AbstractTask;
   import org.apache.tools.ant.types.Commandline;
   import org.apache.tools.ant.types.Path;
  +import org.apache.tools.ant.util.FileUtils;
   
   /**
    * Task to generate JNI header files using javah. This task can take the
  @@ -219,7 +220,7 @@
               while( tok.hasMoreTokens() )
               {
                   final String aClass = tok.nextToken().trim();
  -                cmd.createArgument().setValue( aClass );
  +                cmd.addArgument( aClass );
                   niceClassList.append( "    " + aClass + StringUtil.LINE_SEPARATOR );
                   n++;
               }
  @@ -230,7 +231,7 @@
           {
               final ClassArgument arg = (ClassArgument)enum.next();
               final String aClass = arg.getName();
  -            cmd.createArgument().setValue( aClass );
  +            cmd.addArgument( aClass );
               niceClassList.append( "    " + aClass + StringUtil.LINE_SEPARATOR );
               n++;
           }
  @@ -256,33 +257,33 @@
   
           if( m_destDir != null )
           {
  -            cmd.createArgument().setValue( "-d" );
  -            cmd.createArgument().setFile( m_destDir );
  +            cmd.addArgument( "-d" );
  +            cmd.addArgument( m_destDir );
           }
   
           if( m_outputFile != null )
           {
  -            cmd.createArgument().setValue( "-o" );
  -            cmd.createArgument().setFile( m_outputFile );
  +            cmd.addArgument( "-o" );
  +            cmd.addArgument( m_outputFile );
           }
   
           if( m_classpath != null )
           {
  -            cmd.createArgument().setValue( "-classpath" );
  -            cmd.createArgument().setPath( m_classpath );
  +            cmd.addArgument( "-classpath" );
  +            cmd.addArguments( FileUtils.translateCommandline( m_classpath ) );
           }
   
           if( m_verbose )
           {
  -            cmd.createArgument().setValue( "-verbose" );
  +            cmd.addArgument( "-verbose" );
           }
           if( m_old )
           {
  -            cmd.createArgument().setValue( "-old" );
  +            cmd.addArgument( "-old" );
           }
           if( m_force )
           {
  -            cmd.createArgument().setValue( "-force" );
  +            cmd.addArgument( "-force" );
           }
   
           if( m_stubs )
  @@ -292,12 +293,12 @@
                   final String message = "stubs only available in old mode.";
                   throw new TaskException( message );
               }
  -            cmd.createArgument().setValue( "-stubs" );
  +            cmd.addArgument( "-stubs" );
           }
           if( m_bootclasspath != null )
           {
  -            cmd.createArgument().setValue( "-bootclasspath" );
  -            cmd.createArgument().setPath( m_bootclasspath );
  +            cmd.addArgument( "-bootclasspath" );
  +            cmd.addArguments( FileUtils.translateCommandline( m_bootclasspath ) );
           }
   
           logAndAddFilesToCompile( cmd );
  
  
  
  1.6       +6 -6      jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/ccm/CCMCheck.java
  
  Index: CCMCheck.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/ccm/CCMCheck.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- CCMCheck.java	6 Jan 2002 02:22:24 -0000	1.5
  +++ CCMCheck.java	20 Jan 2002 02:11:43 -0000	1.6
  @@ -115,7 +115,7 @@
           // ccm co /t .. files
           // as specified in the CLEARTOOL.EXE help
           commandLine.setExecutable( getCcmCommand() );
  -        commandLine.createArgument().setValue( getCcmAction() );
  +        commandLine.addArgument( getCcmAction() );
   
           checkOptions( commandLine );
   
  @@ -136,19 +136,19 @@
       {
           if( getComment() != null )
           {
  -            cmd.createArgument().setValue( FLAG_COMMENT );
  -            cmd.createArgument().setValue( getComment() );
  +            cmd.addArgument( FLAG_COMMENT );
  +            cmd.addArgument( getComment() );
           }
   
           if( getTask() != null )
           {
  -            cmd.createArgument().setValue( FLAG_TASK );
  -            cmd.createArgument().setValue( getTask() );
  +            cmd.addArgument( FLAG_TASK );
  +            cmd.addArgument( getTask() );
           }// end of if ()
   
           if( getFile() != null )
           {
  -            cmd.createArgument().setValue( _file.getAbsolutePath() );
  +            cmd.addArgument( _file.getAbsolutePath() );
           }// end of if ()
       }
   }
  
  
  
  1.10      +13 -13    jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/ccm/CCMCreateTask.java
  
  Index: CCMCreateTask.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/ccm/CCMCreateTask.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- CCMCreateTask.java	12 Jan 2002 04:58:40 -0000	1.9
  +++ CCMCreateTask.java	20 Jan 2002 02:11:43 -0000	1.10
  @@ -143,8 +143,8 @@
           //create task ok, set this task as the default one
           final Commandline cmd = new Commandline();
           cmd.setExecutable( getCcmCommand() );
  -        cmd.createArgument().setValue( COMMAND_DEFAULT_TASK );
  -        cmd.createArgument().setValue( m_task );
  +        cmd.addArgument( COMMAND_DEFAULT_TASK );
  +        cmd.addArgument( m_task );
   
           getLogger().debug( commandLine.toString() );
   
  @@ -164,7 +164,7 @@
           // build the command line from what we got the format
           // as specified in the CCM.EXE help
           commandLine.setExecutable( getCcmCommand() );
  -        commandLine.createArgument().setValue( getCcmAction() );
  +        commandLine.addArgument( getCcmAction() );
   
           checkOptions( commandLine );
   
  @@ -184,32 +184,32 @@
       {
           if( m_comment != null )
           {
  -            cmd.createArgument().setValue( FLAG_COMMENT );
  -            cmd.createArgument().setValue( "\"" + m_comment + "\"" );
  +            cmd.addArgument( FLAG_COMMENT );
  +            cmd.addArgument( "\"" + m_comment + "\"" );
           }
   
           if( m_platform != null )
           {
  -            cmd.createArgument().setValue( FLAG_PLATFORM );
  -            cmd.createArgument().setValue( m_platform );
  +            cmd.addArgument( FLAG_PLATFORM );
  +            cmd.addArgument( m_platform );
           }
   
           if( m_resolver != null )
           {
  -            cmd.createArgument().setValue( FLAG_RESOLVER );
  -            cmd.createArgument().setValue( m_resolver );
  +            cmd.addArgument( FLAG_RESOLVER );
  +            cmd.addArgument( m_resolver );
           }
   
           if( m_subSystem != null )
           {
  -            cmd.createArgument().setValue( FLAG_SUBSYSTEM );
  -            cmd.createArgument().setValue( "\"" + m_subSystem + "\"" );
  +            cmd.addArgument( FLAG_SUBSYSTEM );
  +            cmd.addArgument( "\"" + m_subSystem + "\"" );
           }
   
           if( m_release != null )
           {
  -            cmd.createArgument().setValue( FLAG_RELEASE );
  -            cmd.createArgument().setValue( m_release );
  +            cmd.addArgument( FLAG_RELEASE );
  +            cmd.addArgument( m_release );
           }
       }
   
  
  
  
  1.6       +5 -5      jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/ccm/CCMReconfigure.java
  
  Index: CCMReconfigure.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/ccm/CCMReconfigure.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- CCMReconfigure.java	6 Jan 2002 02:22:41 -0000	1.5
  +++ CCMReconfigure.java	20 Jan 2002 02:11:43 -0000	1.6
  @@ -81,7 +81,7 @@
           // build the command line from what we got the format
           // as specified in the CCM.EXE help
           cmd.setExecutable( getCcmCommand() );
  -        cmd.createArgument().setValue( getCcmAction() );
  +        cmd.addArgument( getCcmAction() );
   
           checkOptions( cmd );
   
  @@ -100,18 +100,18 @@
       {
           if( m_recurse == true )
           {
  -            cmd.createArgument().setValue( FLAG_RECURSE );
  +            cmd.addArgument( FLAG_RECURSE );
           }
   
           if( m_verbose == true )
           {
  -            cmd.createArgument().setValue( FLAG_VERBOSE );
  +            cmd.addArgument( FLAG_VERBOSE );
           }
   
           if( m_ccmProject != null )
           {
  -            cmd.createArgument().setValue( FLAG_PROJECT );
  -            cmd.createArgument().setValue( m_ccmProject );
  +            cmd.addArgument( FLAG_PROJECT );
  +            cmd.addArgument( m_ccmProject );
           }
       }
   }
  
  
  
  1.7       +11 -11    jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/clearcase/CCCheckin.java
  
  Index: CCCheckin.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/clearcase/CCCheckin.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- CCCheckin.java	6 Jan 2002 02:25:11 -0000	1.6
  +++ CCCheckin.java	20 Jan 2002 02:11:43 -0000	1.7
  @@ -335,7 +335,7 @@
           // cleartool checkin [options...] [viewpath ...]
           // as specified in the CLEARTOOL.EXE help
           commandLine.setExecutable( getClearToolCommand() );
  -        commandLine.createArgument().setValue( COMMAND_CHECKIN );
  +        commandLine.addArgument( COMMAND_CHECKIN );
   
           checkOptions( commandLine );
   
  @@ -362,8 +362,8 @@
                * Windows filename with a space and it is enclosed in double
                * quotes ("). This breaks clearcase.
                */
  -            cmd.createArgument().setValue( FLAG_COMMENT );
  -            cmd.createArgument().setValue( getComment() );
  +            cmd.addArgument( FLAG_COMMENT );
  +            cmd.addArgument( getComment() );
           }
       }
   
  @@ -382,8 +382,8 @@
                * Windows filename with a space and it is enclosed in double
                * quotes ("). This breaks clearcase.
                */
  -            cmd.createArgument().setValue( FLAG_COMMENTFILE );
  -            cmd.createArgument().setValue( getCommentFile() );
  +            cmd.addArgument( FLAG_COMMENTFILE );
  +            cmd.addArgument( getCommentFile() );
           }
       }
   
  @@ -408,36 +408,36 @@
               }
               else
               {
  -                cmd.createArgument().setValue( FLAG_NOCOMMENT );
  +                cmd.addArgument( FLAG_NOCOMMENT );
               }
           }
   
           if( getNoWarn() )
           {
               // -nwarn
  -            cmd.createArgument().setValue( FLAG_NOWARN );
  +            cmd.addArgument( FLAG_NOWARN );
           }
   
           if( getPreserveTime() )
           {
               // -ptime
  -            cmd.createArgument().setValue( FLAG_PRESERVETIME );
  +            cmd.addArgument( FLAG_PRESERVETIME );
           }
   
           if( getKeepCopy() )
           {
               // -keep
  -            cmd.createArgument().setValue( FLAG_KEEPCOPY );
  +            cmd.addArgument( FLAG_KEEPCOPY );
           }
   
           if( getIdentical() )
           {
               // -identical
  -            cmd.createArgument().setValue( FLAG_IDENTICAL );
  +            cmd.addArgument( FLAG_IDENTICAL );
           }
   
           // viewpath
  -        cmd.createArgument().setValue( getViewPath() );
  +        cmd.addArgument( getViewPath() );
       }
   
   }
  
  
  
  1.7       +16 -16    jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/clearcase/CCCheckout.java
  
  Index: CCCheckout.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/clearcase/CCCheckout.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- CCCheckout.java	6 Jan 2002 02:25:11 -0000	1.6
  +++ CCCheckout.java	20 Jan 2002 02:11:43 -0000	1.7
  @@ -423,7 +423,7 @@
           // cleartool checkout [options...] [viewpath ...]
           // as specified in the CLEARTOOL.EXE help
           commandLine.setExecutable( getClearToolCommand() );
  -        commandLine.createArgument().setValue( COMMAND_CHECKOUT );
  +        commandLine.addArgument( COMMAND_CHECKOUT );
   
           checkOptions( commandLine );
   
  @@ -450,8 +450,8 @@
                * Windows filename with a space and it is enclosed in double
                * quotes ("). This breaks clearcase.
                */
  -            cmd.createArgument().setValue( FLAG_BRANCH );
  -            cmd.createArgument().setValue( getBranch() );
  +            cmd.addArgument( FLAG_BRANCH );
  +            cmd.addArgument( getBranch() );
           }
       }
   
  @@ -470,8 +470,8 @@
                * Windows filename with a space and it is enclosed in double
                * quotes ("). This breaks clearcase.
                */
  -            cmd.createArgument().setValue( FLAG_COMMENT );
  -            cmd.createArgument().setValue( getComment() );
  +            cmd.addArgument( FLAG_COMMENT );
  +            cmd.addArgument( getComment() );
           }
       }
   
  @@ -490,8 +490,8 @@
                * Windows filename with a space and it is enclosed in double
                * quotes ("). This breaks clearcase.
                */
  -            cmd.createArgument().setValue( FLAG_COMMENTFILE );
  -            cmd.createArgument().setValue( getCommentFile() );
  +            cmd.addArgument( FLAG_COMMENTFILE );
  +            cmd.addArgument( getCommentFile() );
           }
       }
   
  @@ -510,8 +510,8 @@
                * Windows filename with a space and it is enclosed in double
                * quotes ("). This breaks clearcase.
                */
  -            cmd.createArgument().setValue( FLAG_OUT );
  -            cmd.createArgument().setValue( getOut() );
  +            cmd.addArgument( FLAG_OUT );
  +            cmd.addArgument( getOut() );
           }
       }
   
  @@ -526,12 +526,12 @@
           if( getReserved() )
           {
               // -reserved
  -            cmd.createArgument().setValue( FLAG_RESERVED );
  +            cmd.addArgument( FLAG_RESERVED );
           }
           else
           {
               // -unreserved
  -            cmd.createArgument().setValue( FLAG_UNRESERVED );
  +            cmd.addArgument( FLAG_UNRESERVED );
           }
   
           if( getOut() != null )
  @@ -544,7 +544,7 @@
               if( getNoData() )
               {
                   // -ndata
  -                cmd.createArgument().setValue( FLAG_NODATA );
  +                cmd.addArgument( FLAG_NODATA );
               }
   
           }
  @@ -559,7 +559,7 @@
               if( getVersion() )
               {
                   // -version
  -                cmd.createArgument().setValue( FLAG_VERSION );
  +                cmd.addArgument( FLAG_VERSION );
               }
   
           }
  @@ -567,7 +567,7 @@
           if( getNoWarn() )
           {
               // -nwarn
  -            cmd.createArgument().setValue( FLAG_NOWARN );
  +            cmd.addArgument( FLAG_NOWARN );
           }
   
           if( getComment() != null )
  @@ -584,12 +584,12 @@
               }
               else
               {
  -                cmd.createArgument().setValue( FLAG_NOCOMMENT );
  +                cmd.addArgument( FLAG_NOCOMMENT );
               }
           }
   
           // viewpath
  -        cmd.createArgument().setValue( getViewPath() );
  +        cmd.addArgument( getViewPath() );
       }
   
   }
  
  
  
  1.7       +4 -4      jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/clearcase/CCUnCheckout.java
  
  Index: CCUnCheckout.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/clearcase/CCUnCheckout.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- CCUnCheckout.java	6 Jan 2002 02:25:11 -0000	1.6
  +++ CCUnCheckout.java	20 Jan 2002 02:11:43 -0000	1.7
  @@ -127,7 +127,7 @@
           // cleartool uncheckout [options...] [viewpath ...]
           // as specified in the CLEARTOOL.EXE help
           commandLine.setExecutable( getClearToolCommand() );
  -        commandLine.createArgument().setValue( COMMAND_UNCHECKOUT );
  +        commandLine.addArgument( COMMAND_UNCHECKOUT );
   
           checkOptions( commandLine );
   
  @@ -150,16 +150,16 @@
           if( getKeepCopy() )
           {
               // -keep
  -            cmd.createArgument().setValue( FLAG_KEEPCOPY );
  +            cmd.addArgument( FLAG_KEEPCOPY );
           }
           else
           {
               // -rm
  -            cmd.createArgument().setValue( FLAG_RM );
  +            cmd.addArgument( FLAG_RM );
           }
   
           // viewpath
  -        cmd.createArgument().setValue( getViewPath() );
  +        cmd.addArgument( getViewPath() );
       }
   
   }
  
  
  
  1.7       +10 -10    jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/clearcase/CCUpdate.java
  
  Index: CCUpdate.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/clearcase/CCUpdate.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- CCUpdate.java	6 Jan 2002 02:25:11 -0000	1.6
  +++ CCUpdate.java	20 Jan 2002 02:11:43 -0000	1.7
  @@ -336,7 +336,7 @@
           // cleartool update [options...] [viewpath ...]
           // as specified in the CLEARTOOL.EXE help
           commandLine.setExecutable( getClearToolCommand() );
  -        commandLine.createArgument().setValue( COMMAND_UPDATE );
  +        commandLine.addArgument( COMMAND_UPDATE );
   
           // Check the command line options
           checkOptions( commandLine );
  @@ -371,8 +371,8 @@
                * Windows filename with a space and it is enclosed in double
                * quotes ("). This breaks clearcase.
                */
  -            cmd.createArgument().setValue( FLAG_LOG );
  -            cmd.createArgument().setValue( getLog() );
  +            cmd.addArgument( FLAG_LOG );
  +            cmd.addArgument( getLog() );
           }
       }
   
  @@ -387,40 +387,40 @@
           if( getGraphical() )
           {
               // -graphical
  -            cmd.createArgument().setValue( FLAG_GRAPHICAL );
  +            cmd.addArgument( FLAG_GRAPHICAL );
           }
           else
           {
               if( getOverwrite() )
               {
                   // -overwrite
  -                cmd.createArgument().setValue( FLAG_OVERWRITE );
  +                cmd.addArgument( FLAG_OVERWRITE );
               }
               else
               {
                   if( getRename() )
                   {
                       // -rename
  -                    cmd.createArgument().setValue( FLAG_RENAME );
  +                    cmd.addArgument( FLAG_RENAME );
                   }
                   else
                   {
                       // -noverwrite
  -                    cmd.createArgument().setValue( FLAG_NOVERWRITE );
  +                    cmd.addArgument( FLAG_NOVERWRITE );
                   }
               }
   
               if( getCurrentTime() )
               {
                   // -ctime
  -                cmd.createArgument().setValue( FLAG_CURRENTTIME );
  +                cmd.addArgument( FLAG_CURRENTTIME );
               }
               else
               {
                   if( getPreserveTime() )
                   {
                       // -ptime
  -                    cmd.createArgument().setValue( FLAG_PRESERVETIME );
  +                    cmd.addArgument( FLAG_PRESERVETIME );
                   }
               }
   
  @@ -429,7 +429,7 @@
           }
   
           // viewpath
  -        cmd.createArgument().setValue( getViewPath() );
  +        cmd.addArgument( getViewPath() );
       }
   
   }
  
  
  
  1.16      +1 -1      jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/dotnet/NetCommand.java
  
  Index: NetCommand.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/dotnet/NetCommand.java,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- NetCommand.java	6 Jan 2002 02:08:08 -0000	1.15
  +++ NetCommand.java	20 Jan 2002 02:11:43 -0000	1.16
  @@ -125,7 +125,7 @@
       {
           if( argument != null && argument.length() != 0 )
           {
  -            _commandLine.createArgument().setValue( argument );
  +            _commandLine.addArgument( argument );
           }
       }
   
  
  
  
  1.16      +10 -9     jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/ejb/BorlandDeploymentTool.java
  
  Index: BorlandDeploymentTool.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/ejb/BorlandDeploymentTool.java,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- BorlandDeploymentTool.java	13 Jan 2002 00:04:03 -0000	1.15
  +++ BorlandDeploymentTool.java	20 Jan 2002 02:11:43 -0000	1.16
  @@ -23,6 +23,7 @@
   import org.apache.tools.ant.types.Argument;
   import org.apache.tools.ant.types.Commandline;
   import org.apache.tools.ant.types.Path;
  +import org.apache.tools.ant.util.FileUtils;
   
   /**
    * BorlandDeploymentTool is dedicated to the Borland Application Server 4.5 and
  @@ -392,24 +393,24 @@
           //debug ?
           if( java2iiopdebug )
           {
  -            cmd.createArgument().setValue( "-VBJdebug" );
  +            cmd.addArgument( "-VBJdebug" );
           }// end of if ()
           //set the classpath
  -        cmd.createArgument().setValue( "-VBJclasspath" );
  -        cmd.createArgument().setPath( getCombinedClasspath() );
  +        cmd.addArgument( "-VBJclasspath" );
  +        cmd.addArguments( FileUtils.translateCommandline( getCombinedClasspath() ) );
           //list file
  -        cmd.createArgument().setValue( "-list_files" );
  +        cmd.addArgument( "-list_files" );
           //no TIE classes
  -        cmd.createArgument().setValue( "-no_tie" );
  +        cmd.addArgument( "-no_tie" );
           //root dir
  -        cmd.createArgument().setValue( "-root_dir" );
  -        cmd.createArgument().setValue( getConfig().srcDir.getAbsolutePath() );
  +        cmd.addArgument( "-root_dir" );
  +        cmd.addArgument( getConfig().srcDir.getAbsolutePath() );
           //compiling order
  -        cmd.createArgument().setValue( "-compile" );
  +        cmd.addArgument( "-compile" );
           //add the home class
           while( ithomes.hasNext() )
           {
  -            cmd.createArgument().setValue( ithomes.next().toString() );
  +            cmd.addArgument( ithomes.next().toString() );
           }
           return cmd;
       }
  
  
  
  1.17      +8 -8      jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/ejb/BorlandGenerateClient.java
  
  Index: BorlandGenerateClient.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/ejb/BorlandGenerateClient.java,v
  retrieving revision 1.16
  retrieving revision 1.17
  diff -u -r1.16 -r1.17
  --- BorlandGenerateClient.java	19 Jan 2002 07:26:22 -0000	1.16
  +++ BorlandGenerateClient.java	20 Jan 2002 02:11:43 -0000	1.17
  @@ -178,20 +178,20 @@
       {
           final Commandline cmd = new Commandline();
           cmd.setExecutable( "iastool" );
  -        cmd.createArgument().setValue( "generateclient" );
  +        cmd.addArgument( "generateclient" );
           if( debug )
           {
  -            cmd.createArgument().setValue( "-trace" );
  +            cmd.addArgument( "-trace" );
           }
   
  -        cmd.createArgument().setValue( "-short" );
  -        cmd.createArgument().setValue( "-jarfile" );
  +        cmd.addArgument( "-short" );
  +        cmd.addArgument( "-jarfile" );
           // ejb jar file
  -        cmd.createArgument().setValue( ejbjarfile.getAbsolutePath() );
  +        cmd.addArgument( ejbjarfile.getAbsolutePath() );
           //client jar file
  -        cmd.createArgument().setValue( "-single" );
  -        cmd.createArgument().setValue( "-clientjarfile" );
  -        cmd.createArgument().setValue( clientjarfile.getAbsolutePath() );
  +        cmd.addArgument( "-single" );
  +        cmd.addArgument( "-clientjarfile" );
  +        cmd.addArgument( clientjarfile.getAbsolutePath() );
           return cmd;
       }
   
  
  
  
  1.19      +5 -7      jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/javacc/JJTree.java
  
  Index: JJTree.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/javacc/JJTree.java,v
  retrieving revision 1.18
  retrieving revision 1.19
  diff -u -r1.18 -r1.19
  --- JJTree.java	19 Jan 2002 07:26:22 -0000	1.18
  +++ JJTree.java	20 Jan 2002 02:11:43 -0000	1.19
  @@ -137,7 +137,7 @@
           {
               String name = (String)iter.nextElement();
               Object value = optionalAttrs.get( name );
  -            cmdl.createArgument().setValue( "-" + name + ":" + value.toString() );
  +            cmdl.addArgument( "-" + name + ":" + value.toString() );
           }
   
           if( target == null || !target.isFile() )
  @@ -156,8 +156,7 @@
           }
           // convert backslashes to slashes, otherwise jjtree will put this as
           // comments and this seems to confuse javacc
  -        cmdl.createArgument().setValue(
  -            "-OUTPUT_DIRECTORY:" + outputDirectory.getAbsolutePath().replace( '\\', '/' ) );
  +        cmdl.addArgument( "-OUTPUT_DIRECTORY:" + outputDirectory.getAbsolutePath().replace( '\\', '/' ) );
   
           String targetName = target.getName();
           final File javaFile = new File( outputDirectory,
  @@ -167,7 +166,7 @@
               getLogger().info( "Target is already built - skipping (" + target + ")" );
               return;
           }
  -        cmdl.createArgument().setValue( target.getAbsolutePath() );
  +        cmdl.addArgument( target.getAbsolutePath() );
   
           if( javaccHome == null || !javaccHome.isDirectory() )
           {
  @@ -177,9 +176,8 @@
           classpath.addLocation( new File( javaccHome, "JavaCC.zip" ) );
           classpath.addJavaRuntime();
   
  -        final Argument arg = cmdl.createVmArgument();
  -        arg.setValue( "-mx140M" );
  -        arg.setValue( "-Dinstall.root=" + javaccHome.getAbsolutePath() );
  +        cmdl.addVmArgument( "-mx140M" );
  +        cmdl.addVmArgument( "-Dinstall.root=" + javaccHome.getAbsolutePath() );
   
           final Execute2 exe = new Execute2();
           setupLogger( exe );
  
  
  
  1.14      +5 -7      jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/javacc/JavaCC.java
  
  Index: JavaCC.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/javacc/JavaCC.java,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- JavaCC.java	19 Jan 2002 07:26:22 -0000	1.13
  +++ JavaCC.java	20 Jan 2002 02:11:43 -0000	1.14
  @@ -193,7 +193,7 @@
           {
               String name = (String)iter.nextElement();
               Object value = optionalAttrs.get( name );
  -            cmdl.createArgument().setValue( "-" + name + ":" + value.toString() );
  +            cmdl.addArgument( "-" + name + ":" + value.toString() );
           }
   
           // check the target is a file
  @@ -211,8 +211,7 @@
           {
               throw new TaskException( "Outputdir not a directory." );
           }
  -        cmdl.createArgument().setValue(
  -            "-OUTPUT_DIRECTORY:" + outputDirectory.getAbsolutePath() );
  +        cmdl.addArgument( "-OUTPUT_DIRECTORY:" + outputDirectory.getAbsolutePath() );
   
           // determine if the generated java file is up-to-date
           final File javaFile = getOutputJavaFile( outputDirectory, target );
  @@ -221,7 +220,7 @@
               getLogger().debug( "Target is already built - skipping (" + target + ")" );
               return;
           }
  -        cmdl.createArgument().setValue( target.getAbsolutePath() );
  +        cmdl.addArgument( target.getAbsolutePath() );
   
           if( javaccHome == null || !javaccHome.isDirectory() )
           {
  @@ -231,9 +230,8 @@
           classpath.addLocation( new File( javaccHome, "JavaCC.zip" ) );
           classpath.addJavaRuntime();
   
  -        final Argument arg = cmdl.createVmArgument();
  -        arg.setValue( "-mx140M" );
  -        arg.setValue( "-Dinstall.root=" + javaccHome.getAbsolutePath() );
  +        cmdl.addVmArgument( "-mx140M" );
  +        cmdl.addVmArgument( "-Dinstall.root=" + javaccHome.getAbsolutePath() );
   
           runCommand( cmdl.getCommandline() );
       }
  
  
  
  1.19      +5 -18     jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/jdepend/JDependTask.java
  
  Index: JDependTask.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/jdepend/JDependTask.java,v
  retrieving revision 1.18
  retrieving revision 1.19
  diff -u -r1.18 -r1.19
  --- JDependTask.java	15 Jan 2002 09:51:09 -0000	1.18
  +++ JDependTask.java	20 Jan 2002 02:11:43 -0000	1.19
  @@ -138,19 +138,6 @@
       }
   
       /**
  -     * Create a new JVM argument. Ignored if no JVM is forked.
  -     *
  -     * @param commandline Description of Parameter
  -     * @return create a new JVM argument so that any argument can be passed to
  -     *      the JVM.
  -     * @see #setFork(boolean)
  -     */
  -    public Argument createJvmarg( final CommandlineJava commandline )
  -    {
  -        return commandline.createVmArgument();
  -    }
  -
  -    /**
        * Maybe creates a nested classpath element.
        */
       public Path createSourcespath()
  @@ -226,16 +213,16 @@
           // hope it will be reviewed by anybody competent
           if( m_compileClasspath.toString().length() > 0 )
           {
  -            createJvmarg( commandline ).setValue( "-classpath" );
  -            createJvmarg( commandline ).setValue( m_compileClasspath.toString() );
  +            commandline.addVmArgument( "-classpath" );
  +            commandline.addVmArgument( m_compileClasspath.toString() );
           }
   
           if( m_outputFile != null )
           {
               // having a space between the file and its path causes commandline to add quotes "
               // around the argument thus making JDepend not taking it into account. Thus we split it in two
  -            commandline.createArgument().setValue( "-file" );
  -            commandline.createArgument().setValue( m_outputFile.getPath() );
  +            commandline.addArgument( "-file" );
  +            commandline.addArgument( m_outputFile.getPath() );
               // we have to find a cleaner way to put this output
           }
   
  @@ -247,7 +234,7 @@
               // not necessary as JDepend would fail, but why loose some time?
               if( !f.exists() || !f.isDirectory() )
                   throw new TaskException( "\"" + f.getPath() + "\" does not represent a valid directory. JDepend would fail." );
  -            commandline.createArgument().setValue( f.getPath() );
  +            commandline.addArgument( f.getPath() );
           }
   
           final Execute2 exe = new Execute2();
  
  
  
  1.9       +1 -1      jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/jsp/compilers/DefaultCompilerAdapter.java
  
  Index: DefaultCompilerAdapter.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/jsp/compilers/DefaultCompilerAdapter.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- DefaultCompilerAdapter.java	30 Dec 2001 10:46:59 -0000	1.8
  +++ DefaultCompilerAdapter.java	20 Jan 2002 02:11:44 -0000	1.9
  @@ -66,7 +66,7 @@
           while( enum.hasNext() )
           {
               String arg = (String)enum.next();
  -            cmd.createArgument().setValue( arg );
  +            cmd.addArgument( arg );
               niceSourceList.append( "    " + arg + StringUtil.LINE_SEPARATOR );
           }
   
  
  
  
  1.9       +12 -12    jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/jsp/compilers/JasperC.java
  
  Index: JasperC.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/jsp/compilers/JasperC.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- JasperC.java	17 Jan 2002 08:04:54 -0000	1.8
  +++ JasperC.java	20 Jan 2002 02:11:44 -0000	1.9
  @@ -68,36 +68,36 @@
           JspC jspc = getJspc();
           if( jspc.getDestdir() != null )
           {
  -            cmd.createArgument().setValue( "-d" );
  -            cmd.createArgument().setFile( jspc.getDestdir() );
  +            cmd.addArgument( "-d" );
  +            cmd.addArgument( jspc.getDestdir() );
           }
           if( jspc.getPackage() != null )
           {
  -            cmd.createArgument().setValue( "-p" );
  -            cmd.createArgument().setValue( jspc.getPackage() );
  +            cmd.addArgument( "-p" );
  +            cmd.addArgument( jspc.getPackage() );
           }
           if( jspc.getVerbose() != 0 )
           {
  -            cmd.createArgument().setValue( "-v" + jspc.getVerbose() );
  +            cmd.addArgument( "-v" + jspc.getVerbose() );
           }
           if( jspc.isMapped() )
           {
  -            cmd.createArgument().setValue( "-mapped" );
  +            cmd.addArgument( "-mapped" );
           }
           if( jspc.getIeplugin() != null )
           {
  -            cmd.createArgument().setValue( "-ieplugin" );
  -            cmd.createArgument().setValue( jspc.getIeplugin() );
  +            cmd.addArgument( "-ieplugin" );
  +            cmd.addArgument( jspc.getIeplugin() );
           }
           if( jspc.getUriroot() != null )
           {
  -            cmd.createArgument().setValue( "-uriroot" );
  -            cmd.createArgument().setValue( jspc.getUriroot().toString() );
  +            cmd.addArgument( "-uriroot" );
  +            cmd.addArgument( jspc.getUriroot().toString() );
           }
           if( jspc.getUribase() != null )
           {
  -            cmd.createArgument().setValue( "-uribase" );
  -            cmd.createArgument().setValue( jspc.getUribase().toString() );
  +            cmd.addArgument( "-uribase" );
  +            cmd.addArgument( jspc.getUribase().toString() );
           }
           logAndAddFilesToCompile( getJspc(), getJspc().getCompileList(), cmd );
           return cmd;
  
  
  
  1.28      +10 -10    jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTask.java
  
  Index: JUnitTask.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTask.java,v
  retrieving revision 1.27
  retrieving revision 1.28
  diff -u -r1.27 -r1.28
  --- JUnitTask.java	19 Jan 2002 07:26:22 -0000	1.27
  +++ JUnitTask.java	20 Jan 2002 02:11:44 -0000	1.28
  @@ -265,7 +265,7 @@
        */
       public void setMaxmemory( String max )
       {
  -        createJvmarg().setValue( "-Xmx" + max );
  +        commandline.addVmArgument( "-Xmx" + max );
       }
   
       /**
  @@ -361,9 +361,9 @@
        *      the JVM.
        * @see #setFork(boolean)
        */
  -    public Argument createJvmarg()
  +    public void addJvmarg( final Argument argument )
       {
  -        return commandline.createVmArgument();
  +        commandline.addVmArgument( argument );
       }
   
       /**
  @@ -596,14 +596,14 @@
           CommandlineJava cmd = commandline;//(CommandlineJava)commandline.clone();
   
           cmd.setClassname( "org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner" );
  -        cmd.createArgument().setValue( test.getName() );
  -        cmd.createArgument().setValue( "filtertrace=" + test.getFiltertrace() );
  -        cmd.createArgument().setValue( "haltOnError=" + test.getHaltonerror() );
  -        cmd.createArgument().setValue( "haltOnFailure=" + test.getHaltonfailure() );
  +        cmd.addArgument( test.getName() );
  +        cmd.addArgument( "filtertrace=" + test.getFiltertrace() );
  +        cmd.addArgument( "haltOnError=" + test.getHaltonerror() );
  +        cmd.addArgument( "haltOnFailure=" + test.getHaltonfailure() );
           if( summary )
           {
               getLogger().info( "Running " + test.getName() );
  -            cmd.createArgument().setValue( "formatter=org.apache.tools.ant.taskdefs.optional.junit.SummaryJUnitResultFormatter" );
  +            cmd.addArgument( "formatter=org.apache.tools.ant.taskdefs.optional.junit.SummaryJUnitResultFormatter" );
           }
   
           StringBuffer formatterArg = new StringBuffer( 128 );
  @@ -619,13 +619,13 @@
                   formatterArg.append( "," );
                   formatterArg.append( outFile );
               }
  -            cmd.createArgument().setValue( formatterArg.toString() );
  +            cmd.addArgument( formatterArg.toString() );
               formatterArg.setLength( 0 );
           }
   
           // Create a temporary file to pass the Ant properties to the forked test
           File propsFile = new File( "junit" + ( new Random( System.currentTimeMillis() ) ).nextLong() + ".properties" );
  -        cmd.createArgument().setValue( "propsfile=" + propsFile.getAbsolutePath() );
  +        cmd.addArgument( "propsfile=" + propsFile.getAbsolutePath() );
           Hashtable p = getProject().getProperties();
           Properties props = new Properties();
           for( Enumeration enum = p.keys(); enum.hasMoreElements(); )
  
  
  
  1.19      +4 -5      jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/metamata/AbstractMetamataTask.java
  
  Index: AbstractMetamataTask.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/metamata/AbstractMetamataTask.java,v
  retrieving revision 1.18
  retrieving revision 1.19
  diff -u -r1.18 -r1.19
  --- AbstractMetamataTask.java	19 Jan 2002 07:26:22 -0000	1.18
  +++ AbstractMetamataTask.java	20 Jan 2002 02:11:44 -0000	1.19
  @@ -116,7 +116,7 @@
        */
       public void setMaxmemory( String max )
       {
  -        createJvmarg().setValue( "-Xmx" + max );
  +        m_cmdl.addVmArgument( "-Xmx" + max );
       }
   
       /**
  @@ -150,9 +150,9 @@
       /**
        * Creates a nested jvmarg element.
        */
  -    public Argument createJvmarg()
  +    public void addJvmarg( final Argument argument )
       {
  -        return m_cmdl.createVmArgument();
  +        m_cmdl.addVmArgument( argument );
       }
   
       /**
  @@ -200,8 +200,7 @@
           classPath.addLocation( jar );
   
           // set the metamata.home property
  -        final Argument vmArgs = m_cmdl.createVmArgument();
  -        vmArgs.setValue( "-Dmetamata.home=" + m_metamataHome.getAbsolutePath() );
  +        m_cmdl.addVmArgument( "-Dmetamata.home=" + m_metamataHome.getAbsolutePath() );
   
           // retrieve all the files we want to scan
           m_includedFiles = scanFileSets();
  
  
  
  1.18      +4 -7      jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/metamata/MParse.java
  
  Index: MParse.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/metamata/MParse.java,v
  retrieving revision 1.17
  retrieving revision 1.18
  diff -u -r1.17 -r1.18
  --- MParse.java	19 Jan 2002 07:26:22 -0000	1.17
  +++ MParse.java	20 Jan 2002 02:11:44 -0000	1.18
  @@ -98,7 +98,7 @@
        */
       public void setMaxmemory( String max )
       {
  -        createJvmarg().setValue( "-Xmx" + max );
  +        m_cmdl.addVmArgument( "-Xmx" + max );
       }
   
       /**
  @@ -147,12 +147,10 @@
   
       /**
        * Creates a nested jvmarg element.
  -     *
  -     * @return Description of the Returned Value
        */
  -    public Argument createJvmarg()
  +    public void addJvmarg( final Argument argument )
       {
  -        return m_cmdl.createVmArgument();
  +        m_cmdl.addVmArgument( argument );
       }
   
       /**
  @@ -207,8 +205,7 @@
           }
   
           // set the metamata.home property
  -        final Argument vmArgs = m_cmdl.createVmArgument();
  -        vmArgs.setValue( "-Dmetamata.home=" + m_metahome.getAbsolutePath() );
  +        m_cmdl.addVmArgument( "-Dmetamata.home=" + m_metahome.getAbsolutePath() );
   
           // write all the options to a temp file and use it ro run the process
           String[] options = getOptions();
  
  
  
  1.14      +3 -3      jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/perforce/P4Base.java
  
  Index: P4Base.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/perforce/P4Base.java,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- P4Base.java	12 Jan 2002 04:57:36 -0000	1.13
  +++ P4Base.java	20 Jan 2002 02:11:44 -0000	1.14
  @@ -140,15 +140,15 @@
               //Check API for these - it's how CVS does it...
               if( m_p4Port != null && m_p4Port.length() != 0 )
               {
  -                cmd.createArgument().setValue( m_p4Port );
  +                cmd.addArgument( m_p4Port );
               }
               if( m_p4User != null && m_p4User.length() != 0 )
               {
  -                cmd.createArgument().setValue( m_p4User );
  +                cmd.addArgument( m_p4User );
               }
               if( m_p4Client != null && m_p4Client.length() != 0 )
               {
  -                cmd.createArgument().setValue( m_p4Client );
  +                cmd.addArgument( m_p4Client );
               }
               cmd.createArgument().setLine( command );
   
  
  
  
  1.15      +13 -13    jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/pvcs/Pvcs.java
  
  Index: Pvcs.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/pvcs/Pvcs.java,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- Pvcs.java	6 Jan 2002 08:16:09 -0000	1.14
  +++ Pvcs.java	20 Jan 2002 02:11:44 -0000	1.15
  @@ -216,28 +216,28 @@
   
           if( m_force )
           {
  -            cmd.createArgument().setValue( "-Y" );
  +            cmd.addArgument( "-Y" );
           }
           else
           {
  -            cmd.createArgument().setValue( "-N" );
  +            cmd.addArgument( "-N" );
           }
   
           if( null != m_promotiongroup )
           {
  -            cmd.createArgument().setValue( "-G" + m_promotiongroup );
  +            cmd.addArgument( "-G" + m_promotiongroup );
           }
           else if( null != m_label )
           {
  -            cmd.createArgument().setValue( "-r" + m_label );
  +            cmd.addArgument( "-r" + m_label );
           }
   
           if( m_updateOnly )
           {
  -            cmd.createArgument().setValue( "-U" );
  +            cmd.addArgument( "-U" );
           }
   
  -        cmd.createArgument().setValue( "@" + filelist.getAbsolutePath() );
  +        cmd.addArgument( "@" + filelist.getAbsolutePath() );
           return cmd;
       }
   
  @@ -319,18 +319,18 @@
           final Commandline cmd = new Commandline();
           cmd.setExecutable( getExecutable( PCLI_EXE ) );
   
  -        cmd.createArgument().setValue( "lvf" );
  -        cmd.createArgument().setValue( "-z" );
  -        cmd.createArgument().setValue( "-aw" );
  +        cmd.addArgument( "lvf" );
  +        cmd.addArgument( "-z" );
  +        cmd.addArgument( "-aw" );
           if( m_workspace != null )
           {
  -            cmd.createArgument().setValue( "-sp" + m_workspace );
  +            cmd.addArgument( "-sp" + m_workspace );
           }
  -        cmd.createArgument().setValue( "-pr" + m_repository );
  +        cmd.addArgument( "-pr" + m_repository );
   
           if( m_pvcsProject != null )
           {
  -            cmd.createArgument().setValue( m_pvcsProject );
  +            cmd.addArgument( m_pvcsProject );
           }
   
           if( !m_pvcsProjects.isEmpty() )
  @@ -345,7 +345,7 @@
                       final String message = "name is a required attribute of pvcsproject";
                       throw new TaskException( message );
                   }
  -                cmd.createArgument().setValue( name );
  +                cmd.addArgument( name );
               }
           }
           return cmd;
  
  
  
  1.15      +2 -2      jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/sitraka/CovMerge.java
  
  Index: CovMerge.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/sitraka/CovMerge.java,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- CovMerge.java	12 Jan 2002 23:53:47 -0000	1.14
  +++ CovMerge.java	20 Jan 2002 02:11:44 -0000	1.15
  @@ -109,9 +109,9 @@
               cmdl.setExecutable( new File( home, "jpcovmerge" ).getAbsolutePath() );
               if( verbose )
               {
  -                cmdl.createArgument().setValue( "-v" );
  +                cmdl.addArgument( "-v" );
               }
  -            cmdl.createArgument().setValue( "-jp_paramfile=" + paramfile.getAbsolutePath() );
  +            cmdl.addArgument( "-jp_paramfile=" + paramfile.getAbsolutePath() );
   
               final Execute2 exe = new Execute2();
               setupLogger( exe );
  
  
  
  1.17      +1 -1      jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/sitraka/CovReport.java
  
  Index: CovReport.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/sitraka/CovReport.java,v
  retrieving revision 1.16
  retrieving revision 1.17
  diff -u -r1.16 -r1.17
  --- CovReport.java	15 Jan 2002 09:51:10 -0000	1.16
  +++ CovReport.java	20 Jan 2002 02:11:44 -0000	1.17
  @@ -242,7 +242,7 @@
               String[] params = getParameters();
               for( int i = 0; i < params.length; i++ )
               {
  -                cmdl.createArgument().setValue( params[ i ] );
  +                cmdl.addArgument( params[ i ] );
               }
   
               // use the custom handler for stdin issues
  
  
  
  1.17      +5 -7      jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/sitraka/Coverage.java
  
  Index: Coverage.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/sitraka/Coverage.java,v
  retrieving revision 1.16
  retrieving revision 1.17
  diff -u -r1.16 -r1.17
  --- Coverage.java	15 Jan 2002 09:51:10 -0000	1.16
  +++ Coverage.java	20 Jan 2002 02:11:44 -0000	1.17
  @@ -172,12 +172,10 @@
   
       /**
        * the command arguments
  -     *
  -     * @return Description of the Returned Value
        */
  -    public Argument createArg()
  +    public void addArg( final Argument argument )
       {
  -        return cmdlJava.createArgument();
  +        cmdlJava.addArgument( argument );
       }
   
       /**
  @@ -203,9 +201,9 @@
        *
        * @return Description of the Returned Value
        */
  -    public Argument createJvmarg()
  +    public void addJvmarg( final Argument argument )
       {
  -        return cmdlJava.createVmArgument();
  +        cmdlJava.addVmArgument( argument );
       }
   
       public Socket createSocket()
  @@ -249,7 +247,7 @@
           {
               // we need to run Coverage from his directory due to dll/jar issues
               cmdl.setExecutable( new File( m_home, "jplauncher" ).getAbsolutePath() );
  -            cmdl.createArgument().setValue( "-jp_input=" + paramfile.getAbsolutePath() );
  +            cmdl.addArgument( "-jp_input=" + paramfile.getAbsolutePath() );
   
               // use the custom handler for stdin issues
               final Execute2 exe = new Execute2();
  
  
  
  1.17      +1 -1      jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/vss/MSVSS.java
  
  Index: MSVSS.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/vss/MSVSS.java,v
  retrieving revision 1.16
  retrieving revision 1.17
  diff -u -r1.16 -r1.17
  --- MSVSS.java	6 Jan 2002 02:17:21 -0000	1.16
  +++ MSVSS.java	20 Jan 2002 02:11:44 -0000	1.17
  @@ -187,7 +187,7 @@
           }
           else
           {
  -            cmd.createArgument().setValue( FLAG_LOGIN + m_vssLogin );
  +            cmd.addArgument( FLAG_LOGIN + m_vssLogin );
           }
       }
   
  
  
  
  1.7       +10 -10    jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/vss/MSVSSCHECKIN.java
  
  Index: MSVSSCHECKIN.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/vss/MSVSSCHECKIN.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- MSVSSCHECKIN.java	23 Dec 2001 06:32:00 -0000	1.6
  +++ MSVSSCHECKIN.java	20 Jan 2002 02:11:44 -0000	1.7
  @@ -99,20 +99,20 @@
   
           if( m_AutoResponse == null )
           {
  -            cmd.createArgument().setValue( FLAG_AUTORESPONSE_DEF );
  +            cmd.addArgument( FLAG_AUTORESPONSE_DEF );
           }
           else if( m_AutoResponse.equalsIgnoreCase( "Y" ) )
           {
  -            cmd.createArgument().setValue( FLAG_AUTORESPONSE_YES );
  +            cmd.addArgument( FLAG_AUTORESPONSE_YES );
   
           }
           else if( m_AutoResponse.equalsIgnoreCase( "N" ) )
           {
  -            cmd.createArgument().setValue( FLAG_AUTORESPONSE_NO );
  +            cmd.addArgument( FLAG_AUTORESPONSE_NO );
           }
           else
           {
  -            cmd.createArgument().setValue( FLAG_AUTORESPONSE_DEF );
  +            cmd.addArgument( FLAG_AUTORESPONSE_DEF );
           }// end of else
   
       }
  @@ -157,7 +157,7 @@
                   getLogger().info( "Created dir: " + dir.getAbsolutePath() );
               }
   
  -            cmd.createArgument().setValue( FLAG_OVERRIDE_WORKING_DIR + m_LocalPath );
  +            cmd.addArgument( FLAG_OVERRIDE_WORKING_DIR + m_LocalPath );
           }
       }
   
  @@ -172,7 +172,7 @@
           }
           else
           {
  -            cmd.createArgument().setValue( FLAG_RECURSION );
  +            cmd.addArgument( FLAG_RECURSION );
           }
       }
   
  @@ -187,7 +187,7 @@
           }
           else
           {
  -            cmd.createArgument().setValue( FLAG_WRITABLE );
  +            cmd.addArgument( FLAG_WRITABLE );
           }
       }
   
  @@ -218,10 +218,10 @@
           // ss Checkin VSS items [-H] [-C] [-I-] [-N] [-O] [-R] [-W] [-Y] [-?]
           // as specified in the SS.EXE help
           commandLine.setExecutable( getSSCommand() );
  -        commandLine.createArgument().setValue( COMMAND_CHECKIN );
  +        commandLine.addArgument( COMMAND_CHECKIN );
   
           // VSS items
  -        commandLine.createArgument().setValue( getVsspath() );
  +        commandLine.addArgument( getVsspath() );
           // -GL
           getLocalpathCommand( commandLine );
           // -I- or -I-Y or -I-N
  @@ -233,7 +233,7 @@
           // -Y
           getLoginCommand( commandLine );
           // -C
  -        commandLine.createArgument().setValue( "-C" + getComment() );
  +        commandLine.addArgument( "-C" + getComment() );
   
           result = run( commandLine );
           if( result != 0 )
  
  
  
  1.7       +11 -11    jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/vss/MSVSSCHECKOUT.java
  
  Index: MSVSSCHECKOUT.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/vss/MSVSSCHECKOUT.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- MSVSSCHECKOUT.java	23 Dec 2001 06:32:00 -0000	1.6
  +++ MSVSSCHECKOUT.java	20 Jan 2002 02:11:44 -0000	1.7
  @@ -136,20 +136,20 @@
   
           if( m_AutoResponse == null )
           {
  -            cmd.createArgument().setValue( FLAG_AUTORESPONSE_DEF );
  +            cmd.addArgument( FLAG_AUTORESPONSE_DEF );
           }
           else if( m_AutoResponse.equalsIgnoreCase( "Y" ) )
           {
  -            cmd.createArgument().setValue( FLAG_AUTORESPONSE_YES );
  +            cmd.addArgument( FLAG_AUTORESPONSE_YES );
   
           }
           else if( m_AutoResponse.equalsIgnoreCase( "N" ) )
           {
  -            cmd.createArgument().setValue( FLAG_AUTORESPONSE_NO );
  +            cmd.addArgument( FLAG_AUTORESPONSE_NO );
           }
           else
           {
  -            cmd.createArgument().setValue( FLAG_AUTORESPONSE_DEF );
  +            cmd.addArgument( FLAG_AUTORESPONSE_DEF );
           }// end of else
   
       }
  @@ -184,7 +184,7 @@
                   getLogger().info( "Created dir: " + dir.getAbsolutePath() );
               }
   
  -            cmd.createArgument().setValue( FLAG_OVERRIDE_WORKING_DIR + m_LocalPath );
  +            cmd.addArgument( FLAG_OVERRIDE_WORKING_DIR + m_LocalPath );
           }
       }
   
  @@ -199,7 +199,7 @@
           }
           else
           {
  -            cmd.createArgument().setValue( FLAG_RECURSION );
  +            cmd.addArgument( FLAG_RECURSION );
           }
       }
   
  @@ -214,15 +214,15 @@
   
           if( m_Version != null )
           {
  -            cmd.createArgument().setValue( FLAG_VERSION + m_Version );
  +            cmd.addArgument( FLAG_VERSION + m_Version );
           }
           else if( m_Date != null )
           {
  -            cmd.createArgument().setValue( FLAG_VERSION_DATE + m_Date );
  +            cmd.addArgument( FLAG_VERSION_DATE + m_Date );
           }
           else if( m_Label != null )
           {
  -            cmd.createArgument().setValue( FLAG_VERSION_LABEL + m_Label );
  +            cmd.addArgument( FLAG_VERSION_LABEL + m_Label );
           }
       }
   
  @@ -253,10 +253,10 @@
           // ss Checkout VSS items [-G] [-C] [-H] [-I-] [-N] [-O] [-R] [-V] [-Y] [-?]
           // as specified in the SS.EXE help
           commandLine.setExecutable( getSSCommand() );
  -        commandLine.createArgument().setValue( COMMAND_CHECKOUT );
  +        commandLine.addArgument( COMMAND_CHECKOUT );
   
           // VSS items
  -        commandLine.createArgument().setValue( getVsspath() );
  +        commandLine.addArgument( getVsspath() );
           // -GL
           getLocalpathCommand( commandLine );
           // -I- or -I-Y or -I-N
  
  
  
  1.7       +13 -13    jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/vss/MSVSSGET.java
  
  Index: MSVSSGET.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/vss/MSVSSGET.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- MSVSSGET.java	23 Dec 2001 06:32:00 -0000	1.6
  +++ MSVSSGET.java	20 Jan 2002 02:11:44 -0000	1.7
  @@ -344,20 +344,20 @@
   
           if( m_AutoResponse == null )
           {
  -            cmd.createArgument().setValue( FLAG_AUTORESPONSE_DEF );
  +            cmd.addArgument( FLAG_AUTORESPONSE_DEF );
           }
           else if( m_AutoResponse.equalsIgnoreCase( "Y" ) )
           {
  -            cmd.createArgument().setValue( FLAG_AUTORESPONSE_YES );
  +            cmd.addArgument( FLAG_AUTORESPONSE_YES );
   
           }
           else if( m_AutoResponse.equalsIgnoreCase( "N" ) )
           {
  -            cmd.createArgument().setValue( FLAG_AUTORESPONSE_NO );
  +            cmd.addArgument( FLAG_AUTORESPONSE_NO );
           }
           else
           {
  -            cmd.createArgument().setValue( FLAG_AUTORESPONSE_DEF );
  +            cmd.addArgument( FLAG_AUTORESPONSE_DEF );
           }// end of else
   
       }
  @@ -392,7 +392,7 @@
                   getLogger().info( "Created dir: " + dir.getAbsolutePath() );
               }
   
  -            cmd.createArgument().setValue( FLAG_OVERRIDE_WORKING_DIR + m_LocalPath );
  +            cmd.addArgument( FLAG_OVERRIDE_WORKING_DIR + m_LocalPath );
           }
       }
   
  @@ -400,7 +400,7 @@
       {
           if( m_Quiet )
           {
  -            cmd.createArgument().setValue( FLAG_QUIET );
  +            cmd.addArgument( FLAG_QUIET );
           }
       }
   
  @@ -415,7 +415,7 @@
           }
           else
           {
  -            cmd.createArgument().setValue( FLAG_RECURSION );
  +            cmd.addArgument( FLAG_RECURSION );
           }
       }
   
  @@ -430,15 +430,15 @@
   
           if( m_Version != null )
           {
  -            cmd.createArgument().setValue( FLAG_VERSION + m_Version );
  +            cmd.addArgument( FLAG_VERSION + m_Version );
           }
           else if( m_Date != null )
           {
  -            cmd.createArgument().setValue( FLAG_VERSION_DATE + m_Date );
  +            cmd.addArgument( FLAG_VERSION_DATE + m_Date );
           }
           else if( m_Label != null )
           {
  -            cmd.createArgument().setValue( FLAG_VERSION_LABEL + m_Label );
  +            cmd.addArgument( FLAG_VERSION_LABEL + m_Label );
           }
       }
   
  @@ -453,7 +453,7 @@
           }
           else
           {
  -            cmd.createArgument().setValue( FLAG_WRITABLE );
  +            cmd.addArgument( FLAG_WRITABLE );
           }
       }
   
  @@ -484,10 +484,10 @@
           // ss Get VSS items [-G] [-H] [-I-] [-N] [-O] [-R] [-V] [-W] [-Y] [-?]
           // as specified in the SS.EXE help
           commandLine.setExecutable( getSSCommand() );
  -        commandLine.createArgument().setValue( COMMAND_GET );
  +        commandLine.addArgument( COMMAND_GET );
   
           // VSS items
  -        commandLine.createArgument().setValue( getVsspath() );
  +        commandLine.addArgument( getVsspath() );
           // -GL
           getLocalpathCommand( commandLine );
           // -I- or -I-Y or -I-N
  
  
  
  1.6       +16 -16    jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/vss/MSVSSHISTORY.java
  
  Index: MSVSSHISTORY.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/vss/MSVSSHISTORY.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- MSVSSHISTORY.java	23 Dec 2001 06:32:00 -0000	1.5
  +++ MSVSSHISTORY.java	20 Jan 2002 02:11:44 -0000	1.6
  @@ -237,13 +237,13 @@
           // ss History elements [-H] [-L] [-N] [-O] [-V] [-Y] [-#] [-?]
           // as specified in the SS.EXE help
           commandLine.setExecutable( getSSCommand() );
  -        commandLine.createArgument().setValue( COMMAND_HISTORY );
  +        commandLine.addArgument( COMMAND_HISTORY );
   
           // VSS items
  -        commandLine.createArgument().setValue( getVsspath() );
  +        commandLine.addArgument( getVsspath() );
   
           // -I-
  -        commandLine.createArgument().setValue( "-I-" );// ignore all errors
  +        commandLine.addArgument( "-I-" );// ignore all errors
   
           // -V
           // Label an existing file or project version
  @@ -253,13 +253,13 @@
           // -R
           if( m_Recursive )
           {
  -            commandLine.createArgument().setValue( FLAG_RECURSION );
  +            commandLine.addArgument( FLAG_RECURSION );
           }
   
           // -B / -D / -F-
           if( m_Style.length() > 0 )
           {
  -            commandLine.createArgument().setValue( m_Style );
  +            commandLine.addArgument( m_Style );
           }
   
           // -Y
  @@ -288,7 +288,7 @@
       {
           if( m_OutputFileName != null )
           {
  -            cmd.createArgument().setValue( FLAG_OUTPUT + m_OutputFileName );
  +            cmd.addArgument( FLAG_OUTPUT + m_OutputFileName );
           }
       }
   
  @@ -303,7 +303,7 @@
           }
           else
           {
  -            cmd.createArgument().setValue( FLAG_RECURSION );
  +            cmd.addArgument( FLAG_RECURSION );
           }
       }
   
  @@ -316,7 +316,7 @@
       {
           if( m_User != null )
           {
  -            cmd.createArgument().setValue( FLAG_USER + m_User );
  +            cmd.addArgument( FLAG_USER + m_User );
           }
       }
   
  @@ -336,7 +336,7 @@
   
           if( m_FromDate != null && m_ToDate != null )
           {
  -            cmd.createArgument().setValue( FLAG_VERSION_DATE + m_ToDate + VALUE_FROMDATE + m_FromDate );
  +            cmd.addArgument( FLAG_VERSION_DATE + m_ToDate + VALUE_FROMDATE + m_FromDate );
           }
           else if( m_ToDate != null && m_NumDays != Integer.MIN_VALUE )
           {
  @@ -350,7 +350,7 @@
                   String msg = "Error parsing date: " + m_ToDate;
                   throw new TaskException( msg );
               }
  -            cmd.createArgument().setValue( FLAG_VERSION_DATE + m_ToDate + VALUE_FROMDATE + startDate );
  +            cmd.addArgument( FLAG_VERSION_DATE + m_ToDate + VALUE_FROMDATE + startDate );
           }
           else if( m_FromDate != null && m_NumDays != Integer.MIN_VALUE )
           {
  @@ -364,17 +364,17 @@
                   String msg = "Error parsing date: " + m_FromDate;
                   throw new TaskException( msg );
               }
  -            cmd.createArgument().setValue( FLAG_VERSION_DATE + endDate + VALUE_FROMDATE + m_FromDate );
  +            cmd.addArgument( FLAG_VERSION_DATE + endDate + VALUE_FROMDATE + m_FromDate );
           }
           else
           {
               if( m_FromDate != null )
               {
  -                cmd.createArgument().setValue( FLAG_VERSION + VALUE_FROMDATE + m_FromDate );
  +                cmd.addArgument( FLAG_VERSION + VALUE_FROMDATE + m_FromDate );
               }
               else
               {
  -                cmd.createArgument().setValue( FLAG_VERSION_DATE + m_ToDate );
  +                cmd.addArgument( FLAG_VERSION_DATE + m_ToDate );
               }
           }
       }
  @@ -395,15 +395,15 @@
   
           if( m_FromLabel != null && m_ToLabel != null )
           {
  -            cmd.createArgument().setValue( FLAG_VERSION_LABEL + m_ToLabel + VALUE_FROMLABEL + m_FromLabel );
  +            cmd.addArgument( FLAG_VERSION_LABEL + m_ToLabel + VALUE_FROMLABEL + m_FromLabel );
           }
           else if( m_FromLabel != null )
           {
  -            cmd.createArgument().setValue( FLAG_VERSION + VALUE_FROMLABEL + m_FromLabel );
  +            cmd.addArgument( FLAG_VERSION + VALUE_FROMLABEL + m_FromLabel );
           }
           else
           {
  -            cmd.createArgument().setValue( FLAG_VERSION_LABEL + m_ToLabel );
  +            cmd.addArgument( FLAG_VERSION_LABEL + m_ToLabel );
           }
       }
   
  
  
  
  1.5       +9 -9      jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/vss/MSVSSLABEL.java
  
  Index: MSVSSLABEL.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/vss/MSVSSLABEL.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- MSVSSLABEL.java	23 Dec 2001 06:32:00 -0000	1.4
  +++ MSVSSLABEL.java	20 Jan 2002 02:11:44 -0000	1.5
  @@ -247,20 +247,20 @@
   
           if( m_AutoResponse == null )
           {
  -            cmd.createArgument().setValue( FLAG_AUTORESPONSE_DEF );
  +            cmd.addArgument( FLAG_AUTORESPONSE_DEF );
           }
           else if( m_AutoResponse.equalsIgnoreCase( "Y" ) )
           {
  -            cmd.createArgument().setValue( FLAG_AUTORESPONSE_YES );
  +            cmd.addArgument( FLAG_AUTORESPONSE_YES );
   
           }
           else if( m_AutoResponse.equalsIgnoreCase( "N" ) )
           {
  -            cmd.createArgument().setValue( FLAG_AUTORESPONSE_NO );
  +            cmd.addArgument( FLAG_AUTORESPONSE_NO );
           }
           else
           {
  -            cmd.createArgument().setValue( FLAG_AUTORESPONSE_DEF );
  +            cmd.addArgument( FLAG_AUTORESPONSE_DEF );
           }// end of else
   
       }
  @@ -294,7 +294,7 @@
       {
           if( m_Label != null )
           {
  -            cmd.createArgument().setValue( FLAG_LABEL + m_Label );
  +            cmd.addArgument( FLAG_LABEL + m_Label );
           }
       }
   
  @@ -307,7 +307,7 @@
       {
           if( m_Version != null )
           {
  -            cmd.createArgument().setValue( FLAG_VERSION + m_Version );
  +            cmd.addArgument( FLAG_VERSION + m_Version );
           }
       }
   
  @@ -343,13 +343,13 @@
           // ss Label VSS items [-C]      [-H] [-I-] [-Llabel] [-N] [-O]      [-V]      [-Y] [-?]
           // as specified in the SS.EXE help
           commandLine.setExecutable( getSSCommand() );
  -        commandLine.createArgument().setValue( COMMAND_LABEL );
  +        commandLine.addArgument( COMMAND_LABEL );
   
           // VSS items
  -        commandLine.createArgument().setValue( getVsspath() );
  +        commandLine.addArgument( getVsspath() );
   
           // -C
  -        commandLine.createArgument().setValue( "-C" + getComment() );
  +        commandLine.addArgument( "-C" + getComment() );
   
           // -I- or -I-Y or -I-N
           getAutoresponse( commandLine );
  
  
  
  1.12      +18 -17    jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/rmic/DefaultRmicAdapter.java
  
  Index: DefaultRmicAdapter.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/rmic/DefaultRmicAdapter.java,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- DefaultRmicAdapter.java	19 Jan 2002 07:26:22 -0000	1.11
  +++ DefaultRmicAdapter.java	20 Jan 2002 02:11:44 -0000	1.12
  @@ -16,6 +16,7 @@
   import org.apache.tools.ant.types.Commandline;
   import org.apache.tools.ant.types.Path;
   import org.apache.tools.ant.util.mappers.FileNameMapper;
  +import org.apache.tools.ant.util.FileUtils;
   
   /**
    * This is the default implementation for the RmicAdapter interface. Currently,
  @@ -101,65 +102,65 @@
           {
               for( int i = 0; i < options.length; i++ )
               {
  -                cmd.createArgument().setValue( options[ i ] );
  +                cmd.addArgument( options[ i ] );
               }
           }
   
           Path classpath = getCompileClasspath();
   
  -        cmd.createArgument().setValue( "-d" );
  -        cmd.createArgument().setFile( attributes.getBase() );
  +        cmd.addArgument( "-d" );
  +        cmd.addArgument( attributes.getBase() );
   
           if( attributes.getExtdirs() != null )
           {
  -            cmd.createArgument().setValue( "-extdirs" );
  -            cmd.createArgument().setPath( attributes.getExtdirs() );
  +            cmd.addArgument( "-extdirs" );
  +            cmd.addArguments( FileUtils.translateCommandline( attributes.getExtdirs() ) );
           }
   
  -        cmd.createArgument().setValue( "-classpath" );
  -        cmd.createArgument().setPath( classpath );
  +        cmd.addArgument( "-classpath" );
  +        cmd.addArguments( FileUtils.translateCommandline( classpath ) );
   
           String stubVersion = attributes.getStubVersion();
           if( null != stubVersion )
           {
               if( "1.1".equals( stubVersion ) )
  -                cmd.createArgument().setValue( "-v1.1" );
  +                cmd.addArgument( "-v1.1" );
               else if( "1.2".equals( stubVersion ) )
  -                cmd.createArgument().setValue( "-v1.2" );
  +                cmd.addArgument( "-v1.2" );
               else
  -                cmd.createArgument().setValue( "-vcompat" );
  +                cmd.addArgument( "-vcompat" );
           }
   
           if( null != attributes.getSourceBase() )
           {
  -            cmd.createArgument().setValue( "-keepgenerated" );
  +            cmd.addArgument( "-keepgenerated" );
           }
   
           if( attributes.getIiop() )
           {
               getLogger().info( "IIOP has been turned on." );
  -            cmd.createArgument().setValue( "-iiop" );
  +            cmd.addArgument( "-iiop" );
               if( attributes.getIiopopts() != null )
               {
                   getLogger().info( "IIOP Options: " + attributes.getIiopopts() );
  -                cmd.createArgument().setValue( attributes.getIiopopts() );
  +                cmd.addArgument( attributes.getIiopopts() );
               }
           }
   
           if( attributes.getIdl() )
           {
  -            cmd.createArgument().setValue( "-idl" );
  +            cmd.addArgument( "-idl" );
               getLogger().info( "IDL has been turned on." );
               if( attributes.getIdlopts() != null )
               {
  -                cmd.createArgument().setValue( attributes.getIdlopts() );
  +                cmd.addArgument( attributes.getIdlopts() );
                   getLogger().info( "IDL Options: " + attributes.getIdlopts() );
               }
           }
   
           if( attributes.getDebug() )
           {
  -            cmd.createArgument().setValue( "-g" );
  +            cmd.addArgument( "-g" );
           }
   
           logAndAddFilesToCompile( cmd );
  @@ -225,7 +226,7 @@
           for( int i = 0; i < compileList.size(); i++ )
           {
               String arg = (String)compileList.get( i );
  -            cmd.createArgument().setValue( arg );
  +            cmd.addArgument( arg );
               niceSourceList.append( "    " + arg );
           }
   
  
  
  
  1.4       +26 -25    jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/security/GenerateKey.java
  
  Index: GenerateKey.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/security/GenerateKey.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- GenerateKey.java	12 Jan 2002 23:45:10 -0000	1.3
  +++ GenerateKey.java	20 Jan 2002 02:11:45 -0000	1.4
  @@ -11,6 +11,7 @@
   import org.apache.myrmidon.api.TaskException;
   import org.apache.tools.ant.taskdefs.exec.Execute2;
   import org.apache.tools.ant.types.Commandline;
  +import org.apache.tools.ant.types.Argument;
   import java.io.IOException;
   
   /**
  @@ -162,78 +163,78 @@
           final Commandline cmd = new Commandline();
           cmd.setExecutable( "keytool" );
   
  -        cmd.createArgument().setValue( "-genkey " );
  +        cmd.addArgument( "-genkey " );
   
           if( m_verbose )
           {
  -            cmd.createArgument().setValue( "-v " );
  +            cmd.addArgument( "-v " );
           }
   
  -        cmd.createArgument().setValue( "-alias" );
  -        cmd.createArgument().setValue( m_alias );
  +        cmd.addArgument( "-alias" );
  +        cmd.addArgument( m_alias );
   
           if( null != m_dname )
           {
  -            cmd.createArgument().setValue( "-dname" );
  -            cmd.createArgument().setValue( m_dname );
  +            cmd.addArgument( "-dname" );
  +            cmd.addArgument( m_dname );
           }
   
           if( null != m_expandedDname )
           {
  -            cmd.createArgument().setValue( "-dname" );
  -            cmd.createArgument().setValue( m_expandedDname.toString() );
  +            cmd.addArgument( "-dname" );
  +            cmd.addArgument( m_expandedDname.toString() );
           }
   
           if( null != m_keystore )
           {
  -            cmd.createArgument().setValue( "-keystore" );
  -            cmd.createArgument().setValue( m_keystore );
  +            cmd.addArgument( "-keystore" );
  +            cmd.addArgument( m_keystore );
           }
   
           if( null != m_storepass )
           {
  -            cmd.createArgument().setValue( "-storepass" );
  -            cmd.createArgument().setValue( m_storepass );
  +            cmd.addArgument( "-storepass" );
  +            cmd.addArgument( m_storepass );
           }
   
           if( null != m_storetype )
           {
  -            cmd.createArgument().setValue( "-storetype" );
  -            cmd.createArgument().setValue( m_storetype );
  +            cmd.addArgument( "-storetype" );
  +            cmd.addArgument( m_storetype );
           }
   
  -        cmd.createArgument().setValue( "-keypass" );
  +        cmd.addArgument( "-keypass" );
           if( null != m_keypass )
           {
  -            cmd.createArgument().setValue( m_keypass );
  +            cmd.addArgument( m_keypass );
           }
           else
           {
  -            cmd.createArgument().setValue( m_storepass );
  +            cmd.addArgument( m_storepass );
           }
   
           if( null != m_sigalg )
           {
  -            cmd.createArgument().setValue( "-sigalg" );
  -            cmd.createArgument().setValue( m_sigalg );
  +            cmd.addArgument( "-sigalg" );
  +            cmd.addArgument( m_sigalg );
           }
   
           if( null != m_keyalg )
           {
  -            cmd.createArgument().setValue( "-keyalg" );
  -            cmd.createArgument().setValue( m_keyalg );
  +            cmd.addArgument( "-keyalg" );
  +            cmd.addArgument( m_keyalg );
           }
   
           if( 0 < m_keysize )
           {
  -            cmd.createArgument().setValue( "-keysize" );
  -            cmd.createArgument().setValue( "" + m_keysize );
  +            cmd.addArgument( "-keysize" );
  +            cmd.addArgument( "" + m_keysize );
           }
   
           if( 0 < m_validity )
           {
  -            cmd.createArgument().setValue( "-validity" );
  -            cmd.createArgument().setValue( "" + m_validity );
  +            cmd.addArgument( "-validity" );
  +            cmd.addArgument( "" + m_validity );
           }
           return cmd;
       }
  
  
  
  1.5       +18 -17    jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/security/SignJar.java
  
  Index: SignJar.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/security/SignJar.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- SignJar.java	12 Jan 2002 23:45:10 -0000	1.4
  +++ SignJar.java	20 Jan 2002 02:11:45 -0000	1.5
  @@ -19,6 +19,7 @@
   import org.apache.tools.ant.taskdefs.exec.Execute2;
   import org.apache.tools.ant.types.Commandline;
   import org.apache.tools.ant.types.FileSet;
  +import org.apache.tools.ant.types.Argument;
   
   /**
    * Sign a archive.
  @@ -309,58 +310,58 @@
   
           if( null != m_keystore )
           {
  -            cmd.createArgument().setValue( "-keystore" );
  -            cmd.createArgument().setValue( m_keystore.toString() );
  +            cmd.addArgument( "-keystore" );
  +            cmd.addArgument( m_keystore.toString() );
           }
   
           if( null != m_storepass )
           {
  -            cmd.createArgument().setValue( "-storepass" );
  -            cmd.createArgument().setValue( m_storepass );
  +            cmd.addArgument( "-storepass" );
  +            cmd.addArgument( m_storepass );
           }
   
           if( null != m_storetype )
           {
  -            cmd.createArgument().setValue( "-storetype" );
  -            cmd.createArgument().setValue( m_storetype );
  +            cmd.addArgument( "-storetype" );
  +            cmd.addArgument( m_storetype );
           }
   
           if( null != m_keypass )
           {
  -            cmd.createArgument().setValue( "-keypass" );
  -            cmd.createArgument().setValue( m_keypass );
  +            cmd.addArgument( "-keypass" );
  +            cmd.addArgument( m_keypass );
           }
   
           if( null != m_sigfile )
           {
  -            cmd.createArgument().setValue( "-sigfile" );
  -            cmd.createArgument().setValue( m_sigfile.toString() );
  +            cmd.addArgument( "-sigfile" );
  +            cmd.addArgument( m_sigfile.toString() );
           }
   
           if( null != jarTarget )
           {
  -            cmd.createArgument().setValue( "-signedjar" );
  -            cmd.createArgument().setValue( jarTarget.toString() );
  +            cmd.addArgument( "-signedjar" );
  +            cmd.addArgument( jarTarget.toString() );
           }
   
           if( m_verbose )
           {
  -            cmd.createArgument().setValue( "-verbose" );
  +            cmd.addArgument( "-verbose" );
           }
   
           if( m_internalsf )
           {
  -            cmd.createArgument().setValue( "-internalsf" );
  +            cmd.addArgument( "-internalsf" );
           }
   
           if( m_sectionsonly )
           {
  -            cmd.createArgument().setValue( "-sectionsonly" );
  +            cmd.addArgument( "-sectionsonly" );
           }
   
  -        cmd.createArgument().setValue( jarSource.toString() );
  +        cmd.addArgument( jarSource.toString() );
   
  -        cmd.createArgument().setValue( m_alias );
  +        cmd.addArgument( m_alias );
           return cmd;
       }
   }
  
  
  
  1.4       +6 -5      jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/text/Native2Ascii.java
  
  Index: Native2Ascii.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/text/Native2Ascii.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- Native2Ascii.java	13 Jan 2002 05:25:55 -0000	1.3
  +++ Native2Ascii.java	20 Jan 2002 02:11:45 -0000	1.4
  @@ -14,6 +14,7 @@
   import org.apache.tools.ant.types.DirectoryScanner;
   import org.apache.tools.ant.util.mappers.Mapper;
   import org.apache.tools.ant.types.SourceFileScanner;
  +import org.apache.tools.ant.types.Argument;
   import org.apache.tools.ant.util.mappers.FileNameMapper;
   import org.apache.tools.ant.util.mappers.IdentityMapper;
   
  @@ -231,17 +232,17 @@
           // it's cleaner here)
           if( m_reverse )
           {
  -            cmd.createArgument().setValue( "-reverse" );
  +            cmd.addArgument( "-reverse" );
           }
   
           if( m_encoding != null )
           {
  -            cmd.createArgument().setValue( "-encoding" );
  -            cmd.createArgument().setValue( m_encoding );
  +            cmd.addArgument( "-encoding" );
  +            cmd.addArgument( m_encoding );
           }
   
  -        cmd.createArgument().setFile( srcFile );
  -        cmd.createArgument().setFile( destFile );
  +        cmd.addArgument( srcFile );
  +        cmd.addArgument( destFile );
           return cmd;
       }
   }
  
  
  
  1.7       +7 -6      jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/unix/Rpm.java
  
  Index: Rpm.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/unix/Rpm.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- Rpm.java	6 Jan 2002 01:58:11 -0000	1.6
  +++ Rpm.java	20 Jan 2002 02:11:45 -0000	1.7
  @@ -13,6 +13,7 @@
   import org.apache.myrmidon.api.TaskException;
   import org.apache.tools.ant.taskdefs.exec.Execute2;
   import org.apache.tools.ant.types.Commandline;
  +import org.apache.tools.ant.types.Argument;
   
   /**
    * @author lucas@collab.net
  @@ -119,26 +120,26 @@
           cmd.setExecutable( "rpm" );
           if( m_topDir != null )
           {
  -            cmd.createArgument().setValue( "--define" );
  -            cmd.createArgument().setValue( "_topdir" + m_topDir );
  +            cmd.addArgument( "--define" );
  +            cmd.addArgument( "_topdir" + m_topDir );
           }
   
           cmd.createArgument().setLine( m_command );
   
           if( m_cleanBuildDir )
           {
  -            cmd.createArgument().setValue( "--clean" );
  +            cmd.addArgument( "--clean" );
           }
           if( m_removeSpec )
           {
  -            cmd.createArgument().setValue( "--rmspec" );
  +            cmd.addArgument( "--rmspec" );
           }
           if( m_removeSource )
           {
  -            cmd.createArgument().setValue( "--rmsource" );
  +            cmd.addArgument( "--rmsource" );
           }
   
  -        cmd.createArgument().setValue( "SPECS/" + m_specFile );
  +        cmd.addArgument( "SPECS/" + m_specFile );
           return cmd;
       }
   }
  
  
  
  1.3       +14 -0     jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/types/Argument.java
  
  Index: Argument.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/types/Argument.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- Argument.java	12 Jan 2002 23:55:26 -0000	1.2
  +++ Argument.java	20 Jan 2002 02:11:45 -0000	1.3
  @@ -18,6 +18,20 @@
   {
       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.
  
  
  
  1.10      +16 -1     jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/types/Commandline.java
  
  Index: Commandline.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/types/Commandline.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- Commandline.java	12 Jan 2002 23:57:12 -0000	1.9
  +++ Commandline.java	20 Jan 2002 02:11:45 -0000	1.10
  @@ -100,7 +100,7 @@
       {
           for( int i = 0; i < line.length; i++ )
           {
  -            createArgument().setValue( line[ i ] );
  +            addArgument( line[ i ] );
           }
       }
   
  @@ -115,6 +115,21 @@
           final Argument argument = new Argument();
           m_arguments.add( argument );
           return argument;
  +    }
  +
  +    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 );
       }
   
       /**
  
  
  
  1.18      +54 -40    jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/types/CommandlineJava.java
  
  Index: CommandlineJava.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/types/CommandlineJava.java,v
  retrieving revision 1.17
  retrieving revision 1.18
  diff -u -r1.17 -r1.18
  --- CommandlineJava.java	19 Jan 2002 07:26:22 -0000	1.17
  +++ CommandlineJava.java	20 Jan 2002 02:11:45 -0000	1.18
  @@ -7,10 +7,10 @@
    */
   package org.apache.tools.ant.types;
   
  -import org.apache.myrmidon.api.TaskException;
  +import java.io.File;
   import org.apache.aut.nativelib.Os;
   import org.apache.avalon.excalibur.util.StringUtil;
  -import java.io.File;
  +import org.apache.myrmidon.api.TaskException;
   
   /**
    * A representation of a Java command line that is nothing more than a composite
  @@ -23,11 +23,11 @@
   public class CommandlineJava
       implements Cloneable
   {
  -    private Commandline vmCommand = new Commandline();
  -    private Commandline javaCommand = new Commandline();
  -    private SysProperties sysProperties = new SysProperties();
  -    private Path classpath;
  -    private String maxMemory;
  +    private Commandline m_vmCommand = new Commandline();
  +    private Commandline m_javaCommand = new Commandline();
  +    private SysProperties m_sysProperties = new SysProperties();
  +    private Path m_classpath;
  +    private String m_maxMemory;
   
       /**
        * Indicate whether it will execute a jar file or not, in this case the
  @@ -47,7 +47,7 @@
        */
       public void setClassname( String classname )
       {
  -        javaCommand.setExecutable( classname );
  +        m_javaCommand.setExecutable( classname );
           executeJar = false;
       }
   
  @@ -58,7 +58,7 @@
        */
       public void setJar( String jarpathname )
       {
  -        javaCommand.setExecutable( jarpathname );
  +        m_javaCommand.setExecutable( jarpathname );
           executeJar = true;
       }
   
  @@ -69,18 +69,18 @@
        */
       public void setMaxmemory( String max )
       {
  -        this.maxMemory = max;
  +        this.m_maxMemory = max;
       }
   
       public void setSystemProperties()
           throws TaskException
       {
  -        sysProperties.setSystem();
  +        m_sysProperties.setSystem();
       }
   
       public void setVm( String vm )
       {
  -        vmCommand.setExecutable( vm );
  +        m_vmCommand.setExecutable( vm );
       }
   
       /**
  @@ -92,14 +92,14 @@
       {
           if( !executeJar )
           {
  -            return javaCommand.getExecutable();
  +            return m_javaCommand.getExecutable();
           }
           return null;
       }
   
       public Path getClasspath()
       {
  -        return classpath;
  +        return m_classpath;
       }
   
       /**
  @@ -125,22 +125,22 @@
           System.arraycopy( vmArgs, 1, result, pos, vmArgs.length - 1 );
           pos += vmArgs.length - 1;
           // properties are part of the vm options...
  -        if( sysProperties.size() > 0 )
  +        if( m_sysProperties.size() > 0 )
           {
  -            System.arraycopy( sysProperties.getJavaVariables(), 0,
  -                              result, pos, sysProperties.size() );
  -            pos += sysProperties.size();
  +            System.arraycopy( m_sysProperties.getJavaVariables(), 0,
  +                              result, pos, m_sysProperties.size() );
  +            pos += m_sysProperties.size();
           }
           // classpath is a vm option too..
  -        if( classpath != null && classpath.toString().trim().length() > 0 )
  +        if( m_classpath != null && m_classpath.toString().trim().length() > 0 )
           {
               result[ pos++ ] = "-classpath";
  -            result[ pos++ ] = classpath.toString();
  +            result[ pos++ ] = m_classpath.toString();
           }
           // this is the classname to run as well as its arguments.
           // in case of 'executeJar', the executable is a jar file.
  -        System.arraycopy( javaCommand.getCommandline(), 0,
  -                          result, pos, javaCommand.size() );
  +        System.arraycopy( m_javaCommand.getCommandline(), 0,
  +                          result, pos, m_javaCommand.size() );
           return result;
       }
   
  @@ -153,19 +153,19 @@
       {
           if( executeJar )
           {
  -            return javaCommand.getExecutable();
  +            return m_javaCommand.getExecutable();
           }
           return null;
       }
   
       public Commandline getJavaCommand()
       {
  -        return javaCommand;
  +        return m_javaCommand;
       }
   
       public SysProperties getSystemProperties()
       {
  -        return sysProperties;
  +        return m_sysProperties;
       }
   
       public Commandline getVmCommand()
  @@ -175,32 +175,47 @@
   
       public void addSysproperty( EnvironmentVariable sysp )
       {
  -        sysProperties.addVariable( sysp );
  +        m_sysProperties.addVariable( sysp );
       }
   
       public Argument createArgument()
       {
  -        return javaCommand.createArgument();
  +        return m_javaCommand.createArgument();
  +    }
  +
  +    public void addArgument( final String argument )
  +    {
  +        m_javaCommand.addArgument( argument );
  +    }
  +
  +    public void addArgument( final Argument argument )
  +    {
  +        m_javaCommand.addArgument( argument );
       }
   
       public Path createClasspath()
       {
  -        if( classpath == null )
  +        if( m_classpath == null )
           {
  -            classpath = new Path();
  +            m_classpath = new Path();
           }
  -        return classpath;
  +        return m_classpath;
       }
   
  -    public Argument createVmArgument()
  +    public void addVmArgument( final String argument )
       {
  -        return vmCommand.createArgument();
  +        m_vmCommand.addArgument( argument );
  +    }
  +
  +    public void addVmArgument( final Argument argument )
  +    {
  +        m_vmCommand.addArgument( argument );
       }
   
       public void restoreSystemProperties()
           throws TaskException
       {
  -        sysProperties.restoreSystem();
  +        m_sysProperties.restoreSystem();
       }
   
       /**
  @@ -212,9 +227,9 @@
       public int size()
           throws TaskException
       {
  -        int size = getActualVMCommand().size() + javaCommand.size() + sysProperties.size();
  +        int size = getActualVMCommand().size() + m_javaCommand.size() + m_sysProperties.size();
           // classpath is "-classpath <classpath>" -> 2 args
  -        if( classpath != null && classpath.toString().trim().length() > 0 )
  +        if( m_classpath != null && m_classpath.toString().trim().length() > 0 )
           {
               size += 2;
           }
  @@ -230,7 +245,7 @@
       {
           try
           {
  -            String[] line = getCommandline();
  +            final String[] line = getCommandline();
               return StringUtil.join( line, " " );
           }
           catch( TaskException e )
  @@ -243,9 +258,9 @@
       {
           Commandline actualVMCommand = new Commandline();
           //(Commandline)vmCommand.clone();
  -        if( maxMemory != null )
  +        if( m_maxMemory != null )
           {
  -            actualVMCommand.createArgument().setValue( "-Xmx" + maxMemory );
  +            actualVMCommand.addArgument( "-Xmx" + m_maxMemory );
           }
           return actualVMCommand;
       }
  @@ -262,7 +277,7 @@
           // PATH.
           File jExecutable =
               new File( System.getProperty( "java.home" ) +
  -                              "/../bin/java" + extension );
  +                      "/../bin/java" + extension );
   
           if( jExecutable.exists() && !Os.isFamily( "netware" ) )
           {
  @@ -276,5 +291,4 @@
               return "java";
           }
       }
  -
   }
  
  
  
  1.16      +9 -3      jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/util/FileUtils.java
  
  Index: FileUtils.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/util/FileUtils.java,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- FileUtils.java	19 Jan 2002 07:26:23 -0000	1.15
  +++ FileUtils.java	20 Jan 2002 02:11:45 -0000	1.16
  @@ -19,9 +19,9 @@
   import java.util.Stack;
   import java.util.StringTokenizer;
   import org.apache.avalon.excalibur.io.FileUtil;
  -import org.apache.avalon.framework.logger.Logger;
   import org.apache.myrmidon.api.TaskException;
   import org.apache.tools.ant.types.FilterSetCollection;
  +import org.apache.tools.ant.types.Path;
   
   /**
    * This class also encapsulates methods which allow Files to be refered to using
  @@ -31,7 +31,7 @@
    * @author duncan@x180.com
    * @author <a href="mailto:conor@apache.org">Conor MacNeill</a>
    * @author <a href="mailto:stefan.bodewig@epost.de">Stefan Bodewig</a>
  - * @version $Revision: 1.15 $
  + * @version $Revision: 1.16 $
    */
   public class FileUtils
   {
  @@ -298,6 +298,12 @@
           }
       }
   
  +    public static String[] translateCommandline( Path to_process )
  +        throws TaskException
  +    {
  +        return translateCommandline( to_process.toString() );
  +    }
  +
       public static String[] translateCommandline( String to_process )
           throws TaskException
       {
  @@ -405,7 +411,7 @@
       public static void translateFileSep( StringBuffer buffer )
       {
           int len = buffer.length();
  -        for ( int pos = 0; pos < len; pos++ )
  +        for( int pos = 0; pos < len; pos++ )
           {
               char ch = buffer.charAt( pos );
               if( ch == '/' || ch == '\\' )
  
  
  

--
To unsubscribe, e-mail:   <mailto:ant-dev-unsubscribe@jakarta.apache.org>
For additional commands, e-mail: <mailto:ant-dev-help@jakarta.apache.org>


Mime
View raw message