org.apache.tools.ant.taskdefs.rmic

Class ForkingSunRmic

Implemented Interfaces:
RmicAdapter
Known Direct 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 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

Method Summary

boolean
execute()
exec by creating a new command
protected 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

Field Details

COMPILER_NAME

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

Method Details

execute

public boolean execute()
            throws BuildException
exec by creating a new command
Specified by:
execute in interface RmicAdapter
Returns:
true if the command ran successfully
Throws:
BuildException - on error

getExecutableName

protected String getExecutableName()
Override point.
Returns:
the executable name.