blob: cb404624a2afcb1d32d9b332e7469321d7e67046 [file] [log] [blame]
<html>
<!--
NO NO NO NO NO!
==============> DO NOT EDIT ME! <======================
AUTOMATICALLY GENERATED FROM APICHANGES.XML, DO NOT EDIT
SEE ant/api/doc/changes/apichanges.xml
-->
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>NetBeans Ant module API Changes by Date</title>
<link rel="stylesheet" href="prose.css" type="text/css">
<meta name="CATEGORY" content="OtherDevelopmentDoc">
<meta name="DESCRIPTION" content="A cross-indexed list of all changes made to the NetBeans Ant module APIs.">
</head>
<body>
<h1>Introduction</h1>
<p>This document lists changes made to the NetBeans
Ant module APIs. Please ask on the <code>nbdev@netbeans.org</code>
mailing list if you have any questions.</p>
<div>
<hr>
<h1>
<a name="list-all-apis">Index of APIs</a>
</h1>
<ul>
<li>
<a href="#general">Ant module APIs</a>
</li>
</ul>
<h1>
<a name="incompat-by-date">Incompatible changes by date</a>
</h1>
<p>Fuller descriptions of all changes can be found below (follow links).</p>
<p>Not all deprecations are listed here, assuming that the deprecated
APIs continue to essentially work. For a full deprecation list, please
consult the
<a href="deprecated-list.html">Javadoc</a>.</p>
<ul>
<li>(Oct 14 '06) <a href="#IntrospectedInfo.serializable"><code>IntrospectedInfo</code> no longer serializable</a>
</li>
<li>(May 11 '04) <a href="#AntProjectCookie.Serializable"><code>AntProjectCookie</code> no longer guaranteed serializable</a>
</li>
<li>(Jan 7 '04) <a href="#antlib.xml">Format of <code>ant/nblib/*.jar</code> changed to use <code>antlib.xml</code></a>
</li>
<li>(Jul 7 '03) <a href="#pluggable-ant">Redesign to support pluggable Ant installation</a>
</li>
</ul>
<h1>
<a name="all-by-date">All changes by date</a>
</h1>
<ul>
<li>(May 2 '17) <a href="#userExecution">Added a method to mark an execution as user / non-user into the <code>AntTargetExecutor.Env</code></a>
</li>
<li>(Apr 27 '17) <a href="#tabReplacePolicy">Added methods to override the default tab replacement policy into the <code>AntTargetExecutor.Env</code></a>
</li>
<li>(Oct 2 '13) <a href="#setConcealedProperties">Added <code>AntTargetExecutor.Env.setConcealedProperties</code></a>
</li>
<li>(Sep 26 '13) <a href="#returningParseException"><code>TargetLister.Script</code> is now returning information about parse exception</a>
</li>
<li>(Jan 18 '12) <a href="#originatingScript">Added <code>TargetLister.Target.getOriginatingScript</code></a>
</li>
<li>(Dec 15 '11) <a href="#AntSession.getProperties">Added <code>AntSession.getProperties</code></a>
</li>
<li>(Mar 16 '09) <a href="#AntSession.getIO">Added <code>AntSession.getIO</code></a>
</li>
<li>(Jun 12 '08) <a href="#AntScriptUtils">Added <code>AntScriptUtils</code></a>
</li>
<li>(Mar 6 '08) <a href="#AntEvent-references">Ant loggers can now inspect Ant reference objects</a>
</li>
<li>(Oct 14 '06) <a href="#IntrospectedInfo.serializable"><code>IntrospectedInfo</code> no longer serializable</a>
</li>
<li>(Jun 20 '06) <a href="#AutomaticExtraClasspathProvider.url.factory">Factory method to create AutomaticExtraClasspathProvider</a>
</li>
<li>(Mar 23 '05) <a href="#AntProjectDataLoader.actionsContext">Can now declaratively extend Ant context menu items</a>
</li>
<li>(Mar 21 '05) <a href="#ActionUtils.antIncludesList">Added antIncludesList (FileObject[] files, FileObject dir, boolean recursive) method </a>
</li>
<li>(Jun 11 '04) <a href="#AntLogger">Added Ant logging SPI</a>
</li>
<li>(Jun 3 '04) <a href="#TargetLister">Added <code>TargetLister</code></a>
</li>
<li>(May 11 '04) <a href="#AntProjectCookie.Serializable"><code>AntProjectCookie</code> no longer guaranteed serializable</a>
</li>
<li>(Apr 30 '04) <a href="#AntOutputStream.writeLine.URL"><code>AntOutputStream</code> should be passed <code>URL</code> not <code>FileObject</code></a>
</li>
<li>(Mar 21 '04) <a href="#ActionUtils">Added <code>ActionUtils</code></a>
</li>
<li>(Mar 16 '04) <a href="#AntOutputStream.formatMessage">Deprecated <code>AntOutputStream.formatMessage</code></a>
</li>
<li>(Mar 16 '04) <a href="#AutomaticExtraClasspathProvider">Added <code>AutomaticExtraClasspathProvider</code></a>
</li>
<li>(Jan 7 '04) <a href="#antlib.xml">Format of <code>ant/nblib/*.jar</code> changed to use <code>antlib.xml</code></a>
</li>
<li>(Nov 8 '03) <a href="#IntrospectedInfo.getTags"><code>IntrospectedInfo.getTags(String)</code> added</a>
</li>
<li>(Jul 7 '03) <a href="#pluggable-ant">Redesign to support pluggable Ant installation</a>
</li>
<li>(Jan 27 '03) <a href="#AntTargetExecutor">API for target execution was added</a>
</li>
<li>(Jan 27 '03) <a href="#AntOutputStream">SPI for parsing of output from Ant execution</a>
</li>
<li>(Jan 7 '03) <a href="#version-2.14"><code>IntrospectedInfo.getKnownInfo()</code> added</a>
</li>
<li>(Jun 27 '02) <a href="#issue-24213">ParseStatus cookie was added</a>
</li>
</ul>
<h1>
<a name="all-by-version">Changes by version</a>
</h1>
<p>
These API specification versions may be used to indicate that a module
requires a certain API feature in order to function. For example, if you
see here a feature you need which is labelled <samp>1.20</samp>, your
manifest should contain in its main attributes the line:
</p>
<pre>OpenIDE-Module-Module-Dependencies: org.apache.tools.ant.module/3 &gt; 1.20</pre>
<ul>
<li>
(3.85) <a href="#userExecution">Added a method to mark an execution as user / non-user into the <code>AntTargetExecutor.Env</code></a>
</li>
<li>
(3.84) <a href="#tabReplacePolicy">Added methods to override the default tab replacement policy into the <code>AntTargetExecutor.Env</code></a>
</li>
<li>
(3.73) <a href="#setConcealedProperties">Added <code>AntTargetExecutor.Env.setConcealedProperties</code></a>
</li>
<li>
(3.72) <a href="#returningParseException"><code>TargetLister.Script</code> is now returning information about parse exception</a>
</li>
<li>
(3.53) <a href="#originatingScript">Added <code>TargetLister.Target.getOriginatingScript</code></a>
</li>
<li>
(3.52) <a href="#AntSession.getProperties">Added <code>AntSession.getProperties</code></a>
</li>
<li>
(3.35) <a href="#AntSession.getIO">Added <code>AntSession.getIO</code></a>
</li>
<li>
(3.31) <a href="#AntScriptUtils">Added <code>AntScriptUtils</code></a>
</li>
<li>
(3.29) <a href="#AntEvent-references">Ant loggers can now inspect Ant reference objects</a>
</li>
<li>
(3.26) <a href="#IntrospectedInfo.serializable"><code>IntrospectedInfo</code> no longer serializable</a>
</li>
<li>
(3.26) <a href="#AutomaticExtraClasspathProvider.url.factory">Factory method to create AutomaticExtraClasspathProvider</a>
</li>
<li>
(3.17) <a href="#AntProjectDataLoader.actionsContext">Can now declaratively extend Ant context menu items</a>
</li>
<li>
(3.16) <a href="#ActionUtils.antIncludesList">Added antIncludesList (FileObject[] files, FileObject dir, boolean recursive) method </a>
</li>
<li>
(3.12) <a href="#AntLogger">Added Ant logging SPI</a>
</li>
<li>
(3.11) <a href="#TargetLister">Added <code>TargetLister</code></a>
</li>
<li>
(3.10) <a href="#AntProjectCookie.Serializable"><code>AntProjectCookie</code> no longer guaranteed serializable</a>
</li>
<li>
(3.10) <a href="#AntOutputStream.writeLine.URL"><code>AntOutputStream</code> should be passed <code>URL</code> not <code>FileObject</code></a>
</li>
<li>
(3.9) <a href="#ActionUtils">Added <code>ActionUtils</code></a>
</li>
<li>
(3.8) <a href="#AntOutputStream.formatMessage">Deprecated <code>AntOutputStream.formatMessage</code></a>
</li>
<li>
(3.8) <a href="#AutomaticExtraClasspathProvider">Added <code>AutomaticExtraClasspathProvider</code></a>
</li>
<li>
(3.6) <a href="#antlib.xml">Format of <code>ant/nblib/*.jar</code> changed to use <code>antlib.xml</code></a>
</li>
<li>
(3.3) <a href="#IntrospectedInfo.getTags"><code>IntrospectedInfo.getTags(String)</code> added</a>
</li>
<li>
(3.1) <a href="#pluggable-ant">Redesign to support pluggable Ant installation</a>
</li>
<li>
(2.15) <a href="#AntTargetExecutor">API for target execution was added</a>
</li>
<li>
(2.15) <a href="#AntOutputStream">SPI for parsing of output from Ant execution</a>
</li>
<li>
(2.14) <a href="#version-2.14"><code>IntrospectedInfo.getKnownInfo()</code> added</a>
</li>
<li>
(2.10) <a href="#issue-24213">ParseStatus cookie was added</a>
</li>
</ul>
<h1>
<a name="all-by-class">Changes by affected class</a>
</h1>
<h2>
<a name="org.apache.tools.ant.module.api.support.ActionUtils"><code><span style="color:gray">org.apache.tools.ant.module.api.support.</span>ActionUtils</code></a>
</h2><ul><li>(Oct 2 '13) <a href="#setConcealedProperties">Added <code>AntTargetExecutor.Env.setConcealedProperties</code></a>
</li>
<li>(Mar 21 '05) <a href="#ActionUtils.antIncludesList">Added antIncludesList (FileObject[] files, FileObject dir, boolean recursive) method </a>
</li>
<li>(Mar 21 '04) <a href="#ActionUtils">Added <code>ActionUtils</code></a>
</li></ul><h2>
<a name="org.apache.tools.ant.module.spi.AntEvent"><code><span style="color:gray">org.apache.tools.ant.module.spi.</span>AntEvent</code></a>
</h2><ul><li>(Mar 6 '08) <a href="#AntEvent-references">Ant loggers can now inspect Ant reference objects</a>
</li>
<li>(Jun 11 '04) <a href="#AntLogger">Added Ant logging SPI</a>
</li></ul><h2>
<a name="org.apache.tools.ant.module.spi.AntLogger"><code><span style="color:gray">org.apache.tools.ant.module.spi.</span>AntLogger</code></a>
</h2><ul><li>(Jun 11 '04) <a href="#AntLogger">Added Ant logging SPI</a>
</li></ul><h2>
<a name="org.apache.tools.ant.module.spi.AntOutputStream"><code><span style="color:gray">org.apache.tools.ant.module.spi.</span>AntOutputStream</code></a>
</h2><ul><li>(Jun 11 '04) <a href="#AntLogger">Added Ant logging SPI</a>
</li>
<li>(Apr 30 '04) <a href="#AntOutputStream.writeLine.URL"><code>AntOutputStream</code> should be passed <code>URL</code> not <code>FileObject</code></a>
</li>
<li>(Mar 16 '04) <a href="#AntOutputStream.formatMessage">Deprecated <code>AntOutputStream.formatMessage</code></a>
</li>
<li>(Jan 27 '03) <a href="#AntOutputStream">SPI for parsing of output from Ant execution</a>
</li></ul><h2>
<a name="org.apache.tools.ant.module.api.AntProjectCookie"><code><span style="color:gray">org.apache.tools.ant.module.api.</span>AntProjectCookie</code></a>
</h2><ul><li>(May 11 '04) <a href="#AntProjectCookie.Serializable"><code>AntProjectCookie</code> no longer guaranteed serializable</a>
</li>
<li>(Jun 27 '02) <a href="#issue-24213">ParseStatus cookie was added</a>
</li></ul><h2>
<a name="org.apache.tools.ant.module.api.support.AntScriptUtils"><code><span style="color:gray">org.apache.tools.ant.module.api.support.</span>AntScriptUtils</code></a>
</h2><ul><li>(Jun 12 '08) <a href="#AntScriptUtils">Added <code>AntScriptUtils</code></a>
</li></ul><h2>
<a name="org.apache.tools.ant.module.spi.AntSession"><code><span style="color:gray">org.apache.tools.ant.module.spi.</span>AntSession</code></a>
</h2><ul><li>(Oct 2 '13) <a href="#setConcealedProperties">Added <code>AntTargetExecutor.Env.setConcealedProperties</code></a>
</li>
<li>(Dec 15 '11) <a href="#AntSession.getProperties">Added <code>AntSession.getProperties</code></a>
</li>
<li>(Mar 16 '09) <a href="#AntSession.getIO">Added <code>AntSession.getIO</code></a>
</li>
<li>(Jun 11 '04) <a href="#AntLogger">Added Ant logging SPI</a>
</li></ul><h2>
<a name="org.apache.tools.ant.module.api.AntTargetCookie"><code><span style="color:gray">org.apache.tools.ant.module.api.</span>AntTargetCookie</code></a>
</h2><ul><li>(Jul 7 '03) <a href="#pluggable-ant">Redesign to support pluggable Ant installation</a>
</li></ul><h2>
<a name="org.apache.tools.ant.module.api.AntTargetExecutor"><code><span style="color:gray">org.apache.tools.ant.module.api.</span>AntTargetExecutor</code></a>
</h2><ul><li>(May 2 '17) <a href="#userExecution">Added a method to mark an execution as user / non-user into the <code>AntTargetExecutor.Env</code></a>
</li>
<li>(Apr 27 '17) <a href="#tabReplacePolicy">Added methods to override the default tab replacement policy into the <code>AntTargetExecutor.Env</code></a>
</li>
<li>(Oct 2 '13) <a href="#setConcealedProperties">Added <code>AntTargetExecutor.Env.setConcealedProperties</code></a>
</li>
<li>(Jan 27 '03) <a href="#AntTargetExecutor">API for target execution was added</a>
</li></ul><h2>
<a name="org.apache.tools.ant.module.spi.AutomaticExtraClasspathProvider"><code><span style="color:gray">org.apache.tools.ant.module.spi.</span>AutomaticExtraClasspathProvider</code></a>
</h2><ul><li>(Jun 20 '06) <a href="#AutomaticExtraClasspathProvider.url.factory">Factory method to create AutomaticExtraClasspathProvider</a>
</li>
<li>(Mar 16 '04) <a href="#AutomaticExtraClasspathProvider">Added <code>AutomaticExtraClasspathProvider</code></a>
</li></ul><h2>
<a name="org.apache.tools.ant.module.api.DefinitionRegistry"><code><span style="color:gray">org.apache.tools.ant.module.api.</span>DefinitionRegistry</code></a>
</h2><ul><li>(Jul 7 '03) <a href="#pluggable-ant">Redesign to support pluggable Ant installation</a>
</li></ul><h2>
<a name="org.apache.tools.ant.module.api.IntrospectedInfo"><code><span style="color:gray">org.apache.tools.ant.module.api.</span>IntrospectedInfo</code></a>
</h2><ul><li>(Oct 14 '06) <a href="#IntrospectedInfo.serializable"><code>IntrospectedInfo</code> no longer serializable</a>
</li>
<li>(Nov 8 '03) <a href="#IntrospectedInfo.getTags"><code>IntrospectedInfo.getTags(String)</code> added</a>
</li>
<li>(Jul 7 '03) <a href="#pluggable-ant">Redesign to support pluggable Ant installation</a>
</li>
<li>(Jan 7 '03) <a href="#version-2.14"><code>IntrospectedInfo.getKnownInfo()</code> added</a>
</li></ul><h2>
<a name="org.apache.tools.ant.module.api.support.TargetLister"><code><span style="color:gray">org.apache.tools.ant.module.api.support.</span>TargetLister</code></a>
</h2><ul><li>(Sep 26 '13) <a href="#returningParseException"><code>TargetLister.Script</code> is now returning information about parse exception</a>
</li>
<li>(Jan 18 '12) <a href="#originatingScript">Added <code>TargetLister.Target.getOriginatingScript</code></a>
</li>
<li>(Jun 3 '04) <a href="#TargetLister">Added <code>TargetLister</code></a>
</li></ul><h2>
<a name="org.apache.tools.ant.module.spi.TaskStructure"><code><span style="color:gray">org.apache.tools.ant.module.spi.</span>TaskStructure</code></a>
</h2><ul><li>(Jun 11 '04) <a href="#AntLogger">Added Ant logging SPI</a>
</li></ul><hr>
<h1>
<a name="details-by-api">Details of all changes by API and date</a>
</h1>
<hr style="width:50%">
<h2>
<a name="general">Ant module APIs</a>
</h2>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="userExecution">Added a method to mark an execution as user / non-user into the <code>AntTargetExecutor.Env</code></a>
</h3>
<em>May 2 '17; API spec. version: 3.85; affected top-level classes: <a href="./org/apache/tools/ant/module/api/AntTargetExecutor.html"><code>AntTargetExecutor</code></a>; made by: tzezula</em>
<br>
<p>Added a method <code>AntTargetExecutor.Env.setUserAction</code>to mark an execution as user / non-user.
The executions marked as user actions are registered in the UI support
<code>org.netbeans.spi.project.ui.support.BuildExecutionSupport</code>. By default the execution is an user action.
</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="tabReplacePolicy">Added methods to override the default tab replacement policy into the <code>AntTargetExecutor.Env</code></a>
</h3>
<em>Apr 27 '17; API spec. version: 3.84; affected top-level classes: <a href="./org/apache/tools/ant/module/api/AntTargetExecutor.html"><code>AntTargetExecutor</code></a>; made by: tzezula</em>
<br>
<p>
When the IDE is set to the automatic close tabs mode the tabs created by the previous
run of the <code>AntTargetExecutor</code> are closed by successive run.
Added a support to override this behavior.
</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="setConcealedProperties">Added <code>AntTargetExecutor.Env.setConcealedProperties</code></a>
</h3>
<em>Oct 2 '13; API spec. version: 3.73; affected top-level classes: <a href="./org/apache/tools/ant/module/api/support/ActionUtils.html"><code>ActionUtils</code></a> <a href="./org/apache/tools/ant/module/api/AntTargetExecutor.html"><code>AntTargetExecutor</code></a> <a href="./org/apache/tools/ant/module/spi/AntSession.html"><code>AntSession</code></a>; made by: tzezula</em>
<br>
<p>
Added ability to hide property values. Such properties can
be used to pass passwords from the IDE keyring to ant scripts.
</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="returningParseException"><code>TargetLister.Script</code> is now returning information about parse exception</a>
</h3>
<em>Sep 26 '13; API spec. version: 3.72; affected top-level classes: <a href="./org/apache/tools/ant/module/api/support/TargetLister.html"><code>TargetLister</code></a>; made by: mkozeny; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=57677">
#57677</a></em>
<br>
<p>
<code>TargetLister.Script</code> constructor is now returning information about parse exception, when parsing of document fails.
</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="originatingScript">Added <code>TargetLister.Target.getOriginatingScript</code></a>
</h3>
<em>Jan 18 '12; API spec. version: 3.53; affected top-level classes: <a href="./org/apache/tools/ant/module/api/support/TargetLister.html"><code>TargetLister</code></a>; made by: jglick; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=207192">
#207192</a></em>
<br>
<p>
Added ability to get originating script for a <code>Target</code>.
</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="AntSession.getProperties">Added <code>AntSession.getProperties</code></a>
</h3>
<em>Dec 15 '11; API spec. version: 3.52; affected top-level classes: <a href="./org/apache/tools/ant/module/spi/AntSession.html"><code>AntSession</code></a>; made by: jglick; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=206161">
#206161</a></em>
<br>
<p>
Added ability to get user properties defined for a build.
</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="AntSession.getIO">Added <code>AntSession.getIO</code></a>
</h3>
<em>Mar 16 '09; API spec. version: 3.35; affected top-level classes: <a href="./org/apache/tools/ant/module/spi/AntSession.html"><code>AntSession</code></a>; made by: jglick; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=124366">
#124366</a></em>
<br>
<p>
Added ability to get the underlying <code>InputOutput</code>
object for advanced formatting.
</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="AntScriptUtils">Added <code>AntScriptUtils</code></a>
</h3>
<em>Jun 12 '08; API spec. version: 3.31; affected top-level classes: <a href="./org/apache/tools/ant/module/api/support/AntScriptUtils.html"><code>AntScriptUtils</code></a>; made by: jglick; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=136597">
#136597</a></em>
<br>
<p>
Added a new convenience class for getting some common information from Ant scripts.
</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="AntEvent-references">Ant loggers can now inspect Ant reference objects</a>
</h3>
<em>Mar 6 '08; API spec. version: 3.29; affected top-level classes: <a href="./org/apache/tools/ant/module/spi/AntEvent.html"><code>AntEvent</code></a>; made by: jglick; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=128778">
#128778</a></em>
<br>
<p>
The <code>AntEvent</code> methods <code>getProperty</code> and
<code>getPropertyNames</code> can now work with Ant references
as well as plain properties. This is critical for loggers which
wish to inspect e.g. the runtime value of a classpath given as:
</p>
<pre xml:space="preserve">&lt;classpath refid="my.cp"/&gt;</pre>
<p>
which otherwise would be inaccessible.
</p>
<br>
<strong>Compatibility: </strong>
<p>
Properties of the same name take precedence over references,
so only code which relied on a property name <em>not</em>
being set would see different behavior.
</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="IntrospectedInfo.serializable"><code>IntrospectedInfo</code> no longer serializable</a>
</h3>
<em>Oct 14 '06; API spec. version: 3.26; affected top-level classes: <a href="./org/apache/tools/ant/module/api/IntrospectedInfo.html"><code>IntrospectedInfo</code></a>; made by: jglick; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=87114">
#87114</a></em>
<br>
<p>
As part of a switch to the Preferences API, this class no longer needs
to be serialized.
</p>
<br>
<strong>Compatibility: </strong>
<p>
Any clients which were attempting to serialize <code>IntrospectedInfo</code>
objects will no longer be able to. No one should have been doing this to
begin with; the class was offered to API clients for inspection in a given
Ant session, but serialization was handled by the Ant module implementation.
</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="AutomaticExtraClasspathProvider.url.factory">Factory method to create AutomaticExtraClasspathProvider</a>
</h3>
<em>Jun 20 '06; API spec. version: 3.26; affected top-level classes: <a href="./org/apache/tools/ant/module/spi/AutomaticExtraClasspathProvider.html"><code>AutomaticExtraClasspathProvider</code></a>; made by: jtulach; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=77489">
#77489</a></em>
<br>
<p>
<code>AutomaticExtraClasspathProvider</code> can now be
created in a declarative way. So libraries that wish to
provide such Ant extension may just do it in declarative
way without depending on <code>AutomaticExtraClasspathProvider</code>
class.
</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="AntProjectDataLoader.actionsContext">Can now declaratively extend Ant context menu items</a>
</h3>
<em>Mar 23 '05; API spec. version: 3.17; made by: jglick</em>
<br>
<p>
You may now extend the Ant main node's context menu using the
layer context <code>Loaders/text/x-ant+xml/Actions</code>.
</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="ActionUtils.antIncludesList">Added antIncludesList (FileObject[] files, FileObject dir, boolean recursive) method </a>
</h3>
<em>Mar 21 '05; API spec. version: 3.16; affected top-level classes: <a href="./org/apache/tools/ant/module/api/support/ActionUtils.html"><code>ActionUtils</code></a>; made by: tzezula; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=51132">
#51132</a></em>
<br>
<p>
The current ActionUtils.antIncludeList (FileObject[] files, FileObject dir)
generates a recursive include list for directories. The API change introduces
new ActionUtils.antIncludeList (FileObject[] files, FileObject dir, boolean
recursive) which generates either recursive or non recursive include depending
on the value of the recursive parameter.
The old method is bridged into the new one.
</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="AntLogger">Added Ant logging SPI</a>
</h3>
<em>Jun 11 '04; API spec. version: 3.12; affected top-level classes: <a href="./org/apache/tools/ant/module/spi/AntLogger.html"><code>AntLogger</code></a> <a href="./org/apache/tools/ant/module/spi/AntSession.html"><code>AntSession</code></a> <a href="./org/apache/tools/ant/module/spi/AntEvent.html"><code>AntEvent</code></a> <a href="./org/apache/tools/ant/module/spi/TaskStructure.html"><code>TaskStructure</code></a> <a href="./org/apache/tools/ant/module/spi/AntOutputStream.html"><code>AntOutputStream</code></a>; made by: jglick; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=42525">
#42525</a></em>
<br>
<p>
Added a new SPI for influencing the logging behavior of Ant.
See Javadoc for details.
</p>
<br>
<strong>Compatibility: </strong>
<p>
<code>AntOutputStream</code> was obsoleted by this change.
</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="TargetLister">Added <code>TargetLister</code></a>
</h3>
<em>Jun 3 '04; API spec. version: 3.11; affected top-level classes: <a href="./org/apache/tools/ant/module/api/support/TargetLister.html"><code>TargetLister</code></a>; made by: jglick; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=21728">
#21728</a> <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=36320">
#36320</a> <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=42901">
#42901</a></em>
<br>
<p>
The <code>TargetLister</code> class was added to make it easier
to implement target-related UI without needing to duplicate logic
relating to <code>&lt;import&gt;</code>.
</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="AntProjectCookie.Serializable"><code>AntProjectCookie</code> no longer guaranteed serializable</a>
</h3>
<em>May 11 '04; API spec. version: 3.10; affected top-level classes: <a href="./org/apache/tools/ant/module/api/AntProjectCookie.html"><code>AntProjectCookie</code></a>; made by: jglick</em>
<br>
<p>
<code>AntProjectCookie</code> used to be serializable. This was
used to persist build script information associated with service
types. Now that these types are gone, the raison d'&ecirc;tre for the
serializability is also gone.
</p>
<br>
<strong>Compatibility: </strong>
<p>
Incompatible for anyone expecting to serialize them.
</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="AntOutputStream.writeLine.URL"><code>AntOutputStream</code> should be passed <code>URL</code> not <code>FileObject</code></a>
</h3>
<em>Apr 30 '04; API spec. version: 3.10; affected top-level classes: <a href="./org/apache/tools/ant/module/spi/AntOutputStream.html"><code>AntOutputStream</code></a>; made by: jglick; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=42666">
#42666</a></em>
<br>
<p>
Formerly <code>AntOutputStream</code> was passed a <code>FileObject</code>
parameter in <code>writeLine</code>. However that was potentially
inefficient as it required a <code>FileObject</code> to be created for
each hyperlink, if it was never activated. The former <code>writeLine</code>
method has been deprecated and subclasses should now override the new
variant that takes <code>URL</code> (and should return <code>true</code>).
</p>
<br>
<strong>Compatibility: </strong>
<p>
Old subclasses of <code>AntOutputStream</code> should continue
to work unmodified. But new subclasses which override the new
method taking URL must return <code>true</code> so that the
old method is not called. The old method is now non-final but
cannot be called. The new method is non-final but should be
treated as abstract.
</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="ActionUtils">Added <code>ActionUtils</code></a>
</h3>
<em>Mar 21 '04; API spec. version: 3.9; affected top-level classes: <a href="./org/apache/tools/ant/module/api/support/ActionUtils.html"><code>ActionUtils</code></a>; made by: jglick</em>
<br>
<p>
The utility class <code>ActionUtils</code> was added to help
implement actions based on Ant targets. Previously it was in
the Ant Project SPI.
</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="AntOutputStream.formatMessage">Deprecated <code>AntOutputStream.formatMessage</code></a>
</h3>
<em>Mar 16 '04; API spec. version: 3.8; affected top-level classes: <a href="./org/apache/tools/ant/module/spi/AntOutputStream.html"><code>AntOutputStream</code></a>; made by: jglick</em>
<br>
<p>
This method is no longer called due to changes in how Ant
output formatting is handled, so it is deprecated.
</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="AutomaticExtraClasspathProvider">Added <code>AutomaticExtraClasspathProvider</code></a>
</h3>
<em>Mar 16 '04; API spec. version: 3.8; affected top-level classes: <a href="./org/apache/tools/ant/module/spi/AutomaticExtraClasspathProvider.html"><code>AutomaticExtraClasspathProvider</code></a>; made by: jglick</em>
<br>
<p>
A new SPI interface
<code>AutomaticExtraClasspathProvider</code> was added in
order to make it possible to include bundled libraries such
as <code>junit.jar</code> in Ant's main classpath without
user intervention.
</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="antlib.xml">Format of <code>ant/nblib/*.jar</code> changed to use <code>antlib.xml</code></a>
</h3>
<em>Jan 7 '04; API spec. version: 3.6; made by: jglick; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=38306">
#38306</a></em>
<br>
<code>ant/nblib/*.jar</code> taskdef (or typedef) JARs must now
be named according to the code name base of the module, and must
define their tasks (or types etc.) using the standard
<code>antlib.xml</code> syntax rather than
<code>META-INF/taskdefs.properties</code> and/or
<code>META-INF/typedefs.properties</code>.
<br>
<strong>Compatibility: </strong>
Existing modules installing taskdef JARs in this directory must change their format.
The previous format was however introduced after NetBeans 3.5 in the trunk.
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3>
<a name="IntrospectedInfo.getTags"><code>IntrospectedInfo.getTags(String)</code> added</a>
</h3>
<em>Nov 8 '03; API spec. version: 3.3; affected top-level classes: <a href="./org/apache/tools/ant/module/api/IntrospectedInfo.html"><code>IntrospectedInfo</code></a>; made by: jglick; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=37111">
#37111</a></em>
<br>
<code>IntrospectedInfo</code> now keeps information about the tag values
represented by <code>EnumeratedAttribute</code> subclasses, so it is not
necessary to load the runtime class just for this information.
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3>
<a name="pluggable-ant">Redesign to support pluggable Ant installation</a>
</h3>
<em>Jul 7 '03; API spec. version: 3.1; affected top-level classes: <a href="./org/apache/tools/ant/module/api/IntrospectedInfo.html"><code>IntrospectedInfo</code></a> <code>org.apache.tools.ant.module.api.DefinitionRegistry</code> <code>org.apache.tools.ant.module.api.AntTargetCookie</code>; made by: jglick; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=20211">
#20211</a></em>
<br>
<p>
The Ant module was partially refactored to permit the actual Ant
installation to be user-selectable and modifiable at runtime, plus
to use an independent class loader with its own classpath for running
Ant in. This necessitated some structural changes in the public APIs.
</p>
<p>
Modules which registered automatic task definitions will need to be
changed to use the new API. Typically such tasks run only inside the
NetBeans VM, do not need a <samp>&lt;taskdef&gt;</samp>, and make use
of API calls into NetBeans modules. Other uses of the Ant module&mdash;for
example, calls to <code>AntTargetExecutor</code>&mdash;are unlikely to
be affected by the change.
</p>
<br>
<strong>Compatibility: </strong>
<p>
There are several incompatible changes here:
</p>
<ol>
<li>
<p>
All previously deprecated methods and classes were removed
as a cleanup measure.
</p>
</li>
<li>
<p>
Registration of VM-internal (NetBeans-specific) tasks changed.
Rather than using <code>DefinitionRegistry</code> and Lookup,
task JARs are placed in a well-known location.
</p>
</li>
<li>
<p>
Modules depending on the Ant module can no longer refer to
Ant classes directly, i.e. they are no longer exported from
the Ant module class loader.
</p>
</li>
<li>
<p>
<code>IntrospectedInfo.scanProject</code> changed its
parameter from <code>Project</code> to <code>Map</code>.
</p>
</li>
<li>
<p>
The major release version changed from 2 to 3. Modules which
are unaffected by the above changes may elect to depend on
either version: <samp>org.apache.tools.ant.module/2-3</samp>.
</p>
</li>
</ol>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="AntTargetExecutor">API for target execution was added</a>
</h3>
<em>Jan 27 '03; API spec. version: 2.15; affected top-level classes: <a href="./org/apache/tools/ant/module/api/AntTargetExecutor.html"><code>AntTargetExecutor</code></a>; made by: dkonecny</em>
<br>
AntTargetExecutor class for target execution was added. It has factory method
createTargetExecutor() which for the the given instance of AntTargetExecutor.Env creates
instance of AntTargetExecutor capable to execute list of targets from the Ant script
represented by AntProjectCookie. The AntTargetExecutor.Env class describes
environment which is used during the target execution.
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3>
<a name="AntOutputStream">SPI for parsing of output from Ant execution</a>
</h3>
<em>Jan 27 '03; API spec. version: 2.15; affected top-level classes: <a href="./org/apache/tools/ant/module/spi/AntOutputStream.html"><code>AntOutputStream</code></a>; made by: dkonecny</em>
<br>
AntOutputStream abstract class was added which simplifies handling and parsing
of output produced during the Ant script execution. It parses the output and if it
contains information in the form of <code>file_name : line_column : error_description</code>
it will parse the information and finds FileObject for the file_name.
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3>
<a name="version-2.14"><code>IntrospectedInfo.getKnownInfo()</code> added</a>
</h3>
<em>Jan 7 '03; API spec. version: 2.14; affected top-level classes: <a href="./org/apache/tools/ant/module/api/IntrospectedInfo.html"><code>IntrospectedInfo</code></a>; made by: jglick</em>
<br>
This new static convenience method gives you one info object containing
all tasks and types, both those built into Ant, and custom definitions
too.
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3>
<a name="issue-24213">ParseStatus cookie was added</a>
</h3>
<em>Jun 27 '02; API spec. version: 2.10; affected top-level classes: <a href="./org/apache/tools/ant/module/api/AntProjectCookie.html"><code>AntProjectCookie</code></a>; made by: dkonecny; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=24213">
#24213</a></em>
<br>
ParseStatus cookie which extends AntProjectCookie was added to API.
It permits queries of parse status.
</div>
</body>
</html>