RFR: 8325570: Update to Graphviz 9.0.0

Mikael Vidstedt mikael at openjdk.org
Fri Feb 9 19:07:24 UTC 2024


Graphviz (aka. dotty/dot) is used when building "full" docs, and in particular for creating various module graph images (.svg). This change upgrades the Graphviz version used to 9.0.0 (latest).

In particular, the change:

* Updates the createGraphvizBundle.sh script (currently broken) to build graphviz from source
* Updates doc/building.{md,html} to reflect the role of Graphviz and Pandoc in the build
* The version of of the graphviz dependency used when building at Oracle (in jib-profiles.js)

Since, in addition to the changes in this PR itself, the exact version of Graphviz has an effect on the generated images, I have uploaded the docs generated by graphviz 9.0.0 here: https://cr.openjdk.org/~mikael/graphviz-9.0.0/cmp-v1/docs/api/. For baseline the latest jdk23 docs, which uses graphviz 2.38.0, should do the trick: https://download.java.net/java/early_access/jdk23/docs/api/.

For example, picking a random .svg file:

baseline (graphviz 2.38.0): https://download.java.net/java/early_access/jdk23/docs/api/java.base/java/lang/classfile/Signature/RefTypeSig-sealed-graph.svg
new (graphviz 9.0.0): https://cr.openjdk.org/~mikael/graphviz-9.0.0/cmp-v1/docs/api/java.base/java/lang/classfile/Signature/RefTypeSig-sealed-graph.svg


Testing: tier1, manual inspection of a few of the generated .svg files

As far as I can tell there are only very minor differences between the old (2.38.0) and new (9.0.0) .svg files. In particular, it seems like the new graphs are ever so slightly (5-10% or so) larger, but otherwise appear to be identical.

-------------

Commit messages:
 - 8325570: Update to Graphviz 9.0.0

Changes: https://git.openjdk.org/jdk/pull/17794/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=17794&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8325570
  Stats: 123 lines in 4 files changed: 86 ins; 1 del; 36 mod
  Patch: https://git.openjdk.org/jdk/pull/17794.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/17794/head:pull/17794

PR: https://git.openjdk.org/jdk/pull/17794


More information about the build-dev mailing list