Prior to this change, the build fails because dokka fails to find the
dokka task on a bunch of submodules. That's happening because we
deliberately disabled the dokka task on irrelevant submodules.
I have no idea how this worked originally. I even went back to my
original commit (e5a29beb96) and tried
building with dokka and it failed. But clearly 4.14's javadocs on the
website were built with dokka.
The fix seems to be to always add the dokka task, but to simply set it
to disabled for submodules that aren't useful for developers. That's a
relatively minor change that I've made here.
This change will require newer versions of Java, probably 9+. I've
tested it on 11. The biggest difference is that older versions of Java
will require rt.jar to compile Glide's annotation processor. On newer
versions of Java that jar has been removed and the dependencies are
available as part of the Java plugin. For now I've required newer
versions of Java. If this proves complex, we could optionally include
rt.jar and partially revert this change when we detect older versions of
Java being used.
The single largest problem with this change is that I cannot figure out
a way to get the annotation processor tests to run. They require the
android library plugin because they depend directly on Android code.
However, they also require access to javax classes. These classes are
included via jmods on newer versions of Java and the rt jar is not
available. The jmods are only available from the Java plugin, not the
android plugin. This means that we can either get access to the android
classes, or the javax classes, but not both. I can't find a reasonable
way to resolve this in the short term. For now the tests are still
enabled using blaze/bazel internally.