8173303: Add module-subgraph images to main platform documentation
Reviewed-by: alanb, chegar, erikj, ihse, lancea
--- a/make/Javadoc.gmk Thu Mar 23 22:56:58 2017 +0000
+++ b/make/Javadoc.gmk Wed Mar 29 09:41:55 2017 -0700
@@ -27,6 +27,7 @@
include $(SPEC)
include MakeBase.gmk
include $(JDK_TOPDIR)/make/Tools.gmk
+include $(JDK_TOPDIR)/make/ModuleTools.gmk
################################################################################
@@ -174,6 +175,7 @@
-tag param \
-tag return \
-tag throws \
+ -taglet build.tools.taglet.ModuleGraph \
-tag since \
-tag version \
-tag serialData \
@@ -188,6 +190,13 @@
DEFAULT_JAVADOC_OPTIONS := -XDignore.symbol.file=true -use -keywords -notimestamp \
-serialwarn -encoding ISO-8859-1 -breakiterator --system none
+#
+# TODO: this should be set by the configure option.
+#
+ifndef ENABLE_MODULE_GRAPH
+ ENABLE_MODULE_GRAPH=false
+endif
+
################################################################################
# Setup make rules for running javadoc.
#
@@ -321,7 +330,8 @@
$$(eval $$(call ListPathsSafely, $1_PACKAGES, $$($1_PACKAGES_FILE)))
endif
$$(call ExecuteWithLog, $$(SUPPORT_OUTPUTDIR)/docs/$1.javadoc, \
- $$($1_JAVA) -Djava.awt.headless=true $(NEW_JAVADOC) -d $$(@D) \
+ $$($1_JAVA) -Djava.awt.headless=true -DenableModuleGraph=$(ENABLE_MODULE_GRAPH) \
+ $(NEW_JAVADOC) -d $$(@D) \
$$(DEFAULT_JAVADOC_TAGS) $$(DEFAULT_JAVADOC_OPTIONS) \
--module-source-path $$(call PathList, $$(JAVADOC_SOURCE_DIRS)) \
$$($1_OPTIONS) $$($1_PACKAGES_ARG))
@@ -735,18 +745,34 @@
ZIP_TARGETS += $(JAVADOC_ARCHIVE)
################################################################################
+# generate .dot files for module graphs
+
+JAVADOC_MODULE_GRAPHS_DIR := $(SUPPORT_OUTPUTDIR)/docs/module-graphs
+JAVADOC_MODULE_GRAPHS := $(JAVADOC_MODULE_GRAPHS_DIR)/java.se.dot
+JAVADOC_MODULE_GRAPHS_PROPS := $(JDK_TOPDIR)/make/src/classes/build/tools/jigsaw/javadoc-graphs.properties
+
+$(JAVADOC_MODULE_GRAPHS): $(BUILD_JIGSAW_TOOLS) $(JAVADOC_MODULE_GRAPHS_PROPS)
+ $(MKDIR) -p $(@D)
+ $(TOOL_GENGRAPHS) --spec --output $(JAVADOC_MODULE_GRAPHS_DIR) \
+ --dot-attributes $(JAVADOC_MODULE_GRAPHS_PROPS)
+
+MODULE_GRAPH_TARGETS += $(JAVADOC_MODULE_GRAPHS)
+
+################################################################################
# Hook to include the corresponding custom file, if present.
$(eval $(call IncludeCustomExtension, , Javadoc.gmk))
################################################################################
+docs-module-graphs: $(MODULE_GRAPH_TARGETS)
+
docs-javadoc: $(TARGETS)
docs-copy: $(COPY_TARGETS)
docs-zip: $(ZIP_TARGETS)
-all: docs-javadoc docs-copy docs-zip
+all: docs-module-graphs docs-javadoc docs-copy docs-zip
-.PHONY: default all docs-javadoc docs-copy docs-zip
+.PHONY: default all docs-module-graphs docs-javadoc docs-copy docs-zip
--- a/make/Main.gmk Thu Mar 23 22:56:58 2017 +0000
+++ b/make/Main.gmk Wed Mar 29 09:41:55 2017 -0700
@@ -363,6 +363,9 @@
################################################################################
# Docs targets
+docs-module-graphs:
+ +($(CD) $(SRC_ROOT)/make && $(MAKE) $(MAKE_ARGS) -f Javadoc.gmk docs-module-graphs)
+
docs-javadoc:
+($(CD) $(SRC_ROOT)/make && $(MAKE) $(MAKE_ARGS) -f Javadoc.gmk docs-javadoc)
@@ -375,7 +378,7 @@
update-build-docs:
+($(CD) $(SRC_ROOT)/make && $(MAKE) $(MAKE_ARGS) -f UpdateBuildDocs.gmk)
-ALL_TARGETS += docs-javadoc docs-copy docs-zip update-build-docs
+ALL_TARGETS += docs-module-graphs docs-javadoc docs-copy docs-zip update-build-docs
################################################################################
# Cross compilation support
@@ -772,6 +775,8 @@
bootcycle-images: jdk-image
+ docs-module-graphs: exploded-image buildtools-modules
+
docs-javadoc: $(GENSRC_TARGETS) rmic
# The gensrc step for jdk.jdi creates an html file that is used by docs-copy.
@@ -929,7 +934,7 @@
endif
# This target builds the documentation image
-docs-image: docs-javadoc docs-copy
+docs-image: docs-module-graphs docs-javadoc docs-copy
# This target builds the test image
test-image: prepare-test-image test-image-hotspot-jtreg-native \