Browse Source

* Split up todo.types.PathUtil.

- Moved generic formatting to aut.nativelib.PathUtil.
  - Moved FileList util methods to framework.file.FileListUtil.
  - Moved addExtDirs() to DefaultCompilerAdaptor.
  - myrmidon.components.* no longer depend on todo.*

* Removed all usages of Commandline.toString(), size() and getCommandline(),
  excluding Execute.


git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@272268 13f79535-47bb-0310-9956-ffa450edef68
master
adammurdoch 23 years ago
parent
commit
248269dea4
37 changed files with 247 additions and 284 deletions
  1. +2
    -2
      proposal/myrmidon/src/java/org/apache/antlib/core/AbstractAvailableCondition.java
  2. +2
    -2
      proposal/myrmidon/src/java/org/apache/antlib/java/JavacAdaptor.java
  3. +2
    -2
      proposal/myrmidon/src/java/org/apache/antlib/java/JikesAdaptor.java
  4. +2
    -2
      proposal/myrmidon/src/java/org/apache/antlib/xml/XMLValidateTask.java
  5. +64
    -0
      proposal/myrmidon/src/java/org/apache/aut/nativelib/PathUtil.java
  6. +1
    -1
      proposal/myrmidon/src/java/org/apache/myrmidon/components/classloader/DefaultClassLoaderManager.java
  7. +1
    -1
      proposal/myrmidon/src/java/org/apache/myrmidon/framework/file/FileListToStringConverter.java
  8. +10
    -73
      proposal/myrmidon/src/java/org/apache/myrmidon/framework/file/FileListUtil.java
  9. +4
    -3
      proposal/myrmidon/src/java/org/apache/myrmidon/framework/java/ExecuteJava.java
  10. +2
    -2
      proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/IContract.java
  11. +8
    -5
      proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/Javah.java
  12. +2
    -2
      proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/Property.java
  13. +2
    -2
      proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/SQLExec.java
  14. +71
    -36
      proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/javac/DefaultCompilerAdapter.java
  15. +3
    -6
      proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/javac/Gcj.java
  16. +1
    -3
      proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/javac/JavacExternal.java
  17. +3
    -6
      proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/javac/Jikes.java
  18. +3
    -6
      proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/javac/Jvc.java
  19. +4
    -3
      proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/javac/Kjc.java
  20. +3
    -4
      proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/javac/Sj.java
  21. +0
    -1
      proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/javacc/JJTree.java
  22. +0
    -1
      proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/javacc/JavaCC.java
  23. +5
    -5
      proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/javadoc/Javadoc.java
  24. +2
    -2
      proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/jsp/WLJspc.java
  25. +5
    -1
      proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/jsp/compilers/DefaultCompilerAdapter.java
  26. +14
    -36
      proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/jsp/compilers/JasperC.java
  27. +2
    -2
      proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/junit/JUnitTask.java
  28. +3
    -3
      proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/metamata/MAudit.java
  29. +2
    -2
      proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/metamata/MMetrics.java
  30. +1
    -1
      proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/metamata/MParse.java
  31. +0
    -8
      proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/perforce/P4Base.java
  32. +2
    -11
      proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/pvcs/Pvcs.java
  33. +9
    -9
      proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/rmic/DefaultRmicAdapter.java
  34. +2
    -2
      proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/rmic/Rmic.java
  35. +8
    -27
      proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/rmic/WLRmic.java
  36. +2
    -2
      proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/sitraka/Coverage.java
  37. +0
    -10
      proposal/myrmidon/src/todo/org/apache/tools/todo/types/Commandline.java

+ 2
- 2
proposal/myrmidon/src/java/org/apache/antlib/core/AbstractAvailableCondition.java View File

@@ -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 );
}
}

+ 2
- 2
proposal/myrmidon/src/java/org/apache/antlib/java/JavacAdaptor.java View File

@@ -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() )
{


+ 2
- 2
proposal/myrmidon/src/java/org/apache/antlib/java/JikesAdaptor.java View File

@@ -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" );


+ 2
- 2
proposal/myrmidon/src/java/org/apache/antlib/xml/XMLValidateTask.java View File

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


+ 64
- 0
proposal/myrmidon/src/java/org/apache/aut/nativelib/PathUtil.java View File

@@ -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 <a href="mailto:peter@apache.org">Peter Donald</a>
* @author <a href="mailto:adammurdoch@apache.org">Adam Murdoch</a>
* @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();
}
}

+ 1
- 1
proposal/myrmidon/src/java/org/apache/myrmidon/components/classloader/DefaultClassLoaderManager.java View File

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


+ 1
- 1
proposal/myrmidon/src/java/org/apache/myrmidon/framework/file/FileListToStringConverter.java View File

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


proposal/myrmidon/src/todo/org/apache/tools/todo/types/PathUtil.java → proposal/myrmidon/src/java/org/apache/myrmidon/framework/file/FileListUtil.java View File

@@ -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 <a href="mailto:peter@apache.org">Peter Donald</a>
* @author <a href="mailto:adammurdoch@apache.org">Adam Murdoch</a>
* @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 );
}
}
}
}

+ 4
- 3
proposal/myrmidon/src/java/org/apache/myrmidon/framework/java/ExecuteJava.java View File

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


+ 2
- 2
proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/IContract.java View File

@@ -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() );


+ 8
- 5
proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/Javah.java View File

@@ -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&quot;
*/
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 );


+ 2
- 2
proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/Property.java View File

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


+ 2
- 2
proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/SQLExec.java View File

@@ -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();
}


+ 71
- 36
proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/javac/DefaultCompilerAdapter.java View File

@@ -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 );
}
}
}
}


+ 3
- 6
proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/javac/Gcj.java View File

@@ -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 )
{


+ 1
- 3
proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/javac/JavacExternal.java View File

@@ -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 );
}

}


+ 3
- 6
proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/javac/Jikes.java View File

@@ -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 );
}

}

+ 3
- 6
proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/javac/Jvc.java View File

@@ -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 );
}
}

+ 4
- 3
proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/javac/Kjc.java View File

@@ -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;
}
}


+ 3
- 4
proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/javac/Sj.java View File

@@ -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 );
}

}


+ 0
- 1
proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/javacc/JJTree.java View File

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


+ 0
- 1
proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/javacc/JavaCC.java View File

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


+ 5
- 5
proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/javadoc/Javadoc.java View File

@@ -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++ )
{


+ 2
- 2
proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/jsp/WLJspc.java View File

@@ -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" );


+ 5
- 1
proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/jsp/compilers/DefaultCompilerAdapter.java View File

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


+ 14
- 36
proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/jsp/compilers/JasperC.java View File

@@ -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;
}
/*
* ------------------------------------------------------------
*/
}

+ 2
- 2
proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/junit/JUnitTask.java View File

@@ -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(),


+ 3
- 3
proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/metamata/MAudit.java View File

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


+ 2
- 2
proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/metamata/MMetrics.java View File

@@ -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" );


+ 1
- 1
proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/metamata/MParse.java View File

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


+ 0
- 8
proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/perforce/P4Base.java View File

@@ -152,14 +152,6 @@ public abstract class P4Base
}
cmd.addLine( command );

String[] cmdline = cmd.getCommandline();
String cmdl = "";
for( int i = 0; i < cmdline.length; i++ )
{
cmdl += cmdline[ i ] + " ";
}

getContext().debug( "Execing " + cmdl );
if( handler == null )
{
handler = this;


+ 2
- 11
proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/pvcs/Pvcs.java View File

@@ -241,7 +241,6 @@ public class Pvcs
// Capture output
// build the command line from what we got the format is
final Commandline cmd = buildPCLICommand();
getContext().debug( "Executing " + cmd.toString() );

File tmp = null;

@@ -272,17 +271,9 @@ public class Pvcs
massagePCLI( tmp, fileList );
return fileList;
}
catch( final ParseException pe )
catch( final Exception e )
{
final String message = "Failed executing: " +
cmd.toString() + ". Exception: " + pe.getMessage();
throw new TaskException( message );
}
catch( final IOException ioe )
{
final String message = "Failed executing: " +
cmd.toString() + ". Exception: " + ioe.getMessage();
throw new TaskException( message );
throw new TaskException( "Failed execution.", e );
}
finally
{


+ 9
- 9
proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/rmic/DefaultRmicAdapter.java View File

@@ -14,8 +14,9 @@ import org.apache.myrmidon.api.TaskContext;
import org.apache.myrmidon.api.TaskException;
import org.apache.myrmidon.framework.FileNameMapper;
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;

/**
* This is the default implementation for the RmicAdapter interface. Currently,
@@ -106,10 +107,7 @@ public abstract class DefaultRmicAdapter

if( options != null )
{
for( int i = 0; i < options.length; i++ )
{
cmd.addArgument( options[ i ] );
}
cmd.addArguments( options );
}

Path classpath = getCompileClasspath();
@@ -120,11 +118,11 @@ public abstract class DefaultRmicAdapter
if( attributes.getExtdirs() != null )
{
cmd.addArgument( "-extdirs" );
cmd.addArgument( PathUtil.formatPath( attributes.getExtdirs(), getTaskContext() ) );
cmd.addArgument( FileListUtil.formatPath( attributes.getExtdirs(), getTaskContext() ) );
}

cmd.addArgument( "-classpath" );
cmd.addArgument( PathUtil.formatPath( classpath, getTaskContext() ) );
cmd.addArgument( FileListUtil.formatPath( classpath, getTaskContext() ) );

String stubVersion = attributes.getStubVersion();
if( null != stubVersion )
@@ -222,11 +220,13 @@ public abstract class DefaultRmicAdapter
*
* @param cmd Description of Parameter
*/
protected void logAndAddFilesToCompile( Commandline cmd )
protected void logAndAddFilesToCompile( final Commandline cmd )
throws TaskException
{
ArrayList compileList = attributes.getCompileList();

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 )


+ 2
- 2
proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/rmic/Rmic.java View File

@@ -15,9 +15,9 @@ import org.apache.avalon.excalibur.io.FileUtil;
import org.apache.myrmidon.api.TaskException;
import org.apache.myrmidon.framework.FileNameMapper;
import org.apache.myrmidon.framework.file.Path;
import org.apache.myrmidon.framework.file.FileListUtil;
import org.apache.tools.todo.taskdefs.MatchingTask;
import org.apache.tools.todo.types.DirectoryScanner;
import org.apache.tools.todo.types.PathUtil;
import org.apache.tools.todo.types.SourceFileScanner;

/**
@@ -483,7 +483,7 @@ public class Rmic extends MatchingTask
adapter.setRmic( this );

Path classpath = adapter.getClasspath();
loader = PathUtil.createClassLoader( classpath, getContext() );
loader = FileListUtil.createClassLoader( classpath, getContext() );

// scan base dirs to build up compile lists only if a
// specific classname is not given


+ 8
- 27
proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/rmic/WLRmic.java View File

@@ -10,6 +10,7 @@ package org.apache.tools.todo.taskdefs.rmic;
import java.lang.reflect.Method;
import org.apache.myrmidon.api.TaskException;
import org.apache.myrmidon.api.TaskContext;
import org.apache.myrmidon.framework.java.ExecuteJava;
import org.apache.tools.todo.types.Commandline;
import org.apache.tools.todo.taskdefs.rmic.DefaultRmicAdapter;

@@ -45,33 +46,13 @@ public class WLRmic extends DefaultRmicAdapter
throws TaskException
{
getTaskContext().debug( "Using WebLogic rmic" );
Commandline cmd = setupRmicCommand( new String[]{"-noexit"} );

try
{
// Create an instance of the rmic
Class c = Class.forName( "weblogic.rmic" );
Method doRmic = c.getMethod( "main",
new Class[]{String[].class} );
doRmic.invoke( null, new Object[]{cmd.getArguments()} );
return true;
}
catch( ClassNotFoundException ex )
{
throw new TaskException( "Cannot use WebLogic rmic, as it is not available" +
" A common solution is to set the environment variable" +
" CLASSPATH." );
}
catch( Exception ex )
{
if( ex instanceof TaskException )
{
throw (TaskException)ex;
}
else
{
throw new TaskException( "Error starting WebLogic rmic: ", ex );
}
}
final ExecuteJava exe = new ExecuteJava();
exe.setClassName( "weblogic.rmic" );
final Commandline cmd = setupRmicCommand( new String[]{"-noexit"} );
exe.getArguments().addArguments( cmd );

exe.execute( getTaskContext() );
return true;
}
}

+ 2
- 2
proposal/myrmidon/src/todo/org/apache/tools/todo/taskdefs/sitraka/Coverage.java View File

@@ -20,7 +20,7 @@ import org.apache.tools.todo.types.Argument;
import org.apache.tools.todo.types.Commandline;
import org.apache.tools.todo.types.FileSet;
import org.apache.myrmidon.framework.file.Path;
import org.apache.tools.todo.types.PathUtil;
import org.apache.aut.nativelib.PathUtil;

/**
* Convenient task to run Sitraka JProbe Coverage from Ant. Options are pretty
@@ -304,7 +304,7 @@ public class Coverage
params.addArguments( m_vmArgs );

// classpath
final String[] classpath = m_classpath.listFiles();
final String[] classpath = m_classpath.listFiles( getContext() );
if( classpath.length > 0 )
{
params.addArgument( "-classpath" );


+ 0
- 10
proposal/myrmidon/src/todo/org/apache/tools/todo/types/Commandline.java View File

@@ -152,14 +152,4 @@ public class Commandline
addArgument( parts[ i ] );
}
}

public int size()
{
return getCommandline().length;
}

public String toString()
{
return StringUtil.join( getCommandline(), " " );
}
}

Loading…
Cancel
Save