blob: c6b26554bcedc6370b6d58cddcb02f47c4fba701 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<?xml-stylesheet href="../nbbuild/javadoctools/apichanges.xsl" type="text/xsl" ?>
<!DOCTYPE apichanges PUBLIC "-//NetBeans//DTD API changes list 1.0//EN"
"../nbbuild/javadoctools/apichanges.dtd">
<!--
INFO FOR PEOPLE ADDING CHANGES:
Check the DTD (apichanges.dtd) for details on the syntax. You do not
need to regenerate the HTML, this will be done periodically; just
change the XML. If you can, validate the XML against the DTD, if not
do not worry about it. Rough syntax of a change (several parts optional):
<change>
<api name="compiler"/>
<summary>Some brief description here, can use <b>XHTML</b></summary>
<version major="1" minor="99"/>
<date day="13" month="6" year="2001"/>
<author login="jrhacker"/>
<compatibility addition="yes"/>
<description>
The main description of the change here.
Again can use full <b>XHTML</b> as needed.
</description>
<class package="org.openide.compiler" name="DoWhatIWantCompiler"/>
<issue number="14309"/>
</change>
Also permitted elements: <package>, <branch>. <version> is API spec
version, recommended for all new changes. <compatibility> should say
if things were added/modified/deprecated/etc. and give all information
related to upgrading old code. List affected top-level classes and
link to issue numbers if applicable. See the DTD for more details.
Changes need not be in any particular order, they are sorted in various
ways by the stylesheet anyway.
Dates are assumed to mean "on the trunk". If you *also* make the same
change on a stabilization branch, use the <branch> tag to indicate this
and explain why the change was made on a branch in the <description>.
Please only change this file on the trunk! Rather: you can change it
on branches if you want, but these changes will be ignored; only the
trunk version of this file is important.
Deprecations do not count as incompatible, assuming that code using the
deprecated calls continues to see their documented behavior. But do
specify deprecation="yes" in <compatibility>.
This file is not a replacement for Javadoc: it is intended to list changes,
not describe the complete current behavior, for which ordinary documentation
is the proper place.
-->
<apichanges>
<!-- First, a list of API names you may use: -->
<apidefs>
<!-- Probably should not be used much: -->
<apidef name="general">Ant module APIs</apidef>
</apidefs>
<!-- ACTUAL CHANGES BEGIN HERE: -->
<changes>
<change id="setConcealedProperties">
<api name="general"/>
<summary>Added <code>AntTargetExecutor.Env.setConcealedProperties</code></summary>
<version major="3" minor="73"/>
<date year="2013" month="10" day="2"/>
<author login="tzezula"/>
<compatibility addition="yes"/>
<description>
<p>
Added ability to hide property values. Such properties can
be used to pass passwords from the IDE keyring to ant scripts.
</p>
</description>
<class package="org.apache.tools.ant.module.api.support" name="ActionUtils"/>
<class package="org.apache.tools.ant.module.api" name="AntTargetExecutor"/>
<class package="org.apache.tools.ant.module.spi" name="AntSession"/>
</change>
<change id="returningParseException">
<api name="general"/>
<summary><code>TargetLister.Script</code> is now returning information about parse exception</summary>
<version major="3" minor="72"/>
<date year="2013" month="9" day="26"/>
<author login="mkozeny"/>
<compatibility addition="yes"/>
<description>
<p>
<code>TargetLister.Script</code> constructor is now returning information about parse exception, when parsing of document fails.
</p>
</description>
<class package="org.apache.tools.ant.module.api.support" name="TargetLister"/>
<issue number="57677"/>
</change>
<change id="originatingScript">
<api name="general"/>
<summary>Added <code>TargetLister.Target.getOriginatingScript</code></summary>
<version major="3" minor="53"/>
<date year="2012" month="1" day="18"/>
<author login="jglick"/>
<compatibility addition="yes"/>
<description>
<p>
Added ability to get originating script for a <code>Target</code>.
</p>
</description>
<class package="org.apache.tools.ant.module.api.support" name="TargetLister"/>
<issue number="207192"/>
</change>
<change id="AntSession.getProperties">
<api name="general"/>
<summary>Added <code>AntSession.getProperties</code></summary>
<version major="3" minor="52"/>
<date year="2011" month="12" day="15"/>
<author login="jglick"/>
<compatibility addition="yes"/>
<description>
<p>
Added ability to get user properties defined for a build.
</p>
</description>
<class package="org.apache.tools.ant.module.spi" name="AntSession"/>
<issue number="206161"/>
</change>
<change id="AntSession.getIO">
<api name="general"/>
<summary>Added <code>AntSession.getIO</code></summary>
<version major="3" minor="35"/>
<date day="16" month="3" year="2009"/>
<author login="jglick"/>
<compatibility addition="yes"/>
<description>
<p>
Added ability to get the underlying <code>InputOutput</code>
object for advanced formatting.
</p>
</description>
<class package="org.apache.tools.ant.module.spi" name="AntSession"/>
<issue number="124366"/>
</change>
<change id="AntScriptUtils">
<api name="general"/>
<summary>Added <code>AntScriptUtils</code></summary>
<version major="3" minor="31"/>
<date day="12" month="6" year="2008"/>
<author login="jglick"/>
<compatibility addition="yes"/>
<description>
<p>
Added a new convenience class for getting some common information from Ant scripts.
</p>
</description>
<class package="org.apache.tools.ant.module.api.support" name="AntScriptUtils"/>
<issue number="136597"/>
</change>
<change id="AntEvent-references">
<api name="general"/>
<summary>Ant loggers can now inspect Ant reference objects</summary>
<version major="3" minor="29"/>
<date day="6" month="3" year="2008"/>
<author login="jglick"/>
<compatibility modification="yes" semantic="compatible">
<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>
</compatibility>
<description>
<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>&lt;classpath refid="my.cp"/&gt;</pre>
<p>
which otherwise would be inaccessible.
</p>
</description>
<class package="org.apache.tools.ant.module.spi" name="AntEvent"/>
<issue number="128778"/>
</change>
<change id="IntrospectedInfo.serializable">
<api name="general"/>
<summary><code>IntrospectedInfo</code> no longer serializable</summary>
<version major="3" minor="26"/>
<date day="14" month="10" year="2006"/>
<author login="jglick"/>
<compatibility deletion="yes" source="incompatible" binary="incompatible">
<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>
</compatibility>
<description>
<p>
As part of a switch to the Preferences API, this class no longer needs
to be serialized.
</p>
</description>
<class package="org.apache.tools.ant.module.api" name="IntrospectedInfo"/>
<issue number="87114"/>
</change>
<change id="AutomaticExtraClasspathProvider.url.factory">
<api name="general"/>
<summary>Factory method to create AutomaticExtraClasspathProvider</summary>
<version major="3" minor="26"/>
<date day="20" month="6" year="2006"/>
<author login="jtulach"/>
<compatibility addition="yes"/>
<description>
<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>
</description>
<class package="org.apache.tools.ant.module.spi" name="AutomaticExtraClasspathProvider"/>
<issue number="77489"/>
</change>
<change id="AntProjectDataLoader.actionsContext">
<api name="general"/>
<summary>Can now declaratively extend Ant context menu items</summary>
<version major="3" minor="17"/>
<date day="23" month="3" year="2005"/>
<author login="jglick"/>
<compatibility addition="yes"/>
<description>
<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>
</description>
</change>
<change id="ActionUtils.antIncludesList">
<api name="general"/>
<summary>Added antIncludesList (FileObject[] files, FileObject dir, boolean recursive) method </summary>
<version major="3" minor="16"/>
<date day="21" month="3" year="2005"/>
<author login="tzezula"/>
<compatibility addition="yes"/>
<description>
<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>
</description>
<class package="org.apache.tools.ant.module.api.support" name="ActionUtils"/>
<issue number="51132"/>
</change>
<change id="AntLogger">
<api name="general"/>
<summary>Added Ant logging SPI</summary>
<version major="3" minor="12"/>
<date day="11" month="6" year="2004"/>
<author login="jglick"/>
<compatibility deprecation="yes" addition="yes">
<p>
<code>AntOutputStream</code> was obsoleted by this change.
</p>
</compatibility>
<description>
<p>
Added a new SPI for influencing the logging behavior of Ant.
See Javadoc for details.
</p>
</description>
<class package="org.apache.tools.ant.module.spi" name="AntLogger"/>
<class package="org.apache.tools.ant.module.spi" name="AntSession"/>
<class package="org.apache.tools.ant.module.spi" name="AntEvent"/>
<class package="org.apache.tools.ant.module.spi" name="TaskStructure"/>
<class package="org.apache.tools.ant.module.spi" name="AntOutputStream"/>
<issue number="42525"/>
</change>
<change id="TargetLister">
<api name="general"/>
<summary>Added <code>TargetLister</code></summary>
<version major="3" minor="11"/>
<date day="3" month="6" year="2004"/>
<author login="jglick"/>
<compatibility addition="yes"/>
<description>
<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>
</description>
<class package="org.apache.tools.ant.module.api.support" name="TargetLister"/>
<issue number="21728"/>
<issue number="36320"/>
<issue number="42901"/>
</change>
<change id="AntProjectCookie.Serializable">
<api name="general"/>
<summary><code>AntProjectCookie</code> no longer guaranteed serializable</summary>
<version major="3" minor="10"/>
<date day="11" month="5" year="2004"/>
<author login="jglick"/>
<compatibility modification="yes" semantic="incompatible">
<p>
Incompatible for anyone expecting to serialize them.
</p>
</compatibility>
<description>
<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'être for the
serializability is also gone.
</p>
</description>
<class package="org.apache.tools.ant.module.api" name="AntProjectCookie"/>
</change>
<change id="AntOutputStream.writeLine.URL">
<api name="general"/>
<summary><code>AntOutputStream</code> should be passed <code>URL</code> not <code>FileObject</code></summary>
<version major="3" minor="10"/>
<date day="30" month="4" year="2004"/>
<author login="jglick"/>
<compatibility addition="yes" deprecation="yes" source="compatible" semantic="compatible">
<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>
</compatibility>
<description>
<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>
</description>
<class package="org.apache.tools.ant.module.spi" name="AntOutputStream"/>
<issue number="42666"/>
</change>
<change id="ActionUtils">
<api name="general"/>
<summary>Added <code>ActionUtils</code></summary>
<version major="3" minor="9"/>
<date day="21" month="3" year="2004"/>
<author login="jglick"/>
<compatibility addition="yes"/>
<description>
<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>
</description>
<class package="org.apache.tools.ant.module.api.support" name="ActionUtils"/>
</change>
<change id="AntOutputStream.formatMessage">
<api name="general"/>
<summary>Deprecated <code>AntOutputStream.formatMessage</code></summary>
<version major="3" minor="8"/>
<date day="16" month="3" year="2004"/>
<author login="jglick"/>
<compatibility deprecation="yes"/>
<description>
<p>
This method is no longer called due to changes in how Ant
output formatting is handled, so it is deprecated.
</p>
</description>
<class package="org.apache.tools.ant.module.spi" name="AntOutputStream"/>
</change>
<change id="AutomaticExtraClasspathProvider">
<api name="general"/>
<summary>Added <code>AutomaticExtraClasspathProvider</code></summary>
<version major="3" minor="8"/>
<date day="16" month="3" year="2004"/>
<author login="jglick"/>
<compatibility addition="yes"/>
<description>
<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>
</description>
<class package="org.apache.tools.ant.module.spi" name="AutomaticExtraClasspathProvider"/>
</change>
<change id="antlib.xml">
<api name="general"/>
<summary>Format of <code>ant/nblib/*.jar</code> changed to use <code>antlib.xml</code></summary>
<version major="3" minor="6"/>
<date day="7" month="1" year="2004"/>
<author login="jglick"/>
<compatibility semantic="incompatible" modification="yes">
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.
</compatibility>
<description>
<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>.
</description>
<issue number="38306"/>
</change>
<change>
<api name="general"/>
<summary>ParseStatus cookie was added</summary>
<version major="2" minor="10"/>
<date day="27" month="6" year="2002"/>
<author login="dkonecny"/>
<compatibility addition="yes"/>
<description>
ParseStatus cookie which extends AntProjectCookie was added to API.
It permits queries of parse status.
</description>
<class package="org.apache.tools.ant.module.api" name="AntProjectCookie"/>
<issue number="24213"/>
</change>
<change>
<api name="general"/>
<summary><code>IntrospectedInfo.getKnownInfo()</code> added</summary>
<version major="2" minor="14"/>
<date day="7" month="1" year="2003"/>
<author login="jglick"/>
<compatibility addition="yes" modification="yes"/>
<description>
This new static convenience method gives you one info object containing
all tasks and types, both those built into Ant, and custom definitions
too.
</description>
<class package="org.apache.tools.ant.module.api" name="IntrospectedInfo"/>
</change>
<change id="IntrospectedInfo.getTags">
<api name="general"/>
<summary><code>IntrospectedInfo.getTags(String)</code> added</summary>
<version major="3" minor="3"/>
<date day="8" month="11" year="2003"/>
<author login="jglick"/>
<compatibility addition="yes"/>
<description>
<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.
</description>
<class package="org.apache.tools.ant.module.api" name="IntrospectedInfo"/>
<issue number="37111"/>
</change>
<change id="AntTargetExecutor">
<api name="general"/>
<summary>API for target execution was added</summary>
<version major="2" minor="15"/>
<date day="27" month="1" year="2003"/>
<author login="dkonecny"/>
<compatibility addition="yes"/>
<description>
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.
</description>
<class package="org.apache.tools.ant.module.api" name="AntTargetExecutor"/>
</change>
<change id="AntOutputStream">
<api name="general"/>
<summary>SPI for parsing of output from Ant execution</summary>
<version major="2" minor="15"/>
<date day="27" month="1" year="2003"/>
<author login="dkonecny"/>
<compatibility addition="yes"/>
<description>
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.
</description>
<class package="org.apache.tools.ant.module.spi" name="AntOutputStream"/>
</change>
<change id="pluggable-ant">
<api name="general"/>
<summary>Redesign to support pluggable Ant installation</summary>
<version major="3" minor="1"/>
<date day="7" month="7" year="2003"/>
<author login="jglick"/>
<compatibility deletion="yes" modification="yes" binary="incompatible" source="incompatible" semantic="incompatible">
<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>
</compatibility>
<description>
<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>
</description>
<class package="org.apache.tools.ant.module.api" name="IntrospectedInfo"/>
<class package="org.apache.tools.ant.module.api" name="DefinitionRegistry" link="no"/>
<class package="org.apache.tools.ant.module.api" name="AntTargetCookie" link="no"/>
<issue number="20211"/>
</change>
</changes>
<!-- Now the surrounding HTML text and document structure: -->
<htmlcontents>
<!--
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>
<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/><standard-changelists module-code-name="org.apache.tools.ant.module/3"/>
</div>
</body>
</htmlcontents>
</apichanges>