org.eclipse.ant.core
Class AntRunner
java.lang.Object
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.
Methods inherited from class java.lang.
Object
|
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait
|
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
AntRunner
public AntRunner()
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
-
Guidelines for using Eclipse APIs.
Copyright (c) Eclipse contributors and others 2000, 2008. All rights reserved.