The Maven JavaDoc plugin 3.0.0 is finally ready for release. This means that I can migrate 60+ projects to Java 9 and finally get the new versions pushed to Central.
Big thanks to Robert Scholte who worked hard to ensure that everything worked properly, and even got my rather unusual usage of the plugin (aggregating documentation into a single module) working as well.
I've been anxiously awaiting the 3.0.0
release of the
maven-javadoc-plugin
for weeks, and in an ironic twist of fate, I'm now responsible for delaying
the release even further.
I found two rather nasty bugs in the version
that was to become 3.0.0
, but submitted a
fix
for the first and had it merged. The second problem
seems like it's going to take rather more work to fix
though, and my message asking for implementation advice to the
javadoc-dev
list is currently sitting in a moderation queue.
What to save and throw away?
pr?The last hour is on us both?mr.s?tuck this little kitty into the impenetrable brainpan?
pr?Contents under pressure?Do not expose to excessive heat, vacuum, blunt trauma, immersion in liquids, disintegration, reintegration, hypersleep, humiliation, sorrow or harsh language?
pr?When the time comes, whose life will flash before yours?
pr?A billion paths are here inside me? pr?yes, yes, yes, Bernhard, 110? pr?potential, jewels, jewels, yes, jewels? %
Decided to kill off some old
packages. jnull and
jfunctional in particular
I've used in just about every project I've ever worked on. There's
really very little reason for them to exist anymore though. Java
8 added Objects.requireNotNull
which standardized terse null
checking. Noone cares about the @NonNull
annotations (including
myself). The entire contents of jfunctional
were made redundant
by Java 8. Both of these packages served their purposes well back
in the days of Java 6 when they were first designed, but now they're
just a burden.
It's good to throw away code.
I'm still waiting on a set of issues to be resolved in order to push modules to all of my projects.
MJAVADOC-489 causes JavaDoc generation to fail when one module requires another.
MDEP-559 causes
the dependency:analyze
goal to fail. I use this goal
as part of all my builds in order to keep dependencies
clean and correct. Getting this fixed depends on
MSHARED-660.
I've also removed japicmp from
all of my builds. I don't want to disparage the project at all;
it's good at what it does, but using it would require using custom
MAVEN_OPTS
on JDK 9, and that's just not good enough. I'm in the
process of writing a replacement for japicmp
and will announce it
within the next few weeks.