Class ForkingSunRmic

java.lang.Object
org.apache.tools.ant.taskdefs.rmic.DefaultRmicAdapter
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 Details

    • COMPILER_NAME

      public static final String COMPILER_NAME
      the name of this adapter for users to select
      See Also:
  • Constructor Details

    • ForkingSunRmic

      public ForkingSunRmic()
  • Method Details

    • areIiopAndIdlSupported

      protected boolean areIiopAndIdlSupported()
      Description copied from class: DefaultRmicAdapter
      Whether the iiop and idl switches are supported.

      This implementation returns false if running on Java 11 onwards and true otherwise.

      Overrides:
      areIiopAndIdlSupported in class DefaultRmicAdapter
      Returns:
      true if the iiop and idl switches are supported
      Since:
      Ant 1.10.3
    • 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 String getExecutableName()
      Override point.
      Returns:
      the executable name.