You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ant.apache.org by co...@apache.org on 2002/03/06 09:17:07 UTC

cvs commit: jakarta-ant/proposal/mutant/src/java/common/org/apache/ant/common/util FileUtils.java

conor       02/03/06 00:17:07

  Modified:    proposal/mutant build.xml
               proposal/mutant/build ant1compat.xml
               proposal/mutant/src/java/antcore/org/apache/ant/antcore/execution
                        CoreFileService.java Frame.java
               proposal/mutant/src/java/antlibs/ant1compat/org/apache/tools/ant
                        Project.java Task.java
               proposal/mutant/src/java/antlibs/ant1compat/org/apache/tools/ant/taskdefs
                        Ant.java CallTarget.java
               proposal/mutant/src/java/antlibs/system/org/apache/ant/antlib/system
                        Ant.java
               proposal/mutant/src/java/bootstrap/org/apache/ant/builder
                        Ant1CompatBuilder.java MutantBuilder.java
               proposal/mutant/src/java/common/org/apache/ant/common/util
                        FileUtils.java
  Log:
  Facade tasks for Ant1 tasks implemented by the system antlib
  
  Revision  Changes    Path
  1.15      +1 -1      jakarta-ant/proposal/mutant/build.xml
  
  Index: build.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/mutant/build.xml,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -w -u -r1.14 -r1.15
  --- build.xml	4 Mar 2002 15:17:31 -0000	1.14
  +++ build.xml	6 Mar 2002 08:17:06 -0000	1.15
  @@ -155,7 +155,7 @@
       <javac destdir="${bin.dir}/antlibs/${libset}" srcdir="${java.dir}/antlibs/${libset}" debug="${debug}">
         <classpath refid="classpath.antlibs"/>
       </javac>
  -    <jar basedir="${bin.dir}/antlibs/${libset}" jarfile="${distlib.dir}/antlibs/${libset}.tsk">
  +    <jar basedir="${bin.dir}/antlibs/${libset}" jarfile="${distlib.dir}/antlibs/${libset}.jar">
         <metainf dir="${java.dir}/antlibs/${libset}" 
                   includes="antlib.xml"/>
       </jar>
  
  
  
  1.6       +1 -1      jakarta-ant/proposal/mutant/build/ant1compat.xml
  
  Index: ant1compat.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/mutant/build/ant1compat.xml,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -w -u -r1.5 -r1.6
  --- ant1compat.xml	4 Mar 2002 15:17:31 -0000	1.5
  +++ ant1compat.xml	6 Mar 2002 08:17:06 -0000	1.6
  @@ -66,7 +66,7 @@
       <fileset dir="${lib.dir}/parser" includes="*.jar"/>
       <fileset dir="${lib.dir}/ant1compat" includes="*.jar"/>
       <pathelement location="${distlib.dir}/common/common.jar"/>
  -    <pathelement location="${distlib.dir}/antlibs/system.tsk"/>
  +    <pathelement location="${distlib.dir}/antlibs/system.jar"/>
     </path>
   
     <target name="check_for_optional_packages">
  
  
  
  1.3       +1 -1      jakarta-ant/proposal/mutant/src/java/antcore/org/apache/ant/antcore/execution/CoreFileService.java
  
  Index: CoreFileService.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/mutant/src/java/antcore/org/apache/ant/antcore/execution/CoreFileService.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -w -u -r1.2 -r1.3
  --- CoreFileService.java	18 Feb 2002 12:36:04 -0000	1.2
  +++ CoreFileService.java	6 Mar 2002 08:17:06 -0000	1.3
  @@ -69,7 +69,7 @@
       private Frame frame;
   
       /** General file utilities */
  -    private FileUtils fileUtils = new FileUtils();
  +    private FileUtils fileUtils = FileUtils.newFileUtils();
   
       /**
        * Constructor
  
  
  
  1.9       +1 -1      jakarta-ant/proposal/mutant/src/java/antcore/org/apache/ant/antcore/execution/Frame.java
  
  Index: Frame.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/mutant/src/java/antcore/org/apache/ant/antcore/execution/Frame.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -w -u -r1.8 -r1.9
  --- Frame.java	26 Feb 2002 13:43:53 -0000	1.8
  +++ Frame.java	6 Mar 2002 08:17:06 -0000	1.9
  @@ -744,7 +744,7 @@
                   if (base == null) {
                       baseDir = projectFileParent;
                   } else {
  -                    FileUtils fileUtils = new FileUtils();
  +                    FileUtils fileUtils = FileUtils.newFileUtils();
                       baseDir = fileUtils.resolveFile(projectFileParent, base);
                   }
               } else {
  
  
  
  1.11      +42 -32    jakarta-ant/proposal/mutant/src/java/antlibs/ant1compat/org/apache/tools/ant/Project.java
  
  Index: Project.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/mutant/src/java/antlibs/ant1compat/org/apache/tools/ant/Project.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -w -u -r1.10 -r1.11
  --- Project.java	4 Mar 2002 15:17:31 -0000	1.10
  +++ Project.java	6 Mar 2002 08:17:06 -0000	1.11
  @@ -64,11 +64,11 @@
   import java.util.Vector;
   import org.apache.ant.common.antlib.AntContext;
   import org.apache.ant.common.antlib.AntLibFactory;
  +import org.apache.ant.common.event.MessageLevel;
   import org.apache.ant.common.service.ComponentService;
   import org.apache.ant.common.service.DataService;
   import org.apache.ant.common.service.FileService;
   import org.apache.ant.common.util.ExecutionException;
  -import org.apache.ant.common.event.MessageLevel;
   import org.apache.ant.common.util.PropertyUtils;
   import org.apache.tools.ant.types.FilterSet;
   import org.apache.tools.ant.types.FilterSetCollection;
  @@ -83,42 +83,44 @@
   public class Project implements org.apache.ant.common.event.BuildListener {
   
       /** String which indicates Java version 1.0 */
  -    public static final String JAVA_1_0 = "1.0";
  +    public final static String JAVA_1_0 = "1.0";
       /** String which indicates Java version 1.1 */
  -    public static final String JAVA_1_1 = "1.1";
  +    public final static String JAVA_1_1 = "1.1";
       /** String which indicates Java version 1.2 */
  -    public static final String JAVA_1_2 = "1.2";
  +    public final static String JAVA_1_2 = "1.2";
       /** String which indicates Java version 1.3 */
  -    public static final String JAVA_1_3 = "1.3";
  +    public final static String JAVA_1_3 = "1.3";
       /** String which indicates Java version 1.4 */
  -    public static final String JAVA_1_4 = "1.4";
  +    public final static String JAVA_1_4 = "1.4";
   
       /**
        * @see MessageLevel.MSG_ERR
        */
  -    public static final int MSG_ERR = MessageLevel.MSG_ERR;
  +    public final static int MSG_ERR = MessageLevel.MSG_ERR;
       /**
        * @see MessageLevel.MSG_WARN
        */
  -    public static final int MSG_WARN = MessageLevel.MSG_WARN;
  +    public final static int MSG_WARN = MessageLevel.MSG_WARN;
       /**
        * @see MessageLevel.MSG_INFO
        */
  -    public static final int MSG_INFO = MessageLevel.MSG_INFO;
  +    public final static int MSG_INFO = MessageLevel.MSG_INFO;
       /**
        * @see MessageLevel.MSG_VERBOSE
        */
  -    public static final int MSG_VERBOSE = MessageLevel.MSG_VERBOSE;
  +    public final static int MSG_VERBOSE = MessageLevel.MSG_VERBOSE;
       /**
        * @see MessageLevel.MSG_DEBUG
        */
  -    public static final int MSG_DEBUG = MessageLevel.MSG_DEBUG;
  +    public final static int MSG_DEBUG = MessageLevel.MSG_DEBUG;
   
       /** The java version detected that Ant is running on */
       private static String javaVersion;
   
  -    /** the factory which created this project instance. This is used to
  -        define new types and tasks */
  +    /**
  +     * the factory which created this project instance. This is used to
  +     * define new types and tasks
  +     */
       private AntLibFactory factory;
   
       /** Collection of Ant1 type definitions */
  @@ -200,14 +202,6 @@
       }
   
       /**
  -     * get the target hashtable
  -     * @return hashtable, the contents of which can be cast to Target
  -     */
  -    public Hashtable getTargets() {
  -        return new Hashtable(); // XXX can't get targets
  -    }
  -
  -    /**
        * returns the boolean equivalent of a string, which is considered true
        * if either "on", "true", or "yes" is found, ignoring case.
        *
  @@ -303,6 +297,24 @@
       }
   
       /**
  +     * Gets the Antlib factory of the Project
  +     *
  +     * @return The project's associated factory object
  +     */
  +    public AntLibFactory getFactory() {
  +        return factory;
  +    }
  +
  +    /**
  +     * get the target hashtable
  +     *
  +     * @return hashtable, the contents of which can be cast to Target
  +     */
  +    public Hashtable getTargets() {
  +        return new Hashtable();// XXX can't get targets
  +    }
  +
  +    /**
        * Gets the buildListeners of the Project
        *
        * @return A Vector of BuildListener instances
  @@ -900,10 +912,8 @@
        * 
        * @param typeName The name of the data type to create an instance of.
        *                 Must not be <code>null</code>.
  -     * 
  -     * @return an instance of the specified data type, or <code>null</code> if
  -     *         the data type name is not recognised.
  -     * 
  +     * @return an instance of the specified data type, or <code>null</code>
  +     *      if the data type name is not recognised.
        * @exception BuildException if the data type name is recognised but 
        *                           instance creation fails.
        */
  
  
  
  1.10      +1 -0      jakarta-ant/proposal/mutant/src/java/antlibs/ant1compat/org/apache/tools/ant/Task.java
  
  Index: Task.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/mutant/src/java/antlibs/ant1compat/org/apache/tools/ant/Task.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -w -u -r1.9 -r1.10
  --- Task.java	4 Mar 2002 15:17:31 -0000	1.9
  +++ Task.java	6 Mar 2002 08:17:06 -0000	1.10
  @@ -170,6 +170,7 @@
   
           taskType = componentType;
           taskName = componentType;
  +        init();
       }
   
   
  
  
  
  1.3       +152 -1    jakarta-ant/proposal/mutant/src/java/antlibs/ant1compat/org/apache/tools/ant/taskdefs/Ant.java
  
  Index: Ant.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/mutant/src/java/antlibs/ant1compat/org/apache/tools/ant/taskdefs/Ant.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -w -u -r1.2 -r1.3
  --- Ant.java	5 Mar 2002 14:03:05 -0000	1.2
  +++ Ant.java	6 Mar 2002 08:17:06 -0000	1.3
  @@ -52,6 +52,17 @@
    * <http://www.apache.org/>.
    */
   package org.apache.tools.ant.taskdefs;
  +import java.io.File;
  +import java.util.ArrayList;
  +import java.util.Iterator;
  +import java.util.List;
  +import org.apache.ant.antlib.system.AntBase;
  +import org.apache.ant.common.antlib.AntContext;
  +import org.apache.ant.common.antlib.AntLibFactory;
  +import org.apache.ant.common.service.ComponentService;
  +import org.apache.ant.common.util.ExecutionException;
  +import org.apache.tools.ant.BuildException;
  +import org.apache.tools.ant.Task;
   
   /**
    * Ant facade over system version of Ant
  @@ -59,6 +70,146 @@
    * @author <a href="mailto:conor@apache.org">Conor MacNeill</a>
    * @created 31 January 2002
    */
  -public class Ant extends org.apache.ant.antlib.system.Ant {
  +public class Ant extends Task {
  +    /** The core Ant implementation to actually use */
  +    private org.apache.ant.antlib.system.Ant realAnt = null;
  +
  +    /** The properties created by this task */
  +    private List properties = new ArrayList();
  +
  +    /**
  +     * If true, inherit all properties from parent Project If false, inherit
  +     * only userProperties and those defined inside the ant call itself
  +     *
  +     * @param value true if the sub-build should receive all properties from
  +     *      this build
  +     */
  +    public void setInheritAll(boolean value) {
  +        realAnt.setInheritAll(value);
  +    }
  +
  +    /**
  +     * If true, inherit all references from parent Project If false, inherit
  +     * only those defined inside the ant call itself
  +     *
  +     * @param value true if the subbuild should receive all references from
  +     *      the current build.
  +     */
  +    public void setInheritRefs(boolean value) {
  +        realAnt.setInheritRefs(value);
  +    }
  +
  +    /**
  +     * The directory which will be the base directory for the build
  +     *
  +     * @param d the base directory for the new build
  +     */
  +    public void setDir(File d) {
  +        realAnt.setDir(d);
  +    }
  +
  +    /**
  +     * set the build file, it can be either absolute or relative. If it is
  +     * absolute, <tt>dir</tt> will be ignored, if it is relative it will be
  +     * resolved relative to <tt>dir</tt> .
  +     *
  +     * @param s the name of the ant file either absolute or relative to the
  +     *      sub-build's basedir
  +     */
  +    public void setAntfile(String s) {
  +        realAnt.setAntFile(s);
  +    }
  +
  +    /**
  +     * set the target to execute. If none is defined it will execute the
  +     * default target of the build file
  +     *
  +     * @param s the target to eb executed in the sub-build
  +     */
  +    public void setTarget(String s) {
  +        realAnt.setTarget(s);
  +    }
  +
  +    /**
  +     * XXX Sets the output of the Ant
  +     *
  +     * @param s name of the file to store output.
  +     */
  +    public void setOutput(String s) {
  +        // realAnt.setOutput(s);
  +    }
  +
  +    /** Initialize the task */
  +    public void init() {
  +        AntContext context = getAntContext();
  +        try {
  +            ComponentService componentService = getComponentService();
  +            AntLibFactory factory = getProject().getFactory();
  +            realAnt = (org.apache.ant.antlib.system.Ant)
  +                componentService.createComponent(factory,
  +                context.getClassLoader(),
  +                org.apache.ant.antlib.system.Ant.class, false, "antcall");
  +        } catch (ExecutionException e) {
  +            throw new BuildException(e);
  +        }
  +    }
  +
  +
  +    /**
  +     * Do the execution.
  +     *
  +     * @exception BuildException XXX Description of Exception
  +     */
  +    public void execute() throws BuildException {
  +        for (Iterator i = properties.iterator(); i.hasNext(); ) {
  +            Property property = (Property)i.next();
  +            AntBase.Property newProperty = new AntBase.Property();
  +            newProperty.setName(property.getName());
  +            newProperty.setValue(property.getValue());
  +            realAnt.addProperty(newProperty);
  +        }
  +        try {
  +            realAnt.execute();
  +        } catch (ExecutionException e) {
  +            throw new BuildException(e);
  +        }
  +    }
  +
  +    /**
  +     * Create a nested property element.
  +     *
  +     * @return the Property object to be configured.
  +     */
  +    public Property createProperty() {
  +        Property property = new Property();
  +        properties.add(property);
  +        return property;
  +    }
  +
  +    /**
  +     * create a reference element that identifies a data type that should be
  +     * carried over to the new project.
  +     *
  +     * @param r the reference to be added to the call
  +     */
  +    public void addReference(AntBase.Reference r) {
  +        try {
  +            realAnt.addReference(r);
  +        } catch (ExecutionException e) {
  +            throw new BuildException(e);
  +        }
  +    }
  +
  +    /**
  +     * Gets the componentService
  +     *
  +     * @return the componentService instance provided by the core
  +     * @exception ExecutionException if the service is not available.
  +     */
  +    private ComponentService getComponentService() throws ExecutionException {
  +        AntContext context = getAntContext();
  +        return (ComponentService)context.getCoreService(ComponentService.class);
  +    }
  +
   }
   
  
  
  
  1.3       +100 -2    jakarta-ant/proposal/mutant/src/java/antlibs/ant1compat/org/apache/tools/ant/taskdefs/CallTarget.java
  
  Index: CallTarget.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/mutant/src/java/antlibs/ant1compat/org/apache/tools/ant/taskdefs/CallTarget.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -w -u -r1.2 -r1.3
  --- CallTarget.java	5 Mar 2002 14:03:05 -0000	1.2
  +++ CallTarget.java	6 Mar 2002 08:17:06 -0000	1.3
  @@ -52,8 +52,17 @@
    * <http://www.apache.org/>.
    */
   package org.apache.tools.ant.taskdefs;
  -
  +import java.util.ArrayList;
  +import java.util.Iterator;
  +import java.util.List;
  +import org.apache.ant.antlib.system.AntBase;
   import org.apache.ant.antlib.system.AntCall;
  +import org.apache.ant.common.antlib.AntContext;
  +import org.apache.ant.common.antlib.AntLibFactory;
  +import org.apache.ant.common.service.ComponentService;
  +import org.apache.ant.common.util.ExecutionException;
  +import org.apache.tools.ant.BuildException;
  +import org.apache.tools.ant.Task;
   
   /**
    * CallTarget facade over AntCall
  @@ -61,6 +70,95 @@
    * @author <a href="mailto:conor@apache.org">Conor MacNeill</a>
    * @created 31 January 2002
    */
  -public class CallTarget extends AntCall {
  +public class CallTarget extends Task {
  +    /** The core AntCall implementation to actually use */
  +    private AntCall antCall = null;
  +
  +    /** The properties created by this task */
  +    private List properties = new ArrayList();
  +
  +    /**
  +     * If true, inherit all properties from parent Project If false, inherit
  +     * only userProperties and those defined inside the antcall call itself
  +     *
  +     * @param inherit the new inheritAll value
  +     */
  +    public void setInheritAll(boolean inherit) {
  +        antCall.setInheritAll(inherit);
  +    }
  +
  +    /**
  +     * Sets the target of the CallTarget
  +     *
  +     * @param target the new target value
  +     */
  +    public void setTarget(String target) {
  +        antCall.setTarget(target);
  +    }
  +
  +    /** Initialize the task */
  +    public void init() {
  +        AntContext context = getAntContext();
  +        try {
  +            ComponentService componentService = getComponentService();
  +            AntLibFactory factory = getProject().getFactory();
  +            antCall = (AntCall)componentService.createComponent(factory,
  +                context.getClassLoader(), AntCall.class, false, "antcall");
  +        } catch (ExecutionException e) {
  +            throw new BuildException(e);
  +        }
  +    }
  +
  +    /** execute the call */
  +    public void execute() {
  +        for (Iterator i = properties.iterator(); i.hasNext(); ) {
  +            Property property = (Property)i.next();
  +            AntBase.Property newProperty = new AntBase.Property();
  +            newProperty.setName(property.getName());
  +            newProperty.setValue(property.getValue());
  +            antCall.addProperty(newProperty);
  +        }
  +        try {
  +            antCall.execute();
  +        } catch (ExecutionException e) {
  +            throw new BuildException(e);
  +        }
  +    }
  +
  +    /**
  +     * Create a nested param element.
  +     *
  +     * @return the Property object to be configured.
  +     */
  +    public Property createParam() {
  +        Property property = new Property();
  +        properties.add(property);
  +        return property;
  +    }
  +
  +    /**
  +     * create a reference element that identifies a data type that should be
  +     * carried over to the new project.
  +     *
  +     * @param r the reference to be added to the call
  +     */
  +    public void addReference(AntBase.Reference r) {
  +        try {
  +            antCall.addReference(r);
  +        } catch (ExecutionException e) {
  +            throw new BuildException(e);
  +        }
  +    }
  +
  +    /**
  +     * Gets the componentService
  +     *
  +     * @return the componentService instance provided by the core
  +     * @exception ExecutionException if the service is not available.
  +     */
  +    private ComponentService getComponentService() throws ExecutionException {
  +        AntContext context = getAntContext();
  +        return (ComponentService)context.getCoreService(ComponentService.class);
  +    }
   }
   
  
  
  
  1.3       +12 -5     jakarta-ant/proposal/mutant/src/java/antlibs/system/org/apache/ant/antlib/system/Ant.java
  
  Index: Ant.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/mutant/src/java/antlibs/system/org/apache/ant/antlib/system/Ant.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -w -u -r1.2 -r1.3
  --- Ant.java	20 Feb 2002 13:43:15 -0000	1.2
  +++ Ant.java	6 Mar 2002 08:17:06 -0000	1.3
  @@ -56,6 +56,7 @@
   import org.apache.ant.common.service.ExecService;
   import org.apache.ant.common.util.ExecutionException;
   import org.apache.ant.common.service.MagicProperties;
  +import org.apache.ant.common.util.FileUtils;
   
   /**
    * The Ant task - used to execute a different build file
  @@ -65,7 +66,7 @@
    */
   public class Ant extends AntBase {
       /** The ant file to be run */
  -    private File antFile;
  +    private String antFileName;
       /** the base directory to use for the run */
       private File baseDir;
       /** File to capture any output */
  @@ -74,10 +75,10 @@
       /**
        * sets the file containing the XML representation model to build
        *
  -     * @param antFile the file to build
  +     * @param antFileName the file to build
        */
  -    public void setAntFile(File antFile) {
  -        this.antFile = antFile;
  +    public void setAntFile(String antFileName) {
  +        this.antFileName = antFileName;
       }
   
       /**
  @@ -107,12 +108,18 @@
           if (baseDir == null) {
               baseDir = getAntContext().getBaseDir();
           }
  -        if (antFile == null) {
  +        
  +        File antFile = null;
  +        if (antFileName == null) {
               antFile = new File(baseDir, "build.ant");
               if (!antFile.exists()) {
                   antFile = new File(baseDir, "build.xml");
               }
  +        } else {
  +            antFile 
  +                = FileUtils.newFileUtils().resolveFile(baseDir, antFileName);
           }
  +        
           setProperty(MagicProperties.BASEDIR, baseDir.getAbsolutePath());
           
           ExecService execService
  
  
  
  1.3       +1 -1      jakarta-ant/proposal/mutant/src/java/bootstrap/org/apache/ant/builder/Ant1CompatBuilder.java
  
  Index: Ant1CompatBuilder.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/mutant/src/java/bootstrap/org/apache/ant/builder/Ant1CompatBuilder.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -w -u -r1.2 -r1.3
  --- Ant1CompatBuilder.java	4 Mar 2002 15:17:32 -0000	1.2
  +++ Ant1CompatBuilder.java	6 Mar 2002 08:17:07 -0000	1.3
  @@ -21,7 +21,7 @@
                           "${lib.dir}/ant1compat", "*.jar");
           helper.addPathElementToPath("classpath", "${distlib.dir}/init.jar");
           helper.addPathElementToPath("classpath", "${distlib.dir}/common/common.jar");
  -        helper.addPathElementToPath("classpath", "${distlib.dir}/antlibs/system.tsk");
  +        helper.addPathElementToPath("classpath", "${distlib.dir}/antlibs/system.jar");
       }
       protected void check_for_optional_packages(BuildHelper helper) {
       }
  
  
  
  1.3       +1 -1      jakarta-ant/proposal/mutant/src/java/bootstrap/org/apache/ant/builder/MutantBuilder.java
  
  Index: MutantBuilder.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/mutant/src/java/bootstrap/org/apache/ant/builder/MutantBuilder.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -w -u -r1.2 -r1.3
  --- MutantBuilder.java	4 Mar 2002 15:17:32 -0000	1.2
  +++ MutantBuilder.java	6 Mar 2002 08:17:07 -0000	1.3
  @@ -83,7 +83,7 @@
           helper.addPathElementToPath("classpath.antlibs", "${distlib.dir}/common/common.jar");
           helper.addPathToPath("classpath.antlibs", "classpath.common");
           helper.javac("${java.dir}/antlibs/${libset}", "${bin.dir}/antlibs/${libset}", "classpath.antlibs");
  -        helper.jar("${bin.dir}/antlibs/${libset}", "${distlib.dir}/antlibs/${libset}.tsk",
  +        helper.jar("${bin.dir}/antlibs/${libset}", "${distlib.dir}/antlibs/${libset}.jar",
                      "${java.dir}/antlibs/${libset}", "antlib.xml");
       }
       protected void main(BuildHelper helper) {
  
  
  
  1.4       +18 -4     jakarta-ant/proposal/mutant/src/java/common/org/apache/ant/common/util/FileUtils.java
  
  Index: FileUtils.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/mutant/src/java/common/org/apache/ant/common/util/FileUtils.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -w -u -r1.3 -r1.4
  --- FileUtils.java	6 Feb 2002 10:15:05 -0000	1.3
  +++ FileUtils.java	6 Mar 2002 08:17:07 -0000	1.4
  @@ -68,6 +68,21 @@
    * @created 21 January 2002
    */
   public class FileUtils {
  +
  +    /** Empty constructor. */
  +    protected FileUtils() {
  +    }
  +
  +    /**
  +     * Factory method.
  +     *
  +     * @return The FileUtils instance to actually use. May be a subclass of
  +     *      this class.
  +     */
  +    public static FileUtils newFileUtils() {
  +        return new FileUtils();
  +    }
  +
       /**
        * Interpret the filename as a file relative to the given file - unless
        * the filename already represents an absolute filename.
  @@ -76,8 +91,7 @@
        *      must be an absolute file and must not contain &quot;./&quot; or
        *      &quot;../&quot; sequences (same for \ instead of /). If it is
        *      null, this call is equivalent to 
  -     *      <code>new java.io.File(filename)</code>
  -     *      .
  +     *      <code>new java.io.File(filename)</code>.
        * @param filename the filename to be resolved
        * @return an absolute file that doesn't contain &quot;./&quot; or
        *      &quot;../&quot; sequences and uses the correct separator for the
  
  
  

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