source: release-kits/shared/apache-ant-1.6.5/WHATSNEW@ 14988

Last change on this file since 14988 was 14982, checked in by oranfry, 16 years ago

initial import of LiRK3

File size: 106.7 KB
Line 
1Changes from Ant 1.6.4 to Ant 1.6.5
2===================================
3
4Changes that could break older environments:
5--------------------------------------------
6
7Fixed bugs:
8-----------
9
10* <move> was unable to replace existing files or write into
11 existing directories. Bugzilla report 34962.
12
13* <macrodef> with redefined default values was incorrect. (Fix for
14 31215 had a bug). Bugzilla report 35109.
15
16* <javadoc> will convert backslashes to forwardslashes when generating file
17 list by useexternalfile. Bugzilla report 27814.
18
19Changes from Ant 1.6.3 to Ant 1.6.4
20===================================
21
22Changes that could break older environments:
23--------------------------------------------
24
25Fixed bugs:
26-----------
27
28* Sun javah failed with java.lang.NoClassDefFoundError.
29 Bugzilla report 34681.
30
31* DirectoryScanner.slowScan() was broken. Bugzilla report 34722.
32
33* DirectoryScanner.scan() could throw a NullPointerException on
34 case-insensitive filesystems (read Windows or MacOS X).
35
36* Get w/authentication failed with ArrayOutOfBoundsExceptions.
37 Bugzilla report 34734.
38
39* Granularity attribute for <sync> task was undocumented.
40 Bugzilla report 34871.
41
42* <unzip> and <untar> could leave file handles open on invalid
43 archives. Bugzilla report 34893.
44
45* propertyset threw NPE with nested, mapped propertysets.
46
47* <ftp> up to date calculations were wrong.
48 Bugzilla report 34941.
49
50Other changes:
51--------------
52
53* AntXMLContext.setCurrentTargets() is now public. Bugzilla report 34680.
54
55Changes from Ant 1.6.2 to Ant 1.6.3
56===================================
57
58Changes that could break older environments:
59--------------------------------------------
60
61* The subant task used the canonical version of a file path. This
62 has been changed to use the absolute path. Bugzilla 30438.
63
64* Tar now writes two EOF blocks rather than one.
65 Bugzilla report 28776
66
67* The Reference object now has a project field which it uses in preference
68 to the project passed in. This allows composite references to be
69 handled to nested projects.
70 Bugzilla report 25777
71
72* <junit> with filtertrace="true" will now also swallow lines for the
73 sun.reflect package. If you need to see them in your stack trace,
74 you must set filtertrace to false.
75 Bugzilla Report 22758
76
77* The jikes compiler adapter now supports -bootclasspath, -extdirs and
78 -sourcepath and also uses the same logic for debug flags as javac.
79 This means, the jikes compiler adapter now requires Jikes 1.15 or later.
80 Bugzilla Reports 25868, 26404 and 32609.
81
82* Targets with identical name work in imported project. Bugzilla Report 34566.
83
84* The gcj compiler adapter used to include the Java runtime classes
85 even if includeJavaRuntime was set to false, unless the
86 bootclasspath has been specified as well. It will now always adhere
87 to includeJavaRuntime, you may need to set it to true explicitly now
88 if you relied on the old behavior.
89
90Other changes:
91--------------
92
93* <javadoc> can now take an attribute 'executable'. Bugzilla report 30606.
94
95* New attribute ignorecontents for <different> selector
96
97* Javadoc fixes for Location, Project, and RuntimeConfigurable
98 Bugzilla 30160.
99
100* Enable to choose the regexp implementation without system property.
101 Bugzilla Report 15390.
102
103* Expose objects and methods in IntrospectionHelper. Bugzilla Report 30794.
104
105* Allow file attribute of <move> to rename a directory.
106 Bugzilla Report 22863.
107
108* Add xmlcatalog nested element to XmlProperty. Bugzilla report 27053.
109
110* New attribute alwayslog for <redirector> type.
111
112* Added <target> nested elements to <ant> and <antcall> to allow
113 specification of multiple sub-build targets, which are executed
114 with a single dependency analysis.
115
116* Refactored Target invocation into org.apache.tools.ant.Executor
117 implementations. Bugzilla Reports 21421, 29248.
118
119* <rmic> now also supports Kaffe's rmic version shipping with Kaffe
120 1.1.2 and above.
121
122* added casesensitive attribute to <globmapper> and <regexpmapper>
123 Bugzilla report 16686
124
125* added handledirsep attribute to <globmapper> and <regexpmapper>
126 Bugzilla report 32487
127
128* added a new mapper <filtermapper>
129
130* When a BuildListener tried to access System.err or System.out, Ant
131 would have thrown an exception - this has been changed. Ant now
132 silently ignores the message. BuildListeners still should avoid
133 accessing either stream.
134
135* Added a comment attribute to the zip task.
136 Bugzilla report 22793.
137
138* Overloaded FileUtils.createNewFile with a boolean mkdirs attribute
139 to create nonexistent parent directories.
140
141* <apply> has a new "force" attribute that, when true, disables
142 checking of target files.
143
144* Made the dest attribute of the apply task optional; mapped target
145 filenames will be interpreted as absolute pathnames when dest is omitted.
146
147* Changed default tempdir for <javac> from user.dir to java.io.tmpdir.
148
149* Added searchpath attribute to <exec> for searching path variable(s)
150 when resolveexecutable = true.
151
152* Added revision and userid attributes to <pvcs> documentation.
153
154* Added support to the touch task for a mkdirs attribute to create
155 nonexistent parent directories before touching new files.
156
157* Added support to the touch task for a pattern attribute to allow
158 alternate datetime formats.
159
160* Added support to the touch task to map touched files using a nested
161 mapper element.
162
163* Added support to the touch task for a verbose attribute to suppress
164 logging of new file creation.
165
166* bad link in docs to the enhancement page in bugzilla.
167 Bugzilla report 33252.
168
169* Added length task to get strings' and files' lengths.
170
171* <native2ascii> and <javah> now also support Kaffe's versions.
172
173* Recursive token expansion in a filterset can now be disabled by
174 setting its recurse attribute to false.
175
176* Pathconvert no longer requires that one of (targetos|pathsep|dirsep)
177 be set; platform defaults are used when this is the case.
178
179* Added preservelastmodified attribute to fixcrlf task. Bugzilla 25770.
180
181* Added isfileselected condition.
182
183* Added verbose="true|false" attribute to <subant>. When verbose is enabled,
184 the directory name is logged on entry and exit of the sub-build. Bugzilla 33787.
185
186* Added -nouserlib option to allow running ant without automatically loading
187 up ${user.home}/.lib/ant. This is useful when compiling ant, and antlibs.
188 Modified the build.sh and build.bat to use the option.
189
190* Added -noclasspath option to allow running ant WITHOUT using CLASSPATH env
191 variable. Modified ant.bat to do this so that %CLASSPATH% is not looked at.
192
193* Add else attribute to the condition task, which specifies an
194 optional alternate value to set the property to if the nested
195 condition evaluates to false. Bugzilla report 33074.
196
197* Ant generated jar files should now be detected as jar files by
198 Solaris. Bugzilla Report 32649.
199
200* Added two tutorials
201 - beginner: introduction into Ant
202 - task developers: using path, fileset etc
203
204* <rpm> has new attributes failonerror and quiet.
205
206Fixed bugs:
207-----------
208
209* Do not pass on ThreadDeath when halting <java fork="false">. Bugzilla
210 32941.
211
212* Killing a thread running <java fork="true"> (e.g. from an IDE) would
213 not stop the forked process. Bugzilla 31928.
214
215* Programs run with <java fork="true"> can now accept standard input
216 from the Ant console. (Programs run with <java fork="false"> could
217 already do so.) Bugzilla 24918.
218
219* AbstractCvsTask prematurely closed its outputStream and errorStream.
220 Bugzilla 30097.
221
222* Impossible to use implicit classpath for <taskdef>
223 when Ant core loader != Java application loader and
224 Path.systemClassPath taken from ${java.class.path} Bugzilla 30161.
225
226* MacroInstance did not clean up nested elements correctly in the execute
227 method, causing multiple use of the same macro instance with nested
228 elements to fail.
229
230* checksum fileext property doc wrong. Bugzilla 30787.
231
232* FTP task, getTimeDiff method was returning wrong value. Bugzilla 30595.
233
234* Zip task was not zipping when only empty directories were found.
235 Bugzilla 30365.
236
237* Jar task was not including manifest files when duplicate="preserve" was
238 chosen. Bugzilla 32802.
239
240* Classpath was treated in the same way as -lib options. Bugzilla 28046.
241
242* Manual page for cvsversion contained incorrect attributes and did not
243 say since 1.6.1. Bugzilla 31408.
244
245* Typo in definition of <cvsversion> task causing it not to be defined.
246 Bugzilla 31403.
247
248* Execution of top level tasks in imported files get delayed by targets.
249 Bugzilla report 31487.
250
251* ExecTask executes checkConfiguration() even though os does not match.
252 Bugzilla report 31805.
253
254* Concat task instance could not be run twice.
255 Bugzilla report 31814.
256
257* NPE using XmlLogger and antlib.
258 Bugzilla report 31840.
259
260* Properties.propertyNames() should be used instead of .keys().
261 Bugzilla report 27261.
262
263* Target location is not set for default target.
264 Bugzilla report 32267.
265
266* Incorrect classloader parent in junittask when using with
267 ant-junit.jar and junit.jar not in the project classloader. Bugzilla
268 report 28474.
269
270* getResources() on the classloader returned by ClasspathUtils would
271 see each resource twice - if the resource is in the project
272 classpath and if the classloader is requested with a null path.
273
274* XMLValidate used URL#getFile rather than the ant method FileUtils#fromURI
275 Bugzilla report 32508
276
277* fixed Regexp-Mapper docs which gave outdated instructions (optional.jar)
278 Bugzilla report 28584
279
280* <scp> using <fileset> didn't work with OpenSSH 3.9 and later.
281 Bugzilla report 31939
282
283* <setproxy> failed to set user/password on some JDKs.
284 Bugzilla report 32667
285
286* untar would go into infinite loop for some invalid tar files.
287 Bugzilla report 29877
288
289* forked <javac> won't pass -source to a JDK 1.1 or 1.2 javac anymore.
290 Bugzilla report 32948
291
292* propertyset references did not handle nested propertyset references.
293
294* oata.types.Description.getDescription(Project) would throw a
295 NullPointerException when the "ant.targets" reference was unset.
296
297* Wrapper scripts did not detect WINNT value of dynamic OS environment
298 variable when logged into workstations using Novell authentication.
299 Bugzilla Report 30366.
300
301* DependScanner.getResource() always returned nonexistent resources,
302 even when the resource actually existed. Bugzilla Report 30558.
303
304* <apply> was broken with classfilesets. Bugzilla Report 30567.
305
306* <available> returned false positives when checking a file
307 passed in with the current basedir leading twice:
308 e.g. ${basedir}${file.separator}${basedir}${file.separator}foo .
309
310* The first file open that took place when using input files with the
311 <exec>, <apply>, or <java> tasks was always logged to System.out
312 instead of to the managing Task.
313
314* <telnet> and <rexec> would try to disconnect from servers they never
315 connetced to, potentially leading to exceptions in commons-net.
316 Bugzilla Report 33618.
317
318* <zip> would drop files matched by defaultexcludes during updates.
319 Bugzilla Report 33412.
320
321* <zip> couldn't store files with size between 2GB and 4GB (the
322 upper limit set by the ZIP format itself). Bugzilla Report 33310.
323
324* NPE when when <presetdef> tries to configure a task that
325 cannot be instantiated. Bugzilla Report 33689.
326
327* <javac debug="false"> created an invalid command line when running
328 the Symantec Java compiler.
329
330* Get with usetimestamp did not work on Java 1.2.
331
332* Get with usetimestamp did not work when local timestamp roughly >= now.
333
334* The framed JUnit report now handles multiple reports for the same
335 testcase properly. Bugzilla Report 32745.
336
337* <cab> didn't work for files with spaces in their names on Windows.
338 Bugzilla Report 17182.
339
340* The VAJ tasks could fail if the project name contained characters
341 that need to get URL encoded. Bugzilla Report 23322.
342
343* The FTP task could crash with an ArrayIndexOutOfBoundsException
344 Bugzilla Report 28797
345
346* Improved handling of paths on cygwin
347 Bugzilla Report 31245
348
349* TarInputStream#read() wasn't implemented correctly. Bugzilla Report
350 34097.
351
352* <xslt> failed to process file-hierarchies of more than one level if
353 scanincludeddirectories was true. Bugzilla Report 24866.
354
355* forkmode="perBatch" or "once" would ignore extension attributes that
356 had been specified for <formatter>s. Bugzilla Report 32973.
357
358* minor performance update of Locator.fromUri. Bugzilla Report 34529.
359
360* The refid attribute of the I/O redirector was not functional.
361
362* SQL task would try access result sets of statements that didn't
363 return any, causing problems with Informix IDS 9.2 and IBM DB2 8.1
364 FixPak 6 (or later). Bugzilla Reports 27162 and 29954.
365
366* make sure that Zip and its derivates call the createEmptyZip method when
367 there are no resources to zip/jar/...
368
369* ant.bat was missing runAntNoClasspath label for goto.
370 Bugzilla 34510.
371
372
373Changes from Ant 1.6.1 to Ant 1.6.2
374===================================
375
376Changes that could break older environments:
377--------------------------------------------
378
379* The import task used the canonical version of a file path. This
380 has been changed to use the absolute path. Bugzilla 28505.
381
382* ant-xalan2.jar has been removed since the only class contained in it
383 didn't depend on Xalan-J 2 at all. Its sole dependency has always
384 been TraX and so it has been merged into ant-trax.jar.
385
386* All exceptions thrown by tasks are now wrapped in a buildexception
387 giving the location in the buildfile of the task.
388
389* Nested elements for namespaced tasks and types may belong to the
390 Ant default namespace as well as the task's or type's namespace.
391
392* <junitreport> will very likely no longer work with Xalan-J 1.
393
394 Note that Xalan-J 1 has been deprecated for a very long time and we
395 highly recommend that you upgrade.
396
397 If you really need to continue using Xalan-J 1, please copy the
398 junit-frames-xalan1.xsl from the distribution's etc directory as
399 junit-frames.xsl into a new directory and use the task's styledir
400 attribute to point to. This is the last version of the XSLT
401 stylesheet that is expected to be compatible with Xalan-J 1.
402
403* <csc>'s extraoptions can now contain multiple arguments.
404 Bugzilla Report 23599.
405
406* <macrodef> with default values set by properties would be
407 seen as new definitions when called twice with different properties.
408 This was confusing so the definitions are now treated as similar.
409 Bugzilla Report 31215.
410
411* <javadoc> has a new attribute "includenosourcepackages" that can be
412 used to document packages that don't hold source files but a
413 package.html file. Bugzilla Report 25339.
414
415Fixed bugs:
416-----------
417
418* eliminate memory leak in AntClassLoader. Bugzilla Report 8689.
419
420* subant haltonfailure=false did not catch all failures. Bugzilla Report 27007.
421
422* macrodef @@ escaping was broken. Bugzilla Report 27069.
423
424* SQL task did not work with Informix IDS 9.2. Bugzilla Report 27162.
425
426* MacroDef did not allow attributes named 'description'. Bugzilla Report 27175.
427
428* Throw build exception if name attribute missing from patternset#NameEntry.
429 Bugzilla Report 25982.
430
431* Throw build exception if target repeated in build file, but allow targets
432 to be repeated in imported files.
433
434* <apply> didn't compare timestamps of source and targetfiles when
435 using a nested <filelist>. Bugzilla Report 26985.
436
437* tagdiff.xml was broken in ant 1.6.1. Bugzilla Report 27057.
438
439* if the basedir contained .. or . dirs, and the build file name contained
440 .. or ., the basedir was set incorrectly. Bugzilla Report 26765.
441
442* regression from ant 1.5, exec task outputted two redundant trailing newlines.
443 Bugzilla Report 27546.
444
445* NPE when running commons listener. Bugzilla Report 27373.
446
447* <java> swallowed the stack trace of exceptions thrown by the
448 executed program if run in the same VM.
449
450* -projecthelp swallowed (configuration) errors silently.
451 Bugzilla report 27732.
452
453* filterset used by filtertask doesn't respect loglevel. Bugzilla Report 27568.
454
455* wrong compare used in ProjectComponent for logging. Bugzilla Report 28070.
456
457* failOnAny attribute for <parallel> was broken. Bugzilla Report 28122.
458
459* If <javac> uses gcj and any of the nested <compilerarg>s implies
460 compilation to native code (like -o or --main), Ant will not pass
461 the -C switch to gcj. This means you can now compile to native code
462 with gcj which has been impossible in Ant < 1.6.2.
463
464* <import optional="false"> and <import optional="true">
465 behaved identically.
466
467* <xslt> now sets the context classloader if you've specified a nested
468 <classpath>. Bugzilla Report 24802.
469
470* <zip> and friends would delete the original file when trying to update
471 a read-only archive. Bugzilla Report 28419.
472
473* <junit> and <assertions> are working together. Bugzilla report 27218
474
475* AntClassLoader#getResource could return invalid URLs. Bugzilla
476 Report 28060.
477
478* Ant failed to locate tools.jar if the jre directory name wasn't all
479 lowercase. Bugzilla Report 25798.
480
481* Redirector exhibited inconsistent behavior with regard to split
482 output. When sent to file only, files would be created in all
483 cases; when split file-property, files were only created if
484 writes were performed.
485
486* fixed case handling of scriptdef attributes and elements.
487
488* UNC pathnames did not work for ANT_HOME or -lib locations on Windows.
489 Bugzilla report 27922.
490
491* replacestring tokenfilter only replaced the first occurrence.
492
493* AntLikeTasksAtTopLevelTest failed on cygwin.
494
495* I/O-intensive processes hung when executed via <exec spawn="true">.
496 Bugzilla reports 23893/26852.
497
498* JDependTask did not close an output file. Bugzilla Report 28557.
499
500* Using <macrodef> could break XmlLogger. Bugzilla Report 28993.
501
502* <genkey> no longer requires keytool to be in your PATH. Bugzilla
503 Report 29382.
504
505* <symlink> could create cyclic links. Bugzilla Report 25181.
506
507* <zip whenempty="skip"> didn't work in a common situation. Bugzilla
508 Report 22865.
509
510* <scp> now properly handles remote files and directories with spaces
511 in their names. Bugzilla Report 26097.
512
513* <scp> now has (local|remote)tofile attributes to rename files on the
514 fly. Bugzilla Report 26758.
515
516* <telnet> and <rexec> didn't close the session. Bugzilla Report 25935.
517
518* <subant> and XmlLogger didn't play nicley together.
519
520Other changes:
521--------------
522* doc fix concerning the dependencies of the ftp task
523 Bugzilla Report 29334.
524
525* <xmlvalidate> has now a property nested element,
526 allowing to set string properties for the parser
527 Bugzilla Report 23395.
528
529* Docs fixes for xmlvalidate.html, javadoc.html, starteam.
530 Bugzilla Reports 27092, 27284, 27554.
531
532* <pathconvert> now accepts nested <mapper>s. Bugzilla Report 26364.
533
534* Shipped XML parser is now Xerces-J 2.6.2.
535
536* Added nested file element to filelist.
537
538* spelling fixes, occurred. Bugzilla Report 27282.
539
540* add uid and gid to tarfileset. Bugzilla Report 19120.
541
542* <scp> has a verbose attribute to get some feedback during the
543 transfer and new [local|remote][File|Todir] alternatives to file and
544 todir that explicitly state the direction of the transfer.
545
546* The OS/2 wrapper scripts have been adapted to use the new launcher.
547 Bugzilla Report 28226.
548
549* <sshexec> now also captures stderr output. Bugzilla Report 28349.
550
551* <xslt> now supports a nested <mapper>. Bugzilla Report 11249.
552
553* <touch> has filelist support.
554
555* <nice> task lets you set the priority of the current thread; non-forking
556 <java> code will inherit this priority in their main thread.
557
558* New attribute "negate" on <propertyset> to invert selection criteria.
559
560* Target now supports a Location member. Bugzilla Report 28599.
561
562* New "pattern" attribute for <date> selector.
563
564* <junit> has a new forkmode attribute that controls the number of
565 Java VMs that get created when forking tests. This allows you to
566 run all tests in a single forked JVM reducing the overhead of VM
567 creation a lot. Bugzilla Report 24697.
568
569* <jar> can now optionally create an index for jars different than the
570 one it currently builds as well. See the new <indexjars> element
571 for details. Bugzilla Report 14255.
572
573* Permit building under JDK 1.5. Bugzilla Report 28996.
574
575* minor Javadoc changes. Bugzilla Report 28998.
576
577* Misc. corrections in SignJar.java. Bugzilla Report 28999.
578
579* Remove redundant <hr> from javah.html. Bugzilla Report 28995.
580
581* Ignore built distributions. Bugzilla Report 28997.
582
583* A new roundup attribute on <zip> and related task can be used to
584 control whether the file modification times inside the archive will
585 be rounded up or down (since zips only store modification times with
586 a granularity of two seconds). The default remains to round up.
587 Bugzilla Report 17934.
588
589* A binary option has been added to <concat>. Bugzilla Report 26312.
590
591* Added DynamicConfiguratorNS, an namespace aware version of
592 DynamicConfigurator. Bugzilla Report 28436.
593
594* Add implicit nested element to <macrodef>. Bugzilla Report 25633.
595
596* Add deleteonexit attribute to <delete>.
597
598* Added Target.getIf/Unless(). Bugzilla Report 29320.
599
600* <fail> has a status attribute that can be used to pass an exit
601 status back to the command line.
602
603* <fail> accepts a nested <condition>.
604
605* <loadproperties> supports loading from a resource.
606 Bugzilla Report 28340.
607
608* Nested file mappers and a container mapper implementation have been
609 introduced. Additionally, the <mapper> element now accepts "defined"
610 nested FileNameMapper implementations directly, allowing a usage
611 comparable to those of <condition>, <filter>, and <selector>.
612
613* New <redirector> type introduced to provide extreme I/O flexibility.
614 Initial support for <exec>, <apply>, and <java> tasks.
615
616* <apply> has a new ignoremissing attribute (default true for BC)
617 which will allow nonexistent files specified via <filelist>s to
618 be passed to the executable. Bugzilla Report 29585.
619
620* <junitreport> now also works with Xalan XSLTC and/or JDK 1.5.
621 Bugzilla Report 27541.
622
623* <jspc> doesn't work properly with Tomcat 5.x. We've implemented a
624 work-around but don't intend to support future changes in Tomcat
625 5.x. Please use the jspc task that ships with Tomcat instead of
626 Ant's.
627
628Changes from Ant 1.6.0 to Ant 1.6.1
629=============================================
630
631Changes that could break older environments:
632--------------------------------------------
633
634* License is now Apache Software License 2.0
635 see http://www.apache.org/licenses/ for more information
636
637Fixed bugs:
638-----------
639* Remove a recursive template call in the junit xsls that could trigger a stack
640 overflow. It now uses Xalan extensions to call a Java class directly.
641 Bugzilla Report 19301
642
643* Fix spurious infinite loop detection for filters (introduced in ant 1.6.0).
644 Bugzilla Report 23154.
645
646* Fix handling of default ant namespace for nested elements.
647
648* Fix jboss element of ejb task (introduced in ant 1.6.0).
649
650* <whichresource> failed to load classes correctly.
651
652* Ant could fail to start with a NullPointerException if
653 ANT_HOME/lib/ant-launcher.jar was part of the system CLASSPATH.
654
655* presetdef'ed types did not work with the ant-type attribute
656
657* fixed case handling of macrodef attributes and elements. Bugzilla
658 Reports 25687 and 26225.
659
660* <java> ignored the append attribute, Bugzilla Report 26137.
661
662* The gcj compiler adapter for <javac> failed if the destination
663 directory didn't exist. Bugzilla Report 25856.
664
665* Ant now fails with a more useful message if a new process will be
666 forked in a directory and that directory doesn't exist.
667
668* <splash> used to break the build on non-GUI environments. Bugzilla
669 report 11482.
670
671* Ant 1.6.0 cannot run build scripts in directories with non-ASCII names.
672 Bugzilla Report 26642.
673
674Other changes:
675--------------
676* Shipped XML parser is now Xerces-J 2.6.1
677
678* Translate task logs a debug message specifying the number of files
679 that it processed. Bugzilla Report 13938.
680
681* <fixcrlf> has a new attribute - fixlast. Bugzilla Report 23262.
682
683* <p4submit> has 2 new attributes, needsresolveproperty and changeproperty.
684 Bugzilla Report 25711.
685
686* add description attributes to macrodef attributes and elements.
687 Bugzilla Report 24711.
688
689* Extending ClearCase Tasks :
690 - Added an extra option to 'failonerr' to each ClearCase task/command.
691 - Extended the functionality of cccheckout. It can check (notco) to see if
692 the desired element is already checked out to the current view. Thus it
693 won't attempt to check it out again.
694 - Added three new ClearCase commands: ccmkattr, ccmkdir, ccmkelem
695 Bugzilla Report 26253.
696
697* added nested text support to <macrodef>
698
699* added initial support for Java 1.5. Java 1.5 is now correctly
700 detected by Ant and treated just like Java 1.4. You can now specify
701 source="1.5" in the <javac> task.
702
703* created new task <cvsversion>
704
705* added support for branch logging via the tag attribute in <cvschangelog>
706 Bugzilla Report 13510.
707
708* added support the groovy language in the script and scriptdef tasks
709
710Changes from Ant 1.5.4 to Ant 1.6.0
711===================================
712
713Changes that could break older environments:
714--------------------------------------------
715
716* This version of Ant can not be built with JDK 1.1 and requires at
717 least Java 1.2 at runtime as well. Compiling for a 1.1 target is
718 still supported.
719
720* Targets cannot have the empty string as their name any longer.
721
722* ant.jar's manifest does no longer include a Class-Path entry, so it
723 is no longer possible to run Ant via "java -jar ant.jar" without
724 manually altering the CLASSPATH. Instead of that a file
725 ant-bootstrap.jar is included in the etc directory of the binary
726 distribution, copy this to the lib directory and use
727 "java -jar ant-bootstrap.jar" instead if you want to run Ant without
728 the wrapper script (not recommended).
729
730* The <script> task now requires Apache BSF instead of the older IBM
731 version. See <http://jakarta.apache.org/bsf/>
732
733* <xmlproperty> will no longer fail if the file to be loaded doesn't exist.
734
735* XML namespaces are now enabled in the XML parser, meaning XML namespace
736 declarations no longer cause errors. However task names containing colons
737 will cause errors unless there is a corresponding namespace uri.
738
739* The <ftp> and <telnet> tasks now require Jakarta Commons Net instead
740 of the older ORO Netcomponents version. See
741 <http://jakarta.apache.org/commons/net/index.html>.
742
743* <input> will no longer prompt the user and wait for input if the
744 addproperty attribute is set to a property that has already been
745 defined in the project. If you rely on the task waiting for input,
746 don't use the addproperty attribute.
747
748* The Class-Path attribute in manifests will no longer merge the
749 entries of all manifests found, but will be treated like all other
750 manifest attributes - the most recent attribute(s) will be used.
751
752* New Launch mechanism implemented. This moves some functionality from
753 the batch files / shell scripts into Java. This removes environment
754 limitations, for command issues, directory depth issues on Windows. Also
755 allows a per-user library location to be used if the main Ant install
756 is locked down.
757
758* The Entry nested element of PropertyFile will not any more have its value
759 attribute (actually increment) overwritten with the new value of the entry
760 after execution.
761
762* Output stored from a <java> or <exec> task is now exactly as generated. No
763 conversion to platform end-of-line characters is performed.
764
765* <translate> will now preserve line endings.
766
767* <ftp> followsymlinks="false" in nested fileset definitions is explicitly
768 required in order to exclude remote symbolic links (when doing a get, chmod,
769 delete, rmdir).
770
771* The values of the Copy#fileCopyMap variable has changed from String to
772 String[]. (In java 1.5 terms it was Hashtable<String, String> and
773 is now Hashtable<String, String[]>). This will affect third party code
774 that extend Copy and override Copy#doFileOperations.
775
776* <loadproperties> didn't expand properties while <property file="..."/>
777 does, so they were not equivalent. This has been fixed, which means
778 that propetries may get expanded twice if you use an
779 <expandproperties> filterreader. Bugzilla Report 17782.
780
781* User defined tasks and typedefs are now handled internally in the
782 same way as predefined tasks and typedefs. Also tasks and typedefs
783 are resolved at a later stage. This causes some
784 differences especially for user defined task containers.
785
786* <checksum> log message "Calculating checksum ..." has been degraded
787 from INFO to VERBOSE.
788
789Fixed bugs:
790-----------
791* Filter readers were not handling line endings properly. Bugzilla
792 Report 18476.
793
794* Filtersets were also not handling line endings properly.
795
796* Expand tasks did not behave as expected with PatternSets.
797
798* <property environment=... /> now works on OS/400.
799
800* <cab> could hang listcab on large <fileset>s.
801
802* The starteam stcheckout, stcheckin tasks now correctly compute
803 status of files against whatever local tree they are run against
804 and, optionally, will not process a file if it is current.
805 Previously you had to process everything unless you ran against the
806 default folder which wasn't the normal use-case for ant-starteam.
807 The stlist task now similarly displays that status correctly making
808 it a more generally useful tool.
809
810* entity includes would cause exceptions if path names included spaces.
811
812* addConfiguredXXX would not work for TaskAdapter wrapped tasks
813
814* Fix <ilasm> outputfile testing so that the output file does not need
815 to exist beforehand.
816
817* Ant will now exit with a return code of 1 if it encounters problems
818 with the command line arguments.
819
820* ClassLoader creation changes to use a factory method in Project. A new
821 class AntClassLoader2 implemented for 1.2+ specific features including
822 Package information and addition of classes specified in the Class-Path
823 element of a Jar's manifest.
824
825* It is now possible in <exec> to resolve the executable to a project
826 basedir or execution dir relative executable. The resolveExecutable
827 must be used to pick up such executables.
828
829* splash screen wouldn't disappear when build was finished.
830
831* <exec> output and error streams can now be redirected independently
832 to either a property or a file (or both)
833
834* TarEntry's File-arg constructor would fail with a
835 StringIndexOutOfBoundsException on all OSes where os.name is shorter
836 than seven characters. Bugzilla Report 18105.
837
838* <copy> and <move>'s failonerror didn't apply to filesets pointing to
839 non-existant directories. Bugzilla Report 18414.
840
841* The <stripjavacomments> filter sometimes removed parts of string
842 constants. Bugzilla Report 17441.
843
844* <antlr> will now recompile your grammar if the supergrammar has
845 changed. Bugzilla Report 12691.
846
847* <property env> will now work on Unices with /bin/env instead of
848 /usr/bin/env. Bugzilla Report 17642.
849
850* <jar index="on"> could include multiple index lists. Bugzilla 10262.
851
852* The index created by <jar> didn't conform to the spec as it didn't
853 include the top-level entries. Bugzilla Report 16972.
854
855* <tar> and <zip> didn't honor the defaultexcludes attribute for the
856 implicit fileset. Bugzilla Report 18637.
857
858* The <replacetokens> filter would throw an exception if the token's
859 value was an empty string. Bugzilla Report 18625.
860
861* Perforce tasks relying on output from the server such as <p4change>
862 and <p4label> were hanging. Bugzilla Reports 18129 and 18956.
863
864* Improve exception and logging behavior of Perforce tasks.
865 Bugzilla report 18154.
866
867* build.sh install had a problem on cygwin (with REALANTHOME).
868 Bugzilla Report 17257
869
870* <replaceregexp> didn't work for multi-byte encodings if byline was false.
871 Bugzilla Report 19187.
872
873* <replaceregexp> was altering unnecessarily the timestamp of the directories
874 containing the files to process
875 Bugzilla Report 22541.
876
877* file names that include spaces need to be quoted inside the @argfile
878 argument using forked <javac> and (all JDKS). Bugzilla Report 10499.
879 NB : a first correction was only introducing quotes for JDK 1.4
880 It has been changed to quote for all external compilers when paths
881 contain spaces.
882 Also the backslashes need to be converted to forward slashes
883 Bugzilla Report 17683.
884
885* Setting filesonly to true in <zip> and related tasks would cause the
886 archives to be always recreated. Bugzilla Report 19449.
887
888* file names that include spaces need to be quoted inside the @argfile
889 argument using <javadoc> and JDK 1.4. Bugzilla Report 16871.
890
891* <junit> didn't work with custom formatters that were only available
892 on the user specified classpath when a timeout occured. Bugzilla
893 Report 19953.
894
895* <different> selector : make ignoreFileTimes effectively default to true
896 and fix a bug in the comparison of timestamps. Bugzilla Report 20205.
897
898* <different> selector can now be nested directly under a fileset
899 Bugzilla Report 20220.
900
901* <cvstagdiff> had a problem with "dd-MM-yy hh:mm:ss" formats
902 Bugzilla Report 15995.
903
904* <cvstagdiff> cvsroot and package attributes added to the root
905 element tagdiff of the xml output
906 Bugzilla Report 16081.
907
908* <cvstagdiff> had a problem with aliased modules and with requests for multiple modules
909 Bugzilla Reports 21373 and 22877.
910
911* <cvstagdiff> could not parse properly the revision number of new files with CVS 1.11.9 or higher
912 Bugzilla Report 24406.
913
914* <fixcrlf> make fixcrlf create its temporary files in the default directory
915 of FileUtils#createTempFile instead of the destination dir of fixcrlf.
916 Bugzilla Report 20870.
917
918* <ejbjar> implementation for Borland.
919 Prevent the task from being blocked by error messages coming from java2iiop.
920 Bugzilla Report 19385.
921
922* <unzip>'s and <untar>'s nested patternsets didn't work as documented
923 when the pattern ended in a slash or backslash. Bugzilla Report 20969.
924
925* <fixcrlf> will now create the parent directories for the destination
926 files if necessary. Bugzilla Report 20840.
927
928* <xmlproperty> now handles CDATA sections. BugZilla Report 17195
929
930* <translate> now translate tokens that are placed close together.
931 Bugzilla Report 17297
932
933* Nested websphere element for ejbjar does not support spaces in file name.
934 Bugzilla Report 21298
935
936* Don't multiply Class-Path attributes when updating jars. Bugzilla
937 Report 21170.
938
939* Do not overwrite the value (increment) attribute of PropertyFile nested Entry element.
940 Bugzilla Report 21505.
941
942* Prevent sysproperties with no key or no value from being added in <junit>.
943 Bugzilla Report 21684.
944
945* Allow references to be properly inherited via antcall
946 Bugzilla Report 21724.
947
948* ftp chmod failed when the remote system was UNIX and local system Windows
949 Bugzilla Report 21865.
950
951* ftp put with chmod failed when the remote system was UNIX and local system Windows
952 Bugzilla Report 23143.
953
954* ftp did not set the ascii mode explicity, causing problems with ftp servers
955 having binary as default
956
957* ftp was not able to download files when they were pointed to by symbolic links
958 Bugzilla Report 14063.
959
960* ftp is able to download also directories pointed to by symbolic links.
961
962* replace would change \r\n into \r\r\n under Windows.
963
964* junitreport with frames did not display a link for classes without a package
965 or in the top package.
966 Bugzilla Report 21915.
967
968* Project.toBoolean(String) now handles null as argument and does not throw a
969 NullPointerException any more.
970
971* The socket condition will now close the socket created to test.
972 Bugzilla Report 23040.
973
974* <junit includeantruntime="true" fork="true"> replaced the CLASSPATH instead
975 of adding to it. Bugzilla Report 14971.
976
977* <splash> could fail on JVMs that use null to indicate the system classloader.
978 Bugzilla Report 23320.
979
980* <xmlcatalog>s only worked when defined inside of tasks. Bugzilla
981 Report 20965.
982
983* <csc> and siblings (<vbc> <jsharpc>) handle large filesets by
984automatic use of response files. Bugzilla report #19630
985
986Other changes:
987--------------
988
989* Shipped XML parser is now Xerces 2.6.0
990
991* All tasks can be used outside of <target>s. Note that some tasks
992 will not work at all outside of targets as they would cause infinite
993 loops (<antcall> as well as <ant> and <subant> if they invoke the
994 current build file).
995
996* Six new Clearcase tasks added.
997
998* A new filter reader namely tokenfilter has been added. Bugzilla
999 Report 18312.
1000
1001* A new attribute named skip is added to the TailFilter and
1002 HeadFilter filter readers.
1003
1004* The filesetmanifest attribute of <jar> has been reenabled.
1005
1006* The start and end tokens for <translate> may now be longer than a
1007 single character.
1008
1009* <setproxy> lets you set the username and password for proxies that
1010 want authentication
1011
1012* <loadproperties> has a new encoding attribute.
1013
1014* <echoproperties> can now create XML output.
1015
1016* <echoproperties> has a new srcfile attribute that can make it read
1017 properties files and output them instead of Ant's properties.
1018
1019* <filterset> will now resolve filters recursively.
1020
1021* <input> has a new attribute that allows you to specify a default value.
1022
1023* Added <image> task (requires JAI).
1024
1025* <image> task has now proportions attribute in the <scale/> nested element
1026 instead of keepproportions (bringing in more functionality)
1027
1028* New condition <isreference>
1029
1030* <ftp> now has a preservelastmodified attribute to preserve the
1031 timestamp of a downloaded file.
1032
1033* new rmdir action for <ftp> that removes directories from a fileset.
1034
1035* <ftp> has attributes timediffauto and timediffmillis to use together
1036 with the newer attribute to tell ant to take into account a time difference
1037 between client and remote side.
1038 Bugzilla Report 19358.
1039
1040* <ftp> has been optimized to go directly to the include patterns.
1041 This reduces scanning time under UNIX when followsymlinks="true"
1042 and casesensitive="true" (the default)
1043 Bugzilla Report 20103.
1044
1045* The SOS and VSS tasks will no longer unconditionally prepend a $ to
1046 vsspath or projectpath.
1047
1048* OS/400 now gets detected by the os condition.
1049
1050* <arg> has a new attribute pathref that can be used to reference
1051 previously defined paths.
1052
1053* <xmlproperty> has been improved, you can now expand ${properties},
1054 define ids or paths and use Ant's location magic for filename resolutions
1055 in the XML file.
1056
1057* <xmlcatalog> will now support external catalogs according to the
1058 OASIS "Open Catalog" standard - if resolver.jar (newer than version
1059 1.0) from Apache's xml-commons is in your CLASSPATH.
1060
1061* Starteam tasks now have support for revision labels and build labels.
1062 Checkouts now have the option of using repository timestamps, instead
1063 of current.
1064
1065* new task <symlink> that creates and maintains symbolic links.
1066
1067* new tasks <chown> and <chgrp> which are wrappers of the Unix commands.
1068
1069* new task <attrib> to change file attributes on Windows systems.
1070
1071* <style> has a new attribute reloadstylesheet to work around a
1072 bug in widespread Xalan versions.
1073
1074* <tarfileset> has a new dirmode attribute to specify the permissions
1075 for directories.
1076
1077* <fixcrlf>'s eol attribute now also understands "mac", "unix" and "dos".
1078
1079* <classfileset> now picks up dependencies of the form MyClass.class. This
1080 works for the code generated by the Sun java compiler. It may not work for
1081 all compilers.
1082
1083* a new attribute "globalopts" can be added to all Perforce tasks.
1084 You can put in it all the strings described by p4 help usage. Refer to
1085 the docs for more information.
1086
1087* new Perforce tasks <p4integrate> , <p4resolve>, and <p4labelsync>
1088
1089* <p4submit> will change the property p4.change if the Perforce server
1090 renumbers the change list.
1091 It will set the property p4.needsresolve if the submit fails,
1092 and the message says that file(s) need to be resolved.
1093
1094* <replaceregexp> now has an optional encoding attribute to support
1095 replacing in files that are in a different encoding than the
1096 platform's default.
1097
1098* The <exec> task may now have its input redirected from either a file
1099 or a string from the build file. The error output can be separated
1100 to a different file when outut is redirected. standard error may be
1101 logged to the Ant log when redirecting output to a file
1102
1103* The <java> task also supports the input redirection and separate
1104 error streams introduced to the <exec> task. In addition, it is now
1105 possible to save the output into a property for use within the build
1106 file as was possible with <exec> in Ant 1.5
1107
1108* The <javadoc> task <tag> subelement has been enhanced to allow files
1109 with tag mappings to be used.
1110
1111* New tasks: <scp> supports file transfers, <sshexec> executes a
1112 command over SSH. They require jsch, a BSD licensed SSH library that
1113 can be found at http://www.jcraft.com/jsch/index.html
1114
1115* New filterreader <escapeunicode/>.
1116
1117* Support for HP's NonStop Kernel (Tandem) OS has been added.
1118
1119* <cab>'s basedir attribute is now optional if you specify nested
1120 filesets. Bugzilla Report 18046.
1121
1122* New task <sync> that synchronizes two directory trees.
1123
1124* <apply> has new forwardslash attribute that can force filenames to
1125 use forward slashes (/) as file separators even on platforms with a
1126 different separator. This is useful if you want to run certain
1127 ported Unix tools.
1128
1129* Copy has a new outputencoding attribute that can be used to change
1130 the encoding while copying files. Bugzilla Report 18217.
1131
1132* The xml formatter for JUnit will now honor test case names set with
1133 setName. Bugzilla Report 17040.
1134
1135* JUnit now has an attribute reloading, which, when set to false,
1136 makes the task reuse the same class loader for a series of tests.
1137
1138* <concat> now supports filtering and can check timestamps before
1139 overriding a file. Bugzilla Report 18166.
1140
1141* <junit> has a new attribute tempdir that controls the placement of
1142 temporary files. Bugzilla Report 15454.
1143
1144* <jdepend> now supports a new nested element <classespath> which is
1145 the same as <sourcespath> but point to compiled classes (the
1146 prefered mode of operation for JDepend > 2.5). Additionally, nested
1147 <exclude> elements can be used to exclude certain packages from
1148 being parsed. Bugzilla Report 17134.
1149
1150* The JProbe tasks now also work with JProbe 4.x. Bugzilla Report 14849.
1151
1152* <javacc> and <jjtree> will now autodetect JavaCC 3.x and can use it.
1153
1154* <sql> has a new attribute to control escape processing.
1155
1156* <sql> is able to display properly several resultsets if you are
1157 running a compound sql statement. Bugzilla Report 21594.
1158
1159* A new <containsregexp> selector has been added, that selects files
1160 if their content matches a certain regular expression.
1161
1162* <antlr>'s debug attribute has been enabled. Bugzilla Report 19051.
1163
1164* <mail> has a new attribute charset. Bugzilla Report 15434.
1165
1166* <mail> has new attributes user and password for SMTP auth.
1167 maillogger can also use this.
1168 The implementation only works with JavaMail (encoding="MIME").
1169 Implementation with plain mail remains to do.
1170 Bugzilla Report 5969.
1171
1172* <mail> and mailloger support SMTP over TLS/SSL
1173 Bugzilla Report 19180.
1174
1175* <mail> the attributes from, replyto ,tolist, cclist, bcclist
1176 can now contain email addresses of the form name <[email protected]>
1177 or (name) [email protected]
1178 Bugzilla Report 22474.
1179
1180* <mail> (version PlainMail)
1181 prevent blank headers from being sent,
1182 make the order of the headers of plain mail messages predictable
1183 Bugzilla Report 22088.
1184
1185* <zipfileset> can now be defined in the main body of a project
1186 and referred to with refid="xyz". Bugzilla Report 17007.
1187
1188* A wrapper script for OS/2 has been added.
1189
1190* <unzip> will now detect and successfully extract self-extracting
1191 archives. Bugzilla Report 16213.
1192
1193* <stcheckout> has a new attribute "converteol" that can be used to
1194 control the automatic line-end conversion performed on ASCII files.
1195 Bugzilla Report 18884.
1196
1197* Users can now modify the list of default excludes using the new
1198 defaultexcludes task. Bugzilla Report 12700.
1199
1200* There is a new data type <propertyset> that can be used to collect
1201 properties. It is supported by <ant>, <antcall>, <subant>, <java>,
1202 <echoproperties> and <junit>.
1203
1204* <concat> can now control the encoding of the output as well and optionally
1205 add new-line characters at the end of files that get concatenated but
1206 don't end in newlines. Bugzilla Report 12511.
1207
1208* <rpm> will detect the rpmbuild executable of RedHat 8.0 and newer
1209 and use that if it is on your PATH. Bugzilla Report 14650.
1210
1211* A new task <rexec> has been added that requires commons-net to work.
1212 Bugzilla Report 19541.
1213
1214* <javadoc> now supports a nested <arg> element in addition to the
1215 additionalparams attribute.
1216
1217* You can now determine the order of standard tags in <javadoc> via
1218 <tag> elements - you must not use the description attribute for them.
1219 Bugzilla Report 18912.
1220
1221* <javadoc> now supports the -noqualifier switch. Bugzilla Report 19288.
1222
1223* <javac>'s executable attribute can now also be used to specify the
1224 executable for jikes, jvc, sj or gcj. Bugzilla Report 13814.
1225
1226* <javac> has a new attribute tempdir that can control the placement
1227 of temporary files. Bugzilla Report 19765.
1228
1229* A new magic property build.compiler.jvc.extensions has been added
1230 that can be used to turn of Microsoft extensions while using the jvc
1231 compiler. Bugzilla Report 19826.
1232
1233* You can now limit the parallelism of <apply> and <chmod> by using the new
1234 maxparallel attribute.
1235
1236* With the new addsourcefile attribute, you can make <apply> ommit the
1237 source file names from the command line. Bugzilla Report 13654.
1238
1239* <apply> and <chmod> now support nested <filelist>s as well as <dirset>s.
1240 Bugzilla Reports 15929 and 20687.
1241
1242* <apply> and <chmod> will display a summary if you set the new
1243 verbose attribute to true. Bugzilla Report 19883.
1244
1245* <copy>/<move>'s failonerror attribute can now also be used to
1246 continue the build if an I/O error caused a problem. Bugzilla
1247 Report 12999.
1248
1249* new selector <type/> allowing to select only files or only directories.
1250 Bugzilla Report 20222.
1251
1252* <java> and <junit> now support a nested <bootclasspath> element that
1253 will be ignored if not forking a new VM.
1254
1255* <junit>'s nested <formatter> elements now support if/unless clauses.
1256
1257* <ejbjar>
1258 cmpversion attribute added
1259 jboss element will look for jbosscmp-jdbc.xml descriptor
1260 if ejbjar has cmpversion="2.0" set
1261 Bugzilla Reports 14707 and 14709.
1262
1263* <pvcs> config attribute added to set the location of a specific PVCS
1264 .cfg file
1265 Bugzilla Report 9752
1266
1267* <mapper> has an "unpackage" mapper
1268 Bugzilla Report 18908
1269
1270* Added <scriptdef> task allowing tasks to be defined using any BSF-supported
1271 scripting language.
1272
1273* <touch>'s datetime attribute can now accept time with a granularity
1274 of seconds as well. Bugzilla Report 21014.
1275
1276* <checksum> has two new properties: totalproperty and todir.
1277
1278* FileUtils#createTempFile will now create temporary files in the
1279 directory pointed to by the property java.io.tmpdir
1280
1281* <unzip> and friends now supports an optional encoding attribute to
1282 enable it to expand archives created with filenames using an encoding
1283 other than UTF8. Bugzilla Report 10504.
1284
1285* <patch> has a new attribute destfile that can be used to create a new
1286 file instead of patching files in place.
1287
1288* OpenVMS is detected as a valid OS family.
1289
1290* DirectoryScanner has been optimized for cases where include patterns do not
1291 start with wildcards. Bugzilla Report 20103.
1292
1293* DirectoryScanner begins to be optimized not to scan excluded directories.
1294 Bugzilla Report 21941.
1295
1296* Added keep-going feature. Bugzilla Report 21144
1297
1298* The archives generated by <zip> and friends will now contain CRC and
1299 size information in the "local file header", thereby providing this
1300 information to applications that read the archives using
1301 java.util.ZipInputStream. Bugzilla Report 19195.
1302
1303* <copy> and <move> can now handle mappers that return multiple
1304 mappings per source path. This behaviour is enabled by using
1305 an enablemultiplemapping attribute. Bugzilla Report 21320.
1306
1307* <exec> will now work on OpenVMS (please read the notes in
1308 <exec>'s manual page). Bugzilla Report 21877.
1309
1310* <exec> will now have a new attribute spawn (default false).
1311 If set to true, the process will be spawned. Bugzilla Report 5907.
1312
1313* <java> will now have a new attribute spawn (default false).
1314 If set to true, the process will be spawned. Bugzilla Report 5907.
1315
1316* <parallel> now supports a timeout which can be used to recover
1317 from deadlocks, etc in the parallel threads. <parallel> also
1318 now supports a <daemons> nested element. This can be used to
1319 run tasks in daemon threads which the parallel task will not
1320 wait for before completing. A new attribute failonany will cause
1321 <parallel> to throw an exception if any thread fails without
1322 waiting for all other threads to complete.
1323
1324* <zip> and friends will consume far less memory than they used to
1325 when run with compress="false". Bugzilla Report 21899.
1326
1327* <if/> and <unless/> attributes added to <param/> element of <style>
1328 Bugzilla Report 22044
1329
1330* <zip> and friends have a new attribute "keepcompression" that can be
1331 used to incrementally build an archive mixing compressed and uncompressed
1332 entries.
1333
1334* <junit>'s XML formatter adds a new classname attribute to the <testcase>
1335 elements.
1336
1337* new <permissions> type add permission handling to the code
1338 this type can be nested in the <java> and <junit> tasks.
1339 Bugzilla Report 22533.
1340
1341* additional shortcuts for ant options (-d --> -debug, -e --> -emacs,
1342 -h --> -help, -p --> -projecthelp, -s --> -find).
1343
1344* new selector <modified>. "cache" was renamed to "modified".
1345 Bugzilla Report 20474.
1346
1347* <stcheckout> and <stlist> have a new asofdate attribute that can be
1348 used to checkout/list files based on a date instead of a label.
1349 Bugzilla Report 20578.
1350
1351* New filter <concatfilter>. Adds the content of file at the beginning
1352 or end of a file. Discussion started at
1353 http://marc.theaimsgroup.com/?l=ant-user&m=106366791228585&w=2
1354
1355* New task <import>
1356
1357* New task <macrodef>
1358
1359* New task <presetdef>
1360
1361* Ant libraries that can make use of namespaces to avoid name
1362 clashes of custom tasks
1363
1364
1365* <java> and <junit> now support <assertions>, which let you enable
1366 and disable Java1.4 assertions on a package or class basis. These
1367 only work when fork=true, currently.
1368
1369* .NET tasks expanded with VB support <vbc> and J#, via <jsharp>,
1370 <importtypelib> and <ilasm>. <csc> supports nested <src> types,
1371 <defines> for (potentially conditional) definitions, <reference>
1372 filesets for references. The executable attribute lets you switch to
1373 mono or other implementations -<csc> has been tested with Mono on
1374 Linux and OSX.
1375
1376
1377Changes from Ant 1.5.3 to Ant 1.5.4
1378===================================
1379
1380Changes that could break older environments:
1381--------------------------------------------
1382
1383* If the Visual Age tasks used to work for you, they may stop doing so
1384 now - and we'd like to know about it. The current set of tasks is
1385 supposed to work with any version of VAJ starting with 3.0.
1386
1387Fixed bugs:
1388-----------
1389
1390* The Visual Age for Java tasks didn't work (at least for versions 3.0
1391 and higher). Bugzilla Report 10016.
1392
1393* URL-encoding in <vaj*port> didn't work properly.
1394
1395* VAJRemoteUtil called getAbsolutePath instead of getPath
1396 causing problems when using a Windows VAJ server from a UNIX server.
1397 Bugzilla Report 20457.
1398
1399* VAJImport task failed with NullPointerException when using DirectoryScanner.
1400 Bugzilla Report 22080.
1401
1402Other changes:
1403--------------
1404
1405* Shipped XML parser is now Xerces 2.5.0
1406
1407* <javah> will invoke oldjavah on JDK 1.4.2. Bugzilla Report 18667.
1408
1409* The VAJ tasks now support a haltonfailure attribute to conditionally
1410 keep building even if they fail.
1411
1412* It is now possible to use the latest (versioned or unversioned) edition
1413 in <vajload> by using special wildcard characters. Also fixes
1414 Bugzilla Report 2236.
1415
1416Changes from Ant 1.5.2 to Ant 1.5.3
1417===================================
1418
1419Changes that could break older environments:
1420--------------------------------------------
1421
1422* The <zip> task and friends have again changed a method signature
1423 (sorry, was necessary to fix bug 17780). The return type of
1424 getResourcesToAdd has changed.
1425
1426Fixed bugs:
1427-----------
1428
1429* <zipfileset>'s filemode would get ignored and the dirmode was used
1430 for the included files as well. As a side effect, WinZIP was unable
1431 to extract or display the files, so they seemed to be missing from
1432 the archive. Bugzilla Report 17648.
1433
1434* <ftp> could use the wrong path separator when trying to change the
1435 remote working directory. Bugzilla Report 17735.
1436
1437* <jar update="true"> would loose all original files if you didn't
1438 specify any nested <(zip)fileset>s and the manifest had changed.
1439 Bugzilla Report 17780.
1440
1441* If you used a value starting with \ on Windows for the appxml
1442 attribute of <ear> or the webxml attribute of <war>, it would be
1443 ignored. Bugzilla Report 17871.
1444
1445* Ant will no longer implicitly add Sun's rt.jar in <javac> when you
1446 use jvc and don't specify a bootclasspath. Bugzilla Report 18055.
1447
1448* The prefix attribute of <zipfileset> would not generate directory
1449 entries for the prefix itself. Bugzilla Report 18403.
1450
1451* starteam checkout can now handle deleted labels. Bugzilla Report 17646.
1452
1453* The Unix wrapper script failed if you invoked it as a relative
1454 symlink and ANT_HOME has not been set. Bugzilla Report 17721.
1455
1456Other Changes:
1457--------------
1458* Added ability to specify manifest encoding for the <jar> and
1459 <manifest> tasks
1460
1461Changes from Ant 1.5.1 to Ant 1.5.2
1462=============================================
1463
1464Changes that could break older environments:
1465--------------------------------------------
1466* ANT_OPTS environment variable is now applied at the start of the
1467 Java command line, allowing position specific parameters of some
1468 JVMs, such as -classic to be specified.
1469
1470* ZipScanner#getIncludedFiles will now return the names of the ZipEntries
1471 that have been matched instead of the name of the archive.
1472
1473* The <zip> task and friends have been heavily modified, almost every
1474 method signature of the Zip class has changed. If you have subclassed
1475 Zip (or one of its subclasses), your class will most likely not
1476 compile against the current code base. If it still compiles, it will
1477 probably not work as in Ant 1.5.1.
1478
1479Fixed bugs:
1480-----------
1481* <translate> was not ignoring comment lines.
1482
1483* <manifest> wouldn't update an existing manifest if only an attribute
1484 of an existing section changed.
1485
1486* ant.bat now supports the ANT_ARGS and JAVACMD environment variables
1487 again (like Ant 1.5 did).
1488
1489* The "plain" <junit> <formatter> could throw a NullPointerException
1490 if an error occured in setUp.
1491
1492* <junit> will now produce output when a test times out as well.
1493
1494* <replace> would count some internal character replacements when
1495 reporting the number of replaced tokens.
1496
1497* <concat> would cause an exception if a <filelist> pointed to files
1498 that do not exist.
1499
1500* <javadoc> will now pass -source to custom doclets as well.
1501
1502* <cvstagdiff> would throw a NullPointException if there had been no
1503 differences.
1504
1505* <cvschangelog> could miss today's changes.
1506
1507* <concat> could append newline characters between concatenated files.
1508
1509* <xmlvalidate> ignored the specified encoding of the files to
1510 validate.
1511
1512* the errorsbeginat attribute of the <http> condition didn't work.
1513
1514* Ant will try to force loading of certain packages like com.sun.*
1515 from the system classloader. The packages are determined by the
1516 version of the JVM running Ant.
1517
1518* Ant didn't find the runtime libraries on IBM's JDK 1.4 for Linux.
1519
1520* random component of temporary files is now always a positive integer.
1521
1522* Ant could incorrectly try to use the 1.4 regexp implementation even
1523 if it isn't available if you run the JVM with -Xverify:none.
1524
1525* Ant would die with an exception if you used nested <reference>
1526 elements in Ant and the refid attribute didn't point to an existing
1527 project reference.
1528
1529* The <get> task can now be compiled (and Ant thus bootstrapped) using
1530 Kaffee.
1531
1532* build.sysclasspath will now be honored by more tasks.
1533
1534* The signjar keystore attribute has been reverted to a String allowing
1535 it to once again accept URLs. This should not affect current File based usage
1536 unless you are extending the Signjar task.
1537
1538* <jar update="true"> would remove the original manifest.
1539
1540* fix up folder creation in PVCS task
1541
1542* <tar>'s up-to-date check didn't work for nested <(tar)fileset>s.
1543
1544* Corrected a problem in XMLLogger where it would not associated
1545 messages with a taskdef'd task
1546
1547* <uptodate> now works when using attributes (i.e. not filesets) and pointing
1548 to the same file
1549
1550* Java task (and output system) now stores output which doos not end
1551 with a line feed.
1552
1553* splash screen wouldn't disappear when build was finished.
1554
1555* <exec> now supports OS/2.
1556
1557* <zip> and friends would only update/recreate existing archives if
1558 the files to add/update have been newer than the archive.
1559
1560* <javadoc>'s <link> element could fail for offline="true" on some JDKs.
1561
1562Other changes:
1563--------------
1564
1565* MailLogger now sets the Date header correctly.
1566
1567* Shipped XML parser is now Xerces 2.3.0
1568
1569* signjar now accepts a maxmemory attribute to allow the memory allocated to the
1570 jarsigner tool to be specified. The jarsigner from the JDK's JAVA_HOME bin
1571 dir is now used rather than the first jarsigner on the path.
1572
1573* **/.DS_Store has been added to the list of default pattern excludes.
1574
1575* The Created-By header in the default manifest now contains the JVM
1576 vendor and version according to the jar specification. A new header,
1577 Ant-Version provides the Ant version used to create the jar.
1578
1579* <zip> can now store Unix permissions in a way that can be
1580 reconstructed by Info-Zip's unzip command.
1581
1582Changes from Ant 1.5.1Beta1 to 1.5.1
1583====================================
1584
1585Fixed bugs:
1586-----------
1587
1588* <tstamp>'s prefix attribute failed to apply to nested <format> elements.
1589
1590* <junitreport> created an empty junit-noframes.html if no format had
1591 been specified.
1592
1593* <basename> would remove more than it should if the file name
1594 contained more than one dot.
1595
1596* <filterset>s nested into <filterset>s didn't work.
1597
1598Other changes:
1599--------------
1600
1601* Shipped XML parser is now Xerces 2.2.0
1602
1603* Filesets now support a 'file' attribute, allowing a single-file
1604 fileset to be constructed without having to specify its parent
1605 directory separately.
1606
1607* <junit> will now return the result of a call to getName instead of
1608 "unknown" for Test implementations that don't extend TestCase but have
1609 a public String getName() method.
1610
1611Changes from Ant 1.5 to 1.5.1Beta1
1612==================================
1613
1614Fixed bugs:
1615-----------
1616* Date/time in CvsChangeLog was in local timezone and 12 hour format leading
1617 to a problem when sorting by time. It is now UTC (GMT) and in 24-hour
1618 format as per cvs 'specifications'.
1619
1620* CvsTagDiff now supports ampersand modules or modules that have a different
1621 root directory than their name.
1622
1623* EjbJar threw NPEs for the Websphere element. The property 'websphere.home'
1624 was not documented.
1625
1626* Mail example in the documentation was not correct.
1627
1628* Checksum was broken in the following scenario:
1629 (using verifyproperty OR in a condition) AND using filesets
1630 with multiple files.
1631
1632* The ExpandProperties filter threw NPEs when defined using
1633 the <filterreader> format.
1634
1635* The sh wrapper script didn't work under Cygwin if ANT_HOME wasn't
1636 set with a Unix style filename.
1637
1638* The sh wrapper script could fail if you started Ant from a directory
1639 with whitespace in its name.
1640
1641* ant -diagnostics was not working properly when the task dependency
1642 was missing and was just printing the missing dependency.
1643
1644* If a task got redefined via <taskdef>, it lost its child elements.
1645
1646* <property>'s classpathref attribute was broken.
1647
1648* <arg line="''" /> would result in no command line argument, will now
1649 be a single empty argument. Use <arg value="''"/> if you need the
1650 quotes literally.
1651
1652* <replaceregexp> could append a newline character at the end of the
1653 file.
1654
1655Other changes:
1656--------------
1657
1658* Appendix E of Java Development with Ant (Loughran/Hatcher) was
1659 contributed to the docs.
1660
1661* <available> will only print deprecration warnings if it is actually
1662 used to change the value of a property.
1663
1664Changes from Ant 1.5beta3 to Ant 1.5
1665====================================
1666
1667Changes that could break older environments:
1668--------------------------------------------
1669
1670* The filesetmanifest attribute added to <jar> after the 1.4.1
1671 release has been removed for now. This change may affect only
1672 the 1.5Beta/1.6Alpha users. An attempt will be made to add this
1673 feature back into Ant 1.6.
1674
1675Fixed bugs:
1676-----------
1677
1678* <zip> and friends would always update existing archive if you set
1679 the update attribute to true.
1680
1681* To support backward compatibility with older versions, <pathconvert>
1682 will once again set the property, even if the result is the empty
1683 string, unless the new 'setonempty' attribute is set to false|no|off
1684 (default is "true").
1685
1686* The manifest task would crash XmlLogger
1687
1688Other changes:
1689--------------
1690
1691* added **/.svn and **/.svn/** to the default excludes
1692
1693Changes from Ant 1.5beta2 to Ant 1.5beta3
1694=========================================
1695
1696Changes that could break older environments:
1697--------------------------------------------
1698
1699* <pvcs> default filenameformat has been different from Ant 1.4.1.
1700 Now it is different from 1.5beta1 and 1.5beta2.
1701
1702* <pathconvert> won't set the property if the result is the empty string.
1703
1704Fixed bugs:
1705-----------
1706
1707* <available> could fail to find files or directories that happen to
1708 start with the name of the project's basedir but are not children of
1709 the basedir.
1710
1711* Nested <property>'s inside <ant> can now be overriden by subsequent
1712 <ant> and <antcall> tasks.
1713
1714* <xslt>'s outputtype attribute wouldn't do anything.
1715
1716* <linecontains> filterreader could swallow lines.
1717
1718* <sequential> used to configure the tasks (set their attributes)
1719 before the first task has been executed. This means that properties
1720 that have been set by nested task seemed to be unset for the other
1721 tasks in the same <sequential> element.
1722
1723* <javac>'s sourcepath setting has been ignored by some compiler
1724 implementations.
1725
1726* <javadoc>'s packagelist attribute didn't work.
1727
1728* the plain mailer would always use port 25 in <mail>.
1729
1730* Ant's default logger could swallow empty lines.
1731
1732* ejbjar's iPlanet nested element now can process multiple descriptors.
1733
1734* IPlanetEjbc was looking in the wrong place for four iiop files.
1735
1736* <javac> would pass the -source switch to JDK 1.3's javac, even
1737 though it doesn't support it.
1738
1739Other changes:
1740--------------
1741
1742* <checksum> now uses a buffer (of configurable size).
1743
1744* The "Trying to override task definition" warning has been degraded
1745 to verbose level if the two task definitions only differ in the class
1746 loader instance that has loaded the definition.
1747
1748* Add a jvmargs to the ejbjar's weblogic element to allow additional
1749 arguments to be provided to the VM runnign ejbc. Document the
1750 jvmdebuglevel attribute which can be used to avoid warnings about
1751 interface classess being found on the classpath. Document the new
1752 <sysproperty> element which allows JVM properties to be defined.
1753 Added an outputdir attribute to allow the destination to be a
1754 directory into which the exploded jar is written.
1755
1756* ejbjar now supports Borland Enterprise Server 5 and Jonas 2.5
1757
1758Changes from Ant 1.5beta1 to Ant 1.5beta2
1759=========================================
1760
1761Changes that could break older environments:
1762--------------------------------------------
1763
1764* Properties will now be expanded in mail message bodies. This means
1765that one $ sign will be stripped if your mail message contains the text
1766$$.
1767
1768* org.apache.tools.ant.taskdefs.Expand no longer extends MatchingTask.
1769
1770* Available#setFile now again uses a File argument as it did in 1.4,
1771this may break environments that have been adapted to the String
1772argument version present in 1.5beta1.
1773
1774Fixed bugs:
1775-----------
1776* When <move> attempts a rename, it deletes the destination file, if it
1777 exists, before renaming the source file. However, <move> was not
1778 checking if the destination file was actually a directory before
1779 trying to delete it.
1780
1781* Make CVS Tasks to work under Cygwin.
1782
1783* Fix LineContains to handle huge files elegantly without causing
1784Stack Overflows.
1785
1786* if you ask for the "classic" compiler on Java1.4, you get upgraded to
1787"modern" because there is no classic compiler any more.
1788
1789* the <http> condition was viewing 404 'not found' exceptions as success. Now
1790it defaults to viewing any response >=400 as an error, and has an errorsBeginAt
1791attribute you can use if you want a higher or lower value.
1792
1793* <get> throws a build exception on an http authorization error, unless you
1794have set ignoreerrors to true.
1795
1796* <wsdltodotnet> was spelt in Wintel case: <WsdlToDotnet>. It is now lower
1797case, though the old spelling is retained for anyone who used it.
1798
1799* Merging of Manifests in jar now works as documented.
1800
1801* paths that have been separated by colons would be incorrectly parsed
1802on NetWare.
1803
1804* runant.pl now supports NetWare.
1805
1806* <tempfile> and <setproxy> tasks were in beta1, but not defined by
1807default; They now are. <tempfile> fills a property with the name of a
1808temporary file; <setproxy> lets you set the JVM's http, ftp and socks proxy
1809settings.
1810
1811* <available classname="foo" ignoresystemclasses="true"> failed for
1812JDK 1.1 and 1.2, even if the class could be found on the
1813user-specified classpath.
1814
1815* <property environment=... /> now works on z/OS.
1816
1817* forked <javac> failed for the wrong reason on JDK 1.1 - Ant would
1818use a temporary file to hold the names of the files to compile under
1819some conditons, but 1.1 doesn't support this feature. Ant will no
1820longer try this, but you may run into problems with the length of the
1821command line now.
1822
1823* the refid attribute for <property>s nested into <ant> or <param>s
1824nested into <antcall> didn't work.
1825
1826* <replaceregexp> didn't work for nested <fileset>s.
1827
1828* <javadoc> dropped sourcepath entries if no "interesting" .java
1829source files could be found below them. This has been backwards
1830incompatible and caused problems with custom doclets like xdoclet.
1831
1832* Using the doclet, docletpath or docletpathref attributes of
1833<javadoc> may have caused NullPointerExceptions.
1834
1835* nested <filesets> of <javadoc> would include too much.
1836
1837* <dependset> will no longer choke on <targetfileset>s that point to
1838non-existing directories.
1839
1840* <patch> didn't work at all.
1841
1842* <replace> and <replaceregexp> now fail if the file they are working
1843on is locked.
1844
1845* <javadoc> would pick up the wrong executable in the combination JDK
18461.2 and AIX.
1847
1848Other changes:
1849--------------
1850
1851* z/OS now gets detected by the os condition.
1852
1853* <fileset> and <dirset> now have an optional followsymlink attribute
1854that can prevent Ant from following symbolic links on some platforms.
1855
1856* BeanShell is now supported in the <script> task.
1857
1858* <ejbjar> under Weblogic attempts to use the ejbc20 compiler for 2.0 beans
1859 based on the deployment descriptor's DTD reference. Under weblogic 7.00 Beta
1860 this ejbc class has been deprecated. To avoid the deprecation warning use
1861 ejbcclass="weblogic.ejbc".
1862
1863* <ejbjar> will add a manifest to the generated jar based on the naming
1864 convention in use. This overrides the manifest specified in the
1865 <ejbjar> attribute
1866
1867
1868Changes from Ant 1.4.1 to 1.5beta1
1869==================================
1870
1871Changes that could break older environments:
1872--------------------------------------------
1873
1874* Important: Single $ signs are no longer silently stripped!
1875 Before you panic that we have broken all your build files, we have kept
1876 the old "$$" -> "$" behaviour. So only build files which accidentally had
1877 a $ sign in a string that was being silently stripped may break.
1878 We added this fix to stop newbie confusion; if you want to write a
1879 build file which works on ant versions 1.4.1 or earlier, stay with
1880 the double $$ sign rule.
1881
1882* Project.getBuildListeners now returns a clone of the listener
1883 list. Changes to the returned list will not affect the listeners
1884 currently attached to the Project. It also means that it is safe to
1885 iterate over the returned list if listeners are added or removed
1886 during the traversal.
1887
1888* <pvcs> default filenameformat has been different from Ant 1.4.1.
1889
1890* Some messages that are printed during startup will not be
1891 written to the logfile specified via -logfile as they might destroy
1892 the format of the file for special BuildLoggers (like XmlLogger).
1893
1894* The filesetmanifest attribute added to <jar> after the 1.4.1
1895 release has been removed for now. This change may affect only
1896 the 1.5Beta/1.6Alpha users. An attempt will be made to add this
1897 feature back into Ant 1.6.
1898* Shipped XML parser is now Xerces 2.0.1 along with the XML Parser APIs.
1899 XML Parser APIs is a separate jar that contains the necessary
1900 JAXP/DOM/SAX classes.
1901
1902* <telnet> was fixed to expand properties inside nested <read> and
1903 <write> elements; before this only happened when you assigned the text
1904 to the string attribute. If you had $ signs in the string, they may
1905 need escaping.
1906
1907* the RegexpMatcher interface has been extended to support case
1908 insensitive matches and other options - custom implementations of
1909 this interface won't work any longer. We recommend to use the new
1910 Regexp interface that also supports substitution instead of the
1911 RegexpMatcher interface in the future.
1912
1913* <gzip> will throw an exception if your src attribute points to a directory.
1914
1915* Unjar, Unzip and Unwar will throw an exception if the Src attribute
1916 represents a directory. Support for nested filesets is provided
1917 instead.
1918
1919* It is no longer possible to overwrite a property using tasks like
1920 <condition>, <exec>, <pathconvert>, or <tstamp>. In some exceptional
1921 cases it will generate a warning if you attempt to overwrite an
1922 existing property.
1923
1924* Taskwriters please note: Whenever tasks had any overloaded set* methods,
1925 Ant's introspection mechanism would select the last overloaded method
1926 provided to it by the Java Runtime. A modification has now been made such
1927 that when the Java Runtime provides a method with a String as its argument,
1928 a check is made to see if there is another overloaded method that takes in
1929 some other type of argument. If there is one such method, then the method
1930 that takes in String as an argument is not selected by the Introspector.
1931
1932* The pattern definition **/._* has been included into the Default
1933 Excludes list.
1934
1935* <propertyfile>'s <entry> element was modified to remove "never" as a value
1936 as its behavior was undocumented and flakey.
1937
1938* The -projecthelp flag now only prints out targets that include the
1939 'description' attribute, unless the -verbose or -debug flag is included
1940 on the Ant command line.
1941
1942* Ant's testcases now require JUnit 3.7 or above, as they now use the new
1943 assertTrue method instead of assert.
1944
1945* If the 'output' attribute of <ant> is set to a simple filename or a
1946 relative path, the file is created relative to ${basedir}, not ${user.dir}.
1947
1948* The default value for build.compiler is now javac1.x with x
1949 depending on the JDK that is running Ant instead of classic/modern.
1950
1951Fixed bugs:
1952-----------
1953
1954* <available> could fail to find files or directories that happen to
1955 start with the name of the project's basedir but are not children of
1956 the basedir.
1957
1958* Nested <property>'s inside <ant> can now be overriden by subsequent
1959 <ant> and <antcall> tasks.
1960
1961* <xslt>'s outputtype attribute wouldn't do anything.
1962
1963* <linecontains> filterreader could swallow lines.
1964
1965* <sequential> used to configure the tasks (set their attributes)
1966 before the first task has been executed. This means that properties
1967 that have been set by nested task seemed to be unset for the other
1968 tasks in the same <sequential> element.
1969
1970* <javac>'s sourcepath setting has been ignored by some compiler
1971 implementations.
1972
1973* <javadoc>'s packagelist attribute didn't work.
1974
1975* the plain mailer would always use port 25 in <mail>.
1976
1977* Ant's default logger could swallow empty lines.
1978
1979* ejbjar's iPlanet nested element now can process multiple descriptors.
1980
1981* IPlanetEjbc was looking in the wrong place for four iiop files.
1982
1983* <javac> would pass the -source switch to JDK 1.3's javac, even
1984 though it doesn't support it.
1985
1986* <zip> and friends would always update existing archive if you set
1987 the update attribute to true.
1988
1989* To support backward compatibility with older versions, <pathconvert>
1990 will once again set the property, even if the result is the empty
1991 string, unless the new 'setonempty' attribute is set to false|no|off
1992 (default is "true").
1993
1994* The manifest task would crash XmlLogger
1995
1996* A bug existed that prevented generated log files from being deleted as
1997 part of the build process itself. This has now been fixed.
1998
1999* Fixed bug where <move> ignored <filterset>s.
2000
2001* Ant works properly with the combination of Java1.4/WindowsXP.
2002
2003* Fixed bug where <java> used to sometimes invoke class constructors twice.
2004
2005* Fixed bug with 4NT shell support.
2006
2007* Fixed bug where ant would not perform ftp without remotedir being
2008 specified even though this was not mandatory.
2009
2010* Fixed bug where ant would not copy system properties into new Project
2011 in ant/antcall tasks when inheritall="false" is set.
2012
2013* <propertyfile> would not close the original property file.
2014
2015* <ant> will no longer override a subbuild's basedir with inheritall="true".
2016
2017* Fixed problem with the built-in <junit> formatters which assumed
2018 that only one test could be running at the same time - this is not
2019 necessarily true, see junit.extensions.ActiveTestSuite.
2020
2021* <jar>'s whenEmpty attribute is useless as JARs are never empty, they
2022 contain at least a manifest file, therefore it will now print a
2023 warning and do nothing.
2024
2025* <typedef> hasn't been all that useful as it couldn't be used outside
2026 of targets (it can now) and nested "unknown" elements have always
2027 been considered to be tasks (changed as well).
2028
2029* <fixcrlf> would fail for files that contained lines longer than 8kB.
2030
2031* Some junit formatters incorrectly assumed that all testcases would
2032 inherit from junit.framework.TestCase.
2033
2034* <fixcrlf> dropped the first characters from Mac files.
2035
2036Other changes:
2037--------------
2038
2039* <checksum> now uses a buffer (of configurable size).
2040
2041* The "Trying to override task definition" warning has been degraded
2042 to verbose level if the two task definitions only differ in the class
2043 loader instance that has loaded the definition.
2044
2045* Add a jvmargs to the ejbjar's weblogic element to allow additional
2046 arguments to be provided to the VM runnign ejbc. Document the
2047 jvmdebuglevel attribute which can be used to avoid warnings about
2048 interface classess being found on the classpath. Document the new
2049 <sysproperty> element which allows JVM properties to be defined.
2050 Added an outputdir attribute to allow the destination to be a
2051 directory into which the exploded jar is written.
2052
2053* ejbjar now supports Borland Enterprise Server 5 and Jonas 2.5
2054
2055* added **/.svn and **/.svn/** to the default excludes
2056* Selector Elements now provide a way to create filesets based on
2057 sophisticated selection criteria.
2058
2059* Gzip and Bzip2 files can now be constructed in the fly when using
2060 the tar task without having to create the intermediate tar file on
2061 disk. The Untar task can also untar GZip and BZip2 files on the fly
2062 without creating the intermediate tar file.
2063
2064* New optional type, <classfileset> added.
2065
2066* <ejbjar> now allows control over which additional classes and interfaces
2067 are added to the generated EJB jars. A new attribute "dependency" can be
2068 defined which controls what classes are added. The addition of classes now uses
2069 the Jakarta-BCEL library rather than reflection, meaning bean classes are
2070 no longer loaded into Ant's JVM. The default dependency analyzer is known as
2071 the ancestor analyzer. It provides the same behaviour as the 1.4.1 version of
2072 <ejbjar>. If the BCEL library is not present, a warning will be issued stating
2073 the ancestor analyzer is not available. In this case <ejbjar> will continue
2074 to function but will not add super classes to the jar.
2075
2076* <available> has a new attribute named ignoreSystemClasses.
2077
2078* New task <cvschangelog/> generates an XML report of changes that occur
2079 on CVS repository.
2080
2081* New filter readers: ClassConstants, ExpandProperties, HeadFilter,
2082 LineContains, LineContainsRegExp, PrefixLines, ReplaceTokens,
2083 StripJavaComments, StripLineBreaks, StripLineComments, TabsToSpaces,
2084 TailFilter.
2085
2086* <copy>, <loadfile>, <loadproperties>, <move> support FilterChains
2087 of FilterReaders.
2088
2089* New task <loadproperties> to load contents of file as Ant properties,
2090 with nested <filterchain> elements.
2091
2092* New task <loadfile> to load a whole file into a property.
2093
2094* New task <echoproperties> to list your current properties to the screen
2095 or a file.
2096
2097* New tasks <bzip2> and <bunzip2> to pack and unpack files using the
2098 BZip2 alogrithm.
2099
2100* New tasks <replaceregexp>, <checksum>, <translate>, <waitfor>,
2101 <manifest>, <vsscp>, <vssadd>, <vsscreate>, <splash>, <basename>, <dirname>,
2102 <concat>, <sourceoffsite>, <jarlib-available>, <jarlib-display>,
2103 <jarlib-manifest>, <jarlib-resolve>.
2104
2105* A new combined <mail> task, which replaces the old <mail> and
2106 <mimemail> tasks, has been added. The <mimemail> task, and
2107 old SendEmail and MimeMail classes have been deprecated.
2108
2109* Mail task allows specification of port number.
2110
2111* Users can control what <zip> and <jar> must do when duplicate files
2112 are found. A new element <zipgroupfileset> allows for multiple zip
2113 files to be merged into the archive. In addition, <jar> also has
2114 another new attribute: filesetmanifest. The existing manifest
2115 attribute of <jar> now also accepts the name of a jar added through
2116 a fileset.
2117
2118* gzip now checks that the zipfile is older than the source file
2119 before rebuilding the zipfile.
2120
2121* TarFileset takes in three new attributes - fullpath, prefix
2122 and preserveLeadingSlashes.
2123
2124* <move> attempts to rename the directory, if everything inside it is
2125 included, before performing file-by-file moves. This attempt will
2126 be done only if filtering is off and if mappers are not used. This
2127 is a performance improvement and there is no change otherwise in
2128 the funtionality of this task.
2129
2130* Exec task has extra attribute "resultproperty" to get the return code
2131 into a property.
2132
2133* Exec task prints a message when a timed-out process is killed.
2134
2135* Added optional attributes - name, arch and version to the <os> task.
2136
2137* Unjar, Untar, Unwar and Unzip now support patternsets to
2138 select files from an archive for extraction. Filesets may be
2139 used to select archived files for unarchival.
2140
2141* Javac task allows debug levels to be specified. Debug levels
2142 will have an effect only when the modern compiler or the
2143 classic compiler (version 1.2 and higher) is used and debugging
2144 is enabled.
2145
2146* Added support for specifying CVS_RSH in the <cvs/> task
2147
2148* The attributes zipfile, jarfile, warfile and earfile (from the Zip,
2149 Jar, War and Ear tasks) have been deprecated and superseded by a
2150 new attribute "destfile".
2151
2152* Added new conditions <isset>, <checksum>, <http>, <socket>, <contains>,
2153 <filesmatch>.
2154
2155* <taskdef> and <typedef> will now emit a warning if a task/type of
2156 the given name already exists.
2157
2158* A new revision of VAJ tasks: The most important new feature
2159 is the ability to execute VAJ tasks from the command line by
2160 exploiting the Remote Tool Access feature of VAJ.
2161
2162* Improved support for Novell NetWare.
2163
2164* Added an optional encoding attribute to <fixcrlf>.
2165
2166* <apply> has a new attribute relative that allows users to pass the
2167 filenames as relative instead of absolute paths on the command line.
2168
2169* References can now be copied into the child build by <ant> and
2170 <antcall> using nested <reference> elements or the new inheritRefs
2171 attribute.
2172
2173* <fail> now supports builds to fail based on conditions via if and
2174 unless attributes.
2175
2176* Ant now comes with two new BuildLogger implementations - one that
2177 can send emails containing a log of the build process (MailLogger),
2178 and one that colorizes the output based on message levels, using
2179 ANSI color code escape sequences (AnsiColorLogger).
2180
2181* A "package" mapper type has been added to allow package directory
2182 names replaced with the dotted form.
2183
2184* You can now specify environment variables in the <java> and <junit> tasks
2185 if the fork attribute has been set to true.
2186
2187* -propertyfile command-line option has been added to load an entire
2188 property file just as -D properties are declared (as user properties).
2189 -D properties take precedence over -propertyfile specified ones.
2190
2191* You can now set an ANT_ARGS environment variable to hold arguments you
2192 always want passed to the 'ant' command -- for example, if you always
2193 want to use a different logger or the -find flag.
2194
2195* <tstamp> now supports a new "prefix" attribute to prefix properties set.
2196
2197* You can now specify the -sourcepath for <javac> explicitly.
2198
2199* <javac> now supports a new "listfiles" attribute to list the source
2200 files it's handing off to the compiler.
2201
2202* The compiler implementation for <javac> can now be chosen on a task by
2203 task basis. The new "compiler" attribute of <javac> can be used to override
2204 the value of the build.compiler property, if set.
2205
2206* <javac> has a new nested element, <compilerarg>, which allows you
2207 to specify additional args for the specific compiler you're using.
2208
2209* <javac>'s "source" attribute is now enabled for jikes as well.
2210
2211* <propertyfile>'s <entry> now has a 'unit' attribute to specify the
2212 increment/decrement unit on date operations.
2213
2214* <property> now supports a 'prefix' attribute when loading from a file
2215 or resource.
2216
2217* In Ant 1.4, a feature has been added to the <junit> task that would
2218 add ant.jar, optional.jar and junit.jar implicitly to the classpath -
2219 this feature can now be disabled by setting the new includeantruntime
2220 attribute to false.
2221
2222* <style> behaves differently from any other directory-based task, as it
2223 processes all files that it finds in included directories in
2224 addition to the files matched by your patterns. There is now a new
2225 attribute, 'scanincludeddirectories', to suppress this behavior.
2226
2227* <javadoc> now supports a <tag> nested element to provide the -tag option
2228 to the standard Java 1.4 doclet. The element is ignored when not running
2229 on Java 1.4.
2230
2231* <ftp> can now chmod files on a remote server that supports
2232 "site chmod", as well as set the umask before transferring files, if
2233 the server supports "site umask".
2234
2235* New <serverdeploy> "optional" task.
2236
2237* <patternset> now supports nested patternsets.
2238
2239* Perforce tasks now support a "failonerror" attribute (defaults to "true").
2240
2241* Open Source application server JOnAS support:
2242 EJB hot deploy and deploy with <serverdeploy> and <ejbjar>
2243
2244* Added new DirSet (<dirset>) datatype.
2245
2246* <path> now supports nested <dirset> and <filelist> elements.
2247
2248* <pathconvert> now supports nested <dirset> and <filelist> elements.
2249
2250* <pathconvert>'s "dirsep" and "pathsep" attributes now accept
2251 multi-character values.
2252
2253* <copy> task now has a 'failonerror' attribute to allow keep-going
2254 behaviour when the file to be copied is not found (defaults to "true").
2255
2256* <uptodate> now has a 'srcfile' attribute to allow specifying a
2257 full-path filename.
2258
2259* <exec>, <sql> and <java> now support append attributes to allow
2260 appending the output to an existing file.
2261
2262* <java> now supports a timeout attribute analog to <exec> - it is
2263 highly recommended to only use it together with fork="true".
2264
2265* <javadoc> now supports a source attribute to enable javadoc to
2266 handle assertions present in JDK 1.4 source code.
2267
2268* <replace> supports a new replacefilterfile attribute that
2269 automatically turns all properties of a given file into
2270 replacefilters.
2271
2272* An alias of <xslt> has been added to refer to the <style> task.
2273
2274* The compiler implementation for <rmic> can now be chosen on a task by
2275 task basis. The new "compiler" attribute of <rmic> can be used to override
2276 the value of the build.rmic property, if set.
2277
2278* <rmic> has a new nested element, <compilerarg>, which allows you
2279 to specify additional args for the specific compiler you're using.
2280
2281* org.apache.tools.ant.XmlLogger now is a BuildLogger, rather than just
2282 a BuildListener. It can operate in either mode successfully.
2283
2284* <junit> has a new attribute "showoutput". If set to true, output
2285 generated by tests will be sent to Ant's logging system as well as
2286 to the formatters (instead of sending it to the formatters
2287 exclusively).
2288
2289* Ant has now a pluggable way to prompt users for input, which is used
2290 by the new <input> task. IDE integrators can provide an
2291 implementation of the InputHandler interface to decouple Ant's input
2292 from the console. An implementation that gets its input from a file
2293 for unattended builds is part of Ant's distribution.
2294
2295 For more details see docs/manual/inputhandler.html.
2296
2297* <patch> has a new attribute that selects the directory in which to
2298 run the command.
2299
2300* <javadoc> now supports two new nested elements, <fileset> and <packageset>.
2301
2302
2303Changes from Ant 1.4 to Ant 1.4.1
2304===========================================
2305
2306Fixed bugs:
2307-----------
2308
2309* <ant>'s antfile attribute will now also be considered an absolute path on
2310 Windows systems, if it starts with a \ and no drive specifier.
2311
2312* The fullpath attribute of <zipfileset> has been ignored if you used
2313 the src attribute at the same time.
2314
2315* The manifest file is now always placed as the second entry (after /META-INF)
2316 in generated jars. This allows the manifest to be read by JarInputStreams
2317
2318* Fixed bug in depend task which would fail with a NullPointerException if no
2319 dependency cache was specified.
2320
2321* sql task now handles REM statements correctly so that lines starying with rem
2322 but which are not comments are actually processed.
2323
2324* XMLLogger now uses the task's name rather than the classname
2325
2326* <mapper>s will now work as expected if the to pattern expands to an
2327 absolute pathname.
2328
2329* <javac> didn't ignore memory settings in non-fork mode
2330
2331* <cab> didn't split the options attribute into several command line
2332 arguments correctly.
2333
2334Other changes:
2335--------------
2336
2337* New source attribute for <javac> to enable assertion in JDK 1.4
2338
2339* XmlLogger and <antstructure> now add an encoding declaration to the
2340 XML files they generate.
2341
2342* <fileset> has a new attribute "casesensitive" to make it match
2343 filenames in a case insensitive way (if you set it to false) - by
2344 default filesets remain case sensitive.
2345
2346Changes from Ant 1.3 to Ant 1.4
2347===========================================
2348
2349Changes that could break older environments:
2350--------------------------------------------
2351* JUnitReport now uses the xalan redirect extension for multi-output.
2352 With Xalan 1.2.2 it forces the use of bsf.jar in the classpath.
2353 (Available in the xalan distribution). It is recommended to switch
2354 to Xalan 2.x that do not need it.
2355
2356* Zip.setWhenempty() has changed its signature.
2357
2358* <rmic> is now implemented using a factory. This makes extending
2359 rmic to use a new compiler a lot easier but may break custom
2360 versions of this task that rely on the old implementation.
2361
2362* several Zip methods have changed their signature as we now use a Zip
2363 package of our own that handles Unix permissions for directories.
2364 Furthermore <zip> will now use the platform's default character
2365 encoding for filenames - this is consistent with the command line
2366 ZIP tools, but causes problems if you try to open them from within
2367 Java and your filenames contain non US-ASCII characters. Use the new
2368 encoding attribute of the task and set it to UTF8 to get the old
2369 behavior.
2370
2371* The <pvcs> task has been moved to a package of its own.
2372
2373* JUnitResultFormater has two additional methods that must be
2374 implemented by custom formatters.
2375
2376* Ant will no longer use the canonical version of a path internally -
2377 this may yield different results on filesystems that support
2378 symbolic links.
2379
2380* The output generated by the xml formatter for <junit> has changed
2381 again, it doesn't format the numeric value in the time attribute anymore.
2382
2383* Pattern matching rules have changes slightly, the pattern foo*
2384 doesn't match files contained in a directory named foo - use foo/*
2385 instead.
2386
2387* <fixcrlf> will not remove trailing whitespace at the end of lines anymore.
2388
2389* The Classloader usage has been changed for the taskdef, property, available
2390 and sql tasks so that it delegates to the parent classloader. This may cause
2391 ClassNotFoundExceptions to be thrown if a system class attempts to load a
2392 class in the taskdef's classpath (typically factory objects).
2393
2394* Ant now allows multithreading of tasks and the containment of tasks within
2395 other tasks. This can break customer listeners which do not expect messages
2396 from a task before the previous task has finished.
2397
2398* Ant now installs its own ouput stream into System.out to route output to the
2399 task currently executing on the current thread. This also means that all
2400 output is now routed as Ant message events. Customer listeners and loggers
2401 should not call System.out at any time. This has always been true but such
2402 usage now will cause problems due to possible recursion.
2403
2404* Invalid manifest files will now cause build failures in the <jar> task.
2405
2406* Ant Introspection now looks for methods with method names starting with
2407 addConfigured. When called these methods are passed an argument after it has
2408 been configured from the build file. Custom tasks supporting nested elements
2409 starting with the name configured will no longer function.
2410
2411* The environment variable JAVACMD that can be used to specify the
2412 java executable to Ant's wrapper scripts must not contain additional
2413 command line parameters any longer - please use the environment
2414 variable ANT_OPTS for such parameters now.
2415
2416* Ant's wrapper scripts now quote the CLASSPATH environment variable, thus
2417 supporting classpaths which refer to directories containing spaces. This means
2418 that the CLASSPATH environment variable cannot have quotes. Any quotes should
2419 be removed. This will not affect the operation of the CLASSPATH environment
2420 variable in other contexts.
2421
2422* A delete task like
2423 <delete includeEmptyFilesets="true">
2424 <fileset dir="somedir" />
2425 </delete>
2426 will now remove "somedir" as well, unless there are still files left
2427 in it (matched by the default excludes).
2428
2429* The copy task will now fail if the file to be copied is not found.
2430
2431* Ant properties defined in properties files now behave the same way as
2432 properties defined in the build file. In particular the $ character needs
2433 to be escaped in property values by doubling it to $$. So, to define a
2434 property with the value $hello, you need to define it in a properties file
2435 as
2436 test.prop=$$hello
2437 This was not the case in Ant 1.3
2438
2439Other changes:
2440--------------
2441
2442* New tasks: ear, p4counter, record, cvspass, vsscheckin, vsscheckout,
2443 typedef, sleep, mimemail, set of tasks for Continuus/Synergy, dependset,
2444 condition, maudit, mmetrics, jpcoverage, jpcovreport, jpcovmerge
2445
2446* Ant now uses JAXP 1.1
2447
2448* rmic now supports Kaffe's and Weblogic's version of rmic.
2449
2450* new magic property build.rmic to chose the rmic implementation
2451
2452* <tar> will now add empty directories as well
2453
2454* you can now specify a description for <p4change>
2455
2456* <touch> can now work on <fileset>s
2457
2458* <uptodate> now supports a value attribute
2459
2460* <fail> supports nested text
2461
2462* <fixcrlf> won't override files that are already in the correct
2463 format.
2464
2465* <sql> now supports REM comments as well as // and --
2466
2467* <jar> now has a nested <metainf> element following the same idea as
2468 <war>'s <webinf>.
2469
2470* <pvcs> can now handle multiple projects.
2471
2472* <available> now has a "type" attribute you can use in conjunction
2473 with the "file" attribute to specify whether the "file" you're
2474 looking for is a file or a directory.
2475
2476* New <junit> formatter named "brief"
2477
2478* <ejbjar> changes
2479 * Add support for Borland Application Server to the <ejbjar> task using
2480 a <borland> nested element.
2481 * Add support for iPlanet Application Server to the <ejbjar> task. Also
2482 includes some iPlanet utility tasks
2483 * Add support for JBoss Application Server to the <ejbjar> task.
2484 * Add a naming attribute to control the naming scheme that
2485 ejbjar uses to name the generated EJB jars.
2486 * Weblogic element now sets the compiler class for EJB 2.0 beans
2487 * <dtd> elements can be specified at the <ejbjar> level for building generic
2488 beans
2489 * <dtd> elements can now be URLs
2490 * Allow the manifest to be specified for the generated jars
2491 * The weblogic element now supprts an attribte noEJBC to skip the processing
2492 of the jar by ejbc. The ejbc step will then occur at deployment
2493 * weblogic will tell ejbc to use Jikes compiler if build.compiler is set to
2494 jikes. It can be restored to the default, javac, operation if desired.
2495
2496* Allow the <sql> Delimiter to be set in the so that Oracle stored procs may be
2497 entered
2498
2499* <execon> and <apply> can now optionally skip empty filesets.
2500
2501* <javadoc> has a new useexternalfile attribute that makes it use a
2502 temporary file for sourcefile and package names - helps to defeat
2503 command line length limitations.
2504
2505* Data types like <path> can now be defined inside of <target>s
2506
2507* you can now specify a classpath for <style> - the XSLZ processor
2508 will be loaded from this path
2509
2510* added a force attribute to <style> to support dependencies that the
2511 task cannot determine itself (dependency on parameters, not file
2512 modification times for example)
2513
2514* added vmlauncher attribute to exec tasks. This defaults to true. If
2515 it is set to false, the VM's ability to launch commands in bypassed
2516 and the OS shell, either directly or through the auxillary antRun
2517 scripts is used.
2518
2519* regexp mapper now supports the java.util.regex package of JDK 1.4.
2520
2521* New filesonly attribute for <zip> and friends to suppress directory
2522 entries.
2523
2524* New update attribute for <zip> and friends - update an existing
2525 archive instead of creating a new one.
2526
2527* <apply> and <execon> have been merged into a single task.
2528
2529* added vssver.scc to the default excludes
2530
2531* <available> has a new filepath attribute/nested element that allows
2532 you top search for a file in a given path.
2533
2534* <junit> can now optionally set a property on test failure.
2535
2536* <taskdef> can now define several tasks at once, reading the
2537 name/classname pairs from a property file or resource.
2538
2539* <unzip/unjar/unwar> and <untar> now have an overwrite attribute that
2540 defaults to true. If set to false, files that are newer than the
2541 files in the archive will not be replaced.
2542
2543* <patternset> and <fileset> now support nested <in/excludesfile>
2544 elements - using these you can have more than one in/excludes file
2545 per <patternset>.
2546
2547* Three new supported compilers for javac: kjc for kopi, gcj for the
2548 gcc frontend and sj for Symantec's compiler.
2549 In addition extJavac or the new fork attribute can be
2550 used to run the JDK's javac in a JVM separate from Ant.
2551
2552* <fixrlf> can now with CR only line-ends and can use an arbitraty
2553 between 2 and 80.
2554
2555* The .NET tasks have been adapted to the beta2 release of the framework.
2556
2557* <move> will now try to rename() files before copying them byte by
2558 byte - only if filtering is of, of course.
2559
2560* <ant> and <antcall> tasks now support a new attribute inheritAll. When set to
2561 false, only user properties are passed through to the target Ant instance.
2562 This includes properties set on the command line and properties explicitly
2563 passed
2564
2565* <javadoc> now skips off line links if the package list cannot be found.
2566
2567* <wlrun> now allows the security policy file to exist outside the weblogic
2568 directory.
2569
2570* <java> task will set the Thread contextClassLoader under JDKs 1.2+ to the
2571 classloader for the class being executed.
2572
2573* Introduce the concept of a TaskContainer - a task or element which can contain
2574 Ant Tasks.
2575
2576* Add new tasks implementing the TaskContainer interface <parallel> and
2577 <sequential> which allow parallel execution of tasks to be specified.
2578
2579* <depend> task will now take into account dependencies on jar files and class
2580 files from a given classpath.
2581
2582* <jar> manifest entries may now be specified in the build file either
2583 completely or to be merged with a manifest file.
2584
2585* <tstamp> task custom formats now support locales.
2586
2587* Added a listner which will forward events to Log4J. The log4j configuration
2588 file should be in the directory from which Ant is run or passed as a system
2589 property using a JVM argument.
2590
2591* Introduced the concept of <filtersets> to allow for more control in which
2592 filters get applied in a <copy> or <move> operation.
2593
2594* Added nowarn attribute to javac and deprecated the Jikes-magic property
2595 build.compiler.warnings.
2596
2597* The <depend> task cache format has changed and all dependency information is
2598 now stored in a single file.
2599
2600Fixed bugs:
2601-----------
2602
2603* Testcases have been made independent of current working directory.
2604
2605* Input ZIP-Files will be closed when using a <zipfileset>.
2606
2607* p4 tasks now don't fail if user, port or client have been omitted
2608 (and this is acceptable for the context of the command).
2609
2610* <javah>'s outputfile attribute will be resolved as relative to the
2611 projects basedir.
2612
2613* <antstructure> should create a valid DTD for propertyfile.operation.entry
2614 and omit tasks it fails to load.
2615
2616* won't try to pass a -bootclasspath flag to javac 1.1 anymore
2617
2618* <style>'s style attribute no handles absolute paths correctly.
2619
2620* <delete includeemptydirs="true"> now deletes more than just the leaf
2621 directories.
2622
2623* You can now specify a <fileset> for a directory that doesn't exist at
2624 declaration time but will created before the fileset gets used for the
2625 first time.
2626
2627* If the quiet attribute has been set, <delete> will handle <fileset>s
2628 with non-existing directories gracefully.
2629
2630* Output written by testcases will now be captured by the <junit> task
2631 and passed to the formatters.
2632
2633* Quote the -group parameter to Javadoc as per the specification
2634
2635* Initialise classes when loaded through the AntClassLoader - that is, run
2636 static initializers
2637
2638* Implement getResource() and getResources() in AntClassLoader
2639
2640* Create the <ejbjar> weblogic command line as a set of arguments rather than
2641 as a single line. Avoids problems with paths which contain spaces.
2642
2643* <ejbjar> now fails when the weblogic ejbc compiler reports an error.
2644
2645* Make the AntClassLoader load resources in the same order as it currently
2646 loads classes.
2647
2648* Handle classpaths with spaces
2649
2650* Make sure XSLT processors close their output files in <style>.
2651
2652* perform proper uptodate check in <rmic> when compiling for IIOP.
2653
2654* <jjtree>'s uptodate test works even if outputdirectory is not the
2655 parent dir of target
2656
2657* <copy> will remove target file (if it exists) before writing to it -
2658 this avoids problems with links on filesystems that support them.
2659
2660* <ftp> now properly recurses remote directories.
2661
2662* <ftp> closes remote connection when it's done.
2663
2664* <junit> tries to include all necessary classes for the task itself
2665 to the classpath when running in fork mode - doesn't work for JDK 1.1
2666
2667* <apply> and <execon> do now execute the command only once, if you
2668 specify the parallel attribute - instead of once per fileset.
2669
2670* directory based tasks and fileset could miss some included files in
2671 directories that have been excluded
2672
2673* <fixcrlf> failed for large files.
2674
2675* <move> removed files you tried to move to themselves.
2676
2677* <sql> task will not trty to print the result set unless the query succeeded.
2678
2679* Ant classloader will now ignore paths which are invalid relative to the
2680 project base
2681
2682* <ejbjar> weblogic elements check for jar file changes has been fixed.
2683 Previously some changes would not be included.
2684
2685* properties loaded from properties files are now resolved internally. This
2686 removes the spurious warnings about usage of properties which have not been
2687 set.
2688
2689* <jar> task and friends now process the JAR manifest to ensure it is valid.
2690
2691* The task finished event now includes any exception thrown by the task.
2692
2693* <java> task now supports a jvmVersion attribute so that if another JVM is
2694 being used, Ant can determine which options to use for features such as the
2695 VM memory limits
2696
2697
2698Changes from Ant 1.2 to Ant 1.3
2699===========================================
2700
2701Changes that could break older environments:
2702--------------------------------------------
2703
2704* Ant doesn't search for the buildfile anymore, unless you use the new
2705 -find argument.
2706
2707* <perforce> has been replaced by a number of new tasks.
2708
2709* <javac> is now implemented using a factory. This makes extending
2710 javac to use a new compiler a lot easier but may break custom
2711 versions of this task that rely on the old implementation.
2712
2713* The output generated by the xml formatter for <junit> has changed a
2714 little, it doesn't append " sec" in the time attribute anymore.
2715
2716Other changes:
2717--------------
2718
2719* A GUI Frontend: Antidote. This is currently in development. At this
2720 time, this is not part of the Ant release, although the source is
2721 included if you are interested.
2722
2723* New tasks: stylebook, propertyfile, depend, antlr, telnet, csc,
2724 ilasm, apply, javah, several clearcase tasks, junitreport, sound
2725
2726* Added output attribute to <java>.
2727
2728* Added nested zipfileset element to <zip>
2729
2730* Changed <sql> so that printing is at the task level rather than
2731 the statement level.
2732
2733* javadoc task will pass -d flag to any doclet if the destDir attribute is
2734 given. If the doclet does not accept the -d flag then omit the destdir
2735 attribute.
2736
2737* <cab> can work on non-Windows platforms with the help of libcabinet.
2738 See http://trill.cis.fordham.edu/~barbacha/cabinet_library/.
2739
2740* <ftp> now supports passive mode.
2741
2742* New <mapper> data type that can be used to get influence on the
2743 target files for some tasks like <copy> or enable new types of tasks
2744 like <apply>.
2745
2746* <execon> provides more control over the command line now, the names
2747 of the source files are no longer required to be at the end of the
2748 command.
2749
2750* Style tasks will now support TraX compliant XSL processors if one is present
2751 in your classpath.
2752
2753* Added a failonerror to the javac task. If set to false, the build will
2754 continue even if there are compilation errors.
2755
2756* Added nested format elements to the tstamp task allowing additional time
2757 formats to be defined for arbitrary properties.
2758
2759* Added classpath attribute and nested classpath element to <property>
2760 to make the resource attribute more powerful.
2761
2762* ${} property expansion will now be performed on the patterns read
2763 from files specified as includesfile or excludesfile attributes.
2764
2765* The <tar> and <untar> tasks now support GNU format for handling paths
2766 which are greater than 100 characters in length. In addition the <tar>
2767 task now supports nested filesets through which the file permissions
2768 may be controlled.
2769
2770* wlrun, wlstop and ejbjar now support Weblogic 6.0
2771
2772* The MPasre task has been updated to work with MParse 2.0
2773
2774* The documentation has been significantly updated.
2775
2776
2777Fixed bugs:
2778-----------
2779
2780* <signjar> doesn't use deprectated methods anymore.
2781
2782* javadoc's failonerror attribute works again
2783
2784* javadoc's additionalparam attribute will now be split into separate
2785 parameters (on spaces) to allow for more than one parameter.
2786
2787* Changed <sql> task so that printing result sets works on Oracle
2788
2789* Changes to ddcreator and ejbc helper to respect the descriptor hierarchy
2790 keppgenerated in ejbc can now be turned off
2791
2792* ejbjar now correctly ignores <ejb-ref> elements in the deployment descriptor.
2793 CMP files are included by parsing the weblogic deployment descriptor rather
2794 than relying on the naming convention used in ant 1.2
2795
2796* ejbjar includes super classes and super interfaces into the generated ejb
2797 jar files. The <support> nested element allows support classes to be
2798 included in the EJB jar. The toplink element should now correctly locate
2799 the toplink descriptor.
2800
2801* <vssget> now correctly deals with spaces in arguments
2802
2803* <jar> fails early if a given manifest file doesn't exist
2804
2805* <rmic> doesn't search for the _Skel file anymore when stubversion is
2806 set to 1.2.
2807
2808* <rmic> uses the the same classpath to verify a class can be rmic'd
2809 as it passes to the compiler.
2810
2811* org.apache.tools.mail.MailMessage (and therefore <mail>) can now
2812 handle SMTP servers sending multi line responses.
2813
2814* nested <classpath> elements of <taskdef> now work for <taskdef>s not
2815 nested into <target> as well.
2816
2817* <property> and <available> will search for the resource "foo" instead
2818 of "/org/apache/tools/ant/taskdefs/foo" when given a relative resource
2819 name foo.
2820
2821* Handle build files in directories whose name contained a "#" character
2822
2823* <junit> can now log to files whose name contains a comma as well.
2824
2825* The AntClassLoader now refers to the loader which loaded it, any
2826 requests it does not handle itself. Previously these went to the
2827 primordial loader.
2828
2829Changes from Ant 1.1 to Ant 1.2
2830===============================
2831
2832Changes that could break older environments:
2833--------------------------------------------
2834
2835* Semantics of <property> has changed again in the hope to be more
2836intuitive. ${} expansion now happens at runtime and <property> tags
2837living inside of targets only take effect if they are visited at
2838runtime.
2839
2840As a side effect of this change, task's attributes get set at runtime
2841not at parser time as well, which might change the results of
2842<script>s or other custom tasks that reference other tasks by their id
2843attribute.
2844
2845* copying of support files in <javac> has been removed - as well as
2846the filtering attribute.
2847
2848* the <expand> and <keysubst> tasks have been removed.
2849
2850* the ignore and items attributes of directory based tasks have been removed.
2851
2852* the command line switches _not_ starting with - have been removed.
2853
2854* Path and EnumeratedAttribute have been moved from
2855org.apache.tools.ant to org.apache.tools.ant.types.
2856
2857* the class attributes of <available>, <java>, <rmic> and <taskdef>
2858have been removed.
2859
2860* the src attribute of <chmod> has been removed.
2861
2862* <patch> and <javadoc> have lost some of their attributes.
2863
2864* <java> and <cvs> have lost some undocumented attributes.
2865
2866* the Unix antRun script would search for command.sh in the directory
2867it changed to and invoke this instead of command if present. This
2868behavior has been dropped.
2869
2870* <ejbjar> task syntax has been changed significantly
2871
2872* <exec> is no longer implemented by org.apache.tool.ant.taskdefs.Exec.
2873Custom tasks that rely on Project.createTask("exec") to return an
2874instance of this class are going to fail.
2875
2876* nested <include> and <exclude> elements expect the value of their
2877name attribute to be a single pattern, they don't accept multiple
2878patterns anymore. Split them into multiple elements of the same type.
2879
2880* <delete dir="somedir" /> will now delete the directory itself as
2881well as all included files. If you just want to clean out the
2882directory and keep the empty one, use a nested fileset.
2883
2884Other changes:
2885--------------
2886
2887* New tasks: antstructure, cab, execon, fail, ftp, genkey, jlink,
2888junit, sql, javacc, jjtree, starteam, war, unwar, uptodate,
2889native2ascii, copy, move, mparse.
2890
2891* copydir, copyfile, deltree and rename are now deprecated. They
2892should be replaced with the new copy, delete and move tasks.
2893
2894* <java> uses a ClassLoader of its own in no-fork mode if a classpath is
2895specified.
2896
2897* <style> will create the necessary target directories and reprocess
2898all files if the stylesheet changes.
2899
2900* New data types fileset and patternset - expected to get a broader use.
2901They, as well as PATH like structures, can now be defined on a global
2902level and later be referenced by their id attribute.
2903
2904* You can specify environment variables to <exec>.
2905
2906* <get> can check whether a remote file is actually newer than a local
2907copy before it starts a download (HTTP only).
2908
2909* Added a -logger option to allow the class which performs logging to be
2910specified on the command line.
2911
2912* Added a -emacs option to tell the logger to leave out taskname adornments
2913on log output.
2914
2915* <chmod> works on all files in parallel and supports multiple filesets.
2916
2917* <replace> can now use tokens and/or values that cross line boundaries.
2918
2919* build.compiler supports now jvc as well.
2920
2921* project specific help can now be obtained with the -projecthelp option.
2922
2923* Added a -debug option to make -verbose less verbose (and more useful)
2924
2925* Ant will now search for a file named build.xml in the parent directory
2926and above (towards the root of the filesystem) if you didn't specify
2927-buildfile and there is no build.xml in the current directory.
2928
2929* <echo> can now write to a file and accepts nested text.
2930
2931Fixed bugs:
2932-----------
2933
2934* <chmod> didn't work when used as a directory based task.
2935
2936* Path, Available, Property didn't resolve relative filenames with
2937respect to the Project's basedir.
2938
2939* Project didn't interpret the basedir attribute correctly in all
2940cases.
2941
2942* Nested <src> in <javac> caused NullPointerException.
2943
2944* Corrupt Zip- and Jar-files ar now deleted if the task fails.
2945
2946* many more fixes we've forgotten to document here ...
2947
2948* The packagelistloc attribute of <javadoc>'s <link> child will be
2949 resolved as a file (i.e. it is either absolute or relative to
2950 basedir).
Note: See TracBrowser for help on using the repository browser.