| Changes from Ant 1.5.4 to Ant 1.6 |
| ================================= |
| |
| Changes that could break older environments: |
| -------------------------------------------- |
| |
| * This version of Ant can not be built with JDK 1.1 and requires at |
| least Java 1.2 at runtime as well. Compiling for a 1.1 target is |
| still supported. |
| |
| * Targets cannot have the empty string as their name any longer. |
| |
| * ant.jar's manifest does no longer include a Class-Path entry, so it |
| is no longer possible to run Ant via "java -jar ant.jar" without |
| manually altering the CLASSPATH. Instead of that a file |
| ant-bootstrap.jar is included in the etc directory of the binary |
| distribution, copy this to the lib directory and use |
| "java -jar ant-bootstrap.jar" instead if you want to run Ant without |
| the wrapper script (not recommended). |
| |
| * The <script> task now requires Apache BSF instead of the older IBM |
| version. See <http://jakarta.apache.org/bsf/> |
| |
| * <xmlproperty> will no longer fail if the file to be loaded doesn't exist. |
| |
| * XML namespaces are now enabled in the XML parser, meaning XML namespace |
| declarations no longer cause errors. |
| |
| * The <ftp> and <telnet> tasks now require Jakarta Commons Net instead |
| of the older ORO Netcomponents version. See |
| <http://jakarta.apache.org/commons/net/index.html>. |
| |
| * <input> will no longer prompt the user and wait for input if the |
| addproperty attribute is set to a property that has already been |
| defined in the project. If you rely on the task waiting for input, |
| don't use the addproperty attribute. |
| |
| * The Class-Path attribute in manifests will no longer merge the |
| entries of all manifests found, but will be treated like all other |
| manifest attributes - the most recent attribute(s) will be used. |
| |
| * New Launch mechanism implemented. This moves some functionality from |
| the batch files / shell scripts into Java. This removes environment |
| limitations, for command issues, directory depth issues on Windows. Also |
| allows a per-user library location to be used if the main Ant install |
| is locked down. |
| |
| * The Entry nested element of PropertyFile will not any more have its value |
| attribute (actually increment) overwritten with the new value of the entry |
| after execution. |
| |
| * Output stored from a <java> or <exec> task is now exactly as generated. No |
| conversion to platform end-of-line characters is performed. |
| |
| * <translate> will now preserve line endings. |
| |
| * <ftp> followsymlinks="false" in nested fileset definitions is explicitly |
| required in order to exclude remote symbolic links (when doing a get, chmod, |
| delete, rmdir). |
| |
| * The values of the Copy#fileCopyMap variable has changed from String to |
| String[]. (In java 1.5 terms it was Hashtable<String, String> and |
| is now Hashtable<String, String[]>). This will affect third party code |
| that extend Copy and override Copy#doFileOperations. |
| |
| * <loadproperties> didn't expand properties while <property file="..."/> |
| does, so they were not equivalent. This has been fixed, which means |
| that propetries may get expanded twice if you use an |
| <expandproperties> filterreader. Bugzilla Report 17782. |
| |
| Fixed bugs: |
| ----------- |
| * Filter readers were not handling line endings properly. Bugzilla |
| Report 18476. |
| |
| * Filtersets were also not handling line endings properly. |
| |
| * Expand tasks did not behave as expected with PatternSets. |
| |
| * <property environment=... /> now works on OS/400. |
| |
| * <cab> could hang listcab on large <fileset>s. |
| |
| * The starteam stcheckout, stcheckin tasks now correctly compute |
| status of files against whatever local tree they are run against |
| and, optionally, will not process a file if it is current. |
| Previously you had to process everything unless you ran against the |
| default folder which wasn't the normal use-case for ant-starteam. |
| The stlist task now similarly displays that status correctly making |
| it a more generally useful tool. |
| |
| * entity includes would cause exceptions if path names included spaces. |
| |
| * addConfiguredXXX would not work for TaskAdapter wrapped tasks |
| |
| * Fix <ilasm> outputfile testing so that the output file does not need |
| to exist beforehand. |
| |
| * Ant will now exit with a return code of 1 if it encounters problems |
| with the command line arguments. |
| |
| * ClassLoader creation changes to use a factory method in Project. A new |
| class AntClassLoader2 implemented for 1.2+ specific features including |
| Package information and addition of classes specified in the Class-Path |
| element of a Jar's manifest. |
| |
| * It is now possible in <exec> to resolve the executable to a project |
| basedir or execution dir relative executable. The resolveExecutable |
| must be used to pick up such executables. |
| |
| * splash screen wouldn't disappear when build was finished. |
| |
| * <exec> output and error streams can now be redirected independently |
| to either a property or a file (or both) |
| |
| * TarEntry's File-arg constructor would fail with a |
| StringIndexOutOfBoundsException on all OSes where os.name is shorter |
| than seven characters. Bugzilla Report 18105. |
| |
| * <copy> and <move>'s failonerror didn't apply to filesets pointing to |
| non-existant directories. Bugzilla Report 18414. |
| |
| * The <stripjavacomments> filter sometimes removed parts of string |
| constants. Bugzilla Report 17441. |
| |
| * <antlr> will now recompile your grammar if the supergrammar has |
| changed. Bugzilla Report 12691. |
| |
| * <property env> will now work on Unices with /bin/env instead of |
| /usr/bin/env. Bugzilla Report 17642. |
| |
| * <jar index="on"> could include multiple index lists. Bugzilla 10262. |
| |
| * The index created by <jar> didn't conform to the spec as it didn't |
| include the top-level entries. Bugzilla Report 16972. |
| |
| * <tar> and <zip> didn't honor the defaultexcludes attribute for the |
| implicit fileset. Bugzilla Report 18637. |
| |
| * The <replacetokens> filter would throw an exception if the token's |
| value was an empty string. Bugzilla Report 18625. |
| |
| * Perforce tasks relying on output from the server such as <p4change> |
| and <p4label> were hanging. Bugzilla Reports 18129 and 18956. |
| |
| * Improve exception and logging behavior of Perforce tasks. |
| Bugzilla report 18154. |
| |
| * build.sh install had a problem on cygwin (with REALANTHOME). |
| Bugzilla Report 17257 |
| |
| * <replaceregexp> didn't work for multi-byte encodings if byline was false. |
| Bugzilla Report 19187. |
| |
| * <replaceregexp> was altering unnecessarily the timestamp of the directories |
| containing the files to process |
| Bugzilla Report 22541. |
| |
| * file names that include spaces need to be quoted inside the @argfile |
| argument using forked <javac> and (all JDKS). Bugzilla Report 10499. |
| NB : a first correction was only introducing quotes for JDK 1.4 |
| It has been changed to quote for all external compilers when paths |
| contain spaces. |
| Also the backslashes need to be converted to forward slashes |
| Bugzilla Report 17683. |
| |
| * Setting filesonly to true in <zip> and related tasks would cause the |
| archives to be always recreated. Bugzilla Report 19449. |
| |
| * file names that include spaces need to be quoted inside the @argfile |
| argument using <javadoc> and JDK 1.4. Bugzilla Report 16871. |
| |
| * <junit> didn't work with custom formatters that were only available |
| on the user specified classpath when a timeout occured. Bugzilla |
| Report 19953. |
| |
| * <different> selector : make ignoreFileTimes effectively default to true |
| and fix a bug in the comparison of timestamps. Bugzilla Report 20205. |
| |
| * <different> selector can now be nested directly under a fileset |
| Bugzilla Report 20220. |
| |
| * <cvstagdiff> had a problem with "dd-MM-yy hh:mm:ss" formats |
| Bugzilla Report 15995. |
| |
| * <cvstagdiff> cvsroot and package attributes added to the root |
| element tagdiff of the xml output |
| Bugzilla Report 16081. |
| |
| * <fixcrlf> make fixcrlf create its temporary files in the default directory |
| of FileUtils#createTempFile instead of the destination dir of fixcrlf. |
| Bugzilla Report 20870. |
| |
| * <ejbjar> implementation for Borland. |
| Prevent the task from being blocked by error messages coming from java2iiop. |
| Bugzilla Report 19385. |
| |
| * <unzip>'s and <untar>'s nested patternsets didn't work as documented |
| when the pattern ended in a slash or backslash. Bugzilla Report 20969. |
| |
| * <fixcrlf> will now create the parent directories for the destination |
| files if necessary. Bugzilla Report 20840. |
| |
| * <xmlproperty> now handles CDATA sections. BugZilla Report 17195 |
| |
| * <translate> now translate tokens that are placed close together. |
| Bugzilla Report 17297 |
| |
| * Nested websphere element for ejbjar does not support spaces in file name. |
| Bugzilla Report 21298 |
| |
| * Don't multiply Class-Path attributes when updating jars. Bugzilla |
| Report 21170. |
| |
| * Do not overwrite the value (increment) attribute of PropertyFile nested Entry element. |
| Bugzilla Report 21505. |
| |
| * Prevent sysproperties with no key or no value from being added in <junit>. |
| Bugzilla Report 21684. |
| |
| * Allow references to be properly inherited via antcall |
| Bugzilla Report 21724. |
| |
| * ftp chmod failed when the remote system was UNIX and local system Windows |
| Bugzilla Report 21865. |
| |
| * ftp put with chmod failed when the remote system was UNIX and local system Windows |
| Bugzilla Report 23143. |
| |
| * ftp did not set the ascii mode explicity, causing problems with ftp servers |
| having binary as default |
| |
| * ftp was not able to download files when they were pointed to by symbolic links |
| Bugzilla Report 14063. |
| |
| * ftp is able to download also directories pointed to by symbolic links. |
| |
| * replace would change \r\n into \r\r\n under Windows. |
| |
| * junitreport with frames did not display a link for classes without a package |
| or in the top package. |
| Bugzilla Report 21915. |
| |
| * Project.toBoolean(String) now handles null as argument and does not throw a |
| NullPointerException any more. |
| |
| * The socket condition will now close the socket created to test. |
| Bugzilla Report 23040. |
| |
| * <junit includeantruntime="true" fork="true"> replaced the CLASSPATH instead |
| of adding to it. Bugzilla Report 14971. |
| |
| * <splash> could fail on JVMs that use null to indicate the system classloader. |
| Bugzilla Report 23320. |
| |
| * <xmlcatalog>s only worked when defined inside of tasks. Bugzilla |
| Report 20965. |
| |
| Other changes: |
| -------------- |
| * All tasks can be used outside of <target>s. Note that some tasks |
| will not work at all outside of targets as they would cause infinite |
| loops (<antcall> as well as <ant> and <subant> if they invoke the |
| current build file). |
| |
| * Six new Clearcase tasks added. |
| |
| * A new filter reader namely tokenfilter has been added. Bugzilla |
| Report 18312. |
| |
| * A new attribute named skip is added to the TailFilter and |
| HeadFilter filter readers. |
| |
| * The filesetmanifest attribute of <jar> has been reenabled. |
| |
| * The start and end tokens for <translate> may now be longer than a |
| single character. |
| |
| * <setproxy> lets you set the username and password for proxies that |
| want authentication |
| |
| * <loadproperties> has a new encoding attribute. |
| |
| * <echoproperties> can now create XML output. |
| |
| * <echoproperties> has a new srcfile attribute that can make it read |
| properties files and output them instead of Ant's properties. |
| |
| * <filterset> will now resolve filters recursively. |
| |
| * <input> has a new attribute that allows you to specify a default value. |
| |
| * Added <image> task (requires JAI). |
| |
| * <image> task has now proportions attribute in the <scale/> nested element |
| instead of keepproportions (bringing in more functionality) |
| |
| * New condition <isreference> |
| |
| * <ftp> now has a preservelastmodified attribute to preserve the |
| timestamp of a downloaded file. |
| |
| * new rmdir action for <ftp> that removes directories from a fileset. |
| |
| * <ftp> has attributes timediffauto and timediffmillis to use together |
| with the newer attribute to tell ant to take into account a time difference |
| between client and remote side. |
| Bugzilla Report 19358. |
| |
| * <ftp> has been optimized to go directly to the include patterns. |
| This reduces scanning time under UNIX when followsymlinks="true" |
| and casesensitive="true" (the default) |
| Bugzilla Report 20103. |
| |
| * The SOS and VSS tasks will no longer unconditionally prepend a $ to |
| vsspath or projectpath. |
| |
| * OS/400 now gets detected by the os condition. |
| |
| * <arg> has a new attribute pathref that can be used to reference |
| previously defined paths. |
| |
| * <xmlproperty> has been improved, you can now expand ${properties}, |
| define ids or paths and use Ant's location magic for filename resolutions |
| in the XML file. |
| |
| * <xmlcatalog> will now support external catalogs according to the |
| OASIS "Open Catalog" standard - if resolver.jar (newer than version |
| 1.0) from Apache's xml-commons is in your CLASSPATH. |
| |
| * Starteam tasks now have support for revision labels and build labels. |
| Checkouts now have the option of using repository timestamps, instead |
| of current. |
| |
| * new task <symlink> that creates and maintains symbolic links. |
| |
| * new tasks <chown> and <chgrp> which are wrappers of the Unix commands. |
| |
| * new task <attrib> to change file attributes on Windows systems. |
| |
| * <style> has a new attribute reloadstylesheet to work around a |
| bug in widespread Xalan versions. |
| |
| * <tarfileset> has a new dirmode attribute to specify the permissions |
| for directories. |
| |
| * <fixcrlf>'s eol attribute now also understands "mac", "unix" and "dos". |
| |
| * <classfileset> now picks up dependencies of the form MyClass.class. This |
| works for the code generated by the Sun java compiler. It may not work for |
| all compilers. |
| |
| * a new attribute "globalopts" can be added to all Perforce tasks. |
| You can put in it all the strings described by p4 help usage. Refer to |
| the docs for more information. |
| |
| * new Perforce tasks <p4integrate> , <p4resolve>, and <p4labelsync> |
| |
| * <p4submit> will change the property p4.change if the Perforce server |
| renumbers the change list. |
| It will set the property p4.needsresolve if the submit fails, |
| and the message says that file(s) need to be resolved. |
| |
| * <replaceregexp> now has an optional encoding attribute to support |
| replacing in files that are in a different encoding than the |
| platform's default. |
| |
| * The <exec> task may now have its input redirected from either a file |
| or a string from the build file. The error output can be separated |
| to a different file when outut is redirected. standard error may be |
| logged to the Ant log when redirecting output to a file |
| |
| * The <java> task also supports the input redirection and separate |
| error streams introduced to the <exec> task. In addition, it is now |
| possible to save the output into a property for use within the build |
| file as was possible with <exec> in Ant 1.5 |
| |
| * The <javadoc> task <tag> subelement has been enhanced to allow files |
| with tag mappings to be used. |
| |
| * New tasks: <scp> supports file transfers, <sshexec> executes a |
| command over SSH. They require jsch, a BSD licensed SSH library that |
| can be found at http://www.jcraft.com/jsch/index.html |
| |
| * New filterreader <escapeunicode/>. |
| |
| * Support for HP's NonStop Kernel (Tandem) OS has been added. |
| |
| * <cab>'s basedir attribute is now optional if you specify nested |
| filesets. Bugzilla Report 18046. |
| |
| * New task <sync> that synchronizes two directory trees. |
| |
| * <apply> has new forwardslash attribute that can force filenames to |
| use forward slashes (/) as file separators even on platforms with a |
| different separator. This is useful if you want to run certain |
| ported Unix tools. |
| |
| * Copy has a new outputencoding attribute that can be used to change |
| the encoding while copying files. Bugzilla Report 18217. |
| |
| * The xml formatter for JUnit will now honor test case names set with |
| setName. Bugzilla Report 17040. |
| |
| * JUnit now has an attribute reloading, which, when set to false, |
| makes the task reuse the same class loader for a series of tests. |
| |
| * <concat> now supports filtering and can check timestamps before |
| overriding a file. Bugzilla Report 18166. |
| |
| * <junit> has a new attribute tempdir that controls the placement of |
| temporary files. Bugzilla Report 15454. |
| |
| * <jdepend> now supports a new nested element <classespath> which is |
| the same as <sourcespath> but point to compiled classes (the |
| prefered mode of operation for JDepend > 2.5). Additionally, nested |
| <exclude> elements can be used to exclude certain packages from |
| being parsed. Bugzilla Report 17134. |
| |
| * The JProbe tasks now also work with JProbe 4.x. Bugzilla Report 14849. |
| |
| * <javacc> and <jjtree> will now autodetect JavaCC 3.x and can use it. |
| |
| * <sql> has a new attribute to control escape processing. |
| |
| * <sql> is able to display properly several resultsets if you are |
| running a compound sql statement. Bugzilla Report 21594. |
| |
| * A new <containsregexp> selector has been added, that selects files |
| if their content matches a certain regular expression. |
| |
| * <antlr>'s debug attribute has been enabled. Bugzilla Report 19051. |
| |
| * <mail> has a new attribute charset. Bugzilla Report 15434. |
| |
| * <mail> has new attributes user and password for SMTP auth. |
| maillogger can also use this. |
| The implementation only works with JavaMail (encoding="MIME"). |
| Implementation with plain mail remains to do. |
| Bugzilla Report 5969. |
| |
| * <mail> and mailloger support SMTP over TLS/SSL |
| Bugzilla Report 19180. |
| |
| * <mail> the attributes from, replyto ,tolist, cclist, bcclist |
| can now contain email addresses of the form name <address@xyz.com> |
| or (name) address@xyz.com |
| Bugzilla Report 22474. |
| |
| * <mail> (version PlainMail) |
| prevent blank headers from being sent, |
| make the order of the headers of plain mail messages predictable |
| Bugzilla Report 22088. |
| |
| * <zipfileset> can now be defined in the main body of a project |
| and referred to with refid="xyz". Bugzilla Report 17007. |
| |
| * A wrapper script for OS/2 has been added. |
| |
| * <unzip> will now detect and successfully extract self-extracting |
| archives. Bugzilla Report 16213. |
| |
| * <stcheckout> has a new attribute "converteol" that can be used to |
| control the automatic line-end conversion performed on ASCII files. |
| Bugzilla Report 18884. |
| |
| * Users can now modify the list of default excludes using the new |
| defaultexcludes task. Bugzilla Report 12700. |
| |
| * There is a new data type <propertyset> that can be used to collect |
| properties. It is supported by <ant>, <antcall>, <subant>, <java>, |
| <echoproperties> and <junit>. |
| |
| * <concat> can now control the encoding of the output as well and optionally |
| add new-line characters at the end of files that get concatenated but |
| don't end in newlines. Bugzilla Report 12511. |
| |
| * <rpm> will detect the rpmbuild executable of RedHat 8.0 and newer |
| and use that if it is on your PATH. Bugzilla Report 14650. |
| |
| * A new task <rexec> has been added that requires commons-net to work. |
| Bugzilla Report 19541. |
| |
| * <javadoc> now supports a nested <arg> element in addition to the |
| additionalparams attribute. |
| |
| * You can now determine the order of standard tags in <javadoc> via |
| <tag> elements - you must not use the description attribute for them. |
| Bugzilla Report 18912. |
| |
| * <javadoc> now supports the -noqualifier switch. Bugzilla Report 19288. |
| |
| * <javac>'s executable attribute can now also be used to specify the |
| executable for jikes, jvc, sj or gcj. Bugzilla Report 13814. |
| |
| * <javac> has a new attribute tempdir that can control the placement |
| of temporary files. Bugzilla Report 19765. |
| |
| * A new magic property build.compiler.jvc.extensions has been added |
| that can be used to turn of Microsoft extensions while using the jvc |
| compiler. Bugzilla Report 19826. |
| |
| * You can now limit the parallelism of <apply> and <chmod> by using the new |
| maxparallel attribute. |
| |
| * With the new addsourcefile attribute, you can make <apply> ommit the |
| source file names from the command line. Bugzilla Report 13654. |
| |
| * <apply> and <chmod> now support nested <filelist>s as well as <dirset>s. |
| Bugzilla Reports 15929 and 20687. |
| |
| * <apply> and <chmod> will display a summary if you set the new |
| verbose attribute to true. Bugzilla Report 19883. |
| |
| * <copy>/<move>'s failonerror attribute can now also be used to |
| continue the build if an I/O error caused a problem. Bugzilla |
| Report 12999. |
| |
| * new selector <type/> allowing to select only files or only directories. |
| Bugzilla Report 20222. |
| |
| * <java> and <junit> now support a nested <bootclasspath> element that |
| will be ignored if not forking a new VM. |
| |
| * <junit>'s nested <formatter> elements now support if/unless clauses. |
| |
| * <ejbjar> |
| cmpversion attribute added |
| jboss element will look for jbosscmp-jdbc.xml descriptor |
| if ejbjar has cmpversion="2.0" set |
| Bugzilla Reports 14707 and 14709. |
| |
| * <pvcs> config attribute added to set the location of a specific PVCS |
| .cfg file |
| Bugzilla Report 9752 |
| |
| * <mapper> has an "unpackage" mapper |
| Bugzilla Report 18908 |
| |
| * Added <scriptdef> task allowing tasks to be defined using any BSF-supported |
| scripting language. |
| |
| * <touch>'s datetime attribute can now accept time with a granularity |
| of seconds as well. Bugzilla Report 21014. |
| |
| * <checksum> has two new properties: totalproperty and todir. |
| |
| * FileUtils#createTempFile will now create temporary files in the |
| directory pointed to by the property java.io.tmpdir |
| |
| * <unzip> and friends now supports an optional encoding attribute to |
| enable it to expand archives created with filenames using an encoding |
| other than UTF8. Bugzilla Report 10504. |
| |
| * <patch> has a new attribute destfile that can be used to create a new |
| file instead of patching files in place. |
| |
| * OpenVMS is detected as a valid OS family. |
| |
| * DirectoryScanner has been optimized for cases where include patterns do not |
| start with wildcards. Bugzilla Report 20103. |
| |
| * DirectoryScanner begins to be optimized not to scan excluded directories. |
| Bugzilla Report 21941. |
| |
| * Added keep-going feature. Bugzilla Report 21144 |
| |
| * The archives generated by <zip> and friends will now contain CRC and |
| size information in the "local file header", thereby providing this |
| information to applications that read the archives using |
| java.util.ZipInputStream. Bugzilla Report 19195. |
| |
| * <copy> and <move> can now handle mappers that return multiple |
| mappings per source path. This behaviour is enabled by using |
| an enablemultiplemapping attribute. Bugzilla Report 21320. |
| |
| * <exec> will now work on OpenVMS (please read the notes in |
| <exec>'s manual page). Bugzilla Report 21877. |
| |
| * <exec> will now have a new attribute spawn (default false). |
| If set to true, the process will be spawned. Bugzilla Report 5907. |
| |
| * <java> will now have a new attribute spawn (default false). |
| If set to true, the process will be spawned. Bugzilla Report 5907. |
| |
| * <parallel> now supports a timeout which can be used to recover |
| from deadlocks, etc in the parallel threads. <parallel> also |
| now supports a <daemons> nested element. This can be used to |
| run tasks in daemon threads which the parallel task will not |
| wait for before completing. A new attribute failonany will cause |
| <parallel> to throw an exception if any thread fails without |
| waiting for all other threads to complete. |
| |
| * <zip> and friends will consume far less memory than they used to |
| when run with compress="false". Bugzilla Report 21899. |
| |
| * <if/> and <unless/> attributes added to <param/> element of <style> |
| Bugzilla Report 22044 |
| |
| * <zip> and friends have a new attribute "keepcompression" that can be |
| used to incrementally build an archive mixing compressed and uncompressed |
| entries. |
| |
| * <junit>'s XML formatter adds a new classname attribute to the <testcase> |
| elements. |
| |
| * new <permissions> type add permission handling to the code |
| this type can be nested in the <java> and <junit> tasks. |
| Bugzilla Report 22533. |
| |
| * additional shortcuts for ant options (-d --> -debug, -e --> -emacs, |
| -h --> -help, -p --> -projecthelp, -s --> -find). |
| |
| * new selector <modified>. "cache" was renamed to "modified". |
| Bugzilla Report 20474. |
| |
| * <stcheckout> and <stlist> have a new asofdate attribute that can be |
| used to checkout/list files based on a date instead of a label. |
| Bugzilla Report 20578. |
| |
| * New filter <concatfilter>. Adds the content of file at the beginning |
| or end of a file. Discussion started at |
| http://marc.theaimsgroup.com/?l=ant-user&m=106366791228585&w=2 |
| |
| * <java> and <junit> now support <assertions>, which let you enable |
| and disable Java1.4 assertions on a package or class basis. These |
| only work when fork=true, currently. |
| |
| * .NET tasks expanded with VB support <vbc> and J#, via <jsharp>, |
| <importtypelib> and <ilasm>. <csc> supports nested <src> types, |
| <defines> for (potentially conditional) definitions, <reference> |
| filesets for references. The executable attribute lets you switch to |
| mono or other implementations -<csc> has been tested with Mono on |
| Linux and OSX. |
| |
| |
| Changes from Ant 1.5.3 to Ant 1.5.4 |
| =================================== |
| |
| Changes that could break older environments: |
| -------------------------------------------- |
| |
| * If the Visual Age tasks used to work for you, they may stop doing so |
| now - and we'd like to know about it. The current set of tasks is |
| supposed to work with any version of VAJ starting with 3.0. |
| |
| Fixed bugs: |
| ----------- |
| |
| * The Visual Age for Java tasks didn't work (at least for versions 3.0 |
| and higher). Bugzilla Report 10016. |
| |
| * URL-encoding in <vaj*port> didn't work properly. |
| |
| * VAJRemoteUtil called getAbsolutePath instead of getPath |
| causing problems when using a Windows VAJ server from a UNIX server. |
| Bugzilla Report 20457. |
| |
| * VAJImport task failed with NullPointerException when using DirectoryScanner. |
| Bugzilla Report 22080. |
| |
| Other changes: |
| -------------- |
| |
| * Shipped XML parser is now Xerces 2.5.0 |
| |
| * <javah> will invoke oldjavah on JDK 1.4.2. Bugzilla Report 18667. |
| |
| * The VAJ tasks now support a haltonfailure attribute to conditionally |
| keep building even if they fail. |
| |
| * It is now possible to use the latest (versioned or unversioned) edition |
| in <vajload> by using special wildcard characters. Also fixes |
| Bugzilla Report 2236. |
| |
| Changes from Ant 1.5.2 to Ant 1.5.3 |
| =================================== |
| |
| Changes that could break older environments: |
| -------------------------------------------- |
| |
| * The <zip> task and friends have again changed a method signature |
| (sorry, was necessary to fix bug 17780). The return type of |
| getResourcesToAdd has changed. |
| |
| Fixed bugs: |
| ----------- |
| |
| * <zipfileset>'s filemode would get ignored and the dirmode was used |
| for the included files as well. As a side effect, WinZIP was unable |
| to extract or display the files, so they seemed to be missing from |
| the archive. Bugzilla Report 17648. |
| |
| * <ftp> could use the wrong path separator when trying to change the |
| remote working directory. Bugzilla Report 17735. |
| |
| * <jar update="true"> would loose all original files if you didn't |
| specify any nested <(zip)fileset>s and the manifest had changed. |
| Bugzilla Report 17780. |
| |
| * If you used a value starting with \ on Windows for the appxml |
| attribute of <ear> or the webxml attribute of <war>, it would be |
| ignored. Bugzilla Report 17871. |
| |
| * Ant will no longer implicitly add Sun's rt.jar in <javac> when you |
| use jvc and don't specify a bootclasspath. Bugzilla Report 18055. |
| |
| * The prefix attribute of <zipfileset> would not generate directory |
| entries for the prefix itself. Bugzilla Report 18403. |
| |
| * starteam checkout can now handle deleted labels. Bugzilla Report 17646. |
| |
| * The Unix wrapper script failed if you invoked it as a relative |
| symlink and ANT_HOME has not been set. Bugzilla Report 17721. |
| |
| Other Changes: |
| -------------- |
| * Added ability to specify manifest encoding for the <jar> and |
| <manifest> tasks |
| |
| Changes from Ant 1.5.1 to Ant 1.5.2 |
| ============================================= |
| |
| Changes that could break older environments: |
| -------------------------------------------- |
| * ANT_OPTS environment variable is now applied at the start of the |
| Java command line, allowing position specific parameters of some |
| JVMs, such as -classic to be specified. |
| |
| * ZipScanner#getIncludedFiles will now return the names of the ZipEntries |
| that have been matched instead of the name of the archive. |
| |
| * The <zip> task and friends have been heavily modified, almost every |
| method signature of the Zip class has changed. If you have subclassed |
| Zip (or one of its subclasses), your class will most likely not |
| compile against the current code base. If it still compiles, it will |
| probably not work as in Ant 1.5.1. |
| |
| Fixed bugs: |
| ----------- |
| * <translate> was not ignoring comment lines. |
| |
| * <manifest> wouldn't update an existing manifest if only an attribute |
| of an existing section changed. |
| |
| * ant.bat now supports the ANT_ARGS and JAVACMD environment variables |
| again (like Ant 1.5 did). |
| |
| * The "plain" <junit> <formatter> could throw a NullPointerException |
| if an error occured in setUp. |
| |
| * <junit> will now produce output when a test times out as well. |
| |
| * <replace> would count some internal character replacements when |
| reporting the number of replaced tokens. |
| |
| * <concat> would cause an exception if a <filelist> pointed to files |
| that do not exist. |
| |
| * <javadoc> will now pass -source to custom doclets as well. |
| |
| * <cvstagdiff> would throw a NullPointException if there had been no |
| differences. |
| |
| * <cvschangelog> could miss today's changes. |
| |
| * <concat> could append newline characters between concatenated files. |
| |
| * <xmlvalidate> ignored the specified encoding of the files to |
| validate. |
| |
| * the errorsbeginat attribute of the <http> condition didn't work. |
| |
| * Ant will try to force loading of certain packages like com.sun.* |
| from the system classloader. The packages are determined by the |
| version of the JVM running Ant. |
| |
| * Ant didn't find the runtime libraries on IBM's JDK 1.4 for Linux. |
| |
| * random component of temporary files is now always a positive integer. |
| |
| * Ant could incorrectly try to use the 1.4 regexp implementation even |
| if it isn't available if you run the JVM with -Xverify:none. |
| |
| * Ant would die with an exception if you used nested <reference> |
| elements in Ant and the refid attribute didn't point to an existing |
| project reference. |
| |
| * The <get> task can now be compiled (and Ant thus bootstrapped) using |
| Kaffee. |
| |
| * build.sysclasspath will now be honored by more tasks. |
| |
| * The signjar keystore attribute has been reverted to a String allowing |
| it to once again accept URLs. This should not affect current File based usage |
| unless you are extending the Signjar task. |
| |
| * <jar update="true"> would remove the original manifest. |
| |
| * fix up folder creation in PVCS task |
| |
| * <tar>'s up-to-date check didn't work for nested <(tar)fileset>s. |
| |
| * Corrected a problem in XMLLogger where it would not associated |
| messages with a taskdef'd task |
| |
| * <uptodate> now works when using attributes (i.e. not filesets) and pointing |
| to the same file |
| |
| * Java task (and output system) now stores output which doos not end |
| with a line feed. |
| |
| * splash screen wouldn't disappear when build was finished. |
| |
| * <exec> now supports OS/2. |
| |
| * <zip> and friends would only update/recreate existing archives if |
| the files to add/update have been newer than the archive. |
| |
| * <javadoc>'s <link> element could fail for offline="true" on some JDKs. |
| |
| Other changes: |
| -------------- |
| |
| * MailLogger now sets the Date header correctly. |
| |
| * Shipped XML parser is now Xerces 2.3.0 |
| |
| * signjar now accepts a maxmemory attribute to allow the memory allocated to the |
| jarsigner tool to be specified. The jarsigner from the JDK's JAVA_HOME bin |
| dir is now used rather than the first jarsigner on the path. |
| |
| * **/.DS_Store has been added to the list of default pattern excludes. |
| |
| * The Created-By header in the default manifest now contains the JVM |
| vendor and version according to the jar specification. A new header, |
| Ant-Version provides the Ant version used to create the jar. |
| |
| * <zip> can now store Unix permissions in a way that can be |
| reconstructed by Info-Zip's unzip command. |
| |
| Changes from Ant 1.5.1Beta1 to 1.5.1 |
| ==================================== |
| |
| Fixed bugs: |
| ----------- |
| |
| * <tstamp>'s prefix attribute failed to apply to nested <format> elements. |
| |
| * <junitreport> created an empty junit-noframes.html if no format had |
| been specified. |
| |
| * <basename> would remove more than it should if the file name |
| contained more than one dot. |
| |
| * <filterset>s nested into <filterset>s didn't work. |
| |
| Other changes: |
| -------------- |
| |
| * Shipped XML parser is now Xerces 2.2.0 |
| |
| * Filesets now support a 'file' attribute, allowing a single-file |
| fileset to be constructed without having to specify its parent |
| directory separately. |
| |
| * <junit> will now return the result of a call to getName instead of |
| "unknown" for Test implementations that don't extend TestCase but have |
| a public String getName() method. |
| |
| Changes from Ant 1.5 to 1.5.1Beta1 |
| ================================== |
| |
| Fixed bugs: |
| ----------- |
| * Date/time in CvsChangeLog was in local timezone and 12 hour format leading |
| to a problem when sorting by time. It is now UTC (GMT) and in 24-hour |
| format as per cvs 'specifications'. |
| |
| * CvsTagDiff now supports ampersand modules or modules that have a different |
| root directory than their name. |
| |
| * EjbJar threw NPEs for the Websphere element. The property 'websphere.home' |
| was not documented. |
| |
| * Mail example in the documentation was not correct. |
| |
| * Checksum was broken in the following scenario: |
| (using verifyproperty OR in a condition) AND using filesets |
| with multiple files. |
| |
| * The ExpandProperties filter threw NPEs when defined using |
| the <filterreader> format. |
| |
| * The sh wrapper script didn't work under Cygwin if ANT_HOME wasn't |
| set with a Unix style filename. |
| |
| * The sh wrapper script could fail if you started Ant from a directory |
| with whitespace in its name. |
| |
| * ant -diagnostics was not working properly when the task dependency |
| was missing and was just printing the missing dependency. |
| |
| * If a task got redefined via <taskdef>, it lost its child elements. |
| |
| * <property>'s classpathref attribute was broken. |
| |
| * <arg line="''" /> would result in no command line argument, will now |
| be a single empty argument. Use <arg value="''"/> if you need the |
| quotes literally. |
| |
| * <replaceregexp> could append a newline character at the end of the |
| file. |
| |
| Other changes: |
| -------------- |
| |
| * Appendix E of Java Development with Ant (Loughran/Hatcher) was |
| contributed to the docs. |
| |
| * <available> will only print deprecration warnings if it is actually |
| used to change the value of a property. |
| |
| Changes from Ant 1.5beta3 to Ant 1.5 |
| ==================================== |
| |
| Changes that could break older environments: |
| -------------------------------------------- |
| |
| * The filesetmanifest attribute added to <jar> after the 1.4.1 |
| release has been removed for now. This change may affect only |
| the 1.5Beta/1.6Alpha users. An attempt will be made to add this |
| feature back into Ant 1.6. |
| |
| Fixed bugs: |
| ----------- |
| |
| * <zip> and friends would always update existing archive if you set |
| the update attribute to true. |
| |
| * To support backward compatibility with older versions, <pathconvert> |
| will once again set the property, even if the result is the empty |
| string, unless the new 'setonempty' attribute is set to false|no|off |
| (default is "true"). |
| |
| * The manifest task would crash XmlLogger |
| |
| Other changes: |
| -------------- |
| |
| * added **/.svn and **/.svn/** to the default excludes |
| |
| Changes from Ant 1.5beta2 to Ant 1.5beta3 |
| ========================================= |
| |
| Changes that could break older environments: |
| -------------------------------------------- |
| |
| * Project.getBuildListeners now returns a clone of the listener |
| list. Changes to the returned list will not affect the listeners |
| currently attached to the Project. It also means that it is safe to |
| iterate over the returned list if listeners are added or removed |
| during the traversal. |
| |
| * <pvcs> default filenameformat has been different from Ant 1.4.1. |
| Now it is different from 1.5beta1 and 1.5beta2. |
| |
| * Some messages that are printed during startup will not be |
| written to the logfile specified via -logfile as they might destroy |
| the format of the file for special BuildLoggers (like XmlLogger). |
| |
| * <pathconvert> won't set the property if the result is the empty string. |
| |
| Fixed bugs: |
| ----------- |
| |
| * <available> could fail to find files or directories that happen to |
| start with the name of the project's basedir but are not children of |
| the basedir. |
| |
| * Nested <property>'s inside <ant> can now be overriden by subsequent |
| <ant> and <antcall> tasks. |
| |
| * <xslt>'s outputtype attribute wouldn't do anything. |
| |
| * <linecontains> filterreader could swallow lines. |
| |
| * <sequential> used to configure the tasks (set their attributes) |
| before the first task has been executed. This means that properties |
| that have been set by nested task seemed to be unset for the other |
| tasks in the same <sequential> element. |
| |
| * <javac>'s sourcepath setting has been ignored by some compiler |
| implementations. |
| |
| * <javadoc>'s packagelist attribute didn't work. |
| |
| * the plain mailer would always use port 25 in <mail>. |
| |
| * Ant's default logger could swallow empty lines. |
| |
| * ejbjar's iPlanet nested element now can process multiple descriptors. |
| |
| * IPlanetEjbc was looking in the wrong place for four iiop files. |
| |
| * <javac> would pass the -source switch to JDK 1.3's javac, even |
| though it doesn't support it. |
| |
| Other changes: |
| -------------- |
| |
| * <checksum> now uses a buffer (of configurable size). |
| |
| * The "Trying to override task definition" warning has been degraded |
| to verbose level if the two task definitions only differ in the class |
| loader instance that has loaded the definition. |
| |
| * Add a jvmargs to the ejbjar's weblogic element to allow additional |
| arguments to be provided to the VM runnign ejbc. Document the |
| jvmdebuglevel attribute which can be used to avoid warnings about |
| interface classess being found on the classpath. Document the new |
| <sysproperty> element which allows JVM properties to be defined. |
| Added an outputdir attribute to allow the destination to be a |
| directory into which the exploded jar is written. |
| |
| * ejbjar now supports Borland Enterprise Server 5 and Jonas 2.5 |
| |
| Changes from Ant 1.5beta1 to Ant 1.5beta2 |
| ========================================= |
| |
| Changes that could break older environments: |
| -------------------------------------------- |
| |
| * Properties will now be expanded in mail message bodies. This means |
| that one $ sign will be stripped if your mail message contains the text |
| $$. |
| |
| * org.apache.tools.ant.taskdefs.Expand no longer extends MatchingTask. |
| |
| * Available#setFile now again uses a File argument as it did in 1.4, |
| this may break environments that have been adapted to the String |
| argument version present in 1.5beta1. |
| |
| Fixed bugs: |
| ----------- |
| * When <move> attempts a rename, it deletes the destination file, if it |
| exists, before renaming the source file. However, <move> was not |
| checking if the destination file was actually a directory before |
| trying to delete it. |
| |
| * Make CVS Tasks to work under Cygwin. |
| |
| * Fix LineContains to handle huge files elegantly without causing |
| Stack Overflows. |
| |
| * if you ask for the "classic" compiler on Java1.4, you get upgraded to |
| "modern" because there is no classic compiler any more. |
| |
| * the <http> condition was viewing 404 'not found' exceptions as success. Now |
| it defaults to viewing any response >=400 as an error, and has an errorsBeginAt |
| attribute you can use if you want a higher or lower value. |
| |
| * <get> throws a build exception on an http authorization error, unless you |
| have set ignoreerrors to true. |
| |
| * <wsdltodotnet> was spelt in Wintel case: <WsdlToDotnet>. It is now lower |
| case, though the old spelling is retained for anyone who used it. |
| |
| * Merging of Manifests in jar now works as documented. |
| |
| * paths that have been separated by colons would be incorrectly parsed |
| on NetWare. |
| |
| * runant.pl now supports NetWare. |
| |
| * <tempfile> and <setproxy> tasks were in beta1, but not defined by |
| default; They now are. <tempfile> fills a property with the name of a |
| temporary file; <setproxy> lets you set the JVM's http, ftp and socks proxy |
| settings. |
| |
| * <available classname="foo" ignoresystemclasses="true"> failed for |
| JDK 1.1 and 1.2, even if the class could be found on the |
| user-specified classpath. |
| |
| * <property environment=... /> now works on z/OS. |
| |
| * forked <javac> failed for the wrong reason on JDK 1.1 - Ant would |
| use a temporary file to hold the names of the files to compile under |
| some conditons, but 1.1 doesn't support this feature. Ant will no |
| longer try this, but you may run into problems with the length of the |
| command line now. |
| |
| * the refid attribute for <property>s nested into <ant> or <param>s |
| nested into <antcall> didn't work. |
| |
| * <replaceregexp> didn't work for nested <fileset>s. |
| |
| * <javadoc> dropped sourcepath entries if no "interesting" .java |
| source files could be found below them. This has been backwards |
| incompatible and caused problems with custom doclets like xdoclet. |
| |
| * Using the doclet, docletpath or docletpathref attributes of |
| <javadoc> may have caused NullPointerExceptions. |
| |
| * nested <filesets> of <javadoc> would include too much. |
| |
| * <dependset> will no longer choke on <targetfileset>s that point to |
| non-existing directories. |
| |
| * <patch> didn't work at all. |
| |
| * <replace> and <replaceregexp> now fail if the file they are working |
| on is locked. |
| |
| * <javadoc> would pick up the wrong executable in the combination JDK |
| 1.2 and AIX. |
| |
| Other changes: |
| -------------- |
| |
| * z/OS now gets detected by the os condition. |
| |
| * <fileset> and <dirset> now have an optional followsymlink attribute |
| that can prevent Ant from following symbolic links on some platforms. |
| |
| * BeanShell is now supported in the <script> task. |
| |
| * <ejbjar> under Weblogic attempts to use the ejbc20 compiler for 2.0 beans |
| based on the deployment descriptor's DTD reference. Under weblogic 7.00 Beta |
| this ejbc class has been deprecated. To avoid the deprecation warning use |
| ejbcclass="weblogic.ejbc". |
| |
| * <ejbjar> will add a manifest to the generated jar based on the naming |
| convention in use. This overrides the manifest specified in the |
| <ejbjar> attribute |
| |
| |
| Changes from Ant 1.4.1 to 1.5beta1 |
| ================================== |
| |
| Changes that could break older environments: |
| -------------------------------------------- |
| |
| * Important: Single $ signs are no longer silently stripped! |
| ======= |
| * Project.getBuildListeners now returns a clone of the listener |
| list. Changes to the returned list will not affect the listeners |
| currently attached to the Project. It also means that it is safe to |
| iterate over the returned list if listeners are added or removed |
| during the traversal. |
| |
| * <pvcs> default filenameformat has been different from Ant 1.4.1. |
| Now it is different from 1.5beta1 and 1.5beta2. |
| |
| * Some messages that are printed during startup will not be |
| written to the logfile specified via -logfile as they might destroy |
| the format of the file for special BuildLoggers (like XmlLogger). |
| |
| Fixed bugs: |
| ----------- |
| |
| * <available> could fail to find files or directories that happen to |
| start with the name of the project's basedir but are not children of |
| the basedir. |
| |
| * Nested <property>'s inside <ant> can now be overriden by subsequent |
| <ant> and <antcall> tasks. |
| |
| * <xslt>'s outputtype attribute wouldn't do anything. |
| |
| * <linecontains> filterreader could swallow lines. |
| |
| * <sequential> used to configure the tasks (set their attributes) |
| before the first task has been executed. This means that properties |
| that have been set by nested task seemed to be unset for the other |
| tasks in the same <sequential> element. |
| |
| * <javac>'s sourcepath setting has been ignored by some compiler |
| implementations. |
| |
| * <javadoc>'s packagelist attribute didn't work. |
| |
| * the plain mailer would always use port 25 in <mail>. |
| |
| * Ant's default logger could swallow empty lines. |
| |
| * ejbjar's iPlanet nested element now can process multiple descriptors. |
| |
| * IPlanetEjbc was looking in the wrong place for four iiop files. |
| |
| * <javac> would pass the -source switch to JDK 1.3's javac, even |
| though it doesn't support it. |
| |
| Other changes: |
| -------------- |
| |
| * <checksum> now uses a buffer (of configurable size). |
| |
| * The "Trying to override task definition" warning has been degraded |
| to verbose level if the two task definitions only differ in the class |
| loader instance that has loaded the definition. |
| |
| * Add a jvmargs to the ejbjar's weblogic element to allow additional |
| arguments to be provided to the VM runnign ejbc. Document the |
| jvmdebuglevel attribute which can be used to avoid warnings about |
| interface classess being found on the classpath. Document the new |
| <sysproperty> element which allows JVM properties to be defined. |
| Added an outputdir attribute to allow the destination to be a |
| directory into which the exploded jar is written. |
| |
| * ejbjar now supports Borland Enterprise Server 5 and Jonas 2.5 |
| |
| Changes from Ant 1.5beta1 to Ant 1.5beta2 |
| ========================================= |
| |
| Changes that could break older environments: |
| -------------------------------------------- |
| |
| * Properties will now be expanded in mail message bodies. This means |
| that one $ sign will be stripped if your mail message contains the text |
| $$. |
| |
| * org.apache.tools.ant.taskdefs.Expand no longer extends MatchingTask. |
| |
| * Available#setFile now again uses a File argument as it did in 1.4, |
| this may break environments that have been adapted to the String |
| argument version present in 1.5beta1. |
| |
| Fixed bugs: |
| ----------- |
| * When <move> attempts a rename, it deletes the destination file, if it |
| exists, before renaming the source file. However, <move> was not |
| checking if the destination file was actually a directory before |
| trying to delete it. |
| |
| * Make CVS Tasks to work under Cygwin. |
| |
| * Fix LineContains to handle huge files elegantly without causing |
| Stack Overflows. |
| |
| * if you ask for the "classic" compiler on Java1.4, you get upgraded to |
| "modern" because there is no classic compiler any more. |
| |
| * the <http> condition was viewing 404 'not found' exceptions as success. Now |
| it defaults to viewing any response >=400 as an error, and has an errorsBeginAt |
| attribute you can use if you want a higher or lower value. |
| |
| * <get> throws a build exception on an http authorization error, unless you |
| have set ignoreerrors to true. |
| |
| * <wsdltodotnet> was spelt in Wintel case: <WsdlToDotnet>. It is now lower |
| case, though the old spelling is retained for anyone who used it. |
| |
| * Merging of Manifests in jar now works as documented. |
| |
| * paths that have been separated by colons would be incorrectly parsed |
| on NetWare. |
| |
| * runant.pl now supports NetWare. |
| |
| * <tempfile> and <setproxy> tasks were in beta1, but not defined by |
| default; They now are. <tempfile> fills a property with the name of a |
| temporary file; <setproxy> lets you set the JVM's http, ftp and socks proxy |
| settings. |
| |
| * <available classname="foo" ignoresystemclasses="true"> failed for |
| JDK 1.1 and 1.2, even if the class could be found on the |
| user-specified classpath. |
| |
| * <property environment=... /> now works on z/OS. |
| |
| * forked <javac> failed for the wrong reason on JDK 1.1 - Ant would |
| use a temporary file to hold the names of the files to compile under |
| some conditons, but 1.1 doesn't support this feature. Ant will no |
| longer try this, but you may run into problems with the length of the |
| command line now. |
| |
| * the refid attribute for <property>s nested into <ant> or <param>s |
| nested into <antcall> didn't work. |
| |
| * <replaceregexp> didn't work for nested <fileset>s. |
| |
| * <javadoc> dropped sourcepath entries if no "interesting" .java |
| source files could be found below them. This has been backwards |
| incompatible and caused problems with custom doclets like xdoclet. |
| |
| * Using the doclet, docletpath or docletpathref attributes of |
| <javadoc> may have caused NullPointerExceptions. |
| |
| * nested <filesets> of <javadoc> would include too much. |
| |
| * <dependset> will no longer choke on <targetfileset>s that point to |
| non-existing directories. |
| |
| * <patch> didn't work at all. |
| |
| * <replace> and <replaceregexp> now fail if the file they are working |
| on is locked. |
| |
| * <javadoc> would pick up the wrong executable in the combination JDK |
| 1.2 and AIX. |
| |
| Other changes: |
| -------------- |
| |
| * z/OS now gets detected by the os condition. |
| |
| * <fileset> and <dirset> now have an optional followsymlink attribute |
| that can prevent Ant from following symbolic links on some platforms. |
| |
| * BeanShell is now supported in the <script> task. |
| |
| * <ejbjar> under Weblogic attempts to use the ejbc20 compiler for 2.0 beans |
| based on the deployment descriptor's DTD reference. Under weblogic 7.00 Beta |
| this ejbc class has been deprecated. To avoid the deprecation warning use |
| ejbcclass="weblogic.ejbc". |
| |
| * <ejbjar> will add a manifest to the generated jar based on the naming |
| convention in use. This overrides the manifest specified in the |
| <ejbjar> attribute |
| |
| |
| Changes from Ant 1.4.1 to 1.5beta1 |
| ================================== |
| |
| Changes that could break older environments: |
| -------------------------------------------- |
| |
| * Important: Single $ signs are no longer silently stripped! |
| |
| * The filesetmanifest attribute added to <jar> after the 1.4.1 |
| release has been removed for now. This change may affect only |
| the 1.5Beta/1.6Alpha users. An attempt will be made to add this |
| feature back into Ant 1.6. |
| |
| Fixed bugs: |
| ----------- |
| |
| * <zip> and friends would always update existing archive if you set |
| the update attribute to true. |
| |
| * To support backward compatibility with older versions, <pathconvert> |
| will once again set the property, even if the result is the empty |
| string, unless the new 'setonempty' attribute is set to false|no|off |
| (default is "true"). |
| |
| * The manifest task would crash XmlLogger |
| |
| Other changes: |
| -------------- |
| |
| * added **/.svn and **/.svn/** to the default excludes |
| |
| Changes from Ant 1.5beta2 to Ant 1.5beta3 |
| ========================================= |
| |
| Changes that could break older environments: |
| -------------------------------------------- |
| |
| * Project.getBuildListeners now returns a clone of the listener |
| list. Changes to the returned list will not affect the listeners |
| currently attached to the Project. It also means that it is safe to |
| iterate over the returned list if listeners are added or removed |
| during the traversal. |
| |
| * <pvcs> default filenameformat has been different from Ant 1.4.1. |
| Now it is different from 1.5beta1 and 1.5beta2. |
| |
| * Some messages that are printed during startup will not be |
| written to the logfile specified via -logfile as they might destroy |
| the format of the file for special BuildLoggers (like XmlLogger). |
| |
| * <pathconvert> won't set the property if the result is the empty string. |
| |
| Fixed bugs: |
| ----------- |
| |
| * <available> could fail to find files or directories that happen to |
| start with the name of the project's basedir but are not children of |
| the basedir. |
| |
| * Nested <property>'s inside <ant> can now be overriden by subsequent |
| <ant> and <antcall> tasks. |
| |
| * <xslt>'s outputtype attribute wouldn't do anything. |
| |
| * <linecontains> filterreader could swallow lines. |
| |
| * <sequential> used to configure the tasks (set their attributes) |
| before the first task has been executed. This means that properties |
| that have been set by nested task seemed to be unset for the other |
| tasks in the same <sequential> element. |
| |
| * <javac>'s sourcepath setting has been ignored by some compiler |
| implementations. |
| |
| * <javadoc>'s packagelist attribute didn't work. |
| |
| * the plain mailer would always use port 25 in <mail>. |
| |
| * Ant's default logger could swallow empty lines. |
| |
| * ejbjar's iPlanet nested element now can process multiple descriptors. |
| |
| * IPlanetEjbc was looking in the wrong place for four iiop files. |
| |
| * <javac> would pass the -source switch to JDK 1.3's javac, even |
| though it doesn't support it. |
| |
| Other changes: |
| -------------- |
| |
| * <checksum> now uses a buffer (of configurable size). |
| |
| * The "Trying to override task definition" warning has been degraded |
| to verbose level if the two task definitions only differ in the class |
| loader instance that has loaded the definition. |
| |
| * Add a jvmargs to the ejbjar's weblogic element to allow additional |
| arguments to be provided to the VM runnign ejbc. Document the |
| jvmdebuglevel attribute which can be used to avoid warnings about |
| interface classess being found on the classpath. Document the new |
| <sysproperty> element which allows JVM properties to be defined. |
| Added an outputdir attribute to allow the destination to be a |
| directory into which the exploded jar is written. |
| |
| * ejbjar now supports Borland Enterprise Server 5 and Jonas 2.5 |
| |
| Changes from Ant 1.5beta1 to Ant 1.5beta2 |
| ========================================= |
| |
| Changes that could break older environments: |
| -------------------------------------------- |
| |
| * Properties will now be expanded in mail message bodies. This means |
| that one $ sign will be stripped if your mail message contains the text |
| $$. |
| |
| * org.apache.tools.ant.taskdefs.Expand no longer extends MatchingTask. |
| |
| * Available#setFile now again uses a File argument as it did in 1.4, |
| this may break environments that have been adapted to the String |
| argument version present in 1.5beta1. |
| |
| Fixed bugs: |
| ----------- |
| * When <move> attempts a rename, it deletes the destination file, if it |
| exists, before renaming the source file. However, <move> was not |
| checking if the destination file was actually a directory before |
| trying to delete it. |
| |
| * Make CVS Tasks to work under Cygwin. |
| |
| * Fix LineContains to handle huge files elegantly without causing |
| Stack Overflows. |
| |
| * if you ask for the "classic" compiler on Java1.4, you get upgraded to |
| "modern" because there is no classic compiler any more. |
| |
| * the <http> condition was viewing 404 'not found' exceptions as success. Now |
| it defaults to viewing any response >=400 as an error, and has an errorsBeginAt |
| attribute you can use if you want a higher or lower value. |
| |
| * <get> throws a build exception on an http authorization error, unless you |
| have set ignoreerrors to true. |
| |
| * <wsdltodotnet> was spelt in Wintel case: <WsdlToDotnet>. It is now lower |
| case, though the old spelling is retained for anyone who used it. |
| |
| * Merging of Manifests in jar now works as documented. |
| |
| * paths that have been separated by colons would be incorrectly parsed |
| on NetWare. |
| |
| * runant.pl now supports NetWare. |
| |
| * <tempfile> and <setproxy> tasks were in beta1, but not defined by |
| default; They now are. <tempfile> fills a property with the name of a |
| temporary file; <setproxy> lets you set the JVM's http, ftp and socks proxy |
| settings. |
| |
| * <available classname="foo" ignoresystemclasses="true"> failed for |
| JDK 1.1 and 1.2, even if the class could be found on the |
| user-specified classpath. |
| |
| * <property environment=... /> now works on z/OS. |
| |
| * forked <javac> failed for the wrong reason on JDK 1.1 - Ant would |
| use a temporary file to hold the names of the files to compile under |
| some conditons, but 1.1 doesn't support this feature. Ant will no |
| longer try this, but you may run into problems with the length of the |
| command line now. |
| |
| * the refid attribute for <property>s nested into <ant> or <param>s |
| nested into <antcall> didn't work. |
| |
| * <replaceregexp> didn't work for nested <fileset>s. |
| |
| * <javadoc> dropped sourcepath entries if no "interesting" .java |
| source files could be found below them. This has been backwards |
| incompatible and caused problems with custom doclets like xdoclet. |
| |
| * Using the doclet, docletpath or docletpathref attributes of |
| <javadoc> may have caused NullPointerExceptions. |
| |
| * nested <filesets> of <javadoc> would include too much. |
| |
| * <dependset> will no longer choke on <targetfileset>s that point to |
| non-existing directories. |
| |
| * <patch> didn't work at all. |
| |
| * <replace> and <replaceregexp> now fail if the file they are working |
| on is locked. |
| |
| * <javadoc> would pick up the wrong executable in the combination JDK |
| 1.2 and AIX. |
| |
| Other changes: |
| -------------- |
| |
| * z/OS now gets detected by the os condition. |
| |
| * <fileset> and <dirset> now have an optional followsymlink attribute |
| that can prevent Ant from following symbolic links on some platforms. |
| |
| * BeanShell is now supported in the <script> task. |
| |
| * <ejbjar> under Weblogic attempts to use the ejbc20 compiler for 2.0 beans |
| based on the deployment descriptor's DTD reference. Under weblogic 7.00 Beta |
| this ejbc class has been deprecated. To avoid the deprecation warning use |
| ejbcclass="weblogic.ejbc". |
| |
| * <ejbjar> will add a manifest to the generated jar based on the naming |
| convention in use. This overrides the manifest specified in the |
| <ejbjar> attribute |
| |
| |
| Changes from Ant 1.4.1 to 1.5beta1 |
| ================================== |
| |
| Changes that could break older environments: |
| -------------------------------------------- |
| |
| * Important: Single $ signs are no longer silently stripped! |
| Before you panic that we have broken all your build files, we have kept |
| the old "$$" -> "$" behaviour. So only build files which accidentally had |
| a $ sign in a string that was being silently stripped may break. |
| We added this fix to stop newbie confusion; if you want to write a |
| build file which works on ant versions 1.4.1 or earlier, stay with |
| the double $$ sign rule. |
| |
| * Shipped XML parser is now Xerces 2.0.1 along with the XML Parser APIs. |
| XML Parser APIs is a separate jar that contains the necessary |
| JAXP/DOM/SAX classes. |
| |
| * <telnet> was fixed to expand properties inside nested <read> and |
| <write> elements; before this only happened when you assigned the text |
| to the string attribute. If you had $ signs in the string, they may |
| need escaping. |
| |
| * the RegexpMatcher interface has been extended to support case |
| insensitive matches and other options - custom implementations of |
| this interface won't work any longer. We recommend to use the new |
| Regexp interface that also supports substitution instead of the |
| RegexpMatcher interface in the future. |
| |
| * <gzip> will throw an exception if your src attribute points to a directory. |
| |
| * Unjar, Unzip and Unwar will throw an exception if the Src attribute |
| represents a directory. Support for nested filesets is provided |
| instead. |
| |
| * It is no longer possible to overwrite a property using tasks like |
| <condition>, <exec>, <pathconvert>, or <tstamp>. In some exceptional |
| cases it will generate a warning if you attempt to overwrite an |
| existing property. |
| |
| * Taskwriters please note: Whenever tasks had any overloaded set* methods, |
| Ant's introspection mechanism would select the last overloaded method |
| provided to it by the Java Runtime. A modification has now been made such |
| that when the Java Runtime provides a method with a String as its argument, |
| a check is made to see if there is another overloaded method that takes in |
| some other type of argument. If there is one such method, then the method |
| that takes in String as an argument is not selected by the Introspector. |
| |
| * The pattern definition **/._* has been included into the Default |
| Excludes list. |
| |
| * <propertyfile>'s <entry> element was modified to remove "never" as a value |
| as its behavior was undocumented and flakey. |
| |
| * The -projecthelp flag now only prints out targets that include the |
| 'description' attribute, unless the -verbose or -debug flag is included |
| on the Ant command line. |
| |
| * Ant's testcases now require JUnit 3.7 or above, as they now use the new |
| assertTrue method instead of assert. |
| |
| * If the 'output' attribute of <ant> is set to a simple filename or a |
| relative path, the file is created relative to ${basedir}, not ${user.dir}. |
| |
| * The default value for build.compiler is now javac1.x with x |
| depending on the JDK that is running Ant instead of classic/modern. |
| |
| Fixed bugs: |
| ----------- |
| * A bug existed that prevented generated log files from being deleted as |
| part of the build process itself. This has now been fixed. |
| |
| * Fixed bug where <move> ignored <filterset>s. |
| |
| * Ant works properly with the combination of Java1.4/WindowsXP. |
| |
| * Fixed bug where <java> used to sometimes invoke class constructors twice. |
| |
| * Fixed bug with 4NT shell support. |
| |
| * Fixed bug where ant would not perform ftp without remotedir being |
| specified even though this was not mandatory. |
| |
| * Fixed bug where ant would not copy system properties into new Project |
| in ant/antcall tasks when inheritall="false" is set. |
| |
| * <propertyfile> would not close the original property file. |
| |
| * <ant> will no longer override a subbuild's basedir with inheritall="true". |
| |
| * Fixed problem with the built-in <junit> formatters which assumed |
| that only one test could be running at the same time - this is not |
| necessarily true, see junit.extensions.ActiveTestSuite. |
| |
| * <jar>'s whenEmpty attribute is useless as JARs are never empty, they |
| contain at least a manifest file, therefore it will now print a |
| warning and do nothing. |
| |
| * <typedef> hasn't been all that useful as it couldn't be used outside |
| of targets (it can now) and nested "unknown" elements have always |
| been considered to be tasks (changed as well). |
| |
| * <fixcrlf> would fail for files that contained lines longer than 8kB. |
| |
| * Some junit formatters incorrectly assumed that all testcases would |
| inherit from junit.framework.TestCase. |
| |
| * <fixcrlf> dropped the first characters from Mac files. |
| |
| Other changes: |
| -------------- |
| * Selector Elements now provide a way to create filesets based on |
| sophisticated selection criteria. |
| |
| * Gzip and Bzip2 files can now be constructed in the fly when using |
| the tar task without having to create the intermediate tar file on |
| disk. The Untar task can also untar GZip and BZip2 files on the fly |
| without creating the intermediate tar file. |
| |
| * New optional type, <classfileset> added. |
| |
| * <ejbjar> now allows control over which additional classes and interfaces |
| are added to the generated EJB jars. A new attribute "dependency" can be |
| defined which controls what classes are added. The addition of classes now uses |
| the Jakarta-BCEL library rather than reflection, meaning bean classes are |
| no longer loaded into Ant's JVM. The default dependency analyzer is known as |
| the ancestor analyzer. It provides the same behaviour as the 1.4.1 version of |
| <ejbjar>. If the BCEL library is not present, a warning will be issued stating |
| the ancestor analyzer is not available. In this case <ejbjar> will continue |
| to function but will not add super classes to the jar. |
| |
| * <available> has a new attribute named ignoreSystemClasses. |
| |
| * New task <cvschangelog/> generates an XML report of changes that occur |
| on CVS repository. |
| |
| * New filter readers: ClassConstants, ExpandProperties, HeadFilter, |
| LineContains, LineContainsRegExp, PrefixLines, ReplaceTokens, |
| StripJavaComments, StripLineBreaks, StripLineComments, TabsToSpaces, |
| TailFilter. |
| |
| * <copy>, <loadfile>, <loadproperties>, <move> support FilterChains |
| of FilterReaders. |
| |
| * New task <loadproperties> to load contents of file as Ant properties, |
| with nested <filterchain> elements. |
| |
| * New task <loadfile> to load a whole file into a property. |
| |
| * New task <echoproperties> to list your current properties to the screen |
| or a file. |
| |
| * New tasks <bzip2> and <bunzip2> to pack and unpack files using the |
| BZip2 alogrithm. |
| |
| * New tasks <replaceregexp>, <checksum>, <translate>, <waitfor>, |
| <manifest>, <vsscp>, <vssadd>, <vsscreate>, <splash>, <basename>, <dirname>, |
| <concat>, <sourceoffsite>, <jarlib-available>, <jarlib-display>, |
| <jarlib-manifest>, <jarlib-resolve>. |
| |
| * A new combined <mail> task, which replaces the old <mail> and |
| <mimemail> tasks, has been added. The <mimemail> task, and |
| old SendEmail and MimeMail classes have been deprecated. |
| |
| * Mail task allows specification of port number. |
| |
| * Users can control what <zip> and <jar> must do when duplicate files |
| are found. A new element <zipgroupfileset> allows for multiple zip |
| files to be merged into the archive. In addition, <jar> also has |
| another new attribute: filesetmanifest. The existing manifest |
| attribute of <jar> now also accepts the name of a jar added through |
| a fileset. |
| |
| * gzip now checks that the zipfile is older than the source file |
| before rebuilding the zipfile. |
| |
| * TarFileset takes in three new attributes - fullpath, prefix |
| and preserveLeadingSlashes. |
| |
| * <move> attempts to rename the directory, if everything inside it is |
| included, before performing file-by-file moves. This attempt will |
| be done only if filtering is off and if mappers are not used. This |
| is a performance improvement and there is no change otherwise in |
| the funtionality of this task. |
| |
| * Exec task has extra attribute "resultproperty" to get the return code |
| into a property. |
| |
| * Exec task prints a message when a timed-out process is killed. |
| |
| * Added optional attributes - name, arch and version to the <os> task. |
| |
| * Unjar, Untar, Unwar and Unzip now support patternsets to |
| select files from an archive for extraction. Filesets may be |
| used to select archived files for unarchival. |
| |
| * Javac task allows debug levels to be specified. Debug levels |
| will have an effect only when the modern compiler or the |
| classic compiler (version 1.2 and higher) is used and debugging |
| is enabled. |
| |
| * Added support for specifying CVS_RSH in the <cvs/> task |
| |
| * The attributes zipfile, jarfile, warfile and earfile (from the Zip, |
| Jar, War and Ear tasks) have been deprecated and superseded by a |
| new attribute "destfile". |
| |
| * Added new conditions <isset>, <checksum>, <http>, <socket>, <contains>, |
| <filesmatch>. |
| |
| * <taskdef> and <typedef> will now emit a warning if a task/type of |
| the given name already exists. |
| |
| * A new revision of VAJ tasks: The most important new feature |
| is the ability to execute VAJ tasks from the command line by |
| exploiting the Remote Tool Access feature of VAJ. |
| |
| * Improved support for Novell NetWare. |
| |
| * Added an optional encoding attribute to <fixcrlf>. |
| |
| * <apply> has a new attribute relative that allows users to pass the |
| filenames as relative instead of absolute paths on the command line. |
| |
| * References can now be copied into the child build by <ant> and |
| <antcall> using nested <reference> elements or the new inheritRefs |
| attribute. |
| |
| * <fail> now supports builds to fail based on conditions via if and |
| unless attributes. |
| |
| * Ant now comes with two new BuildLogger implementations - one that |
| can send emails containing a log of the build process (MailLogger), |
| and one that colorizes the output based on message levels, using |
| ANSI color code escape sequences (AnsiColorLogger). |
| |
| * A "package" mapper type has been added to allow package directory |
| names replaced with the dotted form. |
| |
| * You can now specify environment variables in the <java> and <junit> tasks |
| if the fork attribute has been set to true. |
| |
| * -propertyfile command-line option has been added to load an entire |
| property file just as -D properties are declared (as user properties). |
| -D properties take precedence over -propertyfile specified ones. |
| |
| * You can now set an ANT_ARGS environment variable to hold arguments you |
| always want passed to the 'ant' command -- for example, if you always |
| want to use a different logger or the -find flag. |
| |
| * <tstamp> now supports a new "prefix" attribute to prefix properties set. |
| |
| * You can now specify the -sourcepath for <javac> explicitly. |
| |
| * <javac> now supports a new "listfiles" attribute to list the source |
| files it's handing off to the compiler. |
| |
| * The compiler implementation for <javac> can now be chosen on a task by |
| task basis. The new "compiler" attribute of <javac> can be used to override |
| the value of the build.compiler property, if set. |
| |
| * <javac> has a new nested element, <compilerarg>, which allows you |
| to specify additional args for the specific compiler you're using. |
| |
| * <javac>'s "source" attribute is now enabled for jikes as well. |
| |
| * <propertyfile>'s <entry> now has a 'unit' attribute to specify the |
| increment/decrement unit on date operations. |
| |
| * <property> now supports a 'prefix' attribute when loading from a file |
| or resource. |
| |
| * In Ant 1.4, a feature has been added to the <junit> task that would |
| add ant.jar, optional.jar and junit.jar implicitly to the classpath - |
| this feature can now be disabled by setting the new includeantruntime |
| attribute to false. |
| |
| * <style> behaves differently from any other directory-based task, as it |
| processes all files that it finds in included directories in |
| addition to the files matched by your patterns. There is now a new |
| attribute, 'scanincludeddirectories', to suppress this behavior. |
| |
| * <javadoc> now supports a <tag> nested element to provide the -tag option |
| to the standard Java 1.4 doclet. The element is ignored when not running |
| on Java 1.4. |
| |
| * <ftp> can now chmod files on a remote server that supports |
| "site chmod", as well as set the umask before transferring files, if |
| the server supports "site umask". |
| |
| * New <serverdeploy> "optional" task. |
| |
| * <patternset> now supports nested patternsets. |
| |
| * Perforce tasks now support a "failonerror" attribute (defaults to "true"). |
| |
| * Open Source application server JOnAS support: |
| EJB hot deploy and deploy with <serverdeploy> and <ejbjar> |
| |
| * Added new DirSet (<dirset>) datatype. |
| |
| * <path> now supports nested <dirset> and <filelist> elements. |
| |
| * <pathconvert> now supports nested <dirset> and <filelist> elements. |
| |
| * <pathconvert>'s "dirsep" and "pathsep" attributes now accept |
| multi-character values. |
| |
| * <copy> task now has a 'failonerror' attribute to allow keep-going |
| behaviour when the file to be copied is not found (defaults to "true"). |
| |
| * <uptodate> now has a 'srcfile' attribute to allow specifying a |
| full-path filename. |
| |
| * <exec>, <sql> and <java> now support append attributes to allow |
| appending the output to an existing file. |
| |
| * <java> now supports a timeout attribute analog to <exec> - it is |
| highly recommended to only use it together with fork="true". |
| |
| * <javadoc> now supports a source attribute to enable javadoc to |
| handle assertions present in JDK 1.4 source code. |
| |
| * <replace> supports a new replacefilterfile attribute that |
| automatically turns all properties of a given file into |
| replacefilters. |
| |
| * An alias of <xslt> has been added to refer to the <style> task. |
| |
| * The compiler implementation for <rmic> can now be chosen on a task by |
| task basis. The new "compiler" attribute of <rmic> can be used to override |
| the value of the build.rmic property, if set. |
| |
| * <rmic> has a new nested element, <compilerarg>, which allows you |
| to specify additional args for the specific compiler you're using. |
| |
| * org.apache.tools.ant.XmlLogger now is a BuildLogger, rather than just |
| a BuildListener. It can operate in either mode successfully. |
| |
| * <junit> has a new attribute "showoutput". If set to true, output |
| generated by tests will be sent to Ant's logging system as well as |
| to the formatters (instead of sending it to the formatters |
| exclusively). |
| |
| * Ant has now a pluggable way to prompt users for input, which is used |
| by the new <input> task. IDE integrators can provide an |
| implementation of the InputHandler interface to decouple Ant's input |
| from the console. An implementation that gets its input from a file |
| for unattended builds is part of Ant's distribution. |
| |
| For more details see docs/manual/inputhandler.html. |
| |
| * <patch> has a new attribute that selects the directory in which to |
| run the command. |
| |
| * <javadoc> now supports two new nested elements, <fileset> and <packageset>. |
| |
| Changes from Ant 1.4 to Ant 1.4.1 |
| =========================================== |
| |
| Fixed bugs: |
| ----------- |
| |
| * <ant>'s antfile attribute will now also be considered an absolute path on |
| Windows systems, if it starts with a \ and no drive specifier. |
| |
| * The fullpath attribute of <zipfileset> has been ignored if you used |
| the src attribute at the same time. |
| |
| * The manifest file is now always placed as the second entry (after /META-INF) |
| in generated jars. This allows the manifest to be read by JarInputStreams |
| |
| * Fixed bug in depend task which would fail with a NullPointerException if no |
| dependency cache was specified. |
| |
| * sql task now handles REM statements correctly so that lines starying with rem |
| but which are not comments are actually processed. |
| |
| * XMLLogger now uses the task's name rather than the classname |
| |
| * <mapper>s will now work as expected if the to pattern expands to an |
| absolute pathname. |
| |
| * <javac> didn't ignore memory settings in non-fork mode |
| |
| * <cab> didn't split the options attribute into several command line |
| arguments correctly. |
| |
| Other changes: |
| -------------- |
| |
| * New source attribute for <javac> to enable assertion in JDK 1.4 |
| |
| * XmlLogger and <antstructure> now add an encoding declaration to the |
| XML files they generate. |
| |
| * <fileset> has a new attribute "casesensitive" to make it match |
| filenames in a case insensitive way (if you set it to false) - by |
| default filesets remain case sensitive. |
| |
| Changes from Ant 1.3 to Ant 1.4 |
| =========================================== |
| |
| Changes that could break older environments: |
| -------------------------------------------- |
| * JUnitReport now uses the xalan redirect extension for multi-output. |
| With Xalan 1.2.2 it forces the use of bsf.jar in the classpath. |
| (Available in the xalan distribution). It is recommended to switch |
| to Xalan 2.x that do not need it. |
| |
| * Zip.setWhenempty() has changed its signature. |
| |
| * <rmic> is now implemented using a factory. This makes extending |
| rmic to use a new compiler a lot easier but may break custom |
| versions of this task that rely on the old implementation. |
| |
| * several Zip methods have changed their signature as we now use a Zip |
| package of our own that handles Unix permissions for directories. |
| Furthermore <zip> will now use the platform's default character |
| encoding for filenames - this is consistent with the command line |
| ZIP tools, but causes problems if you try to open them from within |
| Java and your filenames contain non US-ASCII characters. Use the new |
| encoding attribute of the task and set it to UTF8 to get the old |
| behavior. |
| |
| * The <pvcs> task has been moved to a package of its own. |
| |
| * JUnitResultFormater has two additional methods that must be |
| implemented by custom formatters. |
| |
| * Ant will no longer use the canonical version of a path internally - |
| this may yield different results on filesystems that support |
| symbolic links. |
| |
| * The output generated by the xml formatter for <junit> has changed |
| again, it doesn't format the numeric value in the time attribute anymore. |
| |
| * Pattern matching rules have changes slightly, the pattern foo* |
| doesn't match files contained in a directory named foo - use foo/* |
| instead. |
| |
| * <fixcrlf> will not remove trailing whitespace at the end of lines anymore. |
| |
| * The Classloader usage has been changed for the taskdef, property, available |
| and sql tasks so that it delegates to the parent classloader. This may cause |
| ClassNotFoundExceptions to be thrown if a system class attempts to load a |
| class in the taskdef's classpath (typically factory objects). |
| |
| * Ant now allows multithreading of tasks and the containment of tasks within |
| other tasks. This can break customer listeners which do not expect messages |
| from a task before the previous task has finished. |
| |
| * Ant now installs its own ouput stream into System.out to route output to the |
| task currently executing on the current thread. This also means that all |
| output is now routed as Ant message events. Customer listeners and loggers |
| should not call System.out at any time. This has always been true but such |
| usage now will cause problems due to possible recursion. |
| |
| * Invalid manifest files will now cause build failures in the <jar> task. |
| |
| * Ant Introspection now looks for methods with method names starting with |
| addConfigured. When called these methods are passed an argument after it has |
| been configured from the build file. Custom tasks supporting nested elements |
| starting with the name configured will no longer function. |
| |
| * The environment variable JAVACMD that can be used to specify the |
| java executable to Ant's wrapper scripts must not contain additional |
| command line parameters any longer - please use the environment |
| variable ANT_OPTS for such parameters now. |
| |
| * Ant's wrapper scripts now quote the CLASSPATH environment variable, thus |
| supporting classpaths which refer to directories containing spaces. This means |
| that the CLASSPATH environment variable cannot have quotes. Any quotes should |
| be removed. This will not affect the operation of the CLASSPATH environment |
| variable in other contexts. |
| |
| * A delete task like |
| <delete includeEmptyFilesets="true"> |
| <fileset dir="somedir" /> |
| </delete> |
| will now remove "somedir" as well, unless there are still files left |
| in it (matched by the default excludes). |
| |
| * The copy task will now fail if the file to be copied is not found. |
| |
| * Ant properties defined in properties files now behave the same way as |
| properties defined in the build file. In particular the $ character needs |
| to be escaped in property values by doubling it to $$. So, to define a |
| property with the value $hello, you need to define it in a properties file |
| as |
| test.prop=$$hello |
| This was not the case in Ant 1.3 |
| |
| Other changes: |
| -------------- |
| |
| * New tasks: ear, p4counter, record, cvspass, vsscheckin, vsscheckout, |
| typedef, sleep, mimemail, set of tasks for Continuus/Synergy, dependset, |
| condition, maudit, mmetrics, jpcoverage, jpcovreport, jpcovmerge |
| |
| * Ant now uses JAXP 1.1 |
| |
| * rmic now supports Kaffe's and Weblogic's version of rmic. |
| |
| * new magic property build.rmic to chose the rmic implementation |
| |
| * <tar> will now add empty directories as well |
| |
| * you can now specify a description for <p4change> |
| |
| * <touch> can now work on <fileset>s |
| |
| * <uptodate> now supports a value attribute |
| |
| * <fail> supports nested text |
| |
| * <fixcrlf> won't override files that are already in the correct |
| format. |
| |
| * <sql> now supports REM comments as well as // and -- |
| |
| * <jar> now has a nested <metainf> element following the same idea as |
| <war>'s <webinf>. |
| |
| * <pvcs> can now handle multiple projects. |
| |
| * <available> now has a "type" attribute you can use in conjunction |
| with the "file" attribute to specify whether the "file" you're |
| looking for is a file or a directory. |
| |
| * New <junit> formatter named "brief" |
| |
| * <ejbjar> changes |
| * Add support for Borland Application Server to the <ejbjar> task using |
| a <borland> nested element. |
| * Add support for iPlanet Application Server to the <ejbjar> task. Also |
| includes some iPlanet utility tasks |
| * Add support for JBoss Application Server to the <ejbjar> task. |
| * Add a naming attribute to control the naming scheme that |
| ejbjar uses to name the generated EJB jars. |
| * Weblogic element now sets the compiler class for EJB 2.0 beans |
| * <dtd> elements can be specified at the <ejbjar> level for building generic |
| beans |
| * <dtd> elements can now be URLs |
| * Allow the manifest to be specified for the generated jars |
| * The weblogic element now supprts an attribte noEJBC to skip the processing |
| of the jar by ejbc. The ejbc step will then occur at deployment |
| * weblogic will tell ejbc to use Jikes compiler if build.compiler is set to |
| jikes. It can be restored to the default, javac, operation if desired. |
| |
| * Allow the <sql> Delimiter to be set in the so that Oracle stored procs may be |
| entered |
| |
| * <execon> and <apply> can now optionally skip empty filesets. |
| |
| * <javadoc> has a new useexternalfile attribute that makes it use a |
| temporary file for sourcefile and package names - helps to defeat |
| command line length limitations. |
| |
| * Data types like <path> can now be defined inside of <target>s |
| |
| * you can now specify a classpath for <style> - the XSLZ processor |
| will be loaded from this path |
| |
| * added a force attribute to <style> to support dependencies that the |
| task cannot determine itself (dependency on parameters, not file |
| modification times for example) |
| |
| * added vmlauncher attribute to exec tasks. This defaults to true. If |
| it is set to false, the VM's ability to launch commands in bypassed |
| and the OS shell, either directly or through the auxillary antRun |
| scripts is used. |
| |
| * regexp mapper now supports the java.util.regex package of JDK 1.4. |
| |
| * New filesonly attribute for <zip> and friends to suppress directory |
| entries. |
| |
| * New update attribute for <zip> and friends - update an existing |
| archive instead of creating a new one. |
| |
| * <apply> and <execon> have been merged into a single task. |
| |
| * added vssver.scc to the default excludes |
| |
| * <available> has a new filepath attribute/nested element that allows |
| you top search for a file in a given path. |
| |
| * <junit> can now optionally set a property on test failure. |
| |
| * <taskdef> can now define several tasks at once, reading the |
| name/classname pairs from a property file or resource. |
| |
| * <unzip/unjar/unwar> and <untar> now have an overwrite attribute that |
| defaults to true. If set to false, files that are newer than the |
| files in the archive will not be replaced. |
| |
| * <patternset> and <fileset> now support nested <in/excludesfile> |
| elements - using these you can have more than one in/excludes file |
| per <patternset>. |
| |
| * Three new supported compilers for javac: kjc for kopi, gcj for the |
| gcc frontend and sj for Symantec's compiler. |
| In addition extJavac or the new fork attribute can be |
| used to run the JDK's javac in a JVM separate from Ant. |
| |
| * <fixrlf> can now with CR only line-ends and can use an arbitraty |
| between 2 and 80. |
| |
| * The .NET tasks have been adapted to the beta2 release of the framework. |
| |
| * <move> will now try to rename() files before copying them byte by |
| byte - only if filtering is of, of course. |
| |
| * <ant> and <antcall> tasks now support a new attribute inheritAll. When set to |
| false, only user properties are passed through to the target Ant instance. |
| This includes properties set on the command line and properties explicitly |
| passed |
| |
| * <javadoc> now skips off line links if the package list cannot be found. |
| |
| * <wlrun> now allows the security policy file to exist outside the weblogic |
| directory. |
| |
| * <java> task will set the Thread contextClassLoader under JDKs 1.2+ to the |
| classloader for the class being executed. |
| |
| * Introduce the concept of a TaskContainer - a task or element which can contain |
| Ant Tasks. |
| |
| * Add new tasks implementing the TaskContainer interface <parallel> and |
| <sequential> which allow parallel execution of tasks to be specified. |
| |
| * <depend> task will now take into account dependencies on jar files and class |
| files from a given classpath. |
| |
| * <jar> manifest entries may now be specified in the build file either |
| completely or to be merged with a manifest file. |
| |
| * <tstamp> task custom formats now support locales. |
| |
| * Added a listner which will forward events to Log4J. The log4j configuration |
| file should be in the directory from which Ant is run or passed as a system |
| property using a JVM argument. |
| |
| * Introduced the concept of <filtersets> to allow for more control in which |
| filters get applied in a <copy> or <move> operation. |
| |
| * Added nowarn attribute to javac and deprecated the Jikes-magic property |
| build.compiler.warnings. |
| |
| * The <depend> task cache format has changed and all dependency information is |
| now stored in a single file. |
| |
| Fixed bugs: |
| ----------- |
| |
| * Testcases have been made independent of current working directory. |
| |
| * Input ZIP-Files will be closed when using a <zipfileset>. |
| |
| * p4 tasks now don't fail if user, port or client have been omitted |
| (and this is acceptable for the context of the command). |
| |
| * <javah>'s outputfile attribute will be resolved as relative to the |
| projects basedir. |
| |
| * <antstructure> should create a valid DTD for propertyfile.operation.entry |
| and omit tasks it fails to load. |
| |
| * won't try to pass a -bootclasspath flag to javac 1.1 anymore |
| |
| * <style>'s style attribute no handles absolute paths correctly. |
| |
| * <delete includeemptydirs="true"> now deletes more than just the leaf |
| directories. |
| |
| * You can now specify a <fileset> for a directory that doesn't exist at |
| declaration time but will created before the fileset gets used for the |
| first time. |
| |
| * If the quiet attribute has been set, <delete> will handle <fileset>s |
| with non-existing directories gracefully. |
| |
| * Output written by testcases will now be captured by the <junit> task |
| and passed to the formatters. |
| |
| * Quote the -group parameter to Javadoc as per the specification |
| |
| * Initialise classes when loaded through the AntClassLoader - that is, run |
| static initializers |
| |
| * Implement getResource() and getResources() in AntClassLoader |
| |
| * Create the <ejbjar> weblogic command line as a set of arguments rather than |
| as a single line. Avoids problems with paths which contain spaces. |
| |
| * <ejbjar> now fails when the weblogic ejbc compiler reports an error. |
| |
| * Make the AntClassLoader load resources in the same order as it currently |
| loads classes. |
| |
| * Handle classpaths with spaces |
| |
| * Make sure XSLT processors close their output files in <style>. |
| |
| * perform proper uptodate check in <rmic> when compiling for IIOP. |
| |
| * <jjtree>'s uptodate test works even if outputdirectory is not the |
| parent dir of target |
| |
| * <copy> will remove target file (if it exists) before writing to it - |
| this avoids problems with links on filesystems that support them. |
| |
| * <ftp> now properly recurses remote directories. |
| |
| * <ftp> closes remote connection when it's done. |
| |
| * <junit> tries to include all necessary classes for the task itself |
| to the classpath when running in fork mode - doesn't work for JDK 1.1 |
| |
| * <apply> and <execon> do now execute the command only once, if you |
| specify the parallel attribute - instead of once per fileset. |
| |
| * directory based tasks and fileset could miss some included files in |
| directories that have been excluded |
| |
| * <fixcrlf> failed for large files. |
| |
| * <move> removed files you tried to move to themselves. |
| |
| * <sql> task will not trty to print the result set unless the query succeeded. |
| |
| * Ant classloader will now ignore paths which are invalid relative to the |
| project base |
| |
| * <ejbjar> weblogic elements check for jar file changes has been fixed. |
| Previously some changes would not be included. |
| |
| * properties loaded from properties files are now resolved internally. This |
| removes the spurious warnings about usage of properties which have not been |
| set. |
| |
| * <jar> task and friends now process the JAR manifest to ensure it is valid. |
| |
| * The task finished event now includes any exception thrown by the task. |
| |
| * <java> task now supports a jvmVersion attribute so that if another JVM is |
| being used, Ant can determine which options to use for features such as the |
| VM memory limits |
| |
| |
| Changes from Ant 1.2 to Ant 1.3 |
| =========================================== |
| |
| Changes that could break older environments: |
| -------------------------------------------- |
| |
| * Ant doesn't search for the buildfile anymore, unless you use the new |
| -find argument. |
| |
| * <perforce> has been replaced by a number of new tasks. |
| |
| * <javac> is now implemented using a factory. This makes extending |
| javac to use a new compiler a lot easier but may break custom |
| versions of this task that rely on the old implementation. |
| |
| * The output generated by the xml formatter for <junit> has changed a |
| little, it doesn't append " sec" in the time attribute anymore. |
| |
| Other changes: |
| -------------- |
| |
| * A GUI Frontend: Antidote. This is currently in development. At this |
| time, this is not part of the Ant release, although the source is |
| included if you are interested. |
| |
| * New tasks: stylebook, propertyfile, depend, antlr, telnet, csc, |
| ilasm, apply, javah, several clearcase tasks, junitreport, sound |
| |
| * Added output attribute to <java>. |
| |
| * Added nested zipfileset element to <zip> |
| |
| * Changed <sql> so that printing is at the task level rather than |
| the statement level. |
| |
| * javadoc task will pass -d flag to any doclet if the destDir attribute is |
| given. If the doclet does not accept the -d flag then omit the destdir |
| attribute. |
| |
| * <cab> can work on non-Windows platforms with the help of libcabinet. |
| See http://trill.cis.fordham.edu/~barbacha/cabinet_library/. |
| |
| * <ftp> now supports passive mode. |
| |
| * New <mapper> data type that can be used to get influence on the |
| target files for some tasks like <copy> or enable new types of tasks |
| like <apply>. |
| |
| * <execon> provides more control over the command line now, the names |
| of the source files are no longer required to be at the end of the |
| command. |
| |
| * Style tasks will now support TraX compliant XSL processors if one is present |
| in your classpath. |
| |
| * Added a failonerror to the javac task. If set to false, the build will |
| continue even if there are compilation errors. |
| |
| * Added nested format elements to the tstamp task allowing additional time |
| formats to be defined for arbitrary properties. |
| |
| * Added classpath attribute and nested classpath element to <property> |
| to make the resource attribute more powerful. |
| |
| * ${} property expansion will now be performed on the patterns read |
| from files specified as includesfile or excludesfile attributes. |
| |
| * The <tar> and <untar> tasks now support GNU format for handling paths |
| which are greater than 100 characters in length. In addition the <tar> |
| task now supports nested filesets through which the file permissions |
| may be controlled. |
| |
| * wlrun, wlstop and ejbjar now support Weblogic 6.0 |
| |
| * The MPasre task has been updated to work with MParse 2.0 |
| |
| * The documentation has been significantly updated. |
| |
| |
| Fixed bugs: |
| ----------- |
| |
| * <signjar> doesn't use deprectated methods anymore. |
| |
| * javadoc's failonerror attribute works again |
| |
| * javadoc's additionalparam attribute will now be split into separate |
| parameters (on spaces) to allow for more than one parameter. |
| |
| * Changed <sql> task so that printing result sets works on Oracle |
| |
| * Changes to ddcreator and ejbc helper to respect the descriptor hierarchy |
| keppgenerated in ejbc can now be turned off |
| |
| * ejbjar now correctly ignores <ejb-ref> elements in the deployment descriptor. |
| CMP files are included by parsing the weblogic deployment descriptor rather |
| than relying on the naming convention used in ant 1.2 |
| |
| * ejbjar includes super classes and super interfaces into the generated ejb |
| jar files. The <support> nested element allows support classes to be |
| included in the EJB jar. The toplink element should now correctly locate |
| the toplink descriptor. |
| |
| * <vssget> now correctly deals with spaces in arguments |
| |
| * <jar> fails early if a given manifest file doesn't exist |
| |
| * <rmic> doesn't search for the _Skel file anymore when stubversion is |
| set to 1.2. |
| |
| * <rmic> uses the the same classpath to verify a class can be rmic'd |
| as it passes to the compiler. |
| |
| * org.apache.tools.mail.MailMessage (and therefore <mail>) can now |
| handle SMTP servers sending multi line responses. |
| |
| * nested <classpath> elements of <taskdef> now work for <taskdef>s not |
| nested into <target> as well. |
| |
| * <property> and <available> will search for the resource "foo" instead |
| of "/org/apache/tools/ant/taskdefs/foo" when given a relative resource |
| name foo. |
| |
| * Handle build files in directories whose name contained a "#" character |
| |
| * <junit> can now log to files whose name contains a comma as well. |
| |
| * The AntClassLoader now refers to the loader which loaded it, any |
| requests it does not handle itself. Previously these went to the |
| primordial loader. |
| |
| Changes from Ant 1.1 to Ant 1.2 |
| =============================== |
| |
| Changes that could break older environments: |
| -------------------------------------------- |
| |
| * Semantics of <property> has changed again in the hope to be more |
| intuitive. ${} expansion now happens at runtime and <property> tags |
| living inside of targets only take effect if they are visited at |
| runtime. |
| |
| As a side effect of this change, task's attributes get set at runtime |
| not at parser time as well, which might change the results of |
| <script>s or other custom tasks that reference other tasks by their id |
| attribute. |
| |
| * copying of support files in <javac> has been removed - as well as |
| the filtering attribute. |
| |
| * the <expand> and <keysubst> tasks have been removed. |
| |
| * the ignore and items attributes of directory based tasks have been removed. |
| |
| * the command line switches _not_ starting with - have been removed. |
| |
| * Path and EnumeratedAttribute have been moved from |
| org.apache.tools.ant to org.apache.tools.ant.types. |
| |
| * the class attributes of <available>, <java>, <rmic> and <taskdef> |
| have been removed. |
| |
| * the src attribute of <chmod> has been removed. |
| |
| * <patch> and <javadoc> have lost some of their attributes. |
| |
| * <java> and <cvs> have lost some undocumented attributes. |
| |
| * the Unix antRun script would search for command.sh in the directory |
| it changed to and invoke this instead of command if present. This |
| behavior has been dropped. |
| |
| * <ejbjar> task syntax has been changed significantly |
| |
| * <exec> is no longer implemented by org.apache.tool.ant.taskdefs.Exec. |
| Custom tasks that rely on Project.createTask("exec") to return an |
| instance of this class are going to fail. |
| |
| * nested <include> and <exclude> elements expect the value of their |
| name attribute to be a single pattern, they don't accept multiple |
| patterns anymore. Split them into multiple elements of the same type. |
| |
| * <delete dir="somedir" /> will now delete the directory itself as |
| well as all included files. If you just want to clean out the |
| directory and keep the empty one, use a nested fileset. |
| |
| Other changes: |
| -------------- |
| |
| * New tasks: antstructure, cab, execon, fail, ftp, genkey, jlink, |
| junit, sql, javacc, jjtree, starteam, war, unwar, uptodate, |
| native2ascii, copy, move, mparse. |
| |
| * copydir, copyfile, deltree and rename are now deprecated. They |
| should be replaced with the new copy, delete and move tasks. |
| |
| * <java> uses a ClassLoader of its own in no-fork mode if a classpath is |
| specified. |
| |
| * <style> will create the necessary target directories and reprocess |
| all files if the stylesheet changes. |
| |
| * New data types fileset and patternset - expected to get a broader use. |
| They, as well as PATH like structures, can now be defined on a global |
| level and later be referenced by their id attribute. |
| |
| * You can specify environment variables to <exec>. |
| |
| * <get> can check whether a remote file is actually newer than a local |
| copy before it starts a download (HTTP only). |
| |
| * Added a -logger option to allow the class which performs logging to be |
| specified on the command line. |
| |
| * Added a -emacs option to tell the logger to leave out taskname adornments |
| on log output. |
| |
| * <chmod> works on all files in parallel and supports multiple filesets. |
| |
| * <replace> can now use tokens and/or values that cross line boundaries. |
| |
| * build.compiler supports now jvc as well. |
| |
| * project specific help can now be obtained with the -projecthelp option. |
| |
| * Added a -debug option to make -verbose less verbose (and more useful) |
| |
| * Ant will now search for a file named build.xml in the parent directory |
| and above (towards the root of the filesystem) if you didn't specify |
| -buildfile and there is no build.xml in the current directory. |
| |
| * <echo> can now write to a file and accepts nested text. |
| |
| Fixed bugs: |
| ----------- |
| |
| * <chmod> didn't work when used as a directory based task. |
| |
| * Path, Available, Property didn't resolve relative filenames with |
| respect to the Project's basedir. |
| |
| * Project didn't interpret the basedir attribute correctly in all |
| cases. |
| |
| * Nested <src> in <javac> caused NullPointerException. |
| |
| * Corrupt Zip- and Jar-files ar now deleted if the task fails. |
| |
| * many more fixes we've forgotten to document here ... |
| |
| * The packagelistloc attribute of <javadoc>'s <link> child will be |
| resolved as a file (i.e. it is either absolute or relative to |
| basedir). |