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/taskdefs/exec FileDirBoth.java ExecuteOn.java
Date Sun, 20 Jan 2002 03:20:50 GMT
donaldp     02/01/19 19:20:50

  Modified:    proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/exec
                        ExecuteOn.java
  Added:       proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/exec
                        FileDirBoth.java
  Log:
  Started to cleanup ExecuteOn
  
  Revision  Changes    Path
  1.5       +91 -122   jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/exec/ExecuteOn.java
  
  Index: ExecuteOn.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/exec/ExecuteOn.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- ExecuteOn.java	20 Jan 2002 02:36:20 -0000	1.4
  +++ ExecuteOn.java	20 Jan 2002 03:20:50 -0000	1.5
  @@ -11,16 +11,14 @@
   import java.io.IOException;
   import java.util.ArrayList;
   import java.util.Hashtable;
  +import org.apache.avalon.excalibur.util.StringUtil;
   import org.apache.myrmidon.api.TaskException;
   import org.apache.tools.ant.types.DirectoryScanner;
  -import org.apache.tools.ant.types.Commandline;
  -import org.apache.tools.ant.types.EnumeratedAttribute;
   import org.apache.tools.ant.types.FileSet;
  -import org.apache.tools.ant.util.mappers.Mapper;
   import org.apache.tools.ant.types.Marker;
  -import org.apache.tools.ant.util.mappers.FileNameMapper;
   import org.apache.tools.ant.types.SourceFileScanner;
  -import org.apache.avalon.excalibur.util.StringUtil;
  +import org.apache.tools.ant.util.mappers.FileNameMapper;
  +import org.apache.tools.ant.util.mappers.Mapper;
   
   /**
    * Executes a given command, supplying a set of files as arguments.
  @@ -28,162 +26,143 @@
    * @author <a href="mailto:stefan.bodewig@epost.de">Stefan Bodewig</a>
    * @author <a href="mailto:mariusz@rakiura.org">Mariusz Nowostawski</a>
    */
  -public class ExecuteOn extends ExecTask
  +public class ExecuteOn
  +    extends ExecTask
   {
  -    protected ArrayList filesets = new ArrayList();
  -    private boolean relative = false;
  -    private boolean parallel = false;
  -    protected String type = "file";
  -    protected Marker srcFilePos = null;
  -    private boolean skipEmpty = false;
  -    protected Marker targetFilePos = null;
  -    protected Mapper mapperElement = null;
  -    protected FileNameMapper mapper = null;
  -    protected File destDir = null;
  +    private ArrayList m_filesets = new ArrayList();
  +    private boolean m_relative;
  +    private boolean m_parallel;
  +    private String m_type = "file";
  +    private Marker m_srcFilePos;
  +    private boolean m_skipEmpty;
  +    private Marker m_targetFilePos;
  +    private Mapper m_mapperElement;
  +    private FileNameMapper m_mapper;
  +    private File m_destDir
   
       /**
        * Has &lt;srcfile&gt; been specified before &lt;targetfile&gt;
        */
  -    protected boolean srcIsFirst = true;
  +    private boolean m_srcIsFirst = true;
   
       /**
        * Set the destination directory.
  -     *
  -     * @param destDir The new Dest value
        */
  -    public void setDest( File destDir )
  +    public void setDest( final File destDir )
       {
  -        this.destDir = destDir;
  +        m_destDir = destDir;
       }
   
       /**
        * Shall the command work on all specified files in parallel?
  -     *
  -     * @param parallel The new Parallel value
        */
  -    public void setParallel( boolean parallel )
  +    public void setParallel( final boolean parallel )
       {
  -        this.parallel = parallel;
  +        m_parallel = parallel;
       }
   
       /**
        * Should filenames be returned as relative path names?
  -     *
  -     * @param relative The new Relative value
        */
  -    public void setRelative( boolean relative )
  +    public void setRelative( final boolean relative )
       {
  -        this.relative = relative;
  +        m_relative = relative;
       }
   
       /**
        * Should empty filesets be ignored?
  -     *
  -     * @param skip The new SkipEmptyFilesets value
        */
  -    public void setSkipEmptyFilesets( boolean skip )
  +    public void setSkipEmptyFilesets( final boolean skip )
       {
  -        skipEmpty = skip;
  +        m_skipEmpty = skip;
       }
   
       /**
        * Shall the command work only on files, directories or both?
  -     *
  -     * @param type The new Type value
        */
  -    public void setType( FileDirBoth type )
  +    public void setType( final FileDirBoth type )
       {
  -        this.type = type.getValue();
  +        m_type = type.getValue();
       }
   
       /**
        * Adds a set of files (nested fileset attribute).
  -     *
  -     * @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 );
       }
   
       /**
        * Defines the FileNameMapper to use (nested mapper element).
  -     *
  -     * @return Description of the Returned Value
  -     * @exception TaskException Description of Exception
        */
       public Mapper createMapper()
           throws TaskException
       {
  -        if( mapperElement != null )
  +        if( m_mapperElement != null )
           {
               throw new TaskException( "Cannot define more than one mapper" );
           }
  -        mapperElement = new Mapper();
  -        return mapperElement;
  +        m_mapperElement = new Mapper();
  +        return m_mapperElement;
       }
   
       /**
        * Marker that indicates where the name of the source file should be put on
        * the command line.
  -     *
  -     * @return Description of the Returned Value
        */
       public Marker createSrcfile()
           throws TaskException
       {
  -        if( srcFilePos != null )
  +        if( m_srcFilePos != null )
           {
               throw new TaskException( getName() + " doesn\'t support multiple srcfile elements."
);
           }
  -        srcFilePos = getCommand().createMarker();
  -        return srcFilePos;
  +        m_srcFilePos = getCommand().createMarker();
  +        return m_srcFilePos;
       }
   
       /**
        * Marker that indicates where the name of the target file should be put on
        * the command line.
  -     *
  -     * @return Description of the Returned Value
        */
       public Marker createTargetfile()
           throws TaskException
       {
  -        if( targetFilePos != null )
  +        if( m_targetFilePos != null )
           {
               throw new TaskException( getName() + " doesn\'t support multiple targetfile
elements." );
           }
  -        targetFilePos = getCommand().createMarker();
  -        srcIsFirst = ( srcFilePos != null );
  -        return targetFilePos;
  +        m_targetFilePos = getCommand().createMarker();
  +        m_srcIsFirst = ( m_srcFilePos != null );
  +        return m_targetFilePos;
       }
   
       /**
        * Construct the command line for parallel execution.
        *
        * @param srcFiles The filenames to add to the commandline
  -     * @param baseDirs Description of Parameter
  -     * @return The Commandline value
        */
  -    protected String[] getCommandline( String[] srcFiles, File[] baseDirs )
  +    protected String[] getCommandline( final String[] srcFiles,
  +                                       final File[] baseDirs )
           throws TaskException
       {
  -        ArrayList targets = new ArrayList();
  -        if( targetFilePos != null )
  +        final ArrayList targets = new ArrayList();
  +        if( m_targetFilePos != null )
           {
               Hashtable addedFiles = new Hashtable();
               for( int i = 0; i < srcFiles.length; i++ )
               {
  -                String[] subTargets = mapper.mapFileName( srcFiles[ i ] );
  +                String[] subTargets = m_mapper.mapFileName( srcFiles[ i ] );
                   if( subTargets != null )
                   {
                       for( int j = 0; j < subTargets.length; j++ )
                       {
                           String name = null;
  -                        if( !relative )
  +                        if( !m_relative )
                           {
                               name =
  -                                ( new File( destDir, subTargets[ j ] ) ).getAbsolutePath();
  +                                ( new File( m_destDir, subTargets[ j ] ) ).getAbsolutePath();
                           }
                           else
                           {
  @@ -205,17 +184,17 @@
           String[] result = new String[ orig.length + srcFiles.length + targetFiles.length
];
   
           int srcIndex = orig.length;
  -        if( srcFilePos != null )
  +        if( m_srcFilePos != null )
           {
  -            srcIndex = srcFilePos.getPosition();
  +            srcIndex = m_srcFilePos.getPosition();
           }
   
  -        if( targetFilePos != null )
  +        if( m_targetFilePos != null )
           {
  -            int targetIndex = targetFilePos.getPosition();
  +            int targetIndex = m_targetFilePos.getPosition();
   
               if( srcIndex < targetIndex
  -                || ( srcIndex == targetIndex && srcIsFirst ) )
  +                || ( srcIndex == targetIndex && m_srcIsFirst ) )
               {
   
                   // 0 --> srcIndex
  @@ -274,7 +253,7 @@
           // fill in source file names
           for( int i = 0; i < srcFiles.length; i++ )
           {
  -            if( !relative )
  +            if( !m_relative )
               {
                   result[ srcIndex + i ] =
                       ( new File( baseDirs[ i ], srcFiles[ i ] ) ).getAbsolutePath();
  @@ -294,7 +273,8 @@
        * @param baseDir filename is relative to this dir
        * @return The Commandline value
        */
  -    protected String[] getCommandline( String srcFile, File baseDir )
  +    protected String[] getCommandline( final String srcFile,
  +                                       final File baseDir )
           throws TaskException
       {
           return getCommandline( new String[]{srcFile}, new File[]{baseDir} );
  @@ -308,15 +288,16 @@
        * @param ds Description of Parameter
        * @return The Dirs value
        */
  -    protected String[] getDirs( File baseDir, DirectoryScanner ds )
  +    protected String[] getDirs( final File baseDir,
  +                                final DirectoryScanner ds )
           throws TaskException
       {
  -        if( mapper != null )
  +        if( m_mapper != null )
           {
               final SourceFileScanner scanner = new SourceFileScanner();
               setupLogger( scanner );
  -            return scanner.restrict( ds.getIncludedDirectories(), baseDir, destDir,
  -                                 mapper );
  +            return scanner.restrict( ds.getIncludedDirectories(), baseDir, m_destDir,
  +                                     m_mapper );
           }
           else
           {
  @@ -332,15 +313,16 @@
        * @param ds Description of Parameter
        * @return The Files value
        */
  -    protected String[] getFiles( File baseDir, DirectoryScanner ds )
  +    protected String[] getFiles( final File baseDir,
  +                                 final DirectoryScanner ds )
           throws TaskException
       {
  -        if( mapper != null )
  +        if( m_mapper != null )
           {
               final SourceFileScanner scanner = new SourceFileScanner();
               setupLogger( scanner );
  -            return scanner.restrict( ds.getIncludedFiles(), baseDir, destDir,
  -                                 mapper );
  +            return scanner.restrict( ds.getIncludedFiles(), baseDir, m_destDir,
  +                                     m_mapper );
           }
           else
           {
  @@ -352,44 +334,46 @@
           throws TaskException
       {
           super.validate();
  -        if( filesets.size() == 0 )
  +        if( m_filesets.size() == 0 )
           {
  -            throw new TaskException( "no filesets specified" );
  +            final String message = "no filesets specified";
  +            throw new TaskException( message );
           }
   
  -        if( targetFilePos != null || mapperElement != null
  -            || destDir != null )
  +        if( m_targetFilePos != null ||
  +            m_mapperElement != null ||
  +            m_destDir != null )
           {
  -
  -            if( mapperElement == null )
  +            if( m_mapperElement == null )
               {
  -                throw new TaskException( "no mapper specified" );
  +                final String message = "no mapper specified";
  +                throw new TaskException( message );
               }
  -            if( mapperElement == null )
  +            if( m_mapperElement == null )
               {
  -                throw new TaskException( "no dest attribute specified" );
  +                final String message = "no dest attribute specified";
  +                throw new TaskException( message );
               }
  -            mapper = mapperElement.getImplementation();
  +            m_mapper = m_mapperElement.getImplementation();
           }
       }
   
  -    protected void runExec( Execute exe )
  +    protected void runExec( final Execute exe )
           throws TaskException
       {
           try
           {
  -
  -            ArrayList fileNames = new ArrayList();
  -            ArrayList baseDirs = new ArrayList();
  -            for( int i = 0; i < filesets.size(); i++ )
  +            final ArrayList fileNames = new ArrayList();
  +            final ArrayList baseDirs = new ArrayList();
  +            for( int i = 0; i < m_filesets.size(); i++ )
               {
  -                FileSet fs = (FileSet)filesets.get( i );
  -                File base = fs.getDir();
  -                DirectoryScanner ds = fs.getDirectoryScanner();
  +                final FileSet fs = (FileSet)m_filesets.get( i );
  +                final File base = fs.getDir();
  +                final DirectoryScanner ds = fs.getDirectoryScanner();
   
  -                if( !"dir".equals( type ) )
  +                if( !"dir".equals( m_type ) )
                   {
  -                    String[] s = getFiles( base, ds );
  +                    final String[] s = getFiles( base, ds );
                       for( int j = 0; j < s.length; j++ )
                       {
                           fileNames.add( s[ j ] );
  @@ -397,10 +381,9 @@
                       }
                   }
   
  -                if( !"file".equals( type ) )
  +                if( !"file".equals( m_type ) )
                   {
  -                    String[] s = getDirs( base, ds );
  -                    ;
  +                    final String[] s = getDirs( base, ds );
                       for( int j = 0; j < s.length; j++ )
                       {
                           fileNames.add( s[ j ] );
  @@ -408,15 +391,15 @@
                       }
                   }
   
  -                if( fileNames.size() == 0 && skipEmpty )
  +                if( fileNames.size() == 0 && m_skipEmpty )
                   {
                       getLogger().info( "Skipping fileset for directory " + base + ". It
is empty." );
                       continue;
                   }
   
  -                if( !parallel )
  +                if( !m_parallel )
                   {
  -                    String[] s = new String[ fileNames.size() ];
  +                    final String[] s = new String[ fileNames.size() ];
                       s = (String[])fileNames.toArray( s );
                       for( int j = 0; j < s.length; j++ )
                       {
  @@ -430,7 +413,7 @@
                   }
               }
   
  -            if( parallel && ( fileNames.size() > 0 || !skipEmpty ) )
  +            if( m_parallel && ( fileNames.size() > 0 || !m_skipEmpty ) )
               {
                   String[] s = new String[ fileNames.size() ];
                   s = (String[])fileNames.toArray( s );
  @@ -451,20 +434,6 @@
           {
               // close the output file if required
               logFlush();
  -        }
  -    }
  -
  -    /**
  -     * Enumerated attribute with the values "file", "dir" and "both" for the
  -     * type attribute.
  -     *
  -     * @author RT
  -     */
  -    public static class FileDirBoth extends EnumeratedAttribute
  -    {
  -        public String[] getValues()
  -        {
  -            return new String[]{"file", "dir", "both"};
           }
       }
   }
  
  
  
  1.1                  jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/exec/FileDirBoth.java
  
  Index: FileDirBoth.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.exec;
  
  import org.apache.tools.ant.types.EnumeratedAttribute;
  
  /**
   * Enumerated attribute with the values "file", "dir" and "both" for the
   * type attribute.
   */
  public class FileDirBoth
      extends EnumeratedAttribute
  {
      public String[] getValues()
      {
          return new String[]{"file", "dir", "both"};
      }
  }
  
  
  

--
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