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.