diff --git a/WHATSNEW b/WHATSNEW
index 2bcb7e727..27843c5bd 100644
--- a/WHATSNEW
+++ b/WHATSNEW
@@ -860,6 +860,12 @@ Other changes:
task's (compiler) adapter class.
Bugzilla Report 11143.
+ *
It is possible to use different compilers. This can be specified by
either setting the global build.compiler property, which will
-affect all <javac> tasks throughout the build, or by
+affect all <javac> tasks throughout the build, by
setting the compiler attribute, specific to the current
-<javac> task.
+<javac> task or by using a nested element of any
+typedeffed or
+componentdeffed type that implements
+org.apache.tools.ant.taskdefs.compilers.CompilerAdapter.
Valid values for either the
build.compiler property or the compiler
attribute are:
If a defined type implements the CompilerAdapter
+ interface a nested element of that type can be used as an
+ alternative to the compiler attribute.
<javac srcdir="${src}"
@@ -662,6 +671,25 @@ the <compilerarg> element:
</javac>
+If you want to use a custom
+ CompilerAdapter org.example.MyAdapter you can either
+ use the compiler attribute:
+<javac srcdir="${src.dir}"
+ destdir="${classes.dir}"
+ compiler="org.example.MyAdapter"/>
+
+or a define a type and nest this into the task like in:
+
+<componentdef classname="org.example.MyAdapter"
+ name="myadapter"/>
+<javac srcdir="${src.dir}"
+ destdir="${classes.dir}">
+ <myadapter/>
+</javac>
+
+in which case your compiler adapter can support attributes and + nested elements of its own.
false.
task is run again, the
task will try to compile the package-info java files again.
- - In Ant 1.7.1 the package-info.java will only be compiled if: -
package-info.class file exists and is older than
- the package-info.java file.
- package-info.class file does not exist.
- package-info.class file exists, and has an older
- modification time than the
- the package-info.java file. In this case
- <javac> will touch the corresponding .class directory
- on successful compilation.
- With Ant 1.7.1 a different kind of logic was introduced that
+ involved the timestamp of the directory that would normally
+ contain the .class file. This logic turned out to lead to Ant not
+ recompiling package-info.java in certain setup.
Starting with Ant 1.8.0 Ant will create
+ "empty" package-info.class files if it compiles
+ a package-info.java and
+ no package-info.class file has been created by the
+ compiler itself.