org.apache.tools.ant.taskdefs.rmic
Class ForkingSunRmic

java.lang.Object
  extended by org.apache.tools.ant.taskdefs.rmic.DefaultRmicAdapter
      extended by org.apache.tools.ant.taskdefs.rmic.ForkingSunRmic
All Implemented Interfaces:
RmicAdapter
Direct Known Subclasses:
XNewRmic

public class ForkingSunRmic
extends DefaultRmicAdapter

This is an extension of the sun rmic compiler, which forks rather than executes it inline. Why so? Because rmic is dog slow, but if you fork the compiler you can have multiple copies compiling different bits of your project at the same time. Which, on a multi-cpu system results in significant speedups. Also, Java1.6 behaves oddly with -XNew, so we switch it on here if needed.

Since:
ant1.7

Field Summary
static java.lang.String COMPILER_NAME
          the name of this adapter for users to select
 
Fields inherited from class org.apache.tools.ant.taskdefs.rmic.DefaultRmicAdapter
RMI_SKEL_SUFFIX, RMI_STUB_SUFFIX, RMI_TIE_SUFFIX, STUB_1_1, STUB_1_2, STUB_COMPAT
 
Constructor Summary
ForkingSunRmic()
           
 
Method Summary
 boolean execute()
          exec by creating a new command
protected  java.lang.String getExecutableName()
          Override point.
 
Methods inherited from class org.apache.tools.ant.taskdefs.rmic.DefaultRmicAdapter
getClasspath, getCompileClasspath, getMapper, getRmic, getSkelClassSuffix, getStubClassSuffix, getTieClassSuffix, logAndAddFilesToCompile, setRmic, setupRmicCommand, setupRmicCommand
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

COMPILER_NAME

public static final java.lang.String COMPILER_NAME
the name of this adapter for users to select

See Also:
Constant Field Values
Constructor Detail

ForkingSunRmic

public ForkingSunRmic()
Method Detail

execute

public boolean execute()
                throws BuildException
exec by creating a new command

Returns:
true if the command ran successfully
Throws:
BuildException - on error

getExecutableName

protected java.lang.String getExecutableName()
Override point.

Returns:
the executable name.