-
Notifications
You must be signed in to change notification settings - Fork 23
/
WHATSNEW
1673 lines (1141 loc) · 61.1 KB
/
WHATSNEW
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
Changes from Ant 1.5 to current CVS version
===========================================
Changes that could break older environments:
--------------------------------------------
* Targets cannot have the empty string as their name any longer.
Fixed bugs:
-----------
* The sh wrapper script didn't work under Cygwin if ANT_HOME wasn't
set with a Unix style filename.
* The sh wrapper script could fail if you started Ant from a directory
with whitespace in its name.
* ant -diagnostics was not working properly when the task dependency
was missing and was just printing the missing dependency.
* The ExpandProperties filter threw NPEs when defined using
the <filterreader> format.
* If a task got redefined via <taskdef>, it lost its child elements.
* <property>'s classpathref attribute was broken.
* <arg line="''" /> would result in no command line argument, will now
be a single empty argument. Use <arg value="''"/> if you need the
quotes literally.
Other changes:
--------------
* <loadproperties> has a new encoding attribute.
* <echoproperties> can now create XML output.
* <echoproperties> has a new srcfile attribute that can make it read
properties files and output them instead of Ant's properties.
* <filterset> will now resolve filters recursively.
* <input> has a new attribute that allows you to specify a default value.
* All tasks can be used outside of <target>s
* Appendix E of Java Development with Ant (Loughran/Hatcher)
contributed to the docs
* <available> will only print deprecration warnings if it is actually
used to change the value of a property.
Changes from Ant 1.5beta3 to Ant 1.5
====================================
Changes that could break older environments:
--------------------------------------------
* The filesetmanifest attribute added to <jar> after the 1.4.1
release has been removed for now. This change may affect only
the 1.5Beta/1.6Alpha users. An attempt will be made to add this
feature back into Ant 1.6.
Fixed bugs:
-----------
* <zip> and friends would always update existing archive if you set
the update attribute to true.
* To support backward compatibility with older versions, <pathconvert>
will once again set the property, even if the result is the empty
string, unless the new 'setonempty' attribute is set to false|no|off
(default is "true").
* The manifest task would crash XmlLogger
Other changes:
--------------
* added **/.svn and **/.svn/** to the default excludes
Changes from Ant 1.5beta2 to Ant 1.5beta3
=========================================
Changes that could break older environments:
--------------------------------------------
* Project.getBuildListeners now returns a clone of the listener
list. Changes to the returned list will not affect the listeners
currently attached to the Project. It also means that it is safe to
iterate over the returned list if listeners are added or removed
during the traversal.
* <pvcs> default filenameformat has been different from Ant 1.4.1.
Now it is different from 1.5beta1 and 1.5beta2.
* Some messages that are printed during startup will not be
written to the logfile specified via -logfile as they might destroy
the format of the file for special BuildLoggers (like XmlLogger).
* <pathconvert> won't set the property if the result is the empty string.
Fixed bugs:
-----------
* <available> could fail to find files or directories that happen to
start with the name of the project's basedir but are not children of
the basedir.
* Nested <property>'s inside <ant> can now be overriden by subsequent
<ant> and <antcall> tasks.
* <xslt>'s outputtype attribute wouldn't do anything.
* <linecontains> filterreader could swallow lines.
* <sequential> used to configure the tasks (set their attributes)
before the first task has been executed. This means that properties
that have been set by nested task seemed to be unset for the other
tasks in the same <sequential> element.
* <javac>'s sourcepath setting has been ignored by some compiler
implementations.
* <javadoc>'s packagelist attribute didn't work.
* the plain mailer would always use port 25 in <mail>.
* Ant's default logger could swallow empty lines.
* ejbjar's iPlanet nested element now can process multiple descriptors.
* IPlanetEjbc was looking in the wrong place for four iiop files.
* <javac> would pass the -source switch to JDK 1.3's javac, even
though it doesn't support it.
Other changes:
--------------
* <checksum> now uses a buffer (of configurable size).
* The "Trying to override task definition" warning has been degraded
to verbose level if the two task definitions only differ in the class
loader instance that has loaded the definition.
* Add a jvmargs to the ejbjar's weblogic element to allow additional
arguments to be provided to the VM runnign ejbc. Document the
jvmdebuglevel attribute which can be used to avoid warnings about
interface classess being found on the classpath. Document the new
<sysproperty> element which allows JVM properties to be defined.
Added an outputdir attribute to allow the destination to be a
directory into which the exploded jar is written.
* ejbjar now supports Borland Enterprise Server 5 and Jonas 2.5
Changes from Ant 1.5beta1 to Ant 1.5beta2
=========================================
Changes that could break older environments:
--------------------------------------------
* Properties will now be expanded in mail message bodies. This means
that one $ sign will be stripped if your mail message contains the text
$$.
* org.apache.tools.ant.taskdefs.Expand no longer extends MatchingTask.
* Available#setFile now again uses a File argument as it did in 1.4,
this may break environments that have been adapted to the String
argument version present in 1.5beta1.
Fixed bugs:
-----------
* When <move> attempts a rename, it deletes the destination file, if it
exists, before renaming the source file. However, <move> was not
checking if the destination file was actually a directory before
trying to delete it.
* Make CVS Tasks to work under Cygwin.
* Fix LineContains to handle huge files elegantly without causing
Stack Overflows.
* if you ask for the "classic" compiler on Java1.4, you get upgraded to
"modern" because there is no classic compiler any more.
* the <http> condition was viewing 404 'not found' exceptions as success. Now
it defaults to viewing any response >=400 as an error, and has an errorsBeginAt
attribute you can use if you want a higher or lower value.
* <get> throws a build exception on an http authorization error, unless you
have set ignoreerrors to true.
* <wsdltodotnet> was spelt in Wintel case: <WsdlToDotnet>. It is now lower
case, though the old spelling is retained for anyone who used it.
* Merging of Manifests in jar now works as documented.
* paths that have been separated by colons would be incorrectly parsed
on NetWare.
* runant.pl now supports NetWare.
* <tempfile> and <setproxy> tasks were in beta1, but not defined by
default; They now are. <tempfile> fills a property with the name of a
temporary file; <setproxy> lets you set the JVM's http, ftp and socks proxy
settings.
* <available classname="foo" ignoresystemclasses="true"> failed for
JDK 1.1 and 1.2, even if the class could be found on the
user-specified classpath.
* <property environment=... /> now works on z/OS.
* forked <javac> failed for the wrong reason on JDK 1.1 - Ant would
use a temporary file to hold the names of the files to compile under
some conditons, but 1.1 doesn't support this feature. Ant will no
longer try this, but you may run into problems with the length of the
command line now.
* the refid attribute for <property>s nested into <ant> or <param>s
nested into <antcall> didn't work.
* <replaceregexp> didn't work for nested <fileset>s.
* <javadoc> dropped sourcepath entries if no "interesting" .java
source files could be found below them. This has been backwards
incompatible and caused problems with custom doclets like xdoclet.
* Using the doclet, docletpath or docletpathref attributes of
<javadoc> may have caused NullPointerExceptions.
* nested <filesets> of <javadoc> would include too much.
* <dependset> will no longer choke on <targetfileset>s that point to
non-existing directories.
* <patch> didn't work at all.
* <replace> and <replaceregexp> now fail if the file they are working
on is locked.
* <javadoc> would pick up the wrong executable in the combination JDK
1.2 and AIX.
Other changes:
--------------
* z/OS now gets detected by the os condition.
* <fileset> and <dirset> now have an optional followsymlink attribute
that can prevent Ant from following symbolic links on some platforms.
* BeanShell is now supported in the <script> task.
* <ejbjar> under Weblogic attempts to use the ejbc20 compiler for 2.0 beans
based on the deployment descriptor's DTD reference. Under weblogic 7.00 Beta
this ejbc class has been deprecated. To avoid the deprecation warning use
ejbcclass="weblogic.ejbc".
* <ejbjar> will add a manifest to the generated jar based on the naming
convention in use. This overrides the manifest specified in the
<ejbjar> attribute
Changes from Ant 1.4.1 to 1.5beta1
==================================
Changes that could break older environments:
--------------------------------------------
* Important: Single $ signs are no longer silently stripped!
=======
* Project.getBuildListeners now returns a clone of the listener
list. Changes to the returned list will not affect the listeners
currently attached to the Project. It also means that it is safe to
iterate over the returned list if listeners are added or removed
during the traversal.
* <pvcs> default filenameformat has been different from Ant 1.4.1.
Now it is different from 1.5beta1 and 1.5beta2.
* Some messages that are printed during startup will not be
written to the logfile specified via -logfile as they might destroy
the format of the file for special BuildLoggers (like XmlLogger).
Fixed bugs:
-----------
* <available> could fail to find files or directories that happen to
start with the name of the project's basedir but are not children of
the basedir.
* Nested <property>'s inside <ant> can now be overriden by subsequent
<ant> and <antcall> tasks.
* <xslt>'s outputtype attribute wouldn't do anything.
* <linecontains> filterreader could swallow lines.
* <sequential> used to configure the tasks (set their attributes)
before the first task has been executed. This means that properties
that have been set by nested task seemed to be unset for the other
tasks in the same <sequential> element.
* <javac>'s sourcepath setting has been ignored by some compiler
implementations.
* <javadoc>'s packagelist attribute didn't work.
* the plain mailer would always use port 25 in <mail>.
* Ant's default logger could swallow empty lines.
* ejbjar's iPlanet nested element now can process multiple descriptors.
* IPlanetEjbc was looking in the wrong place for four iiop files.
* <javac> would pass the -source switch to JDK 1.3's javac, even
though it doesn't support it.
Other changes:
--------------
* <checksum> now uses a buffer (of configurable size).
* The "Trying to override task definition" warning has been degraded
to verbose level if the two task definitions only differ in the class
loader instance that has loaded the definition.
* Add a jvmargs to the ejbjar's weblogic element to allow additional
arguments to be provided to the VM runnign ejbc. Document the
jvmdebuglevel attribute which can be used to avoid warnings about
interface classess being found on the classpath. Document the new
<sysproperty> element which allows JVM properties to be defined.
Added an outputdir attribute to allow the destination to be a
directory into which the exploded jar is written.
* ejbjar now supports Borland Enterprise Server 5 and Jonas 2.5
Changes from Ant 1.5beta1 to Ant 1.5beta2
=========================================
Changes that could break older environments:
--------------------------------------------
* Properties will now be expanded in mail message bodies. This means
that one $ sign will be stripped if your mail message contains the text
$$.
* org.apache.tools.ant.taskdefs.Expand no longer extends MatchingTask.
* Available#setFile now again uses a File argument as it did in 1.4,
this may break environments that have been adapted to the String
argument version present in 1.5beta1.
Fixed bugs:
-----------
* When <move> attempts a rename, it deletes the destination file, if it
exists, before renaming the source file. However, <move> was not
checking if the destination file was actually a directory before
trying to delete it.
* Make CVS Tasks to work under Cygwin.
* Fix LineContains to handle huge files elegantly without causing
Stack Overflows.
* if you ask for the "classic" compiler on Java1.4, you get upgraded to
"modern" because there is no classic compiler any more.
* the <http> condition was viewing 404 'not found' exceptions as success. Now
it defaults to viewing any response >=400 as an error, and has an errorsBeginAt
attribute you can use if you want a higher or lower value.
* <get> throws a build exception on an http authorization error, unless you
have set ignoreerrors to true.
* <wsdltodotnet> was spelt in Wintel case: <WsdlToDotnet>. It is now lower
case, though the old spelling is retained for anyone who used it.
* Merging of Manifests in jar now works as documented.
* paths that have been separated by colons would be incorrectly parsed
on NetWare.
* runant.pl now supports NetWare.
* <tempfile> and <setproxy> tasks were in beta1, but not defined by
default; They now are. <tempfile> fills a property with the name of a
temporary file; <setproxy> lets you set the JVM's http, ftp and socks proxy
settings.
* <available classname="foo" ignoresystemclasses="true"> failed for
JDK 1.1 and 1.2, even if the class could be found on the
user-specified classpath.
* <property environment=... /> now works on z/OS.
* forked <javac> failed for the wrong reason on JDK 1.1 - Ant would
use a temporary file to hold the names of the files to compile under
some conditons, but 1.1 doesn't support this feature. Ant will no
longer try this, but you may run into problems with the length of the
command line now.
* the refid attribute for <property>s nested into <ant> or <param>s
nested into <antcall> didn't work.
* <replaceregexp> didn't work for nested <fileset>s.
* <javadoc> dropped sourcepath entries if no "interesting" .java
source files could be found below them. This has been backwards
incompatible and caused problems with custom doclets like xdoclet.
* Using the doclet, docletpath or docletpathref attributes of
<javadoc> may have caused NullPointerExceptions.
* nested <filesets> of <javadoc> would include too much.
* <dependset> will no longer choke on <targetfileset>s that point to
non-existing directories.
* <patch> didn't work at all.
* <replace> and <replaceregexp> now fail if the file they are working
on is locked.
* <javadoc> would pick up the wrong executable in the combination JDK
1.2 and AIX.
Other changes:
--------------
* z/OS now gets detected by the os condition.
* <fileset> and <dirset> now have an optional followsymlink attribute
that can prevent Ant from following symbolic links on some platforms.
* BeanShell is now supported in the <script> task.
* <ejbjar> under Weblogic attempts to use the ejbc20 compiler for 2.0 beans
based on the deployment descriptor's DTD reference. Under weblogic 7.00 Beta
this ejbc class has been deprecated. To avoid the deprecation warning use
ejbcclass="weblogic.ejbc".
* <ejbjar> will add a manifest to the generated jar based on the naming
convention in use. This overrides the manifest specified in the
<ejbjar> attribute
Changes from Ant 1.4.1 to 1.5beta1
==================================
Changes that could break older environments:
--------------------------------------------
* Important: Single $ signs are no longer silently stripped!
* The filesetmanifest attribute added to <jar> after the 1.4.1
release has been removed for now. This change may affect only
the 1.5Beta/1.6Alpha users. An attempt will be made to add this
feature back into Ant 1.6.
Fixed bugs:
-----------
* <zip> and friends would always update existing archive if you set
the update attribute to true.
* To support backward compatibility with older versions, <pathconvert>
will once again set the property, even if the result is the empty
string, unless the new 'setonempty' attribute is set to false|no|off
(default is "true").
* The manifest task would crash XmlLogger
Other changes:
--------------
* added **/.svn and **/.svn/** to the default excludes
Changes from Ant 1.5beta2 to Ant 1.5beta3
=========================================
Changes that could break older environments:
--------------------------------------------
* Project.getBuildListeners now returns a clone of the listener
list. Changes to the returned list will not affect the listeners
currently attached to the Project. It also means that it is safe to
iterate over the returned list if listeners are added or removed
during the traversal.
* <pvcs> default filenameformat has been different from Ant 1.4.1.
Now it is different from 1.5beta1 and 1.5beta2.
* Some messages that are printed during startup will not be
written to the logfile specified via -logfile as they might destroy
the format of the file for special BuildLoggers (like XmlLogger).
* <pathconvert> won't set the property if the result is the empty string.
Fixed bugs:
-----------
* <available> could fail to find files or directories that happen to
start with the name of the project's basedir but are not children of
the basedir.
* Nested <property>'s inside <ant> can now be overriden by subsequent
<ant> and <antcall> tasks.
* <xslt>'s outputtype attribute wouldn't do anything.
* <linecontains> filterreader could swallow lines.
* <sequential> used to configure the tasks (set their attributes)
before the first task has been executed. This means that properties
that have been set by nested task seemed to be unset for the other
tasks in the same <sequential> element.
* <javac>'s sourcepath setting has been ignored by some compiler
implementations.
* <javadoc>'s packagelist attribute didn't work.
* the plain mailer would always use port 25 in <mail>.
* Ant's default logger could swallow empty lines.
* ejbjar's iPlanet nested element now can process multiple descriptors.
* IPlanetEjbc was looking in the wrong place for four iiop files.
* <javac> would pass the -source switch to JDK 1.3's javac, even
though it doesn't support it.
Other changes:
--------------
* <checksum> now uses a buffer (of configurable size).
* The "Trying to override task definition" warning has been degraded
to verbose level if the two task definitions only differ in the class
loader instance that has loaded the definition.
* Add a jvmargs to the ejbjar's weblogic element to allow additional
arguments to be provided to the VM runnign ejbc. Document the
jvmdebuglevel attribute which can be used to avoid warnings about
interface classess being found on the classpath. Document the new
<sysproperty> element which allows JVM properties to be defined.
Added an outputdir attribute to allow the destination to be a
directory into which the exploded jar is written.
* ejbjar now supports Borland Enterprise Server 5 and Jonas 2.5
Changes from Ant 1.5beta1 to Ant 1.5beta2
=========================================
Changes that could break older environments:
--------------------------------------------
* Properties will now be expanded in mail message bodies. This means
that one $ sign will be stripped if your mail message contains the text
$$.
* org.apache.tools.ant.taskdefs.Expand no longer extends MatchingTask.
* Available#setFile now again uses a File argument as it did in 1.4,
this may break environments that have been adapted to the String
argument version present in 1.5beta1.
Fixed bugs:
-----------
* When <move> attempts a rename, it deletes the destination file, if it
exists, before renaming the source file. However, <move> was not
checking if the destination file was actually a directory before
trying to delete it.
* Make CVS Tasks to work under Cygwin.
* Fix LineContains to handle huge files elegantly without causing
Stack Overflows.
* if you ask for the "classic" compiler on Java1.4, you get upgraded to
"modern" because there is no classic compiler any more.
* the <http> condition was viewing 404 'not found' exceptions as success. Now
it defaults to viewing any response >=400 as an error, and has an errorsBeginAt
attribute you can use if you want a higher or lower value.
* <get> throws a build exception on an http authorization error, unless you
have set ignoreerrors to true.
* <wsdltodotnet> was spelt in Wintel case: <WsdlToDotnet>. It is now lower
case, though the old spelling is retained for anyone who used it.
* Merging of Manifests in jar now works as documented.
* paths that have been separated by colons would be incorrectly parsed
on NetWare.
* runant.pl now supports NetWare.
* <tempfile> and <setproxy> tasks were in beta1, but not defined by
default; They now are. <tempfile> fills a property with the name of a
temporary file; <setproxy> lets you set the JVM's http, ftp and socks proxy
settings.
* <available classname="foo" ignoresystemclasses="true"> failed for
JDK 1.1 and 1.2, even if the class could be found on the
user-specified classpath.
* <property environment=... /> now works on z/OS.
* forked <javac> failed for the wrong reason on JDK 1.1 - Ant would
use a temporary file to hold the names of the files to compile under
some conditons, but 1.1 doesn't support this feature. Ant will no
longer try this, but you may run into problems with the length of the
command line now.
* the refid attribute for <property>s nested into <ant> or <param>s
nested into <antcall> didn't work.
* <replaceregexp> didn't work for nested <fileset>s.
* <javadoc> dropped sourcepath entries if no "interesting" .java
source files could be found below them. This has been backwards
incompatible and caused problems with custom doclets like xdoclet.
* Using the doclet, docletpath or docletpathref attributes of
<javadoc> may have caused NullPointerExceptions.
* nested <filesets> of <javadoc> would include too much.
* <dependset> will no longer choke on <targetfileset>s that point to
non-existing directories.
* <patch> didn't work at all.
* <replace> and <replaceregexp> now fail if the file they are working
on is locked.
* <javadoc> would pick up the wrong executable in the combination JDK
1.2 and AIX.
Other changes:
--------------
* z/OS now gets detected by the os condition.
* <fileset> and <dirset> now have an optional followsymlink attribute
that can prevent Ant from following symbolic links on some platforms.
* BeanShell is now supported in the <script> task.
* <ejbjar> under Weblogic attempts to use the ejbc20 compiler for 2.0 beans
based on the deployment descriptor's DTD reference. Under weblogic 7.00 Beta
this ejbc class has been deprecated. To avoid the deprecation warning use
ejbcclass="weblogic.ejbc".
* <ejbjar> will add a manifest to the generated jar based on the naming
convention in use. This overrides the manifest specified in the
<ejbjar> attribute
Changes from Ant 1.4.1 to 1.5beta1
==================================
Changes that could break older environments:
--------------------------------------------
* Important: Single $ signs are no longer silently stripped!
Before you panic that we have broken all your build files, we have kept
the old "$$" -> "$" behaviour. So only build files which accidentally had
a $ sign in a string that was being silently stripped may break.
We added this fix to stop newbie confusion; if you want to write a
build file which works on ant versions 1.4.1 or earlier, stay with
the double $$ sign rule.
* Shipped XML parser is now Xerces 2.0.1 along with the XML Parser APIs.
XML Parser APIs is a separate jar that contains the necessary
JAXP/DOM/SAX classes.
* <telnet> was fixed to expand properties inside nested <read> and
<write> elements; before this only happened when you assigned the text
to the string attribute. If you had $ signs in the string, they may
need escaping.
* the RegexpMatcher interface has been extended to support case
insensitive matches and other options - custom implementations of
this interface won't work any longer. We recommend to use the new
Regexp interface that also supports substitution instead of the
RegexpMatcher interface in the future.
* <gzip> will throw an exception if your src attribute points to a directory.
* Unjar, Unzip and Unwar will throw an exception if the Src attribute
represents a directory. Support for nested filesets is provided
instead.
* It is no longer possible to overwrite a property using tasks like
<condition>, <exec>, <pathconvert>, or <tstamp>. In some exceptional
cases it will generate a warning if you attempt to overwrite an
existing property.
* Taskwriters please note: Whenever tasks had any overloaded set* methods,
Ant's introspection mechanism would select the last overloaded method
provided to it by the Java Runtime. A modification has now been made such
that when the Java Runtime provides a method with a String as its argument,
a check is made to see if there is another overloaded method that takes in
some other type of argument. If there is one such method, then the method
that takes in String as an argument is not selected by the Introspector.
* The pattern definition **/._* has been included into the Default
Excludes list.
* <propertyfile>'s <entry> element was modified to remove "never" as a value
as its behavior was undocumented and flakey.
* The -projecthelp flag now only prints out targets that include the
'description' attribute, unless the -verbose or -debug flag is included
on the Ant command line.
* Ant's testcases now require JUnit 3.7 or above, as they now use the new
assertTrue method instead of assert.
* If the 'output' attribute of <ant> is set to a simple filename or a
relative path, the file is created relative to ${basedir}, not ${user.dir}.
* The default value for build.compiler is now javac1.x with x
depending on the JDK that is running Ant instead of classic/modern.
Fixed bugs:
-----------
* A bug existed that prevented generated log files from being deleted as
part of the build process itself. This has now been fixed.
* Fixed bug where <move> ignored <filterset>s.
* Ant works properly with the combination of Java1.4/WindowsXP.
* Fixed bug where <java> used to sometimes invoke class constructors twice.
* Fixed bug with 4NT shell support.
* Fixed bug where ant would not perform ftp without remotedir being
specified even though this was not mandatory.
* Fixed bug where ant would not copy system properties into new Project
in ant/antcall tasks when inheritall="false" is set.
* <propertyfile> would not close the original property file.
* <ant> will no longer override a subbuild's basedir with inheritall="true".
* Fixed problem with the built-in <junit> formatters which assumed
that only one test could be running at the same time - this is not
necessarily true, see junit.extensions.ActiveTestSuite.
* <jar>'s whenEmpty attribute is useless as JARs are never empty, they
contain at least a manifest file, therefore it will now print a
warning and do nothing.
* <typedef> hasn't been all that useful as it couldn't be used outside
of targets (it can now) and nested "unknown" elements have always
been considered to be tasks (changed as well).
* <fixcrlf> would fail for files that contained lines longer than 8kB.
* Some junit formatters incorrectly assumed that all testcases would
inherit from junit.framework.TestCase.
* <fixcrlf> dropped the first characters from Mac files.
Other changes:
--------------
* Selector Elements now provide a way to create filesets based on
sophisticated selection criteria.
* Gzip and Bzip2 files can now be constructed in the fly when using
the tar task without having to create the intermediate tar file on
disk. The Untar task can also untar GZip and BZip2 files on the fly
without creating the intermediate tar file.
* New optional type, <classfileset> added.
* <ejbjar> now allows control over which additional classes and interfaces
are added to the generated EJB jars. A new attribute "dependency" can be
defined which controls what classes are added. The addition of classes now uses
the Jakarta-BCEL library rather than reflection, meaning bean classes are
no longer loaded into Ant's JVM. The default dependency analyzer is known as
the ancestor analyzer. It provides the same behaviour as the 1.4.1 version of
<ejbjar>. If the BCEL library is not present, a warning will be issued stating
the ancestor analyzer is not available. In this case <ejbjar> will continue
to function but will not add super classes to the jar.
* <available> has a new attribute named ignoreSystemClasses.
* New task <cvschangelog/> generates an XML report of changes that occur
on CVS repository.
* New filter readers: ClassConstants, ExpandProperties, HeadFilter,
LineContains, LineContainsRegExp, PrefixLines, ReplaceTokens,
StripJavaComments, StripLineBreaks, StripLineComments, TabsToSpaces,
TailFilter.
* <copy>, <loadfile>, <loadproperties>, <move> support FilterChains
of FilterReaders.
* New task <loadproperties> to load contents of file as Ant properties,
with nested <filterchain> elements.
* New task <loadfile> to load a whole file into a property.
* New task <echoproperties> to list your current properties to the screen
or a file.
* New tasks <bzip2> and <bunzip2> to pack and unpack files using the
BZip2 alogrithm.
* New tasks <replaceregexp>, <checksum>, <translate>, <waitfor>,
<manifest>, <vsscp>, <vssadd>, <vsscreate>, <splash>, <basename>, <dirname>,
<concat>, <sourceoffsite>, <jarlib-available>, <jarlib-display>,
<jarlib-manifest>, <jarlib-resolve>.
* A new combined <mail> task, which replaces the old <mail> and
<mimemail> tasks, has been added. The <mimemail> task, and
old SendEmail and MimeMail classes have been deprecated.
* Mail task allows specification of port number.
* Users can control what <zip> and <jar> must do when duplicate files
are found. A new element <zipgroupfileset> allows for multiple zip
files to be merged into the archive. In addition, <jar> also has
another new attribute: filesetmanifest. The existing manifest
attribute of <jar> now also accepts the name of a jar added through
a fileset.
* gzip now checks that the zipfile is older than the source file
before rebuilding the zipfile.
* TarFileset takes in three new attributes - fullpath, prefix
and preserveLeadingSlashes.
* <move> attempts to rename the directory, if everything inside it is
included, before performing file-by-file moves. This attempt will
be done only if filtering is off and if mappers are not used. This
is a performance improvement and there is no change otherwise in
the funtionality of this task.
* Exec task has extra attribute "resultproperty" to get the return code
into a property.
* Exec task prints a message when a timed-out process is killed.
* Added optional attributes - name, arch and version to the <os> task.
* Unjar, Untar, Unwar and Unzip now support patternsets to
select files from an archive for extraction. Filesets may be
used to select archived files for unarchival.
* Javac task allows debug levels to be specified. Debug levels
will have an effect only when the modern compiler or the
classic compiler (version 1.2 and higher) is used and debugging
is enabled.
* Added support for specifying CVS_RSH in the <cvs/> task
* The attributes zipfile, jarfile, warfile and earfile (from the Zip,
Jar, War and Ear tasks) have been deprecated and superseded by a
new attribute "destfile".
* Added new conditions <isset>, <checksum>, <http>, <socket>, <contains>,
<filesmatch>.
* <taskdef> and <typedef> will now emit a warning if a task/type of
the given name already exists.
* A new revision of VAJ tasks: The most important new feature
is the ability to execute VAJ tasks from the command line by
exploiting the Remote Tool Access feature of VAJ.
* Improved support for Novell NetWare.
* Added an optional encoding attribute to <fixcrlf>.
* <apply> has a new attribute relative that allows users to pass the
filenames as relative instead of absolute paths on the command line.
* References can now be copied into the child build by <ant> and
<antcall> using nested <reference> elements or the new inheritRefs
attribute.
* <fail> now supports builds to fail based on conditions via if and
unless attributes.
* Ant now comes with two new BuildLogger implementations - one that
can send emails containing a log of the build process (MailLogger),
and one that colorizes the output based on message levels, using
ANSI color code escape sequences (AnsiColorLogger).
* A "package" mapper type has been added to allow package directory
names replaced with the dotted form.
* You can now specify environment variables in the <java> and <junit> tasks
if the fork attribute has been set to true.
* -propertyfile command-line option has been added to load an entire
property file just as -D properties are declared (as user properties).
-D properties take precedence over -propertyfile specified ones.
* You can now set an ANT_ARGS environment variable to hold arguments you
always want passed to the 'ant' command -- for example, if you always
want to use a different logger or the -find flag.
* <tstamp> now supports a new "prefix" attribute to prefix properties set.
* You can now specify the -sourcepath for <javac> explicitly.
* <javac> now supports a new "listfiles" attribute to list the source
files it's handing off to the compiler.
* The compiler implementation for <javac> can now be chosen on a task by
task basis. The new "compiler" attribute of <javac> can be used to override
the value of the build.compiler property, if set.
* <javac> has a new nested element, <compilerarg>, which allows you
to specify additional args for the specific compiler you're using.
* <javac>'s "source" attribute is now enabled for jikes as well.
* <propertyfile>'s <entry> now has a 'unit' attribute to specify the
increment/decrement unit on date operations.
* <property> now supports a 'prefix' attribute when loading from a file
or resource.
* In Ant 1.4, a feature has been added to the <junit> task that would
add ant.jar, optional.jar and junit.jar implicitly to the classpath -
this feature can now be disabled by setting the new includeantruntime
attribute to false.
* <style> behaves differently from any other directory-based task, as it
processes all files that it finds in included directories in
addition to the files matched by your patterns. There is now a new
attribute, 'scanincludeddirectories', to suppress this behavior.
* <javadoc> now supports a <tag> nested element to provide the -tag option
to the standard Java 1.4 doclet. The element is ignored when not running
on Java 1.4.
* <ftp> can now chmod files on a remote server that supports
"site chmod", as well as set the umask before transferring files, if
the server supports "site umask".
* New <serverdeploy> "optional" task.
* <patternset> now supports nested patternsets.
* Perforce tasks now support a "failonerror" attribute (defaults to "true").
* Open Source application server JOnAS support:
EJB hot deploy and deploy with <serverdeploy> and <ejbjar>
* Added new DirSet (<dirset>) datatype.
* <path> now supports nested <dirset> and <filelist> elements.
* <pathconvert> now supports nested <dirset> and <filelist> elements.
* <pathconvert>'s "dirsep" and "pathsep" attributes now accept
multi-character values.
* <copy> task now has a 'failonerror' attribute to allow keep-going
behaviour when the file to be copied is not found (defaults to "true").
* <uptodate> now has a 'srcfile' attribute to allow specifying a
full-path filename.
* <exec>, <sql> and <java> now support append attributes to allow
appending the output to an existing file.
* <java> now supports a timeout attribute analog to <exec> - it is
highly recommended to only use it together with fork="true".
* <javadoc> now supports a source attribute to enable javadoc to
handle assertions present in JDK 1.4 source code.
* <replace> supports a new replacefilterfile attribute that
automatically turns all properties of a given file into
replacefilters.
* An alias of <xslt> has been added to refer to the <style> task.
* The compiler implementation for <rmic> can now be chosen on a task by
task basis. The new "compiler" attribute of <rmic> can be used to override
the value of the build.rmic property, if set.