Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Programming
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Databases
Mail Systems
openSolaris
Eclipse Documentation
Techotopia.com
Virtuatopia.com

How To Guides
Virtualization
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Windows
Problem Solutions
Privacy Policy

  




 

 


Eclipse Platform
Release 3.5

org.eclipse.ant.core
Class AntRunner

java.lang.Object
  extended by 
org.eclipse.ant.core.AntRunner
All Implemented Interfaces:
IApplication

public class AntRunner
extends Object
implements IApplication

Entry point for running Ant builds inside Eclipse (within the same JRE). Clients may instantiate this class; it is not intended to be subclassed.

Usage note:
Clients may use the addBuildListener, addBuildLogger and setInputHandler methods to configure classes that will be invoked during the build. When using these methods, it is necessary to package the classes in a jar that is not on the client plugin's classpath. The jar must be added to the Ant classpath. One way to add the jar to the Ant classpath is to use the org.eclipse.ant.core.extraClasspathEntries extension.

Refer to the "Platform Ant Support" chapter of the Programmer's Guide section in the Platform Plug-in Developer Guide for complete details.

Restriction:
This class is not intended to be subclassed by clients.

Field Summary
protected   String antHome
           
protected   String[] arguments
           
protected   String buildFileLocation
           
protected   List buildListeners
           
protected   String buildLoggerClassName
           
protected   URL[] customClasspath
           
protected   String inputHandlerClassName
           
protected  int messageOutputLevel
           
protected   String[] propertyFiles
           
protected   String[] targets
           
protected   Map userProperties
           
 
Fields inherited from interface org.eclipse.equinox.app. IApplication
EXIT_OK, EXIT_RELAUNCH, EXIT_RESTART
 
Constructor Summary
AntRunner ()
           
 
Method Summary
 void addBuildListener ( String className)
          Adds a build listener.
 void addBuildLogger ( String className)
          Sets the build logger.
 void addUserProperties ( Map properties)
          Adds user-defined properties.
  TargetInfo[] getAvailableTargets ()
          Returns the buildfile target information.
protected  void handleInvocationTargetException ( Object runner, Class classInternalAntRunner, InvocationTargetException e)
           
static boolean isBuildRunning ()
          Returns whether an Ant build is already in progress Only one Ant build can occur at any given time.
protected  void problemLoadingClass ( Throwable e)
           
 void run ()
          Runs the build file.
 void run ( IProgressMonitor monitor)
          Runs the build file.
  Object run ( Object argArray)
          Invokes the building of a project object and executes a build using either a given target or the default target.
 void setAntHome ( String antHome)
          Sets the Ant home to use for this build
 void setArguments ( String arguments)
          Sets the arguments to be passed to the build (e.g.
 void setArguments ( String[] arguments)
          Sets the arguments to be passed to the build (e.g.
 void setBuildFileLocation ( String buildFileLocation)
          Sets the build file location on the file system.
 void setCustomClasspath ( URL[] customClasspath)
          Sets the custom classpath to use for this build
 void setExecutionTargets ( String[] executionTargets)
          Sets the targets and execution order.
 void setInputHandler ( String className)
          Sets the input handler.
 void setMessageOutputLevel (int level)
          Set the message output level.
 void setPropertyFiles ( String[] propertyFiles)
          Sets the user specified property files.
  Object start ( IApplicationContext context)
          Invokes the building of a project object and executes a build using either a given target or the default target.
 void stop ()
          Forces this running application to exit.
 
Methods inherited from class java.lang. Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

buildFileLocation

protected 
String buildFileLocation

buildListeners

protected 
List buildListeners

targets

protected 
String[] targets

userProperties

protected 
Map userProperties

messageOutputLevel

protected int messageOutputLevel

buildLoggerClassName

protected 
String buildLoggerClassName

inputHandlerClassName

protected 
String inputHandlerClassName

arguments

protected 
String[] arguments

propertyFiles

protected 
String[] propertyFiles

customClasspath

protected 
URL[] customClasspath

antHome

protected 
String antHome
Constructor Detail

AntRunner

public AntRunner()
Method Detail

setBuildFileLocation

public void setBuildFileLocation(
String buildFileLocation)
Sets the build file location on the file system.

Parameters:
buildFileLocation - the file system location of the build file

setMessageOutputLevel

public void setMessageOutputLevel(int level)
Set the message output level.

Valid values are:

  • org.apache.tools.ant.Project.ERR,
  • org.apache.tools.ant.Project.WARN,
  • org.apache.tools.ant.Project.INFO,
  • org.apache.tools.ant.Project.VERBOSE or
  • org.apache.tools.ant.Project.DEBUG

Parameters:
level - the message output level

setArguments

public void setArguments(
String arguments)
Sets the arguments to be passed to the build (e.g. -Dos=win32 -Dws=win32 - verbose).

Parameters:
arguments - the arguments to be passed to the build

setArguments

public void setArguments(
String[] arguments)
Sets the arguments to be passed to the build (e.g. -Dos=win32 -Dws=win32 -verbose).

Parameters:
arguments - the arguments to be passed to the build
Since:
2.1

setExecutionTargets

public void setExecutionTargets(
String[] executionTargets)
Sets the targets and execution order.

Parameters:
executionTargets - which targets should be run and in which order

addBuildListener

public void addBuildListener(
String className)
Adds a build listener. The parameter className is the class name of an org.apache.tools.ant.BuildListener implementation. The class will be instantiated at runtime and the listener will be called on build events (org.apache.tools.ant.BuildEvent).

Refer to Usage Note for implementation details.

Parameters:
className - a build listener class name

addBuildLogger

public void addBuildLogger(
String className)
Sets the build logger. The parameter className is the class name of an org.apache.tools.ant.BuildLogger implementation. The class will be instantiated at runtime and the logger will be called on build events (org.apache.tools.ant.BuildEvent). Only one build logger is permitted for any build.

Refer to Usage Note for implementation details.

Parameters:
className - a build logger class name

addUserProperties

public void addUserProperties(
Map properties)
Adds user-defined properties. Keys and values must be String objects.

Parameters:
properties - a Map of user-defined properties

getAvailableTargets

public 
TargetInfo[] getAvailableTargets()
                                 throws 
CoreException
Returns the buildfile target information.

Returns:
an array containing the target information
Throws:
CoreException - Thrown if problem is encountered determining the targets
Since:
2.1
See Also:
TargetInfo

run

public void run(
IProgressMonitor monitor)
         throws 
CoreException
Runs the build file. If a progress monitor is specified it will be available during the script execution as a reference in the Ant Project (org.apache.tools.ant.Project.getReferences()). A long- running task could, for example, get the monitor during its execution and check for cancellation. The key value to retrieve the progress monitor instance is AntCorePlugin.ECLIPSE_PROGRESS_MONITOR. Only one build can occur at any given time. Sets the current threads context class loader to the AntClassLoader for the duration of the build.

Parameters:
monitor - a progress monitor, or null if progress reporting and cancellation are not desired
Throws:
CoreException - Thrown if a build is already occurring or if an exception occurs during the build

handleInvocationTargetException

protected void handleInvocationTargetException(
Object runner,
                                               
Class classInternalAntRunner,
                                               
InvocationTargetException e)
                                        throws 
CoreException
Throws:
CoreException

problemLoadingClass

protected void problemLoadingClass(
Throwable e)
                            throws 
CoreException
Throws:
CoreException

run

public void run()
         throws 
CoreException
Runs the build file.

Throws:
CoreException - Thrown if a build is already occurring or if an exception occurs during the build

run

public 
Object run(
Object argArray)
           throws 
Exception
Invokes the building of a project object and executes a build using either a given target or the default target. This method is called when running Eclipse headless and specifying org.eclipse.ant.core.antRunner as the application. Sets the current threads context class loader to the AntClassLoader for the duration of the build.

Parameters:
argArray - the command line arguments
Returns:
an exit object (EXIT_OK) indicating normal termination if no exception occurs
Throws:
Exception - if a problem occurred during the buildfile execution

setInputHandler

public void setInputHandler(
String className)
Sets the input handler. The parameter className is the class name of an org.apache.tools.ant.input.InputHandler implementation. The class will be instantiated at runtime and the input handler will be used to respond to <input> requests Only one input handler is permitted for any build.

Refer to Usage Note for implementation details.

Parameters:
className - an input handler class name
Since:
2.1

setPropertyFiles

public void setPropertyFiles(
String[] propertyFiles)
Sets the user specified property files.

Parameters:
propertyFiles - array of property file paths
Since:
2.1

setCustomClasspath

public void setCustomClasspath(
URL[] customClasspath)
Sets the custom classpath to use for this build

Parameters:
customClasspath - array of URLs that define the custom classpath

setAntHome

public void setAntHome(
String antHome)
Sets the Ant home to use for this build

Parameters:
antHome - String specifying the Ant home to use
Since:
2.1

isBuildRunning

public static boolean isBuildRunning()
Returns whether an Ant build is already in progress Only one Ant build can occur at any given time.

Returns:
boolean
Since:
2.1

start

public 
Object start(
IApplicationContext context)
             throws 
Exception
Invokes the building of a project object and executes a build using either a given target or the default target. This method is called when running Eclipse headless and specifying org.eclipse.ant.core.antRunner as the application. Sets the current threads context class loader to the AntClassLoader for the duration of the build.

Specified by:
start in interface IApplication
Parameters:
context - the context used to start the application
Returns:
an exit object (EXIT_OK) indicating normal termination if no exception occurs
Throws:
Exception - if a problem occurred during the buildfile execution
See Also:
IApplication.start(IApplicationContext)

stop

public void stop()
Description copied from interface: IApplication
Forces this running application to exit. This method should wait until the running application is ready to exit. The IApplication.start(IApplicationContext) should already have exited or should exit very soon after this method exits

This method is only called to force an application to exit. This method will not be called if an application exits normally from the IApplication.start(IApplicationContext) method.

Note: This method is called by the platform; it is not intended to be called directly by clients.

Specified by:
stop in interface IApplication

Eclipse Platform
Release 3.5

Guidelines for using Eclipse APIs.

Copyright (c) Eclipse contributors and others 2000, 2008. All rights reserved.


 
 
  Published under the terms of the Eclipse Public License Version 1.0 ("EPL") Design by Interspire