Examination and execution of Ant build scripts.
Utilities for examining and running Ant scripts.
Ways of influencing how Ant is run inside NetBeans.
The main uses of the Ant integration module are self-contained and do not interact directly with other modules: the user selects a target in an Ant script and runs it. Nonetheless, there are a few significant ways other modules can interact with this module:
Permits customization of the way Ant output is displayed.
Registering custom Ant task and type definitions (when these can be run inside the NetBeans JVM only). Typically used to add special tasks which somehow script the IDE, such as connecting the JPDA debugger to a process launched by Ant.
Permits additions to the default Ant classpath.
Examining cached and introspected data about which tasks and types are known to be defined in the user's Ant scripts, and what their design-time structure is. Used by XML code completion, for example.
Running named targets in specified Ant scripts. Can be used
by modules which provide a different UI for initiating Ant
ActionUtils provides a more convenient
wrapper around this functionality.
Added a method
AntTargetExecutor.Env.setUserActionto mark an execution as user / non-user.
The executions marked as user actions are registered in the UI support
org.netbeans.spi.project.ui.support.BuildExecutionSupport. By default the execution is an user action.
When the IDE is set to the automatic close tabs mode the tabs created by the previous
run of the
AntTargetExecutor are closed by successive run.
Added a support to override this behavior.
Added ability to hide property values. Such properties can be used to pass passwords from the IDE keyring to ant scripts.
TargetLister.Scriptis now returning information about parse exception
TargetLister.Script constructor is now returning information about parse exception, when parsing of document fails.
Added ability to get originating script for a
The principal use cases for the API are covered in the overall API architecture.
The sources for the module are in the NetBeans Mercurial repositories.
Read more about the implementation in the answers to architecture questions.