Bug#873969: -source upgrade to 1.6 breaks if ant.build.javac.source is set

Chris West solo-debianbugs at goeswhere.com
Fri Sep 1 19:28:09 UTC 2017


Source: ant
Version: 1.9.9-4
Severity: wishlist
User: debian-java at lists.debian.org
Usertags: default-java9

ant has been taught to upgrade the -source and -target versions to 1.6,
to support Java 9. However, if a package specifies:

-Dant.build.javac.source=1.5

... then this override is skipped. Example package: airport-utils
(Can you tell I read lists in alphabetical order?)

https://sources.debian.net/src/airport-utils/2-6/debian/rules/#L7

jar-compile:
    [javac] /var/tmp/faux170901.breezy/airport-utils-2/airport2config-build/build.xml:50: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds
    [javac] Compiling 46 source files to /var/tmp/faux170901.breezy/airport-utils-2/airport2config-build/build
    [javac] error: Source option 1.5 is no longer supported. Use 1.6 or later.
    [javac] error: Target option 1.5 is no longer supported. Use 1.6 or later.

I believe the issue is that Javac#getSource() ignores the "source" field
if this property is set:

https://sources.debian.net/src/ant/1.9.9-4/src/main/org/apache/tools/ant/taskdefs/Javac.java/#L208

..and the patch only affects setting the field. Maybe move the fix to
getSource()?

https://sources.debian.net/src/ant/1.9.9-4/debian/patches/0013-auto-adjust-target.patch/


Cheers,
Chris.



More information about the pkg-java-maintainers mailing list