Class AntCorePlugin

java.lang.Object
org.eclipse.core.runtime.Plugin
org.eclipse.ant.core.AntCorePlugin
All Implemented Interfaces:
BundleActivator

public class AntCorePlugin extends Plugin
The plug-in runtime class for the Ant Core plug-in. Clients may not instantiate or subclass this class.
Restriction:
This class is not intended to be subclassed by clients.
Restriction:
This class is not intended to be instantiated by clients.
  • Field Details

    • INTERNAL_ERROR

      public static final int INTERNAL_ERROR
      Status code indicating an unexpected internal error.
      Since:
      2.1
      See Also:
    • PI_ANTCORE

      public static final String PI_ANTCORE
      Unique identifier constant (value "org.eclipse.ant.core") for the Ant Core plug-in.
      See Also:
    • PT_TASKS

      public static final String PT_TASKS
      Simple identifier constant (value "antTasks") for the Ant tasks extension point.
      See Also:
    • PT_EXTRA_CLASSPATH

      public static final String PT_EXTRA_CLASSPATH
      Simple identifier constant (value "extraClasspathEntries") for the extra classpath entries extension point.
      See Also:
    • PT_TYPES

      public static final String PT_TYPES
      Simple identifier constant (value "antTypes") for the Ant types extension point.
      See Also:
    • PT_PROPERTIES

      public static final String PT_PROPERTIES
      Simple identifier constant (value "antProperties") for the Ant properties extension point.
      Since:
      3.0
      See Also:
    • ANT_BUILDFILE_CONTENT_TYPE

      public static final String ANT_BUILDFILE_CONTENT_TYPE
      Simple identifier constant (value "org.eclipse.ant.core.antBuildFile") for the content type of an Ant BuildFile
      Since:
      3.0
      See Also:
    • CLASS

      public static final String CLASS
      Simple identifier constant (value "class") of a tag that appears in Ant extensions.
      See Also:
    • NAME

      public static final String NAME
      Simple identifier constant (value "name") of a tag that appears in Ant extensions.
      See Also:
    • LIBRARY

      public static final String LIBRARY
      Simple identifier constant (value "library") of a tag that appears in Ant extensions.
      See Also:
    • HEADLESS

      public static final String HEADLESS
      Simple identifier constant (value "headless") of a tag that appears in Ant extensions.
      Since:
      2.1
      See Also:
    • ECLIPSE_RUNTIME

      public static final String ECLIPSE_RUNTIME
      Simple identifier constant (value "eclipseRuntime") of a tag that appears in Ant extensions.
      Since:
      3.0
      See Also:
    • URI

      public static final String URI
      Simple identifier constant (value "uri") of a tag that appears in Ant extensions.
      Since:
      3.2
      See Also:
    • VALUE

      public static final String VALUE
      Simple identifier constant (value "value") of a tag that appears in Ant extensions.
      Since:
      3.0
      See Also:
    • ECLIPSE_PROGRESS_MONITOR

      public static final String ECLIPSE_PROGRESS_MONITOR
      Key to access the IProgressMonitor reference. When a progress monitor is passed to the AntRunner.run(IProgressMonitor) method, the object is available as a reference for the current Ant project.
      See Also:
    • ERROR_RUNNING_BUILD

      public static final int ERROR_RUNNING_BUILD
      Status code indicating an error occurred running a build.
      Since:
      2.1
      See Also:
    • ERROR_MALFORMED_URL

      public static final int ERROR_MALFORMED_URL
      Status code indicating an error occurred due to a malformed URL.
      Since:
      2.1
      See Also:
    • ERROR_LIBRARY_NOT_SPECIFIED

      public static final int ERROR_LIBRARY_NOT_SPECIFIED
      Status code indicating an error occurred as a library was not specified
      Since:
      2.1
      See Also:
  • Constructor Details

    • AntCorePlugin

      public AntCorePlugin()
      Constructs an instance of this plug-in runtime class.

      An instance of this plug-in runtime class is automatically created when the facilities provided by the Ant Core plug-in are required. Clients must never explicitly instantiate a plug-in runtime class.

      Since:
      3.1
  • Method Details

    • stop

      public void stop(BundleContext context) throws Exception
      Description copied from class: Plugin
      Stops this plug-in.

      This method should be re-implemented in subclasses that need to do something when the plug-in is shut down. Implementors should call the inherited method as late as possible to ensure that any system requirements can be met.

      Plug-in shutdown code should be robust. In particular, this method should always make an effort to shut down the plug-in. Furthermore, the code should not assume that the plug-in was started successfully.

      Note 1: If a plug-in has been automatically started, this method will be automatically invoked by the platform when the platform is shut down.

      Note 2: This method is intended to perform simple termination of the plug-in environment. The platform may terminate invocations that do not complete in a timely fashion.

      Note 3: The supplied bundle context represents the plug-in to the OSGi framework. For security reasons, it is strongly recommended that this object should not be divulged.

      Note 4: This method and the Plugin.start(BundleContext) may be called from separate threads, but the OSGi framework ensures that both methods will not be called simultaneously.

      Clients must never explicitly call this method.
      Specified by:
      stop in interface BundleActivator
      Overrides:
      stop in class Plugin
      Parameters:
      context - the bundle context for this plug-in
      Throws:
      Exception - if this method fails to shut down this plug-in
      Since:
      3.1
    • start

      public void start(BundleContext context) throws Exception
      Description copied from class: Plugin
      Starts up this plug-in.

      This method should be overridden in subclasses that need to do something when this plug-in is started. Implementors should call the inherited method at the first possible point to ensure that any system requirements can be met.

      If this method throws an exception, it is taken as an indication that plug-in initialization has failed; as a result, the plug-in will not be activated; moreover, the plug-in will be marked as disabled and ineligible for activation for the duration.

      Note 1: This method is automatically invoked by the platform the first time any code in the plug-in is executed.

      Note 2: This method is intended to perform simple initialization of the plug-in environment. The platform may terminate initializers that do not complete in a timely fashion.

      Note 3: The class loader typically has monitors acquired during invocation of this method. It is strongly recommended that this method avoid synchronized blocks or other thread locking mechanisms, as this would lead to deadlock vulnerability.

      Note 4: The supplied bundle context represents the plug-in to the OSGi framework. For security reasons, it is strongly recommended that this object should not be divulged.

      Note 5: This method and the Plugin.stop(BundleContext) may be called from separate threads, but the OSGi framework ensures that both methods will not be called simultaneously.

      Clients must never explicitly call this method.
      Specified by:
      start in interface BundleActivator
      Overrides:
      start in class Plugin
      Parameters:
      context - the bundle context for this plug-in
      Throws:
      Exception - if this plug-in did not start up properly
      Since:
      3.1
    • getPreferences

      public AntCorePreferences getPreferences()
      Returns an object representing this plug-in's preferences.
      Returns:
      the Ant core object representing the preferences for this plug-in.
    • setRunningHeadless

      public void setRunningHeadless(boolean headless)
      Set this plug-in's preferences for running headless based on the headless parameter. This method is public for testing purposes only. It should not be called outside of the Ant integration framework.
      Parameters:
      headless - Whether or not to mark that the plug-in is running headless or not
    • getPlugin

      public static AntCorePlugin getPlugin()
      Returns this plug-in instance.
      Returns:
      the single instance of this plug-in runtime class
    • getNewClassLoader

      public ClassLoader getNewClassLoader()
      Returns a new class loader to use when executing Ant builds.
      Returns:
      the new class loader
    • getNewClassLoader

      public URLClassLoader getNewClassLoader(URL[] urls)
      Returns a new class loader to use when executing Ant builds.
      Parameters:
      urls - the URLs that define the classpath of the new classloader
      Returns:
      the new class loader
      Since:
      3.1
    • getNewClassLoader

      public ClassLoader getNewClassLoader(boolean allowLoading)
      Returns a new class loader to use when executing Ant builds or other applications such as parsing or code proposal determination.
      Parameters:
      allowLoading - whether to allow plug-in classloaders associated with the new classloader to load Apache Ant classes or resources.
      Returns:
      the new class loader
    • getNewClassLoader

      public URLClassLoader getNewClassLoader(boolean allowLoading, URL[] urls)
      Returns a new class loader to use when executing Ant builds or other applications such as parsing or code proposal determination.
      Parameters:
      allowLoading - whether to allow plug-in classloaders associated with the new classloader to load Apache Ant classes or resources.
      urls - the URLs that define the classpath of the new classloader
      Returns:
      the new class loader
      Since:
      3.1
    • log

      public static void log(Throwable t)
      Logs the specified throwable with this plug-in's log.
      Parameters:
      t - throwable to log
      Since:
      2.1