public class AntRunner extends Object implements IPlatformRunnable
Modifier and Type | Field and Description |
---|---|
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 |
EXIT_OK, EXIT_RELAUNCH, EXIT_RESTART
Constructor and Description |
---|
AntRunner() |
Modifier and Type | Method and Description |
---|---|
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.
|
protected String buildFileLocation
protected List buildListeners
protected String[] targets
protected Map userProperties
protected int messageOutputLevel
protected String buildLoggerClassName
protected String inputHandlerClassName
protected String[] arguments
protected String[] propertyFiles
protected URL[] customClasspath
protected String antHome
public void setBuildFileLocation(String buildFileLocation)
buildFileLocation
- the file system location of the build filepublic void setMessageOutputLevel(int 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
level
- the message output levelpublic void setArguments(String arguments)
arguments
- the arguments to be passed to the buildpublic void setArguments(String[] arguments)
arguments
- the arguments to be passed to the buildpublic void setExecutionTargets(String[] executionTargets)
executionTargets
- which targets should be run and in which orderpublic void addBuildListener(String className)
className
is the class name of a 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
).className
- a build listener class namepublic void addBuildLogger(String className)
className
is the class name of a 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.className
- a build logger class namepublic void addUserProperties(Map properties)
properties
- a Map of user-defined propertiespublic TargetInfo[] getAvailableTargets() throws CoreException
CoreException
- Thrown if problem is encountered determining the targetsTargetInfo
public void run(IProgressMonitor monitor) throws CoreException
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.monitor
- a progress monitor, or null
if progress
reporting and cancellation are not desiredCoreException
- Thrown if a build is already occurring or if an exception occurs during the buildprotected void handleInvocationTargetException(Object runner, Class classInternalAntRunner, InvocationTargetException e) throws CoreException
CoreException
protected void problemLoadingClass(Throwable e) throws CoreException
CoreException
public void run() throws CoreException
CoreException
- Thrown if a build is already occurring or if an exception occurs during the buildpublic Object run(Object argArray) throws Exception
org.eclipse.ant.core.antRunner
as the application.
Sets the current threads context class loader to the AntClassLoader
for the duration of the build.run
in interface IPlatformRunnable
argArray
- the command line argumentsEXIT_OK
) indicating normal termination if no exception occursException
- if a problem occurred during the buildfile executionIPlatformRunnable.run(java.lang.Object)
public void setInputHandler(String className)
className
is the class name of a 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.className
- an input handler class namepublic void setPropertyFiles(String[] propertyFiles)
propertyFiles
- array of property file pathspublic void setCustomClasspath(URL[] customClasspath)
customClasspath
- array of URLs that define the custom classpathpublic void setAntHome(String antHome)
antHome
- String specifying the Ant home to usepublic static boolean isBuildRunning()
Guidelines for using Eclipse APIs. Copyright (c) IBM Corp. and others 2000, 2006. All rights reserved.