﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
11924	Add compatibility with Java 9	Don-vip	team	"Java 9 is well advanced in its development, early builds are now available. [http://openjdk.java.net/projects/jigsaw/ Jigsaw project] is now merged into main tree.

I have added basic Java 9 support in r8777:8778, r8793, r8795, r8796:8797 but making JOSM work with Jigsaw is another challenge.

This ticket aims to list all problems encountered.

1. ~~xmltask does not work ==> cannot build OSX package~~ ==> [https://github.com/don-vip/xmltask fork created]
1. [http://sourceforge.net/p/proguard/bugs/551/ Proguard does not work] ==> cannot build optimized jar
1. ~~[https://issues.apache.org/jira/browse/GROOVY-7587 Groovy does not work] ==> cannot run some tests + cannot build taginfo files~~ ==> fixed
1. ~~{{{ResourceBundle.getBundle(""sun.awt.resources.awt"")}}} results in an internal error ==> bug [https://bugs.openjdk.java.net/browse/JI-9025152 reported to Oracle]~~ ==> fixed
1. ~~Findbugs does not recognize new version string ==> [https://sourceforge.net/p/findbugs/bugs/1432/ bug and PR created]~~ ==> fixed
1. [http://openjdk.java.net/jeps/272 JEP 272] removes `com.apple.eawt` package ==> need to update `PlatformHookOsx` ==> partially fixed, need more tests about deprecated methods, full screen, dock image
1. ~~javabug:6850612 deprecates `Class.newInstance` ==> replace it by `Class.getConstructor().newInstance()`~~ ==> fixed
1. ~~javabug:8154801 deprecates `java.util.Observer / java.util.Observable` ==> replace it by `javax.swing.ChangeListener`~~ ==> fixed 
1. ~~Ant does not work anymore ==> [https://bz.apache.org/bugzilla/show_bug.cgi?id=59556 Bug created] + workaround done in r10259~~ ==> Fixed in Ant 1.9.8 / 1.10.0
1. ~~javabug:8152912 deprecates `XMLReaderFactory`~~ ==> fixed
1. Groovy bug: https://issues.apache.org/jira/browse/GROOVY-7879
1. javabug:8143077 deprecates `InputEvent.*_MASK` constants in favor of `InputEvent.*_DOWN_MASK`

Unit tests:
1. jacoco has problems with nashorn: `Method jdk.dynalink.linker.LinkerServices.$jacocoInit()[Z must be InterfaceMethodref constant` [https://travis-ci.org/michaelzangl/josm/jobs/142048549#L451 log] ==> See #13150 for fix
   1. Could not initialize class org.openstreetmap.josm.data.validation.tests.OpeningHourTest and Could not initialize class org.openstreetmap.josm.data.validation.OsmValidator (they are shomehow destroyed by a combination of jacoco + nashorn)
1. EqualsVerifier fails in 2 unit tests: https://github.com/jqno/equalsverifier/issues/152
1. Projections seem to be off by the last digit. [https://travis-ci.org/michaelzangl/josm/jobs/142048309#L2792 log]

Plugins:
1. Geotools does not work ==> https://osgeo-org.atlassian.net/browse/GEOT-5289"	enhancement	new	major	17.07	Core			java9 jigsaw javabug	
