diff --git a/proposal/myrmidon/src/java/org/apache/antlib/core/AbstractAvailableCondition.java b/proposal/myrmidon/src/java/org/apache/antlib/core/AbstractAvailableCondition.java index e7b0fb860..92ed1c851 100644 --- a/proposal/myrmidon/src/java/org/apache/antlib/core/AbstractAvailableCondition.java +++ b/proposal/myrmidon/src/java/org/apache/antlib/core/AbstractAvailableCondition.java @@ -11,7 +11,7 @@ import org.apache.myrmidon.api.TaskContext; import org.apache.myrmidon.api.TaskException; import org.apache.myrmidon.framework.conditions.Condition; import org.apache.myrmidon.framework.file.Path; -import org.apache.tools.todo.types.PathUtil; +import org.apache.myrmidon.framework.file.FileListUtil; /** * An abstract condition which checks for the availability of a particular @@ -46,6 +46,6 @@ public abstract class AbstractAvailableCondition */ protected ClassLoader buildClassLoader( final TaskContext context ) throws TaskException { - return PathUtil.createClassLoader( m_classpath, context ); + return FileListUtil.createClassLoader( m_classpath, context ); } } diff --git a/proposal/myrmidon/src/java/org/apache/antlib/java/JavacAdaptor.java b/proposal/myrmidon/src/java/org/apache/antlib/java/JavacAdaptor.java index cb9a8bbc5..049713358 100644 --- a/proposal/myrmidon/src/java/org/apache/antlib/java/JavacAdaptor.java +++ b/proposal/myrmidon/src/java/org/apache/antlib/java/JavacAdaptor.java @@ -9,8 +9,8 @@ package org.apache.antlib.java; import org.apache.myrmidon.api.TaskException; import org.apache.myrmidon.framework.file.Path; +import org.apache.myrmidon.framework.file.FileListUtil; import org.apache.tools.todo.types.Commandline; -import org.apache.tools.todo.types.PathUtil; import java.io.File; import java.lang.reflect.Method; @@ -84,7 +84,7 @@ public class JavacAdaptor classpath.add( getClassPath() ); cmd.addArgument( "-classpath" ); - cmd.addArgument( PathUtil.formatPath( classpath, getContext() ) ); + cmd.addArgument( FileListUtil.formatPath( classpath, getContext() ) ); if( isDeprecation() ) { diff --git a/proposal/myrmidon/src/java/org/apache/antlib/java/JikesAdaptor.java b/proposal/myrmidon/src/java/org/apache/antlib/java/JikesAdaptor.java index 0cc8aaf42..40804a663 100644 --- a/proposal/myrmidon/src/java/org/apache/antlib/java/JikesAdaptor.java +++ b/proposal/myrmidon/src/java/org/apache/antlib/java/JikesAdaptor.java @@ -12,8 +12,8 @@ import org.apache.myrmidon.api.TaskException; import org.apache.myrmidon.framework.Execute; import org.apache.myrmidon.framework.java.JavaRuntimeClassPath; import org.apache.myrmidon.framework.file.Path; +import org.apache.myrmidon.framework.file.FileListUtil; import org.apache.tools.todo.types.Commandline; -import org.apache.tools.todo.types.PathUtil; /** * An adaptor for the jikes compiler. @@ -74,7 +74,7 @@ public class JikesAdaptor cmd.addArgument( getDestDir() ); cmd.addArgument( "-classpath" ); - cmd.addArgument( PathUtil.formatPath( classpath, getContext() ) ); + cmd.addArgument( FileListUtil.formatPath( classpath, getContext() ) ); // TODO - make this configurable cmd.addArgument( "+E" ); diff --git a/proposal/myrmidon/src/java/org/apache/antlib/xml/XMLValidateTask.java b/proposal/myrmidon/src/java/org/apache/antlib/xml/XMLValidateTask.java index fd7697928..e07ee71a6 100644 --- a/proposal/myrmidon/src/java/org/apache/antlib/xml/XMLValidateTask.java +++ b/proposal/myrmidon/src/java/org/apache/antlib/xml/XMLValidateTask.java @@ -16,9 +16,9 @@ import java.util.Hashtable; import org.apache.myrmidon.api.AbstractTask; import org.apache.myrmidon.api.TaskException; import org.apache.myrmidon.framework.file.Path; +import org.apache.myrmidon.framework.file.FileListUtil; import org.apache.tools.todo.types.DirectoryScanner; import org.apache.tools.todo.types.FileSet; -import org.apache.tools.todo.types.PathUtil; import org.apache.tools.todo.types.ScannerUtil; import org.xml.sax.EntityResolver; import org.xml.sax.InputSource; @@ -311,7 +311,7 @@ public class XMLValidateTask { // load the parser class // with JAXP, we would use a SAXParser factory - final ClassLoader classLoader = PathUtil.createClassLoader( m_classpath, getContext() ); + final ClassLoader classLoader = FileListUtil.createClassLoader( m_classpath, getContext() ); final Class readerClass = classLoader.loadClass( m_readerClassName ); // then check it implements XMLReader diff --git a/proposal/myrmidon/src/java/org/apache/aut/nativelib/PathUtil.java b/proposal/myrmidon/src/java/org/apache/aut/nativelib/PathUtil.java new file mode 100644 index 000000000..9f400133d --- /dev/null +++ b/proposal/myrmidon/src/java/org/apache/aut/nativelib/PathUtil.java @@ -0,0 +1,64 @@ +/* + * 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.aut.nativelib; + +import java.io.File; + +/** + * Utility methods for dealing with native paths. + * + * @author Peter Donald + * @author Adam Murdoch + * @version $Revision$ $Date$ + */ +public class PathUtil +{ + /** + * Formats a path into its native representation. + */ + public static String formatPath( final String[] path ) + { + // empty path return empty string + if( path == null || path.length == 0 ) + { + return ""; + } + + // path containing one or more elements + final StringBuffer result = new StringBuffer( path[ 0 ].toString() ); + for( int i = 1; i < path.length; i++ ) + { + result.append( File.pathSeparatorChar ); + result.append( path[ i ] ); + } + + return result.toString(); + } + + /** + * Formats a path into its native representation. + */ + public static String formatPath( final File[] path ) + { + // empty path return empty string + if( path == null || path.length == 0 ) + { + return ""; + } + + // path containing one or more elements + final StringBuffer result = new StringBuffer( path[ 0 ].toString() ); + for( int i = 1; i < path.length; i++ ) + { + result.append( File.pathSeparatorChar ); + result.append( path[ i ].getAbsolutePath() ); + } + + return result.toString(); + } +} diff --git a/proposal/myrmidon/src/java/org/apache/myrmidon/components/classloader/DefaultClassLoaderManager.java b/proposal/myrmidon/src/java/org/apache/myrmidon/components/classloader/DefaultClassLoaderManager.java index 338884471..26442332b 100644 --- a/proposal/myrmidon/src/java/org/apache/myrmidon/components/classloader/DefaultClassLoaderManager.java +++ b/proposal/myrmidon/src/java/org/apache/myrmidon/components/classloader/DefaultClassLoaderManager.java @@ -30,7 +30,7 @@ import org.apache.myrmidon.interfaces.classloader.ClassLoaderException; import org.apache.myrmidon.interfaces.classloader.ClassLoaderManager; import org.apache.myrmidon.interfaces.deployer.DeploymentException; import org.apache.myrmidon.interfaces.extensions.ExtensionManager; -import org.apache.tools.todo.types.PathUtil; +import org.apache.aut.nativelib.PathUtil; /** * A default implementation of a ClassLoader manager. diff --git a/proposal/myrmidon/src/java/org/apache/myrmidon/framework/file/FileListToStringConverter.java b/proposal/myrmidon/src/java/org/apache/myrmidon/framework/file/FileListToStringConverter.java index 80bcc1566..22d809f34 100644 --- a/proposal/myrmidon/src/java/org/apache/myrmidon/framework/file/FileListToStringConverter.java +++ b/proposal/myrmidon/src/java/org/apache/myrmidon/framework/file/FileListToStringConverter.java @@ -9,10 +9,10 @@ package org.apache.myrmidon.framework.file; import org.apache.aut.converter.AbstractConverter; import org.apache.aut.converter.ConverterException; +import org.apache.aut.nativelib.PathUtil; import org.apache.myrmidon.api.TaskContext; import org.apache.myrmidon.api.TaskException; import org.apache.myrmidon.framework.file.FileList; -import org.apache.tools.todo.types.PathUtil; /** * Converters from FileList to String. diff --git a/proposal/myrmidon/src/todo/org/apache/tools/todo/types/PathUtil.java b/proposal/myrmidon/src/java/org/apache/myrmidon/framework/file/FileListUtil.java similarity index 55% rename from proposal/myrmidon/src/todo/org/apache/tools/todo/types/PathUtil.java rename to proposal/myrmidon/src/java/org/apache/myrmidon/framework/file/FileListUtil.java index 72d3b4bf7..00ecc4d3d 100644 --- a/proposal/myrmidon/src/todo/org/apache/tools/todo/types/PathUtil.java +++ b/proposal/myrmidon/src/java/org/apache/myrmidon/framework/file/FileListUtil.java @@ -5,70 +5,28 @@ * version 1.1, a copy of which has been included with this distribution in * the LICENSE.txt file. */ -package org.apache.tools.todo.types; +package org.apache.myrmidon.framework.file; -import java.io.File; -import java.io.IOException; -import java.net.URL; -import java.util.Locale; import org.apache.myrmidon.api.TaskContext; import org.apache.myrmidon.api.TaskException; -import org.apache.myrmidon.framework.file.Path; -import org.apache.myrmidon.framework.file.FileList; import org.apache.myrmidon.interfaces.classloader.ClassLoaderManager; import org.apache.myrmidon.interfaces.classloader.ClassLoaderException; -import org.apache.aut.nativelib.Os; +import org.apache.aut.nativelib.PathUtil; +import java.io.File; +import java.io.IOException; +import java.net.URL; /** - * Utilities for operating on Path objects. + * Utility methods for dealing with {@link FileList} objects. * * @author Peter Donald + * @author Adam Murdoch * @version $Revision$ $Date$ */ -public class PathUtil +public final class FileListUtil { - /** - * Formats a path into its native representation. - */ - public static String formatPath( final String[] path ) - { - // empty path return empty string - if( path.length == 0 ) - { - return ""; - } - - // path containing one or more elements - final StringBuffer result = new StringBuffer( path[ 0 ].toString() ); - for( int i = 1; i < path.length; i++ ) - { - result.append( File.pathSeparatorChar ); - result.append( path[ i ] ); - } - - return result.toString(); - } - - /** - * Formats a path into its native representation. - */ - public static String formatPath( final File[] path ) + private FileListUtil() { - // empty path return empty string - if( path.length == 0 ) - { - return ""; - } - - // path containing one or more elements - final StringBuffer result = new StringBuffer( path[ 0 ].toString() ); - for( int i = 1; i < path.length; i++ ) - { - result.append( File.pathSeparatorChar ); - result.append( path[ i ].getAbsolutePath() ); - } - - return result.toString(); } /** @@ -78,7 +36,7 @@ public class PathUtil throws TaskException { final String[] list = path.listFiles( context ); - return formatPath( list ); + return PathUtil.formatPath( list ); } /** @@ -141,25 +99,4 @@ public class PathUtil } } - /** - * Adds the contents of a set of directories to a path. - */ - public static void addExtdirs( final Path toPath, - final Path extDirs, - final TaskContext context ) - throws TaskException - { - final String[] dirs = extDirs.listFiles( context ); - for( int i = 0; i < dirs.length; i++ ) - { - final File dir = new File( dirs[ i ] ); - if( dir.exists() && dir.isDirectory() ) - { - final FileSet fileSet = new FileSet(); - fileSet.setDir( dir ); - fileSet.setIncludes( "*" ); - toPath.addFileset( fileSet ); - } - } - } } diff --git a/proposal/myrmidon/src/java/org/apache/myrmidon/framework/java/ExecuteJava.java b/proposal/myrmidon/src/java/org/apache/myrmidon/framework/java/ExecuteJava.java index 7e77a6dc2..506984731 100644 --- a/proposal/myrmidon/src/java/org/apache/myrmidon/framework/java/ExecuteJava.java +++ b/proposal/myrmidon/src/java/org/apache/myrmidon/framework/java/ExecuteJava.java @@ -11,15 +11,16 @@ import java.io.File; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import org.apache.aut.nativelib.Os; +import org.apache.aut.nativelib.PathUtil; import org.apache.avalon.excalibur.i18n.ResourceManager; import org.apache.avalon.excalibur.i18n.Resources; import org.apache.myrmidon.api.TaskContext; import org.apache.myrmidon.api.TaskException; import org.apache.myrmidon.framework.Execute; import org.apache.myrmidon.framework.file.Path; +import org.apache.myrmidon.framework.file.FileListUtil; import org.apache.tools.todo.types.Commandline; import org.apache.tools.todo.types.EnvironmentData; -import org.apache.tools.todo.types.PathUtil; import org.apache.tools.todo.types.SysProperties; import org.apache.tools.todo.util.FileUtils; @@ -197,7 +198,7 @@ public class ExecuteJava final String message = REZ.getString( "executejava.jar-no-fork.error" ); throw new TaskException( message ); } - if( m_vmArgs.size() > 0 ) + if( m_vmArgs.getArguments().length > 0 ) { final String message = REZ.getString( "executejava.ignore-jvm-args.notice" ); context.warn( message ); @@ -234,7 +235,7 @@ public class ExecuteJava Class target; try { - final ClassLoader classLoader = PathUtil.createClassLoader( m_classPath, context ); + final ClassLoader classLoader = FileListUtil.createClassLoader( m_classPath, context ); target = classLoader.loadClass( m_className ); } catch( final Exception e ) diff --git a/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/IContract.java b/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/IContract.java index 25f16e5cf..72805db02 100644 --- a/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/IContract.java +++ b/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/IContract.java @@ -21,7 +21,7 @@ import org.apache.tools.todo.taskdefs.javac.DefaultCompilerAdapter; import org.apache.tools.todo.taskdefs.javac.Javac; import org.apache.tools.todo.types.DirectoryScanner; import org.apache.myrmidon.framework.file.Path; -import org.apache.tools.todo.types.PathUtil; +import org.apache.myrmidon.framework.file.FileListUtil; import org.apache.antlib.java.JavaTask; /** @@ -774,7 +774,7 @@ public class IContract extends MatchingTask } iControlProps.setProperty( "sourceRoot", srcDir.getAbsolutePath() ); iControlProps.setProperty( "classRoot", classDir.getAbsolutePath() ); - final String classpath = PathUtil.formatPath( afterInstrumentationClasspath, getContext() ); + final String classpath = FileListUtil.formatPath( afterInstrumentationClasspath, getContext() ); iControlProps.setProperty( "classpath", classpath ); iControlProps.setProperty( "controlFile", controlFile.getAbsolutePath() ); iControlProps.setProperty( "targetsFile", targets.getAbsolutePath() ); diff --git a/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/Javah.java b/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/Javah.java index b6998eb89..c4a7c8762 100644 --- a/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/Javah.java +++ b/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/Javah.java @@ -15,8 +15,9 @@ import org.apache.avalon.excalibur.util.StringUtil; import org.apache.myrmidon.api.AbstractTask; import org.apache.myrmidon.api.TaskException; import org.apache.tools.todo.types.Commandline; +import org.apache.tools.todo.util.FileUtils; import org.apache.myrmidon.framework.file.Path; -import org.apache.tools.todo.types.PathUtil; +import org.apache.myrmidon.framework.file.FileListUtil; /** * Task to generate JNI header files using javah. This task can take the @@ -207,10 +208,12 @@ public class Javah * &qout;niceSourceList" */ private void logAndAddFilesToCompile( final Commandline cmd ) + throws TaskException { - int n = 0; - getContext().debug( "Compilation args: " + cmd.toString() ); + final String[] args = cmd.getArguments(); + getContext().debug( "Compilation args: " + FileUtils.formatCommandLine( args ) ); + int n = 0; StringBuffer niceClassList = new StringBuffer(); if( m_cls != null ) { @@ -268,7 +271,7 @@ public class Javah if( m_classpath != null ) { cmd.addArgument( "-classpath" ); - cmd.addArgument( PathUtil.formatPath( m_classpath, getContext() ) ); + cmd.addArgument( FileListUtil.formatPath( m_classpath, getContext() ) ); } if( m_verbose ) @@ -296,7 +299,7 @@ public class Javah if( m_bootclasspath != null ) { cmd.addArgument( "-bootclasspath" ); - cmd.addArgument( PathUtil.formatPath( m_bootclasspath, getContext() ) ); + cmd.addArgument( FileListUtil.formatPath( m_bootclasspath, getContext() ) ); } logAndAddFilesToCompile( cmd ); diff --git a/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/Property.java b/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/Property.java index 07c847f81..21c997ee0 100644 --- a/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/Property.java +++ b/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/Property.java @@ -15,7 +15,7 @@ import java.util.Properties; import org.apache.myrmidon.api.AbstractTask; import org.apache.myrmidon.api.TaskException; import org.apache.myrmidon.framework.file.Path; -import org.apache.tools.todo.types.PathUtil; +import org.apache.myrmidon.framework.file.FileListUtil; /** * Will set a Project property. Used to be a hack in ProjectHelper Will not @@ -120,7 +120,7 @@ public class Property getContext().debug( "Resource Loading " + name ); try { - final ClassLoader classLoader = PathUtil.createClassLoader( m_classpath, getContext() ); + final ClassLoader classLoader = FileListUtil.createClassLoader( m_classpath, getContext() ); final InputStream is = classLoader.getResourceAsStream( name ); if( is != null ) diff --git a/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/SQLExec.java b/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/SQLExec.java index c992a676b..0f36d37aa 100644 --- a/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/SQLExec.java +++ b/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/SQLExec.java @@ -33,10 +33,10 @@ import java.util.StringTokenizer; import org.apache.myrmidon.api.AbstractTask; import org.apache.myrmidon.api.TaskException; import org.apache.myrmidon.framework.file.Path; +import org.apache.myrmidon.framework.file.FileListUtil; import org.apache.tools.todo.types.DirectoryScanner; import org.apache.tools.todo.types.EnumeratedAttribute; import org.apache.tools.todo.types.FileSet; -import org.apache.tools.todo.types.PathUtil; import org.apache.tools.todo.types.ScannerUtil; /** @@ -417,7 +417,7 @@ public class SQLExec // Load the driver using the try { - final ClassLoader classLoader = PathUtil.createClassLoader( classpath, getContext() ); + final ClassLoader classLoader = FileListUtil.createClassLoader( classpath, getContext() ); final Class dc = classLoader.loadClass( driver ); driverInstance = (Driver)dc.newInstance(); } diff --git a/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/javac/DefaultCompilerAdapter.java b/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/javac/DefaultCompilerAdapter.java index dfb001e4e..aca414822 100644 --- a/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/javac/DefaultCompilerAdapter.java +++ b/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/javac/DefaultCompilerAdapter.java @@ -18,7 +18,10 @@ import org.apache.myrmidon.api.TaskException; import org.apache.myrmidon.framework.Execute; import org.apache.tools.todo.types.Commandline; import org.apache.myrmidon.framework.file.Path; -import org.apache.tools.todo.types.PathUtil; +import org.apache.myrmidon.framework.file.FileListUtil; +import org.apache.tools.todo.types.FileSet; +import org.apache.tools.todo.util.FileUtils; +import org.apache.aut.nativelib.PathUtil; /** * This is the default implementation for the CompilerAdapter interface. @@ -114,7 +117,8 @@ public abstract class DefaultCompilerAdapter { Commandline cmd = new Commandline(); setupJavacCommandlineSwitches( cmd, debugLevelCheck ); - logAndAddFilesToCompile( cmd ); + logFilesToCompile( cmd ); + addFilesToCompile( cmd ); return cmd; } @@ -176,10 +180,10 @@ public abstract class DefaultCompilerAdapter } cmd.addArgument( "-classpath" ); - cmd.addArgument( PathUtil.formatPath( classpath, getTaskContext() ) ); + cmd.addArgument( FileListUtil.formatPath( classpath, getTaskContext() ) ); cmd.addArgument( "-sourcepath" ); - cmd.addArgument( PathUtil.formatPath( src, getTaskContext() ) ); + cmd.addArgument( FileListUtil.formatPath( src, getTaskContext() ) ); if( target != null ) { @@ -197,7 +201,7 @@ public abstract class DefaultCompilerAdapter if( m_extdirs != null ) { cmd.addArgument( "-extdirs" ); - cmd.addArgument( PathUtil.formatPath( m_extdirs, getTaskContext() ) ); + cmd.addArgument( FileListUtil.formatPath( m_extdirs, getTaskContext() ) ); } if( m_encoding != null ) @@ -255,7 +259,8 @@ public abstract class DefaultCompilerAdapter Commandline cmd = new Commandline(); setupModernJavacCommandlineSwitches( cmd ); - logAndAddFilesToCompile( cmd ); + logFilesToCompile( cmd ); + addFilesToCompile( cmd ); return cmd; } @@ -312,14 +317,14 @@ public abstract class DefaultCompilerAdapter /** * Do the compile with the specified arguments. * - * @param args - arguments to pass to process on command line - * @param firstFileName - index of the first source file in args - * @return Description of the Returned Value + * @param cmd - the command line, to which the names of the files to + * compile are added. */ - protected int executeExternalCompile( String[] args, int firstFileName ) + protected boolean executeExternalCompile( final Commandline cmd ) throws TaskException { - String[] commandArray = null; + logFilesToCompile( cmd ); + File tmpFile = null; try @@ -329,43 +334,38 @@ public abstract class DefaultCompilerAdapter * long command lines - no, not only Windows ;-). * * POSIX seems to define a lower limit of 4k, so use a temporary - * file if the total length of the command line exceeds this limit. + * file. */ - if( StringUtil.join( args, " " ).length() > 4096 ) + try { - PrintWriter out = null; + tmpFile = File.createTempFile( "javac", "", new File( "." ) ); + final FileWriter fout = new FileWriter( tmpFile ); try { - tmpFile = File.createTempFile( "jikes", "", new File( "." ) ); - out = new PrintWriter( new FileWriter( tmpFile ) ); - for( int i = firstFileName; i < args.length; i++ ) + final PrintWriter out = new PrintWriter( fout ); + for( int i = 0; i < m_compileList.length; i++ ) { - out.println( args[ i ] ); + File file = m_compileList[i ]; + out.println( file.getAbsolutePath() ); } - out.flush(); - commandArray = new String[ firstFileName + 1 ]; - System.arraycopy( args, 0, commandArray, 0, firstFileName ); - commandArray[ firstFileName ] = "@" + tmpFile.getAbsolutePath(); - } - catch( final IOException ioe ) - { - throw new TaskException( "Error creating temporary file", ioe ); + out.close(); } finally { - IOUtil.shutdownWriter( out ); + IOUtil.shutdownWriter( fout ); } } - else + catch( final IOException ioe ) { - commandArray = args; + throw new TaskException( "Error creating temporary file", ioe ); } + cmd.addArgument( "@" + tmpFile.getAbsolutePath() ); + final Execute exe = new Execute(); exe.setIgnoreReturnCode( true ); - final String[] commandline = commandArray; - exe.setCommandline( new Commandline( commandline ) ); - return exe.execute( getTaskContext() ); + exe.setCommandline( cmd ); + return exe.execute( getTaskContext() ) == 0; } finally { @@ -382,9 +382,11 @@ public abstract class DefaultCompilerAdapter * * @param cmd Description of Parameter */ - protected void logAndAddFilesToCompile( Commandline cmd ) + protected void logFilesToCompile( final Commandline cmd ) + throws TaskException { - getTaskContext().debug( "Compilation args: " + cmd.toString() ); + final String[] cmdline = cmd.getArguments(); + getTaskContext().debug( "Compilation args: " + FileUtils.formatCommandLine( cmdline ) ); StringBuffer niceSourceList = new StringBuffer( "File" ); if( m_compileList.length != 1 ) @@ -398,13 +400,24 @@ public abstract class DefaultCompilerAdapter for( int i = 0; i < m_compileList.length; i++ ) { String arg = m_compileList[ i ].getAbsolutePath(); - cmd.addArgument( arg ); niceSourceList.append( " " + arg + StringUtil.LINE_SEPARATOR ); } getTaskContext().debug( niceSourceList.toString() ); } + /** + * Adds the files to compile to a command-line + */ + protected void addFilesToCompile( final Commandline cmd ) + { + for( int i = 0; i < m_compileList.length; i++ ) + { + File file = m_compileList[i ]; + cmd.addArgument( file ); + } + } + /** * Emulation of extdirs feature in java >= 1.2. This method adds all files * in the given directories (but not in sub-directories!) to the classpath, @@ -426,7 +439,29 @@ public abstract class DefaultCompilerAdapter } } - PathUtil.addExtdirs( path, m_extdirs, getTaskContext() ); + addExtdirs( path, m_extdirs, getTaskContext() ); + } + + /** + * Adds the contents of a set of directories to a path. + */ + public static void addExtdirs( final Path toPath, + final Path extDirs, + final TaskContext context ) + throws TaskException + { + final String[] dirs = extDirs.listFiles( context ); + for( int i = 0; i < dirs.length; i++ ) + { + final File dir = new File( dirs[ i ] ); + if( dir.exists() && dir.isDirectory() ) + { + final FileSet fileSet = new FileSet(); + fileSet.setDir( dir ); + fileSet.setIncludes( "*" ); + toPath.addFileset( fileSet ); + } + } } } diff --git a/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/javac/Gcj.java b/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/javac/Gcj.java index 43e63a089..e880aa20d 100644 --- a/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/javac/Gcj.java +++ b/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/javac/Gcj.java @@ -10,7 +10,7 @@ package org.apache.tools.todo.taskdefs.javac; import org.apache.myrmidon.api.TaskException; import org.apache.tools.todo.types.Commandline; import org.apache.myrmidon.framework.file.Path; -import org.apache.tools.todo.types.PathUtil; +import org.apache.myrmidon.framework.file.FileListUtil; /** * The implementation of the gcj compiler. This is primarily a cut-and-paste @@ -35,10 +35,7 @@ public class Gcj extends DefaultCompilerAdapter getTaskContext().debug( "Using gcj compiler" ); cmd = setupGCJCommand(); - int firstFileName = cmd.size(); - logAndAddFilesToCompile( cmd ); - - return executeExternalCompile( cmd.getCommandline(), firstFileName ) == 0; + return executeExternalCompile( cmd ); } protected Commandline setupGCJCommand() @@ -83,7 +80,7 @@ public class Gcj extends DefaultCompilerAdapter } cmd.addArgument( "-classpath" ); - cmd.addArgument( PathUtil.formatPath( classpath, getTaskContext() ) ); + cmd.addArgument( FileListUtil.formatPath( classpath, getTaskContext() ) ); if( m_encoding != null ) { diff --git a/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/javac/JavacExternal.java b/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/javac/JavacExternal.java index 475290d47..315468f06 100644 --- a/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/javac/JavacExternal.java +++ b/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/javac/JavacExternal.java @@ -34,10 +34,8 @@ public class JavacExternal extends DefaultCompilerAdapter Commandline cmd = new Commandline(); cmd.setExecutable( getJavac().getJavacExecutable() ); setupModernJavacCommandlineSwitches( cmd ); - int firstFileName = cmd.size(); - logAndAddFilesToCompile( cmd ); - return executeExternalCompile( cmd.getCommandline(), firstFileName ) == 0; + return executeExternalCompile( cmd ); } } diff --git a/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/javac/Jikes.java b/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/javac/Jikes.java index 04bc0c6a9..521206f4b 100644 --- a/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/javac/Jikes.java +++ b/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/javac/Jikes.java @@ -10,7 +10,7 @@ package org.apache.tools.todo.taskdefs.javac; import org.apache.myrmidon.api.TaskException; import org.apache.tools.todo.types.Commandline; import org.apache.myrmidon.framework.file.Path; -import org.apache.tools.todo.types.PathUtil; +import org.apache.myrmidon.framework.file.FileListUtil; /** * The implementation of the jikes compiler. This is primarily a cut-and-paste @@ -91,7 +91,7 @@ public class Jikes } cmd.addArgument( "-classpath" ); - cmd.addArgument( PathUtil.formatPath( classpath, getTaskContext() ) ); + cmd.addArgument( FileListUtil.formatPath( classpath, getTaskContext() ) ); if( m_encoding != null ) { @@ -128,10 +128,7 @@ public class Jikes addCurrentCompilerArgs( cmd ); - int firstFileName = cmd.size(); - logAndAddFilesToCompile( cmd ); - - return executeExternalCompile( cmd.getCommandline(), firstFileName ) == 0; + return executeExternalCompile( cmd ); } } diff --git a/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/javac/Jvc.java b/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/javac/Jvc.java index d232f8b38..5247f574e 100644 --- a/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/javac/Jvc.java +++ b/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/javac/Jvc.java @@ -10,7 +10,7 @@ package org.apache.tools.todo.taskdefs.javac; import org.apache.myrmidon.api.TaskException; import org.apache.tools.todo.types.Commandline; import org.apache.myrmidon.framework.file.Path; -import org.apache.tools.todo.types.PathUtil; +import org.apache.myrmidon.framework.file.FileListUtil; /** * The implementation of the jvc compiler from microsoft. This is primarily a @@ -68,7 +68,7 @@ public class Jvc extends DefaultCompilerAdapter // Add the Classpath before the "internal" one. cmd.addArgument( "/cp:p" ); - cmd.addArgument( PathUtil.formatPath( classpath, getTaskContext() ) ); + cmd.addArgument( FileListUtil.formatPath( classpath, getTaskContext() ) ); // Enable MS-Extensions and ... cmd.addArgument( "/x-" ); @@ -92,9 +92,6 @@ public class Jvc extends DefaultCompilerAdapter addCurrentCompilerArgs( cmd ); - int firstFileName = cmd.size(); - logAndAddFilesToCompile( cmd ); - - return executeExternalCompile( cmd.getCommandline(), firstFileName ) == 0; + return executeExternalCompile( cmd ); } } diff --git a/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/javac/Kjc.java b/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/javac/Kjc.java index 3acd5239a..e61e12846 100644 --- a/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/javac/Kjc.java +++ b/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/javac/Kjc.java @@ -11,7 +11,7 @@ import java.lang.reflect.Method; import org.apache.myrmidon.api.TaskException; import org.apache.tools.todo.types.Commandline; import org.apache.myrmidon.framework.file.Path; -import org.apache.tools.todo.types.PathUtil; +import org.apache.myrmidon.framework.file.FileListUtil; /** * The implementation of the Java compiler for KJC. This is primarily a @@ -99,7 +99,7 @@ public class Kjc extends DefaultCompilerAdapter cp.add( classpath ); cp.add( src ); - cmd.addArgument( PathUtil.formatPath( cp, getTaskContext() ) ); + cmd.addArgument( FileListUtil.formatPath( cp, getTaskContext() ) ); // kjc-1.5A doesn't support -encoding option now. // but it will be supported near the feature. @@ -126,7 +126,8 @@ public class Kjc extends DefaultCompilerAdapter addCurrentCompilerArgs( cmd ); - logAndAddFilesToCompile( cmd ); + logFilesToCompile( cmd ); + addFilesToCompile( cmd ); return cmd; } } diff --git a/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/javac/Sj.java b/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/javac/Sj.java index 1612304ce..3ad11bb24 100644 --- a/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/javac/Sj.java +++ b/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/javac/Sj.java @@ -33,12 +33,11 @@ public class Sj extends DefaultCompilerAdapter { getTaskContext().debug( "Using symantec java compiler" ); - Commandline cmd = setupJavacCommand(); + Commandline cmd = new Commandline(); + setupJavacCommandlineSwitches( cmd, false ); cmd.setExecutable( "sj" ); - int firstFileName = cmd.size() - m_compileList.length; - - return executeExternalCompile( cmd.getCommandline(), firstFileName ) == 0; + return executeExternalCompile( cmd ); } } diff --git a/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/javacc/JJTree.java b/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/javacc/JJTree.java index 16d08e94d..74ece1de8 100644 --- a/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/javacc/JJTree.java +++ b/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/javacc/JJTree.java @@ -14,7 +14,6 @@ import org.apache.myrmidon.api.AbstractTask; import org.apache.myrmidon.api.TaskException; import org.apache.myrmidon.framework.java.ExecuteJava; import org.apache.myrmidon.framework.file.Path; -import org.apache.tools.todo.types.PathUtil; /** * Taskdef for the JJTree compiler compiler. diff --git a/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/javacc/JavaCC.java b/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/javacc/JavaCC.java index dd85e2265..08a5610b0 100644 --- a/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/javacc/JavaCC.java +++ b/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/javacc/JavaCC.java @@ -14,7 +14,6 @@ import org.apache.myrmidon.api.AbstractTask; import org.apache.myrmidon.api.TaskException; import org.apache.myrmidon.framework.java.ExecuteJava; import org.apache.myrmidon.framework.file.Path; -import org.apache.tools.todo.types.PathUtil; /** * Taskdef for the JavaCC compiler compiler. diff --git a/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/javadoc/Javadoc.java b/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/javadoc/Javadoc.java index a1da33202..be44d51fc 100644 --- a/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/javadoc/Javadoc.java +++ b/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/javadoc/Javadoc.java @@ -25,7 +25,7 @@ import org.apache.tools.todo.types.Commandline; import org.apache.tools.todo.types.DirectoryScanner; import org.apache.tools.todo.types.FileSet; import org.apache.myrmidon.framework.file.Path; -import org.apache.tools.todo.types.PathUtil; +import org.apache.myrmidon.framework.file.FileListUtil; import org.apache.tools.todo.types.ScannerUtil; /** @@ -570,7 +570,7 @@ public class Javadoc classpath.add( m_classpath ); } cmd.addArgument( "-classpath" ); - cmd.addArgument( PathUtil.formatPath( classpath, getContext() ) ); + cmd.addArgument( FileListUtil.formatPath( classpath, getContext() ) ); if( m_version && m_doclet == null ) { @@ -607,7 +607,7 @@ public class Javadoc if( m_doclet.getPath() != null ) { cmd.addArgument( "-docletpath" ); - cmd.addArgument( PathUtil.formatPath( m_doclet.getPath(), getContext() ) ); + cmd.addArgument( FileListUtil.formatPath( m_doclet.getPath(), getContext() ) ); } for( Iterator e = m_doclet.getParams(); e.hasNext(); ) { @@ -628,7 +628,7 @@ public class Javadoc if( m_bootclasspath != null ) { cmd.addArgument( "-bootclasspath" ); - cmd.addArgument( PathUtil.formatPath( m_bootclasspath, getContext() ) ); + cmd.addArgument( FileListUtil.formatPath( m_bootclasspath, getContext() ) ); } // add the links arguments @@ -886,7 +886,7 @@ public class Javadoc ArrayList packages, ArrayList excludePackages ) throws TaskException { - getContext().debug( "Source path = " + PathUtil.formatPath( sourcePath, getContext() ) ); + getContext().debug( "Source path = " + FileListUtil.formatPath( sourcePath, getContext() ) ); StringBuffer msg = new StringBuffer( "Packages = " ); for( int i = 0; i < packages.size(); i++ ) { diff --git a/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/jsp/WLJspc.java b/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/jsp/WLJspc.java index 58f9a23ae..5a887b032 100644 --- a/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/jsp/WLJspc.java +++ b/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/jsp/WLJspc.java @@ -16,7 +16,7 @@ import org.apache.myrmidon.framework.java.ExecuteJava; import org.apache.tools.todo.taskdefs.MatchingTask; import org.apache.tools.todo.types.DirectoryScanner; import org.apache.myrmidon.framework.file.Path; -import org.apache.tools.todo.types.PathUtil; +import org.apache.myrmidon.framework.file.FileListUtil; /** * Class to precompile JSP's using weblogic's jsp compiler (weblogic.jspc) @@ -190,7 +190,7 @@ public class WLJspc extends MatchingTask // Does not take the classpath from the env.... // Am i missing something about the Java task?? args[ j++ ] = "-classpath"; - args[ j++ ] = PathUtil.formatPath( compileClasspath, getContext() ); + args[ j++ ] = FileListUtil.formatPath( compileClasspath, getContext() ); this.scanDir( files ); getContext().info( "Compiling " + filesToDo.size() + " JSP files" ); diff --git a/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/jsp/compilers/DefaultCompilerAdapter.java b/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/jsp/compilers/DefaultCompilerAdapter.java index 98b6237cd..36d41efbc 100644 --- a/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/jsp/compilers/DefaultCompilerAdapter.java +++ b/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/jsp/compilers/DefaultCompilerAdapter.java @@ -11,8 +11,10 @@ import java.util.ArrayList; import java.util.Iterator; import org.apache.avalon.excalibur.util.StringUtil; import org.apache.myrmidon.api.TaskContext; +import org.apache.myrmidon.api.TaskException; import org.apache.tools.todo.taskdefs.jsp.JspC; import org.apache.tools.todo.types.Commandline; +import org.apache.tools.todo.util.FileUtils; /** * This is the default implementation for the CompilerAdapter interface. This is @@ -60,8 +62,10 @@ public abstract class DefaultCompilerAdapter protected void logAndAddFilesToCompile( JspC jspc, ArrayList compileList, Commandline cmd ) + throws TaskException { - getTaskContext().debug( "Compilation args: " + cmd.toString() ); + final String[] args = cmd.getArguments(); + getTaskContext().debug( "Compilation args: " + FileUtils.formatCommandLine( args ) ); StringBuffer niceSourceList = new StringBuffer( "File" ); if( compileList.size() != 1 ) diff --git a/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/jsp/compilers/JasperC.java b/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/jsp/compilers/JasperC.java index faf4b8d39..3b5aa2aba 100644 --- a/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/jsp/compilers/JasperC.java +++ b/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/jsp/compilers/JasperC.java @@ -9,6 +9,7 @@ package org.apache.tools.todo.taskdefs.jsp.compilers; import org.apache.myrmidon.api.TaskException; import org.apache.myrmidon.api.TaskContext; +import org.apache.myrmidon.framework.java.ExecuteJava; import org.apache.antlib.java.JavaTask; import org.apache.tools.todo.taskdefs.jsp.JspC; import org.apache.tools.todo.types.Argument; @@ -30,47 +31,28 @@ public class JasperC throws TaskException { getTaskContext().debug( "Using jasper compiler" ); - Commandline cmd = setupJasperCommand(); - try + final ExecuteJava exe = new ExecuteJava(); + exe.setClassName( "org.apache.jasper.JspC" ); + if( getJspc().getClasspath() != null ) { - // Create an instance of the compiler, redirecting output to - // the project log - //FIXME - JavaTask java = null;//(Java)( getJspc().getProject() ).createTask( "java" ); - if( getJspc().getClasspath() != null ) - { - java.addClasspath( getJspc().getClasspath() ); - } - java.setClassname( "org.apache.jasper.JspC" ); - String args[] = cmd.getArguments(); - for( int i = 0; i < args.length; i++ ) - { - java.addArg( new Argument( args[ i ] ) ); - } - java.execute(); - return true; - } - catch( Exception ex ) - { - if( ex instanceof TaskException ) - { - throw (TaskException)ex; - } - else - { - throw new TaskException( "Error running jsp compiler: ", - ex ); - } + exe.getClassPath().add( getJspc().getClasspath() ); } + + setupJasperCommand( exe.getArguments() ); + + // Create an instance of the compiler, redirecting output to + // the project log + exe.execute( getTaskContext() ); + return true; } /* * ------------------------------------------------------------ */ - private Commandline setupJasperCommand() + private void setupJasperCommand( final Commandline cmd ) + throws TaskException { - Commandline cmd = new Commandline(); JspC jspc = getJspc(); if( jspc.getDestdir() != null ) { @@ -106,9 +88,5 @@ public class JasperC cmd.addArgument( jspc.getUribase().toString() ); } logAndAddFilesToCompile( getJspc(), getJspc().getCompileList(), cmd ); - return cmd; } - /* - * ------------------------------------------------------------ - */ } diff --git a/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/junit/JUnitTask.java b/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/junit/JUnitTask.java index 77baeb3ef..ac4aabadb 100644 --- a/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/junit/JUnitTask.java +++ b/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/junit/JUnitTask.java @@ -19,13 +19,13 @@ import org.apache.myrmidon.api.AbstractTask; import org.apache.myrmidon.api.TaskContext; import org.apache.myrmidon.api.TaskException; import org.apache.myrmidon.framework.file.Path; +import org.apache.myrmidon.framework.file.FileListUtil; import org.apache.myrmidon.framework.java.ExecuteJava; import org.apache.tools.todo.types.Argument; import org.apache.tools.todo.types.Commandline; import org.apache.tools.todo.types.EnumeratedAttribute; import org.apache.tools.todo.types.EnvironmentData; import org.apache.tools.todo.types.EnvironmentVariable; -import org.apache.tools.todo.types.PathUtil; import org.apache.tools.todo.types.SysProperties; /** @@ -640,7 +640,7 @@ public class JUnitTask extends AbstractTask try { getContext().debug( "Using System properties " + System.getProperties() ); - final ClassLoader classLoader = PathUtil.createClassLoader( classPath, getContext() ); + final ClassLoader classLoader = FileListUtil.createClassLoader( classPath, getContext() ); runner = new JUnitTestRunner( test, test.getHaltonerror(), diff --git a/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/metamata/MAudit.java b/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/metamata/MAudit.java index 98077d49f..7add67e6c 100644 --- a/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/metamata/MAudit.java +++ b/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/metamata/MAudit.java @@ -11,7 +11,7 @@ import java.io.File; import java.util.ArrayList; import org.apache.myrmidon.api.TaskException; import org.apache.myrmidon.framework.file.Path; -import org.apache.tools.todo.types.PathUtil; +import org.apache.myrmidon.framework.file.FileListUtil; /** * Metamata Audit evaluates Java code for programming errors, weaknesses, and @@ -129,7 +129,7 @@ public class MAudit // don't forget to modify the pattern if you change the options reporting classpath.add( getClassPath() ); - final String formattedClasspath = PathUtil.formatPath( classpath, getContext() ); + final String formattedClasspath = FileListUtil.formatPath( classpath, getContext() ); if( formattedClasspath.length() > 0 ) { options.add( "-classpath" ); @@ -162,7 +162,7 @@ public class MAudit if( m_unused ) { options.add( "-unused" ); - options.add( PathUtil.formatPath( m_searchPath, getContext() ) ); + options.add( FileListUtil.formatPath( m_searchPath, getContext() ) ); } addAllArrayList( options, getIncludedFiles().keySet().iterator() ); return options; diff --git a/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/metamata/MMetrics.java b/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/metamata/MMetrics.java index 1000f671b..40a057f5c 100644 --- a/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/metamata/MMetrics.java +++ b/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/metamata/MMetrics.java @@ -15,7 +15,7 @@ import java.util.ArrayList; import org.apache.myrmidon.api.TaskException; import org.apache.tools.todo.taskdefs.exec.ExecuteStreamHandler; import org.apache.myrmidon.framework.file.Path; -import org.apache.tools.todo.types.PathUtil; +import org.apache.myrmidon.framework.file.FileListUtil; /** * Calculates global complexity and quality metrics on Java source code. You @@ -132,7 +132,7 @@ public class MMetrics extends AbstractMetamataTask // don't forget to modify the pattern if you change the options reporting classpath.add( getClassPath() ); - final String formattedClasspath = PathUtil.formatPath( classpath, getContext() ); + final String formattedClasspath = FileListUtil.formatPath( classpath, getContext() ); if( formattedClasspath.length() > 0 ) { options.add( "-classpath" ); diff --git a/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/metamata/MParse.java b/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/metamata/MParse.java index 791a6874c..5eeaa7f62 100644 --- a/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/metamata/MParse.java +++ b/proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/metamata/MParse.java @@ -19,7 +19,7 @@ import org.apache.myrmidon.api.TaskException; import org.apache.myrmidon.framework.java.ExecuteJava; import org.apache.tools.todo.types.Argument; import org.apache.myrmidon.framework.file.Path; -import org.apache.tools.todo.types.PathUtil; +import org.apache.aut.nativelib.PathUtil; /** * Simple Metamata MParse task based on the original written by 0 ) { params.addArgument( "-classpath" ); diff --git a/proposal/myrmidon/src/todo/org/apache/tools/todo/types/Commandline.java b/proposal/myrmidon/src/todo/org/apache/tools/todo/types/Commandline.java index 5cf951284..f754805c3 100644 --- a/proposal/myrmidon/src/todo/org/apache/tools/todo/types/Commandline.java +++ b/proposal/myrmidon/src/todo/org/apache/tools/todo/types/Commandline.java @@ -152,14 +152,4 @@ public class Commandline addArgument( parts[ i ] ); } } - - public int size() - { - return getCommandline().length; - } - - public String toString() - { - return StringUtil.join( getCommandline(), " " ); - } }