openjdk-9-jdk rebuild: Third pass
Progress!
* doko has uploaded openjdk-9 b177, which turns off some of the module
checks, and fixes some other things
* I've patched maven-javadoc-plugin (#866929), and doclint (#866908)
locally, and both patches are probably okay
* I've also hacked up javac to fixup -source and -target to 1.6, as
we've still got issues with our hundreds of build systems.
I'm not sure we can actually ship this patch[1], so we might
additionally have a load of work fixing build systems to do.
Now, of 1925 packages, we have a 30% failure rate. That's much more like it!
Of the failures:
16% are getting "cannot find symbol" errors:
* many of these (e.g. maven2-core) hit this only during generating javadocs,
has something happened to javadoc classpath generation in a build
system, or is there something wrong with the javadoc command?
* the rest are probably caused by module changes, e.g.
javax.activation vanishing
See the `symbol` folder in the build logs.
15% are hitting encoding issues, despite the jh_build fix in #866845
See the `encoding` folder in the build logs.
<10% of packages (each) seem to be failing due to:
* `cast` becoming illegal (this might be fixable with a lower -source)
* `deps` not matching (packaging bug?)
* `javadoc` failing, probably some overlap with the symbol errors above
* `keyword` not available in this language version (lower -source in
some cases)
* obvious problems with `modules`
* `tests` failing
* `version` some error messages about versions, but probably not
relevant as javac is fixing it
... leaving just 125 packages with `unknown` problems, e.g.
* build script tries to check jdk version and fails horribly (glugen)
* assuming presence of tools.jar (aspectj-maven-plugin)
* bugs in the builder
* failures in the builder that probably wouldn't happen on the buildd
* packages that are broken anyway (diffoscope)
* eclipse
* name clashes (maven-war-plugin)
Doesn't look like anything more to fix in the toolchain, so, er...
Time for a mass bug filing (~300)? Perhaps less useful as the majority
of the packages are maintained by people reading this mail.
Build logs: https://rbuild.fau.xxx/2017-07-07/
My personal favourites from this round:
* The doclint change is in a file named WorkArounds.java[2], which is a
copy-paste of another file, added in a commit named "Merge", very
shortly before the "implement modules" megacommit.
* libbluray is broken due to the addition of an abstract method (i.e.
no default) to the java.io.FileSystem[3] interface, which I never liked.
Chris.
1: https://github.com/FauxFaux/debjdk9/blob/master/jdk/allow-old-source-versions.diff
2: https://github.com/FauxFaux/jdk9-flat/blob/f3edcfbd7946e21be277edf33e7b1d8000516c36/langtools/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/WorkArounds.java#L114
3: https://github.com/FauxFaux/jdk9-flat/blame/f3edcfbd7946e21be277edf33e7b1d8000516c36/jdk/src/java.base/share/classes/java/io/FileSystem.java#L215
Reply to: