org.apache.tools.ant.taskdefs.rmic

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

      • 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.9.11
      • 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.