annotate make/Javadoc.gmk @ 44397:f932d6b9f7fe

8173303: Add module-subgraph images to main platform documentation Reviewed-by: alanb, chegar, erikj, ihse, lancea
author mchung
date Wed, 29 Mar 2017 09:41:55 -0700
parents 58bce7a42d4a
children 8747b14eb49c 6221728aa15e
rev   line source
ihse@43047 1 # Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved.
ohair@13697 2 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
ohair@13697 3 #
ohair@13697 4 # This code is free software; you can redistribute it and/or modify it
ohair@13697 5 # under the terms of the GNU General Public License version 2 only, as
ohair@13697 6 # published by the Free Software Foundation. Oracle designates this
ohair@13697 7 # particular file as subject to the "Classpath" exception as provided
ohair@13697 8 # by Oracle in the LICENSE file that accompanied this code.
ohair@13697 9 #
ohair@13697 10 # This code is distributed in the hope that it will be useful, but WITHOUT
ohair@13697 11 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
ohair@13697 12 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
ohair@13697 13 # version 2 for more details (a copy is included in the LICENSE file that
ohair@13697 14 # accompanied this code).
ohair@13697 15 #
ohair@13697 16 # You should have received a copy of the GNU General Public License version
ohair@13697 17 # 2 along with this work; if not, write to the Free Software Foundation,
ohair@13697 18 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
ohair@13697 19 #
ohair@13697 20 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
ohair@13697 21 # or visit www.oracle.com if you need additional information or have any
ohair@13697 22 # questions.
ohair@13697 23 #
ohair@13697 24
ihse@41652 25 default: all
ihse@41652 26
ohair@13697 27 include $(SPEC)
ohair@13697 28 include MakeBase.gmk
chegar@43285 29 include $(JDK_TOPDIR)/make/Tools.gmk
mchung@44397 30 include $(JDK_TOPDIR)/make/ModuleTools.gmk
ohair@13697 31
ihse@41652 32 ################################################################################
ohair@13697 33
ohair@13697 34 # List of all possible directories for javadoc to look for sources
ihse@41652 35 # Allow custom to overwrite.
ihse@41652 36 JAVADOC_SOURCE_DIRS = \
alanb@36506 37 $(SUPPORT_OUTPUTDIR)/gensrc/* \
alanb@42289 38 $(addsuffix /*, $(IMPORT_MODULES_SRC)) \
alanb@36506 39 $(JDK_TOPDIR)/src/*/$(OPENJDK_TARGET_OS)/classes \
alanb@36506 40 $(JDK_TOPDIR)/src/*/$(OPENJDK_TARGET_OS_TYPE)/classes \
alanb@36506 41 $(JDK_TOPDIR)/src/*/share/classes \
alanb@36506 42 $(HOTSPOT_TOPDIR)/src/*/share/classes \
alanb@36506 43 $(LANGTOOLS_TOPDIR)/src/*/share/classes \
alanb@36506 44 $(NASHORN_TOPDIR)/src/*/share/classes \
alanb@36506 45 $(CORBA_TOPDIR)/src/*/share/classes \
alanb@36506 46 $(JAXP_TOPDIR)/src/*/share/classes \
alanb@36506 47 $(JAXWS_TOPDIR)/src/*/share/classes \
alanb@36506 48 $(SUPPORT_OUTPUTDIR)/rmic/* \
alanb@36506 49 $(JDK_TOPDIR)/src/*/share/doc/stub \
alanb@36506 50 #
alanb@36506 51
ihse@41652 52 # Should we use -Xdocrootparent? Allow custom to overwrite.
ihse@41652 53 DOCROOTPARENT_FLAG = TRUE
neugens@37034 54
ihse@41652 55 # URLs
ihse@41652 56 JAVADOC_BASE_URL := http://docs.oracle.com/javase/$(VERSION_SPECIFICATION)/docs
ihse@41652 57 BUG_SUBMIT_URL := http://bugreport.java.com/bugreport/
ohair@13697 58
ihse@41652 59 ################################################################################
ihse@41652 60 # Text snippets
ohair@13697 61
ihse@41652 62 FULL_COMPANY_NAME := Oracle and/or its affiliates
ihse@42134 63 COMPANY_ADDRESS := 500 Oracle Parkway<br>Redwood Shores, CA 94065 USA
ihse@41652 64 BUG_SUBMIT_LINE := <a href="$(BUG_SUBMIT_URL)">Submit a bug or feature</a>
mduigou@25614 65
ihse@42134 66 COMMON_BOTTOM_TEXT := $(BUG_SUBMIT_LINE)<br> Java is a trademark or registered \
ihse@42134 67 trademark of $(FULL_COMPANY_NAME) in the US and other countries.
mduigou@25614 68
ihse@41652 69 CORE_BOTTOM_COPYRIGHT_URL := {@docroot}/../legal/cpyr.html
ihse@42135 70 CORE_BOTTOM_TEXT := \
ihse@42135 71 $(BUG_SUBMIT_LINE) \
ihse@42135 72 <br>For further API reference and developer documentation, see \
ihse@42135 73 <a href="$(JAVADOC_BASE_URL)/index.html" target="_blank">Java SE \
ihse@42135 74 Documentation</a>. That documentation contains more detailed, \
ihse@42135 75 developer-targeted descriptions, with conceptual overviews, definitions of \
ihse@42135 76 terms, workarounds, and working code examples.
ohair@13697 77
ihse@41652 78 ifeq ($(VERSION_IS_GA), true)
ihse@42135 79 DRAFT_MARKER :=
ihse@42135 80 DRAFT_WINDOW_TITLE_MARKER :=
ihse@42135 81 EARLYACCESS_TOP :=
ihse@41652 82 else
ihse@41652 83 # We need a draft format when not building the GA version.
ihse@42135 84 DRAFT_MARKER := <br><strong>DRAFT&nbsp;$(VERSION_STRING)</strong>
ihse@42134 85 ifeq ($(VERSION_BUILD), 0)
ihse@42135 86 DRAFT_WINDOW_TITLE_MARKER := $(SPACE)[ad-hoc build]
ihse@42134 87 else
ihse@42135 88 DRAFT_WINDOW_TITLE_MARKER := $(SPACE)[build $(VERSION_BUILD)]
ihse@42134 89 endif
ihse@42135 90 EARLYACCESS_TOP := \
erikj@43044 91 <div style="background-color: $(HASH)EEEEEE"><div style="padding: 6px; \
ihse@42135 92 margin-top: 2px; margin-bottom: 6px; margin-left: 6px; margin-right: \
ihse@42135 93 6px; text-align: justify; font-size: 80%; font-family: Helvetica, Arial, \
ihse@42135 94 sans-serif; font-weight: normal;">Please note that the specifications \
ihse@42135 95 and other information contained herein are not final and are subject to \
ihse@42135 96 change. The information is being made available to you solely for \
ihse@42135 97 purpose of evaluation.</div></div>
ohair@13697 98 endif
ohair@13697 99
ihse@41652 100 ################################################################################
ihse@42135 101 # Special treatment for the core package list. All separate "small" javadoc
ihse@42135 102 # invocation needs to be able to see the core package list.
ihse@42135 103
ihse@42135 104 ALL_PKG_DIRS := $(dir $(filter %.java, $(call CacheFind, \
ihse@42135 105 $(wildcard $(JAVADOC_SOURCE_DIRS)))))
ihse@42135 106 ALL_SRC_PREFIXES := $(addsuffix /%, $(wildcard $(JAVADOC_SOURCE_DIRS)))
ihse@42135 107 ALL_PKG_DIRNAMES := $(foreach prefix, $(ALL_SRC_PREFIXES), \
ihse@42135 108 $(patsubst $(prefix),%, $(filter $(prefix), $(ALL_PKG_DIRS))))
ihse@42135 109 ALL_PACKAGES := $(sort $(subst /,., $(patsubst %/, %, $(ALL_PKG_DIRNAMES))))
ihse@42135 110
ihse@42135 111 # Core packages are all packages beginning with java, javax or org, except a few
ihse@42135 112 # excludes.
ihse@42135 113 JAVA_PACKAGES := $(filter java.%, $(ALL_PACKAGES))
ihse@42135 114 JAVAX_PACKAGES := $(filter javax.%, $(ALL_PACKAGES))
ihse@42135 115 ORG_PACKAGES := $(filter org.%, $(ALL_PACKAGES))
ihse@42135 116
ihse@42135 117 # Allow custom makefile to add more excluded packages
ihse@42135 118 CORE_EXCLUDED_PACKAGES += \
ihse@42135 119 java.awt.dnd.peer \
ihse@42135 120 java.awt.peer \
ihse@42135 121 javax.smartcardio \
ihse@42135 122 org.jcp.xml.dsig.internal% \
ihse@42135 123 org.w3c.dom.css \
ihse@42135 124 org.w3c.dom.html \
ihse@42135 125 org.w3c.dom.stylesheets \
ihse@42135 126 org.w3c.dom.xpath \
kvn@42531 127 org.graalvm.compiler.% \
ihse@42135 128 #
ihse@42135 129
ihse@42135 130 CORE_PACKAGES := $(filter-out $(CORE_EXCLUDED_PACKAGES), \
ihse@42135 131 $(JAVA_PACKAGES) $(JAVAX_PACKAGES) $(ORG_PACKAGES))
ihse@42135 132
ihse@42135 133 CORE_PACKAGES_LIST_DIR := $(SUPPORT_OUTPUTDIR)/docs/core-packages
ihse@42135 134 CORE_PACKAGES_LIST_FILE := $(CORE_PACKAGES_LIST_DIR)/package-list
ihse@42135 135
ihse@42135 136 CORE_PACKAGES_VARDEPS_FILE := $(call DependOnVariable, CORE_PACKAGES, \
ihse@42135 137 $(CORE_PACKAGES_LIST_FILE).vardeps)
ihse@42135 138
ihse@42135 139 $(CORE_PACKAGES_LIST_FILE): $(CORE_PACKAGES_VARDEPS_FILE)
ihse@42135 140 $(call MakeDir, $(@D))
ihse@42135 141 $(eval $(call ListPathsSafely, CORE_PACKAGES, $@))
ihse@42135 142
ihse@42135 143 ################################################################################
ihse@41652 144 # Support functions for SetupJavadocGeneration
ohair@13697 145
ihse@42135 146 # Generate the text used in the -bottom argument.
ihse@41652 147 # Note that COPYRIGHT_YEAR is the current year (from spec.gmk)
ihse@41652 148 # Arguments:
ihse@41652 149 # arg 1: first copyright year
ihse@41652 150 # arg 2: copyright url (optional)
ihse@42134 151 # arg 3: free-form text snippet (optional)
ihse@41652 152 define GenerateBottom
jjg@42851 153 <span style="font-size:smaller">$(if $(strip $3), $(strip $3))<br> $(if \
ihse@42134 154 $(strip $2),<a href="$(strip $2)">Copyright</a>,Copyright) \
ihse@42134 155 &copy; $(strip $1), $(COPYRIGHT_YEAR), $(FULL_COMPANY_NAME). \
jjg@42851 156 $(COMPANY_ADDRESS). All rights reserved.</span>
ihse@41652 157 endef
ihse@41652 158
ihse@41652 159 # Speed up finding by filling cache
ihse@41652 160 $(eval $(call FillCacheFind, $(wildcard $(JAVADOC_SOURCE_DIRS))))
ihse@41652 161
ihse@42135 162 # In order to get a specific ordering it's necessary to specify the total
ihse@42135 163 # ordering of tags as the tags are otherwise ordered in order of definition.
ihse@42135 164 DEFAULT_JAVADOC_TAGS := \
ihse@42135 165 -tag beaninfo:X \
ihse@42135 166 -tag revised:X \
ihse@42135 167 -tag since.unbundled:X \
ihse@42135 168 -tag spec:X \
ihse@42135 169 -tag specdefault:X \
ihse@42135 170 -tag Note:X \
ihse@42135 171 -tag ToDo:X \
ihse@42135 172 -tag 'apiNote:a:API Note:' \
ihse@42135 173 -tag 'implSpec:a:Implementation Requirements:' \
ihse@42135 174 -tag 'implNote:a:Implementation Note:' \
ihse@42135 175 -tag param \
ihse@42135 176 -tag return \
ihse@42135 177 -tag throws \
mchung@44397 178 -taglet build.tools.taglet.ModuleGraph \
ihse@42135 179 -tag since \
ihse@42135 180 -tag version \
ihse@42135 181 -tag serialData \
ihse@42135 182 -tag factory \
ihse@42135 183 -tag see \
ihse@42135 184 -tag 'jvms:a:See <cite>The Java&trade; Virtual Machine Specification</cite>:' \
ihse@42135 185 -tag 'jls:a:See <cite>The Java&trade; Language Specification</cite>:' \
chegar@43285 186 -taglet build.tools.taglet.Incubating \
chegar@43285 187 -tagletpath $(BUILDTOOLS_OUTPUTDIR)/jdk_tools_classes \
ihse@42135 188 #
ihse@42135 189
ihse@42135 190 DEFAULT_JAVADOC_OPTIONS := -XDignore.symbol.file=true -use -keywords -notimestamp \
ihse@42135 191 -serialwarn -encoding ISO-8859-1 -breakiterator --system none
ihse@41652 192
mchung@44397 193 #
mchung@44397 194 # TODO: this should be set by the configure option.
mchung@44397 195 #
mchung@44397 196 ifndef ENABLE_MODULE_GRAPH
mchung@44397 197 ENABLE_MODULE_GRAPH=false
mchung@44397 198 endif
mchung@44397 199
ihse@41652 200 ################################################################################
ihse@41652 201 # Setup make rules for running javadoc.
ohair@13697 202 #
ihse@41652 203 # Parameter 1 is the name of the rule. This name is used as variable prefix,
ihse@41652 204 # and the targets generated are listed in a variable by that name. Note that
ihse@41652 205 # the index.html file will work as a "touch file" for all the magnitude of
ihse@41652 206 # files that are generated by javadoc.
rriggs@27328 207 #
ihse@41652 208 # Remaining parameters are named arguments. These include:
ihse@41652 209 # MODULES - Modules to include
ihse@41652 210 # PACKAGES - Packages to include
ihse@41652 211 # IS_CORE - Set to TRUE for the Core API package which needs special treatment
ihse@41652 212 # API_ROOT - Where to base the documentation (jre or jdk)
ihse@41652 213 # DEST_DIR - A directory relative to the API root
ihse@41652 214 # OVERVIEW - Path to a html overview file
ihse@41652 215 # TITLE - Default title to use for the more specific versions below
ihse@41652 216 # WINDOW_TITLE - Title to use in -windowtitle. Computed from TITLE if empty.
ihse@41652 217 # HEADER_TITLE - Title to use in -header. Computed from TITLE if empty.
ihse@41652 218 # DOC_TITLE - Title to use in -doctitle. Computed from TITLE if empty.
ihse@41652 219 # FIRST_COPYRIGHT_YEAR - First year this bundle was introduced
ihse@42134 220 # DISABLED_DOCLINT - Doclint warnings to exclude.
ihse@41652 221 # DOCLINT_PACKAGES - Optional -Xdoclint/package value
ihse@42134 222 # SPLIT_INDEX - Enable -splitIndex (split index-all.html if it is too large)
ihse@41652 223 # BOTTOM_COPYRIGHT_URL - Copyright URL to use in -bottom
ihse@41652 224 # BOTTOM_TEXT - Extra text to use in -bottom
ihse@41652 225 # EXTRA_TOP - Additional -top data
ihse@41652 226 #
ihse@41652 227 SetupJavadocGeneration = $(NamedParamsMacroTemplate)
ihse@41652 228 define SetupJavadocGenerationBody
ihse@41652 229 ifeq ($$($1_IS_CORE), TRUE)
ihse@41652 230 $1_JAVA := $$(JAVA)
ihse@41652 231 $1_OUTPUT_DIRNAME := api
ihse@41652 232 else
ihse@41652 233 $1_JAVA := $$(JAVA_SMALL)
ihse@41652 234 $1_OUTPUT_DIRNAME := $$($1_API_ROOT)/api/$$($1_DEST_DIR)
rriggs@27328 235
ihse@42134 236 # Compute a relative path to core root.
ihse@42134 237 # The non-core api javadocs need to be able to access the root of the core
ihse@42134 238 # api directory, so for jdk/api or jre/api to get to the core api/
ihse@42134 239 # directory we would use this
ihse@42135 240 $1_RELATIVE_CORE_DIR := $$(call DirToDotDot, $$($1_OUTPUT_DIRNAME))/api
rriggs@27328 241
ihse@42135 242 # We need to tell javadoc the directory in which to find the core package-list
ihse@42135 243 $1_OPTIONS += -linkoffline $$($1_RELATIVE_CORE_DIR) $$(CORE_PACKAGES_LIST_DIR)
ihse@42135 244
ihse@42135 245 $1_DEPS += $(CORE_PACKAGES_LIST_FILE)
ihse@41652 246 endif
rriggs@27328 247
ihse@42135 248 $1_OPTIONS += --add-modules $$(call CommaList, $$($1_MODULES))
ihse@42135 249
ihse@42135 250 ifneq ($$($1_DISABLED_DOCLINT), )
ihse@42135 251 # Create a string like ",-syntax,-html"
ihse@42135 252 $1_DOCLINT_EXCEPTIONS := ,$$(call CommaList, $$(addprefix -, $$($1_DISABLED_DOCLINT)))
ihse@41652 253 endif
ihse@42135 254 $1_OPTIONS += -Xdoclint:all$$($1_DOCLINT_EXCEPTIONS)
ohair@13697 255
ihse@42135 256 ifneq ($$($1_DOCLINT_PACKAGES), )
ihse@42135 257 $1_OPTIONS += -Xdoclint/package:$$(call CommaList, $$($1_DOCLINT_PACKAGES))
ihse@41652 258 endif
neugens@37034 259
ihse@41652 260 ifeq ($$($1_DOC_TITLE), )
ihse@41652 261 $1_DOC_TITLE := $$($1_TITLE)
ihse@41652 262 endif
ihse@42135 263 $1_OPTIONS += -doctitle '$$($1_DOC_TITLE)'
neugens@37034 264
ihse@41652 265 ifeq ($$($1_WINDOW_TITLE), )
ihse@42134 266 $1_WINDOW_TITLE := $$(strip $$(subst &trade;,, $$($1_TITLE)))
ihse@41652 267 endif
ihse@42135 268 $1_OPTIONS += -windowtitle '$$($1_WINDOW_TITLE)$$(DRAFT_WINDOW_TITLE_MARKER)'
ihse@41652 269
ihse@41652 270 ifeq ($$($1_HEADER_TITLE), )
ihse@42134 271 $1_HEADER_TITLE := $$(strip $$(subst &trade;,, $$($1_TITLE)))
ihse@41652 272 endif
ihse@42135 273 $1_OPTIONS += -header '<strong>$$($1_HEADER_TITLE)</strong>$$(DRAFT_MARKER)'
ihse@42135 274
ihse@42135 275 ifneq ($$($1_EXTRA_TOP), )
ihse@42135 276 $1_OPTIONS += -top '$$($1_EXTRA_TOP)'
ihse@41652 277 endif
ohair@13697 278
ihse@42134 279 ifeq ($$($1_BOTTOM_TEXT), )
ihse@42134 280 $1_BOTTOM_TEXT := $(COMMON_BOTTOM_TEXT)
ihse@41652 281 endif
ihse@41652 282 $1_BOTTOM := $$(call GenerateBottom, $$($1_FIRST_COPYRIGHT_YEAR), \
ihse@42134 283 $$($1_BOTTOM_COPYRIGHT_URL), $$($1_BOTTOM_TEXT))
ihse@42135 284 $1_OPTIONS += -bottom '$$($1_BOTTOM)$$(DRAFT_MARKER)'
ohair@13697 285
ihse@42135 286 ifneq ($$($1_OVERVIEW), )
ihse@42135 287 $1_OPTIONS += -overview $$($1_OVERVIEW)
ihse@42135 288 $1_DEPS += $$($1_OVERVIEW)
ihse@42135 289 endif
ohair@13697 290
ihse@42135 291 ifneq ($$($1_SPLIT_INDEX), )
ihse@42135 292 $1_OPTIONS += -splitIndex
ihse@42135 293 endif
alanb@36506 294
ihse@42135 295 ifneq ($$($DOCROOTPARENT_FLAG), )
ihse@42135 296 $1_OPTIONS += -Xdocrootparent $(JAVADOC_BASE_URL)
ihse@42135 297 endif
ohair@13697 298
ihse@42135 299 $1_VARDEPS := $$($1_OPTIONS) $$($1_PACKAGES)
ihse@42135 300 $1_VARDEPS_FILE := $$(call DependOnVariable, $1_VARDEPS, \
ihse@42135 301 $$(SUPPORT_OUTPUTDIR)/docs/$1.vardeps)
ohair@13697 302
ihse@43047 303 # Do not store debug level options in VARDEPS.
ihse@43047 304 ifneq ($$(LOG_LEVEL), trace)
ihse@43047 305 $1_OPTIONS += -quiet
ihse@43047 306 else
ihse@43047 307 $1_OPTIONS += -verbose
ihse@43047 308 endif
ihse@43047 309
ihse@41652 310 $1_PACKAGE_DEPS := $$(call CacheFind, $$(wildcard $$(foreach p, \
ihse@41652 311 $$(subst .,/,$$(strip $$($1_PACKAGES))), \
ihse@41652 312 $$(addsuffix /$$p, $$(wildcard $$(JAVADOC_SOURCE_DIRS))))))
ohair@13697 313
ihse@42135 314 # If there are many packages, use an @-file...
ihse@42135 315 ifneq ($$(word 17, $$($1_PACKAGES)), )
ihse@42135 316 $1_PACKAGES_FILE := $$(SUPPORT_OUTPUTDIR)/docs/$1.packages
ihse@42135 317 $1_PACKAGES_ARG := @$$($1_PACKAGES_FILE)
ihse@42135 318 else
ihse@42135 319 $1_PACKAGES_ARG := $$($1_PACKAGES)
ihse@42135 320 endif
ihse@42135 321
ihse@42135 322 # The index.html which is a marker for all the output from javadoc.
ihse@42135 323 $1_INDEX_FILE := $$(JAVADOC_OUTPUTDIR)/$$($1_OUTPUT_DIRNAME)/index.html
ihse@42135 324
ihse@41652 325 # Rule for actually running javadoc
chegar@43781 326 $$($1_INDEX_FILE): $$(BUILD_TOOLS_JDK) $$($1_VARDEPS_FILE) $$($1_PACKAGE_DEPS) $$($1_DEPS)
ihse@42135 327 $$(call LogWarn, Generating Javadoc from $$(words $$($1_PACKAGES)) package(s) for $$($1_OUTPUT_DIRNAME))
ihse@41652 328 $$(call MakeDir, $$(@D))
ihse@42135 329 ifneq ($$($1_PACKAGES_FILE), )
ihse@42135 330 $$(eval $$(call ListPathsSafely, $1_PACKAGES, $$($1_PACKAGES_FILE)))
ihse@41652 331 endif
ihse@41652 332 $$(call ExecuteWithLog, $$(SUPPORT_OUTPUTDIR)/docs/$1.javadoc, \
mchung@44397 333 $$($1_JAVA) -Djava.awt.headless=true -DenableModuleGraph=$(ENABLE_MODULE_GRAPH) \
mchung@44397 334 $(NEW_JAVADOC) -d $$(@D) \
ihse@42135 335 $$(DEFAULT_JAVADOC_TAGS) $$(DEFAULT_JAVADOC_OPTIONS) \
ihse@42135 336 --module-source-path $$(call PathList, $$(JAVADOC_SOURCE_DIRS)) \
ihse@42135 337 $$($1_OPTIONS) $$($1_PACKAGES_ARG))
ohair@13697 338
ihse@41652 339 # The output returned will be the index.html file
ihse@41652 340 $1 := $$($1_INDEX_FILE)
ihse@41652 341 endef
ohair@13697 342
ihse@41652 343 ################################################################################
alanb@36506 344
ihse@41652 345 $(eval $(call SetupJavadocGeneration, coredocs, \
ihse@41652 346 MODULES := java.se.ee, \
ihse@41652 347 PACKAGES := $(CORE_PACKAGES), \
ihse@41652 348 IS_CORE := TRUE, \
ihse@41652 349 OVERVIEW := $(JDK_TOPDIR)/src/java.base/share/classes/overview-core.html, \
ihse@41652 350 WINDOW_TITLE := Java Platform SE $(VERSION_SPECIFICATION), \
ihse@42134 351 HEADER_TITLE := Java&trade;&nbsp;Platform<br>Standard&nbsp;Ed.&nbsp;$(VERSION_SPECIFICATION), \
ihse@42134 352 DOC_TITLE := Java&trade; Platform$(COMMA) Standard Edition \
ihse@41652 353 $(VERSION_SPECIFICATION)<br>API Specification, \
ihse@41652 354 FIRST_COPYRIGHT_YEAR := 1993, \
ihse@42134 355 DISABLED_DOCLINT := accessibility html missing syntax, \
ihse@41652 356 DOCLINT_PACKAGES := -org.omg.* jdk.internal.logging.*, \
ihse@41652 357 SPLIT_INDEX := TRUE, \
ihse@41652 358 BOTTOM_COPYRIGHT_URL := $(CORE_BOTTOM_COPYRIGHT_URL), \
ihse@41652 359 BOTTOM_TEXT := $(CORE_BOTTOM_TEXT), \
ihse@42135 360 EXTRA_TOP := $(EARLYACCESS_TOP), \
ihse@41652 361 ))
ohair@13697 362
ihse@41652 363 TARGETS += $(coredocs)
ohair@13697 364
ihse@41652 365 ################################################################################
ohair@13697 366
ihse@41652 367 $(eval $(call SetupJavadocGeneration, docletapi, \
ihse@41652 368 MODULES := jdk.javadoc, \
ihse@41652 369 PACKAGES := \
jjg@44071 370 jdk.javadoc.doclet, \
ihse@41652 371 API_ROOT := jdk, \
ihse@41652 372 DEST_DIR := javadoc/doclet, \
ihse@41652 373 TITLE := Doclet API, \
ihse@41652 374 FIRST_COPYRIGHT_YEAR := 1993, \
ihse@41652 375 ))
ohair@13697 376
ihse@41652 377 TARGETS += $(docletapi)
ksrini@35367 378
ihse@41652 379 ################################################################################
ksrini@35367 380
ihse@41652 381 $(eval $(call SetupJavadocGeneration, old-docletapi, \
ihse@41652 382 MODULES := jdk.javadoc, \
ihse@41652 383 PACKAGES := com.sun.javadoc, \
ihse@41652 384 API_ROOT := jdk, \
ihse@41652 385 DEST_DIR := javadoc/old/doclet, \
ihse@41652 386 TITLE := Doclet API, \
ihse@41652 387 FIRST_COPYRIGHT_YEAR := 1993, \
ihse@41652 388 ))
ksrini@35367 389
ihse@41652 390 TARGETS += $(old-docletapi)
ksrini@35367 391
ihse@41652 392 ################################################################################
alanb@36506 393
ihse@41652 394 $(eval $(call SetupJavadocGeneration, tagletapi, \
ihse@41652 395 MODULES := jdk.javadoc, \
ihse@41652 396 PACKAGES := com.sun.tools.doclets, \
ihse@41652 397 API_ROOT := jdk, \
ihse@41652 398 DEST_DIR := javadoc/old/taglet, \
ihse@41652 399 TITLE := Taglet API, \
ihse@41652 400 FIRST_COPYRIGHT_YEAR := 1993, \
ihse@41652 401 ))
ksrini@35367 402
ihse@41652 403 TARGETS += $(tagletapi)
ksrini@35367 404
ihse@41652 405 ################################################################################
ksrini@35367 406
ihse@41652 407 $(eval $(call SetupJavadocGeneration, domapi, \
ihse@41652 408 MODULES := \
ihse@41652 409 java.xml \
ihse@41652 410 jdk.xml.dom, \
ihse@41652 411 PACKAGES := \
ihse@41652 412 org.w3c.dom \
ihse@41652 413 org.w3c.dom.bootstrap \
ihse@41652 414 org.w3c.dom.ls \
ihse@41652 415 org.w3c.dom.ranges \
ihse@41652 416 org.w3c.dom.traversal \
ihse@41652 417 org.w3c.dom.html \
ihse@41652 418 org.w3c.dom.stylesheets \
ihse@41652 419 org.w3c.dom.css \
ihse@41652 420 org.w3c.dom.events \
ihse@41652 421 org.w3c.dom.views, \
ihse@41652 422 API_ROOT := jre, \
ihse@41652 423 DEST_DIR := plugin/dom, \
ihse@41652 424 TITLE := Common DOM API, \
ihse@41652 425 FIRST_COPYRIGHT_YEAR := 2005, \
ihse@42134 426 DISABLED_DOCLINT := accessibility html missing, \
ihse@41652 427 SPLIT_INDEX := TRUE, \
ihse@41652 428 ))
ksrini@35367 429
ihse@41652 430 TARGETS += $(domapi)
ohair@13697 431
ihse@41652 432 ################################################################################
ohair@13697 433
ihse@41652 434 $(eval $(call SetupJavadocGeneration, jdi, \
ihse@41652 435 MODULES := jdk.jdi, \
ihse@41652 436 PACKAGES := \
ihse@41652 437 com.sun.jdi \
ihse@41652 438 com.sun.jdi.event \
ihse@41652 439 com.sun.jdi.request \
ihse@41652 440 com.sun.jdi.connect \
ihse@41652 441 com.sun.jdi.connect.spi, \
ihse@41652 442 API_ROOT := jdk, \
ihse@41652 443 DEST_DIR := jpda/jdi, \
ihse@41652 444 OVERVIEW := $(JDK_TOPDIR)/src/jdk.jdi/share/classes/jdi-overview.html, \
ihse@42134 445 TITLE := Java&trade; Debug Interface, \
ihse@41652 446 FIRST_COPYRIGHT_YEAR := 1999, \
ihse@42134 447 DISABLED_DOCLINT := accessibility missing syntax, \
ihse@42134 448 SPLIT_INDEX := TRUE, \
ihse@41652 449 ))
ohair@13697 450
ihse@41652 451 TARGETS += $(jdi)
alanb@36506 452
ihse@41652 453 ################################################################################
ohair@13697 454
ihse@41652 455 $(eval $(call SetupJavadocGeneration, jaas, \
ihse@41652 456 MODULES := jdk.security.auth, \
ihse@41652 457 PACKAGES := \
ihse@41652 458 com.sun.security.auth \
ihse@41652 459 com.sun.security.auth.callback \
ihse@41652 460 com.sun.security.auth.login \
ihse@41652 461 com.sun.security.auth.module, \
ihse@41652 462 API_ROOT := jre, \
ihse@41652 463 DEST_DIR := security/jaas/spec, \
ihse@41652 464 OVERVIEW := $(JDK_TOPDIR)/src/jdk.security.auth/share/classes/jaas-overview.html, \
ihse@42134 465 TITLE := Java&trade; Authentication and Authorization Service, \
ihse@41652 466 FIRST_COPYRIGHT_YEAR := 1998, \
ihse@42134 467 DISABLED_DOCLINT := missing, \
ihse@41652 468 ))
ohair@13697 469
ihse@41652 470 TARGETS += $(jaas)
ohair@13697 471
ihse@41652 472 ################################################################################
ohair@13697 473
ihse@41652 474 $(eval $(call SetupJavadocGeneration, jgss, \
ihse@41652 475 MODULES := jdk.security.jgss, \
ihse@41652 476 PACKAGES := com.sun.security.jgss, \
ihse@41652 477 API_ROOT := jre, \
ihse@41652 478 DEST_DIR := security/jgss/spec, \
ihse@41652 479 OVERVIEW := $(JDK_TOPDIR)/src/java.security.jgss/share/classes/jgss-overview.html, \
ihse@42134 480 TITLE := Java&trade; GSS-API Utilities, \
ihse@41652 481 FIRST_COPYRIGHT_YEAR := 2000, \
ihse@41652 482 ))
ohair@13697 483
ihse@41652 484 TARGETS += $(jgss)
ohair@13697 485
ihse@41652 486 ################################################################################
ohair@13697 487
ihse@41652 488 $(eval $(call SetupJavadocGeneration, smartcardio, \
ihse@41652 489 MODULES := java.smartcardio, \
ihse@41652 490 PACKAGES := javax.smartcardio, \
ihse@41652 491 API_ROOT := jre, \
ihse@41652 492 DEST_DIR := security/smartcardio/spec, \
ihse@42134 493 TITLE := Java&trade; Smart Card I/O, \
ihse@41652 494 FIRST_COPYRIGHT_YEAR := 2005, \
ihse@41652 495 ))
ohair@13697 496
ihse@41652 497 TARGETS += $(smartcardio)
alanb@36506 498
ihse@41652 499 ################################################################################
ohair@13697 500
ihse@41652 501 $(eval $(call SetupJavadocGeneration, httpserver, \
ihse@41652 502 MODULES := jdk.httpserver, \
ihse@41652 503 PACKAGES := \
ihse@41652 504 com.sun.net.httpserver \
ihse@41652 505 com.sun.net.httpserver.spi, \
ihse@41652 506 API_ROOT := jre, \
ihse@41652 507 DEST_DIR := net/httpserver/spec, \
ihse@42134 508 TITLE := Java&trade; HTTP Server, \
ihse@41652 509 FIRST_COPYRIGHT_YEAR := 2005, \
ihse@42134 510 DISABLED_DOCLINT := accessibility missing syntax, \
ihse@41652 511 ))
ohair@13697 512
ihse@41652 513 TARGETS += $(httpserver)
ohair@13697 514
ihse@41652 515 ################################################################################
ohair@13697 516
michaelm@42427 517 $(eval $(call SetupJavadocGeneration, httpclient, \
michaelm@42427 518 MODULES := jdk.incubator.httpclient, \
michaelm@42427 519 PACKAGES := \
michaelm@42427 520 jdk.incubator.http, \
michaelm@42427 521 API_ROOT := jre, \
michaelm@42427 522 DEST_DIR := incubator/httpclient/spec, \
michaelm@42427 523 TITLE := Java&trade; HTTP Client API (incubator module), \
michaelm@42427 524 FIRST_COPYRIGHT_YEAR := 2015, \
michaelm@42427 525 DISABLED_DOCLINT := accessibility missing syntax, \
michaelm@42427 526 ))
michaelm@42427 527
michaelm@42427 528 TARGETS += $(httpclient)
michaelm@42427 529
michaelm@42427 530 ################################################################################
michaelm@42427 531
ihse@41652 532 $(eval $(call SetupJavadocGeneration, jsobject, \
ihse@41652 533 MODULES := jdk.jsobject, \
ihse@41652 534 PACKAGES := netscape.javascript, \
ihse@41652 535 API_ROOT := jre, \
ihse@41652 536 DEST_DIR := plugin/jsobject, \
ihse@41652 537 FIRST_COPYRIGHT_YEAR := 1993, \
ihse@42134 538 TITLE := Java&trade; JSObject Doc, \
ihse@41652 539 ))
ohair@13697 540
ihse@41652 541 TARGETS += $(jsobject)
ohair@13697 542
ihse@41652 543 ################################################################################
ohair@13697 544
ihse@41652 545 $(eval $(call SetupJavadocGeneration, mgmt, \
ihse@41652 546 MODULES := jdk.management, \
ihse@41652 547 PACKAGES := com.sun.management, \
ihse@41652 548 API_ROOT := jre, \
ihse@41652 549 DEST_DIR := management/extension, \
ihse@41652 550 OVERVIEW := $(JDK_TOPDIR)/src/java.management/share/classes/mgmt-overview.html, \
ihse@42134 551 TITLE := Monitoring and Management Interface for the Java&trade; Platform, \
ihse@41652 552 FIRST_COPYRIGHT_YEAR := 2003, \
ihse@42134 553 DISABLED_DOCLINT := accessibility missing reference, \
ihse@41652 554 ))
ohair@13697 555
ihse@41652 556 TARGETS += $(mgmt)
ohair@13697 557
ihse@41652 558 ################################################################################
ohair@13697 559
ihse@41652 560 $(eval $(call SetupJavadocGeneration, attach, \
ihse@41652 561 MODULES := jdk.attach, \
ihse@41652 562 PACKAGES := \
ihse@41652 563 com.sun.tools.attach \
ihse@41652 564 com.sun.tools.attach.spi, \
ihse@41652 565 API_ROOT := jdk, \
ihse@41652 566 DEST_DIR := attach/spec, \
ihse@41652 567 TITLE := Attach API, \
ihse@41652 568 FIRST_COPYRIGHT_YEAR := 2005, \
ihse@42134 569 DISABLED_DOCLINT := reference, \
ihse@41652 570 ))
ohair@13697 571
ihse@41652 572 TARGETS += $(attach)
ohair@13697 573
ihse@41652 574 ################################################################################
alanb@36506 575
ihse@41652 576 $(eval $(call SetupJavadocGeneration, jconsole, \
ihse@41652 577 MODULES := jdk.jconsole, \
ihse@41652 578 PACKAGES := com.sun.tools.jconsole, \
ihse@41652 579 API_ROOT := jdk, \
ihse@41652 580 DEST_DIR := jconsole/spec, \
ihse@41652 581 TITLE := JConsole API, \
ihse@41652 582 FIRST_COPYRIGHT_YEAR := 2006, \
ihse@41652 583 ))
ohair@13697 584
ihse@41652 585 TARGETS += $(jconsole)
ohair@13697 586
ihse@41652 587 ################################################################################
ohair@13697 588
ihse@41652 589 $(eval $(call SetupJavadocGeneration, jshellapi, \
ihse@41652 590 MODULES := jdk.jshell, \
ihse@41652 591 PACKAGES := \
ihse@41652 592 jdk.jshell \
ihse@41652 593 jdk.jshell.spi \
rfield@42539 594 jdk.jshell.execution \
rfield@42539 595 jdk.jshell.tool, \
ihse@41652 596 API_ROOT := jdk, \
ihse@41652 597 DEST_DIR := jshell, \
ihse@41652 598 TITLE := JShell API, \
ihse@41652 599 FIRST_COPYRIGHT_YEAR := 2015, \
rfield@42539 600 SPLIT_INDEX := TRUE, \
ihse@41652 601 ))
ohair@13697 602
ihse@41652 603 TARGETS += $(jshellapi)
ohair@13697 604
ihse@41652 605 ################################################################################
ohair@13697 606
ihse@41652 607 $(eval $(call SetupJavadocGeneration, treeapi, \
ihse@41652 608 MODULES := jdk.compiler, \
ihse@41652 609 PACKAGES := \
ihse@41652 610 com.sun.source.doctree \
ihse@41652 611 com.sun.source.tree \
ihse@41652 612 com.sun.source.util, \
ihse@41652 613 API_ROOT := jdk, \
ihse@41652 614 DEST_DIR := javac/tree, \
ihse@41652 615 TITLE := Compiler Tree API, \
ihse@41652 616 FIRST_COPYRIGHT_YEAR := 2005, \
ihse@42134 617 SPLIT_INDEX := TRUE, \
ihse@41652 618 ))
ohair@13697 619
ihse@41652 620 TARGETS += $(treeapi)
ohair@13697 621
ihse@41652 622 ################################################################################
ohair@13697 623
ihse@41652 624 $(eval $(call SetupJavadocGeneration, nashornapi, \
ihse@41652 625 MODULES := jdk.scripting.nashorn, \
ihse@41652 626 PACKAGES := \
ihse@41652 627 jdk.nashorn.api.scripting \
ihse@41652 628 jdk.nashorn.api.tree, \
ihse@41652 629 API_ROOT := jdk, \
ihse@41652 630 DEST_DIR := nashorn, \
ihse@41652 631 TITLE := Nashorn API, \
ihse@41652 632 FIRST_COPYRIGHT_YEAR := 2014, \
ihse@42134 633 SPLIT_INDEX := TRUE, \
ihse@41652 634 ))
ohair@13697 635
ihse@41652 636 TARGETS += $(nashornapi)
ihse@41652 637
ihse@41652 638 ################################################################################
ihse@41652 639
ihse@41652 640 $(eval $(call SetupJavadocGeneration, dynalinkapi, \
ihse@41652 641 MODULES := jdk.dynalink, \
ihse@41652 642 PACKAGES := \
ihse@41652 643 jdk.dynalink \
ihse@41652 644 jdk.dynalink.beans \
ihse@41652 645 jdk.dynalink.linker \
ihse@41652 646 jdk.dynalink.linker.support \
ihse@41652 647 jdk.dynalink.support, \
ihse@41652 648 API_ROOT := jdk, \
ihse@41652 649 DEST_DIR := dynalink, \
ihse@41652 650 TITLE := Dynalink API, \
ihse@41652 651 FIRST_COPYRIGHT_YEAR := 2015, \
ihse@41652 652 ))
ihse@41652 653
ihse@41652 654 TARGETS += $(dynalinkapi)
ihse@41652 655
ihse@41652 656 ################################################################################
ihse@41652 657
ihse@41652 658 $(eval $(call SetupJavadocGeneration, sctp, \
ihse@41652 659 MODULES := jdk.sctp, \
ihse@41652 660 PACKAGES := com.sun.nio.sctp, \
ihse@41652 661 API_ROOT := jre, \
ihse@41652 662 DEST_DIR := nio/sctp/spec, \
ihse@41652 663 TITLE := SCTP API, \
ihse@41652 664 FIRST_COPYRIGHT_YEAR := 2009, \
ihse@41652 665 ))
ihse@41652 666
ihse@41652 667 TARGETS += $(sctp)
ihse@41652 668
ihse@41652 669 ################################################################################
ihse@41652 670
ihse@41652 671 $(eval $(call SetupJavadocGeneration, jaccess, \
ihse@41652 672 MODULES := jdk.accessibility, \
ihse@41652 673 PACKAGES := com.sun.java.accessibility.util, \
ihse@41652 674 API_ROOT := jre, \
ihse@41652 675 DEST_DIR := accessibility/jaccess/spec, \
ihse@41652 676 TITLE := JACCESS API, \
ihse@41652 677 FIRST_COPYRIGHT_YEAR := 2002, \
ihse@41652 678 ))
ihse@41652 679
ihse@41652 680 TARGETS += $(jaccess)
ihse@41652 681
ihse@41652 682 ################################################################################
ihse@41652 683
ihse@41652 684 $(eval $(call SetupJavadocGeneration, jdknet, \
ihse@41652 685 MODULES := jdk.net, \
ihse@41652 686 PACKAGES := jdk.net, \
ihse@41652 687 API_ROOT := jre, \
ihse@41652 688 DEST_DIR := net/socketoptions/spec, \
ihse@41652 689 TITLE := jdk.net API, \
ihse@41652 690 FIRST_COPYRIGHT_YEAR := 2014, \
ihse@42134 691 DISABLED_DOCLINT := missing, \
ihse@41652 692 ))
ihse@41652 693
ihse@41652 694 TARGETS += $(jdknet)
ihse@41652 695
ihse@41652 696 ################################################################################
ihse@41652 697 # Copy JDWP html file
ihse@41652 698
ihse@41652 699 JDWP_HTML := $(SUPPORT_OUTPUTDIR)/gensrc/jdk.jdi/jdwp-protocol.html
ihse@41652 700
ihse@41652 701 $(eval $(call SetupCopyFiles, COPY_JDWP_HTML, \
ihse@41652 702 FILES := $(JDWP_HTML), \
ihse@41652 703 DEST := $(JAVADOC_OUTPUTDIR)/platform/jpda/jdwp, \
ihse@41652 704 ))
ihse@41652 705
ihse@41652 706 COPY_TARGETS += $(COPY_JDWP_HTML)
ihse@41652 707
ihse@41652 708 ################################################################################
ihse@41652 709 # Copy JVMTI html file
ihse@41652 710
erikj@41260 711 # Pick jvmti.html from any jvm variant, they are all the same.
erikj@41260 712 JVMTI_HTML := $(firstword \
erikj@41260 713 $(wildcard $(HOTSPOT_OUTPUTDIR)/variant-*/gensrc/jvmtifiles/jvmti.html))
ohair@13697 714
erikj@41260 715 $(eval $(call SetupCopyFiles, COPY_JVMTI_HTML, \
erikj@41260 716 FILES := $(JVMTI_HTML), \
ihse@41652 717 DEST := $(JAVADOC_OUTPUTDIR)/platform/jvmti, \
erikj@41260 718 ))
ohair@13697 719
ihse@41652 720 COPY_TARGETS += $(COPY_JVMTI_HTML)
ohair@13697 721
ihse@41652 722 ################################################################################
ihse@41652 723 # Optional target which bundles all generated javadocs into a zip archive.
neugens@37034 724
ihse@41652 725 JAVADOC_ARCHIVE_NAME := jdk-$(VERSION_STRING)-docs.zip
ihse@41652 726 JAVADOC_ARCHIVE_ASSEMBLY_DIR := $(SUPPORT_OUTPUTDIR)/docs/zip-docs
ihse@41652 727 JAVADOC_ARCHIVE_DIR := $(OUTPUT_ROOT)/bundles
ihse@41652 728 JAVADOC_ARCHIVE := $(JAVADOC_ARCHIVE_DIR)/$(JAVADOC_ARCHIVE_NAME)
ihse@41652 729
ihse@42135 730 $(JAVADOC_ARCHIVE): $(TARGETS) $(COPY_TARGETS)
neugens@37034 731 $(call LogInfo, Compressing javadoc to single $(JAVADOC_ARCHIVE_NAME))
neugens@37034 732 $(MKDIR) -p $(JAVADOC_ARCHIVE_DIR)
neugens@37034 733 $(RM) -r $(JAVADOC_ARCHIVE_ASSEMBLY_DIR)
neugens@37034 734 $(MKDIR) -p $(JAVADOC_ARCHIVE_ASSEMBLY_DIR)
ihse@41652 735 all_roots=`$(FIND) $(JAVADOC_OUTPUTDIR) | $(GREP) index.html | grep -v old/doclet`; \
neugens@37034 736 pushd $(JAVADOC_ARCHIVE_ASSEMBLY_DIR); \
neugens@37034 737 for index_file in $${all_roots} ; do \
neugens@37034 738 target_dir=`dirname $${index_file}`; \
neugens@37034 739 name=`$(ECHO) $${target_dir} | $(SED) "s;/spec;;" | $(SED) "s;.*/;;"`; \
neugens@37034 740 $(LN) -s $${target_dir} $${name}; \
neugens@37034 741 done; \
ihse@42136 742 $(ZIPEXE) -q -r $(JAVADOC_ARCHIVE) * ; \
neugens@37034 743 popd ;
neugens@37034 744
ihse@41652 745 ZIP_TARGETS += $(JAVADOC_ARCHIVE)
erikj@39384 746
erikj@39384 747 ################################################################################
mchung@44397 748 # generate .dot files for module graphs
mchung@44397 749
mchung@44397 750 JAVADOC_MODULE_GRAPHS_DIR := $(SUPPORT_OUTPUTDIR)/docs/module-graphs
mchung@44397 751 JAVADOC_MODULE_GRAPHS := $(JAVADOC_MODULE_GRAPHS_DIR)/java.se.dot
mchung@44397 752 JAVADOC_MODULE_GRAPHS_PROPS := $(JDK_TOPDIR)/make/src/classes/build/tools/jigsaw/javadoc-graphs.properties
mchung@44397 753
mchung@44397 754 $(JAVADOC_MODULE_GRAPHS): $(BUILD_JIGSAW_TOOLS) $(JAVADOC_MODULE_GRAPHS_PROPS)
mchung@44397 755 $(MKDIR) -p $(@D)
mchung@44397 756 $(TOOL_GENGRAPHS) --spec --output $(JAVADOC_MODULE_GRAPHS_DIR) \
mchung@44397 757 --dot-attributes $(JAVADOC_MODULE_GRAPHS_PROPS)
mchung@44397 758
mchung@44397 759 MODULE_GRAPH_TARGETS += $(JAVADOC_MODULE_GRAPHS)
mchung@44397 760
mchung@44397 761 ################################################################################
erikj@39384 762
ihse@41652 763 # Hook to include the corresponding custom file, if present.
ihse@41652 764 $(eval $(call IncludeCustomExtension, , Javadoc.gmk))
ihse@41652 765
ihse@41652 766 ################################################################################
ihse@41652 767
mchung@44397 768 docs-module-graphs: $(MODULE_GRAPH_TARGETS)
mchung@44397 769
chegar@43781 770 docs-javadoc: $(TARGETS)
ihse@41652 771
ihse@41652 772 docs-copy: $(COPY_TARGETS)
ihse@41652 773
ihse@41652 774 docs-zip: $(ZIP_TARGETS)
ihse@41652 775
mchung@44397 776 all: docs-module-graphs docs-javadoc docs-copy docs-zip
ihse@41652 777
mchung@44397 778 .PHONY: default all docs-module-graphs docs-javadoc docs-copy docs-zip