# Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License version 2 only, as # published by the Free Software Foundation. Oracle designates this # particular file as subject to the "Classpath" exception as provided # by Oracle in the LICENSE file that accompanied this code. # # This code is distributed in the hope that it will be useful, but WITHOUT # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License # version 2 for more details (a copy is included in the LICENSE file that # accompanied this code). # # You should have received a copy of the GNU General Public License version # 2 along with this work; if not, write to the Free Software Foundation, # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. # # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA # or visit www.oracle.com if you need additional information or have any # questions. # default: all include $(SPEC) include MakeBase.gmk ################################################################################ # List of all possible directories for javadoc to look for sources # Allow custom to overwrite. JAVADOC_SOURCE_DIRS = \ $(SUPPORT_OUTPUTDIR)/gensrc/* \ $(if $(IMPORT_MODULES_SRC), $(IMPORT_MODULES_SRC)/*) \ $(JDK_TOPDIR)/src/*/$(OPENJDK_TARGET_OS)/classes \ $(JDK_TOPDIR)/src/*/$(OPENJDK_TARGET_OS_TYPE)/classes \ $(JDK_TOPDIR)/src/*/share/classes \ $(HOTSPOT_TOPDIR)/src/*/share/classes \ $(LANGTOOLS_TOPDIR)/src/*/share/classes \ $(NASHORN_TOPDIR)/src/*/share/classes \ $(CORBA_TOPDIR)/src/*/share/classes \ $(JAXP_TOPDIR)/src/*/share/classes \ $(JAXWS_TOPDIR)/src/*/share/classes \ $(SUPPORT_OUTPUTDIR)/rmic/* \ $(JDK_TOPDIR)/src/*/share/doc/stub \ # # Should we use -Xdocrootparent? Allow custom to overwrite. DOCROOTPARENT_FLAG = TRUE # The core api index file is the target for the core api javadocs rule # and needs to be defined early so that all other javadoc rules may # depend on it. CORE_INDEX_FILE := $(JAVADOC_OUTPUTDIR)/api/index.html # URLs JAVADOC_BASE_URL := http://docs.oracle.com/javase/$(VERSION_SPECIFICATION)/docs BUG_SUBMIT_URL := http://bugreport.java.com/bugreport/ ################################################################################ # Text snippets FULL_COMPANY_NAME := Oracle and/or its affiliates COMPANY_ADDRESS := 500 Oracle Parkway
Redwood Shores, CA 94065 USA BUG_SUBMIT_LINE := Submit a bug or feature COMMON_BOTTOM_TEXT := $(BUG_SUBMIT_LINE)
Java is a trademark or registered \ trademark of $(FULL_COMPANY_NAME) in the US and other countries. CORE_BOTTOM_COPYRIGHT_URL := {@docroot}/../legal/cpyr.html CORE_BOTTOM_TEXT := $(BUG_SUBMIT_LINE) \
For further API reference and developer documentation, see \ Java SE \ Documentation. That documentation contains more detailed, \ developer-targeted descriptions, with conceptual overviews, definitions of \ terms, workarounds, and working code examples. ifeq ($(VERSION_IS_GA), true) DRAFT_HEADER := DRAFT_BOTTOM := DRAFT_WINTITLE := CORE_TOP_EARLYACCESS := else # We need a draft format when not building the GA version. DRAFT_HEADER :=
DRAFT $(VERSION_STRING) DRAFT_BOTTOM :=
DRAFT $(VERSION_STRING) ifeq ($(VERSION_BUILD), 0) DRAFT_WINTITLE := [ad-hoc build] else DRAFT_WINTITLE := [build $(VERSION_BUILD)] endif CORE_TOP_EARLYACCESS := \
\
\ Please note that the specifications and other information contained herein are \ not final and are subject to change. The information is being made available \ to you solely for purpose of evaluation.
endif ################################################################################ # Support functions for SetupJavadocGeneration # Print an option line to the target file # Arguments: # arg 1: the option name # arg 2-3: optional arguments to the option define AddOption $(PRINTF) "%s$(if $(strip $2), '%s',)$(if $(strip $3), '%s',)\n" \ "$(strip $1)"$(if $(strip $2), '$(strip $2)',)$(if $(strip $3), \ '$(strip $3)',) >> $@ endef # This function goes to great pains to exactly mimic the old behavior # in all details, including whitespace. # Note that COPYRIGHT_YEAR is the current year (from spec.gmk) # Arguments: # arg 1: first copyright year # arg 2: copyright url (optional) # arg 3: free-form text snippet (optional) define GenerateBottom $(if $(strip $3), $(strip $3))
$(if \ $(strip $2),Copyright,Copyright) \ © $(strip $1), $(COPYRIGHT_YEAR), $(FULL_COMPANY_NAME). \ $(COMPANY_ADDRESS). All rights reserved.
endef # Speed up finding by filling cache $(eval $(call FillCacheFind, $(wildcard $(JAVADOC_SOURCE_DIRS)))) ################################################################################ # Setup make rules for running javadoc. # # Parameter 1 is the name of the rule. This name is used as variable prefix, # and the targets generated are listed in a variable by that name. Note that # the index.html file will work as a "touch file" for all the magnitude of # files that are generated by javadoc. # # Remaining parameters are named arguments. These include: # MODULES - Modules to include # PACKAGES - Packages to include # IS_CORE - Set to TRUE for the Core API package which needs special treatment # API_ROOT - Where to base the documentation (jre or jdk) # DEST_DIR - A directory relative to the API root # OVERVIEW - Path to a html overview file # TITLE - Default title to use for the more specific versions below # WINDOW_TITLE - Title to use in -windowtitle. Computed from TITLE if empty. # HEADER_TITLE - Title to use in -header. Computed from TITLE if empty. # DOC_TITLE - Title to use in -doctitle. Computed from TITLE if empty. # FIRST_COPYRIGHT_YEAR - First year this bundle was introduced # DISABLED_DOCLINT - Doclint warnings to exclude. # DOCLINT_PACKAGES - Optional -Xdoclint/package value # SPLIT_INDEX - Enable -splitIndex (split index-all.html if it is too large) # BOTTOM_COPYRIGHT_URL - Copyright URL to use in -bottom # BOTTOM_TEXT - Extra text to use in -bottom # EXTRA_TOP - Additional -top data # SetupJavadocGeneration = $(NamedParamsMacroTemplate) define SetupJavadocGenerationBody ifeq ($$($1_IS_CORE), TRUE) $1_JAVA := $$(JAVA) $1_OUTPUT_DIRNAME := api else $1_JAVA := $$(JAVA_SMALL) $1_OUTPUT_DIRNAME := $$($1_API_ROOT)/api/$$($1_DEST_DIR) # Compute a relative path to core root. # The non-core api javadocs need to be able to access the root of the core # api directory, so for jdk/api or jre/api to get to the core api/ # directory we would use this $1_RELATIVE_CORE_DIR := $$(strip $$(subst $$(call DirToDotDot, \ $$(JAVADOC_OUTPUTDIR))/,, $$(call DirToDotDot, \ $$(JAVADOC_OUTPUTDIR)/$$($1_OUTPUT_DIRNAME)))) $1_DEPS += $(CORE_INDEX_FILE) endif ifneq ($$($1_OVERVIEW), ) $1_DEPS += $$($1_OVERVIEW) endif ifeq ($$($1_DISABLED_DOCLINT), ) $1_DOCLINT := all else # Create a string like "all,-syntax,-html" $1_DOCLINT := all,$$(call CommaList, $$(addprefix -, $$($1_DISABLED_DOCLINT))) endif ifeq ($$($1_DOC_TITLE), ) $1_DOC_TITLE := $$($1_TITLE) endif ifeq ($$($1_WINDOW_TITLE), ) $1_WINDOW_TITLE := $$(strip $$(subst ™,, $$($1_TITLE))) endif ifeq ($$($1_HEADER_TITLE), ) $1_HEADER_TITLE := $$(strip $$(subst ™,, $$($1_TITLE))) endif $1_HEADER := $$($1_HEADER_TITLE) ifeq ($$($1_BOTTOM_TEXT), ) $1_BOTTOM_TEXT := $(COMMON_BOTTOM_TEXT) endif $1_BOTTOM := $$(call GenerateBottom, $$($1_FIRST_COPYRIGHT_YEAR), \ $$($1_BOTTOM_COPYRIGHT_URL), $$($1_BOTTOM_TEXT)) # The index.html, options, and packages files $1_INDEX_FILE := $$(JAVADOC_OUTPUTDIR)/$$($1_OUTPUT_DIRNAME)/index.html $1_OPTIONS_FILE := $$(SUPPORT_OUTPUTDIR)/docs/$1.options $1_PACKAGES_FILE := $$(SUPPORT_OUTPUTDIR)/docs/$1.packages $1_PACKAGES_VARDEPS := $$($1_PACKAGES) $1_PACKAGES_VARDEPS_FILE := $$(call DependOnVariable, $1_PACKAGES_VARDEPS, \ $$($1_PACKAGES_FILE).vardeps) # Rule for creating a file with the package names in it $$($1_PACKAGES_FILE): $$($1_PACKAGES_VARDEPS_FILE) $$(call LogInfo, Creating Javadoc package file for $1) $$(call MakeDir, $$(@D)) $$(ECHO) $$($1_PACKAGES) | $$(TR) ' ' '\n' > $$@ $1_OPTIONS_VARDEPS := $$($1_EXTRA_TOP) \ $$($DOCROOTPARENT_FLAG) $$(JAVADOC_BASE_URL) $$($1_DISABLED_DOCLINT) \ $$($1_DOCLINT_PACKAGES) $$(JAVADOC_SOURCE_DIRS) $$($1_MODULES) \ $$($1_SPLIT_INDEX) $$($1_OVERVIEW) $$($1_DOC_TITLE) $$($1_WINDOW_TITLE) \ $$(DRAFT_WINTITLE) $$($1_HEADER) $$(DRAFT_HEADER) $$($1_BOTTOM) \ $$(DRAFT_BOTTOM)) $$($1_RELATIVE_CORE_DIR) $$(JAVADOC_OUTPUTDIR) $1_OPTIONS_VARDEPS_FILE := $$(call DependOnVariable, $1_OPTIONS_VARDEPS, \ $$($1_OPTIONS_FILE).vardeps) # Rule for creating a file with javadoc options in it $$($1_OPTIONS_FILE): $$($1_OPTIONS_VARDEPS_FILE) $$(call LogInfo, Creating Javadoc options file for $1) $$(call MakeDir, $$(@D)) $$(RM) $$@ $$(call AddOption, -XDignore.symbol.file=true) ifneq ($$(LOG_LEVEL), trace) $$(call AddOption, -quiet) endif $$(call AddOption, -use) $$(call AddOption, -keywords) ifneq ($$($DOCROOTPARENT_FLAG), ) $$(call AddOption, -Xdocrootparent, $(JAVADOC_BASE_URL)) endif # In order to get a specific ordering it's necessary to specify the total # ordering of tags as the tags are otherwise ordered in order of definition. $$(call AddOption, -tag, beaninfo:X) $$(call AddOption, -tag, revised:X) $$(call AddOption, -tag, since.unbundled:X) $$(call AddOption, -tag, spec:X) $$(call AddOption, -tag, specdefault:X) $$(call AddOption, -tag, Note:X) $$(call AddOption, -tag, ToDo:X) $$(call AddOption, -tag, apiNote:a:API Note:) $$(call AddOption, -tag, implSpec:a:Implementation Requirements:) $$(call AddOption, -tag, implNote:a:Implementation Note:) $$(call AddOption, -tag, param) $$(call AddOption, -tag, return) $$(call AddOption, -tag, throws) $$(call AddOption, -tag, since) $$(call AddOption, -tag, version) $$(call AddOption, -tag, serialData) $$(call AddOption, -tag, factory) $$(call AddOption, -tag, see) $$(call AddOption, -tag, \ jvms:a:See The Java™ Virtual Machine Specification:) $$(call AddOption, -tag, \ jls:a:See The Java™ Language Specification:) $$(call AddOption, -Xdoclint:$$($1_DOCLINT)) ifneq ($$($1_DOCLINT_PACKAGES), ) $$(call AddOption, -Xdoclint/package:$$(call CommaList, $$($1_DOCLINT_PACKAGES))) endif $$(call AddOption, --system, none) $$(call AddOption, --module-source-path, $$(subst ",, $$(call PathList, $$(JAVADOC_SOURCE_DIRS)))) $$(call AddOption, --add-modules, $$(call CommaList, $$($1_MODULES))) $$(call AddOption, -encoding, ISO-8859-1) $$(call AddOption, -breakiterator) $$(call AddOption, -serialwarn) $$(call AddOption, -notimestamp) ifneq ($$($1_SPLIT_INDEX), ) $$(call AddOption, -splitIndex) endif ifneq ($$($1_OVERVIEW), ) $$(call AddOption, -overview, $$($1_OVERVIEW)) endif $$(call AddOption, -doctitle, $$($1_DOC_TITLE)) $$(call AddOption, -windowtitle, $$($1_WINDOW_TITLE) $$(DRAFT_WINTITLE)) $$(call AddOption, -header, $$($1_HEADER)$$(DRAFT_HEADER)) $$(call AddOption, -bottom, $$($1_BOTTOM)$$(DRAFT_BOTTOM)) ifneq ($$($1_RELATIVE_CORE_DIR), ) $$(call AddOption, -linkoffline, $$($1_RELATIVE_CORE_DIR)/api, $$(JAVADOC_OUTPUTDIR)/api/) endif ifneq ($$($1_EXTRA_TOP), ) $$(call AddOption, -top, $$($1_EXTRA_TOP)) endif $1_PACKAGE_DEPS := $$(call CacheFind, $$(wildcard $$(foreach p, \ $$(subst .,/,$$(strip $$($1_PACKAGES))), \ $$(addsuffix /$$p, $$(wildcard $$(JAVADOC_SOURCE_DIRS)))))) # Rule for actually running javadoc $$($1_INDEX_FILE): $$($1_OPTIONS_FILE) $$($1_PACKAGES_FILE) \ $$($1_PACKAGE_DEPS) $$($1_DEPS) $$(call LogWarn, Generating Javadoc for $$($1_OUTPUT_DIRNAME)) $$(call MakeDir, $$(@D)) ifneq ($$(findstring $$(LOG_LEVEL), debug trace),) $$(ECHO) "Contents of $$($1_OPTIONS_FILE):" `$$(CAT) $$($1_OPTIONS_FILE)` $$(ECHO) "Contents of $$($1_PACKAGES_FILE):" `$$(CAT) $$($1_PACKAGES_FILE)` endif $$(call ExecuteWithLog, $$(SUPPORT_OUTPUTDIR)/docs/$1.javadoc, \ $$($1_JAVA) -Djava.awt.headless=true $(NEW_JAVADOC) -d $$(@D) \ @$$($1_OPTIONS_FILE) @$$($1_PACKAGES_FILE)) $$(TOUCH) $$($1_INDEX_FILE) # The output returned will be the index.html file $1 := $$($1_INDEX_FILE) endef ################################################################################ # Core packages are all packages beginning with java, javax or org, except a few # excludes. ALL_PKG_DIRS := $(dir $(filter %.java, $(call CacheFind, \ $(wildcard $(JAVADOC_SOURCE_DIRS))))) ALL_SRC_PREFIXES := $(addsuffix /%, $(wildcard $(JAVADOC_SOURCE_DIRS))) ALL_PKG_DIRNAMES := $(foreach prefix, $(ALL_SRC_PREFIXES), \ $(patsubst $(prefix),%, $(filter $(prefix), $(ALL_PKG_DIRS)))) ALL_PACKAGES := $(sort $(subst /,., $(patsubst %/, %, $(ALL_PKG_DIRNAMES)))) JAVA_PACKAGES := $(filter java.%, $(ALL_PACKAGES)) JAVAX_PACKAGES := $(filter javax.%, $(ALL_PACKAGES)) ORG_PACKAGES := $(filter org.%, $(ALL_PACKAGES)) # Allow custom makefile to add more excluded packages CORE_EXCLUDED_PACKAGES += \ java.awt.dnd.peer \ java.awt.peer \ javax.smartcardio \ org.jcp.xml.dsig.internal% \ org.w3c.dom.css \ org.w3c.dom.html \ org.w3c.dom.stylesheets \ org.w3c.dom.xpath \ # CORE_PACKAGES := $(filter-out $(CORE_EXCLUDED_PACKAGES), \ $(JAVA_PACKAGES) $(JAVAX_PACKAGES) $(ORG_PACKAGES)) $(eval $(call SetupJavadocGeneration, coredocs, \ MODULES := java.se.ee, \ PACKAGES := $(CORE_PACKAGES), \ IS_CORE := TRUE, \ OVERVIEW := $(JDK_TOPDIR)/src/java.base/share/classes/overview-core.html, \ WINDOW_TITLE := Java Platform SE $(VERSION_SPECIFICATION), \ HEADER_TITLE := Java™ Platform
Standard Ed. $(VERSION_SPECIFICATION), \ DOC_TITLE := Java™ Platform$(COMMA) Standard Edition \ $(VERSION_SPECIFICATION)
API Specification, \ FIRST_COPYRIGHT_YEAR := 1993, \ DISABLED_DOCLINT := accessibility html missing syntax, \ DOCLINT_PACKAGES := -org.omg.* jdk.internal.logging.*, \ SPLIT_INDEX := TRUE, \ BOTTOM_COPYRIGHT_URL := $(CORE_BOTTOM_COPYRIGHT_URL), \ BOTTOM_TEXT := $(CORE_BOTTOM_TEXT), \ EXTRA_TOP := $(CORE_TOP_EARLYACCESS), \ )) TARGETS += $(coredocs) ################################################################################ $(eval $(call SetupJavadocGeneration, docletapi, \ MODULES := jdk.javadoc, \ PACKAGES := \ jdk.javadoc.doclet \ jdk.javadoc.doclet.taglet \ jdk.javadoc.doclets, \ API_ROOT := jdk, \ DEST_DIR := javadoc/doclet, \ TITLE := Doclet API, \ FIRST_COPYRIGHT_YEAR := 1993, \ )) TARGETS += $(docletapi) ################################################################################ $(eval $(call SetupJavadocGeneration, old-docletapi, \ MODULES := jdk.javadoc, \ PACKAGES := com.sun.javadoc, \ API_ROOT := jdk, \ DEST_DIR := javadoc/old/doclet, \ TITLE := Doclet API, \ FIRST_COPYRIGHT_YEAR := 1993, \ )) TARGETS += $(old-docletapi) ################################################################################ $(eval $(call SetupJavadocGeneration, tagletapi, \ MODULES := jdk.javadoc, \ PACKAGES := com.sun.tools.doclets, \ API_ROOT := jdk, \ DEST_DIR := javadoc/old/taglet, \ TITLE := Taglet API, \ FIRST_COPYRIGHT_YEAR := 1993, \ )) TARGETS += $(tagletapi) ################################################################################ $(eval $(call SetupJavadocGeneration, domapi, \ MODULES := \ java.xml \ jdk.xml.dom, \ PACKAGES := \ org.w3c.dom \ org.w3c.dom.bootstrap \ org.w3c.dom.ls \ org.w3c.dom.ranges \ org.w3c.dom.traversal \ org.w3c.dom.html \ org.w3c.dom.stylesheets \ org.w3c.dom.css \ org.w3c.dom.events \ org.w3c.dom.views, \ API_ROOT := jre, \ DEST_DIR := plugin/dom, \ TITLE := Common DOM API, \ FIRST_COPYRIGHT_YEAR := 2005, \ DISABLED_DOCLINT := accessibility html missing, \ SPLIT_INDEX := TRUE, \ )) TARGETS += $(domapi) ################################################################################ $(eval $(call SetupJavadocGeneration, jdi, \ MODULES := jdk.jdi, \ PACKAGES := \ com.sun.jdi \ com.sun.jdi.event \ com.sun.jdi.request \ com.sun.jdi.connect \ com.sun.jdi.connect.spi, \ API_ROOT := jdk, \ DEST_DIR := jpda/jdi, \ OVERVIEW := $(JDK_TOPDIR)/src/jdk.jdi/share/classes/jdi-overview.html, \ TITLE := Java™ Debug Interface, \ FIRST_COPYRIGHT_YEAR := 1999, \ DISABLED_DOCLINT := accessibility missing syntax, \ SPLIT_INDEX := TRUE, \ )) TARGETS += $(jdi) ################################################################################ $(eval $(call SetupJavadocGeneration, jaas, \ MODULES := jdk.security.auth, \ PACKAGES := \ com.sun.security.auth \ com.sun.security.auth.callback \ com.sun.security.auth.login \ com.sun.security.auth.module, \ API_ROOT := jre, \ DEST_DIR := security/jaas/spec, \ OVERVIEW := $(JDK_TOPDIR)/src/jdk.security.auth/share/classes/jaas-overview.html, \ TITLE := Java™ Authentication and Authorization Service, \ FIRST_COPYRIGHT_YEAR := 1998, \ DISABLED_DOCLINT := missing, \ )) TARGETS += $(jaas) ################################################################################ $(eval $(call SetupJavadocGeneration, jgss, \ MODULES := jdk.security.jgss, \ PACKAGES := com.sun.security.jgss, \ API_ROOT := jre, \ DEST_DIR := security/jgss/spec, \ OVERVIEW := $(JDK_TOPDIR)/src/java.security.jgss/share/classes/jgss-overview.html, \ TITLE := Java™ GSS-API Utilities, \ FIRST_COPYRIGHT_YEAR := 2000, \ )) TARGETS += $(jgss) ################################################################################ $(eval $(call SetupJavadocGeneration, smartcardio, \ MODULES := java.smartcardio, \ PACKAGES := javax.smartcardio, \ API_ROOT := jre, \ DEST_DIR := security/smartcardio/spec, \ TITLE := Java™ Smart Card I/O, \ FIRST_COPYRIGHT_YEAR := 2005, \ )) TARGETS += $(smartcardio) ################################################################################ $(eval $(call SetupJavadocGeneration, httpserver, \ MODULES := jdk.httpserver, \ PACKAGES := \ com.sun.net.httpserver \ com.sun.net.httpserver.spi, \ API_ROOT := jre, \ DEST_DIR := net/httpserver/spec, \ TITLE := Java™ HTTP Server, \ FIRST_COPYRIGHT_YEAR := 2005, \ DISABLED_DOCLINT := accessibility missing syntax, \ )) TARGETS += $(httpserver) ################################################################################ $(eval $(call SetupJavadocGeneration, jsobject, \ MODULES := jdk.jsobject, \ PACKAGES := netscape.javascript, \ API_ROOT := jre, \ DEST_DIR := plugin/jsobject, \ FIRST_COPYRIGHT_YEAR := 1993, \ TITLE := Java™ JSObject Doc, \ )) TARGETS += $(jsobject) ################################################################################ $(eval $(call SetupJavadocGeneration, mgmt, \ MODULES := jdk.management, \ PACKAGES := com.sun.management, \ API_ROOT := jre, \ DEST_DIR := management/extension, \ OVERVIEW := $(JDK_TOPDIR)/src/java.management/share/classes/mgmt-overview.html, \ TITLE := Monitoring and Management Interface for the Java™ Platform, \ FIRST_COPYRIGHT_YEAR := 2003, \ DISABLED_DOCLINT := accessibility missing reference, \ )) TARGETS += $(mgmt) ################################################################################ $(eval $(call SetupJavadocGeneration, attach, \ MODULES := jdk.attach, \ PACKAGES := \ com.sun.tools.attach \ com.sun.tools.attach.spi, \ API_ROOT := jdk, \ DEST_DIR := attach/spec, \ TITLE := Attach API, \ FIRST_COPYRIGHT_YEAR := 2005, \ DISABLED_DOCLINT := reference, \ )) TARGETS += $(attach) ################################################################################ $(eval $(call SetupJavadocGeneration, jconsole, \ MODULES := jdk.jconsole, \ PACKAGES := com.sun.tools.jconsole, \ API_ROOT := jdk, \ DEST_DIR := jconsole/spec, \ TITLE := JConsole API, \ FIRST_COPYRIGHT_YEAR := 2006, \ )) TARGETS += $(jconsole) ################################################################################ $(eval $(call SetupJavadocGeneration, jshellapi, \ MODULES := jdk.jshell, \ PACKAGES := \ jdk.jshell \ jdk.jshell.spi \ jdk.jshell.execution, \ API_ROOT := jdk, \ DEST_DIR := jshell, \ OVERVIEW := $(LANGTOOLS_TOPDIR)/src/jdk.jshell/share/classes/jdk/jshell/overview.html, \ TITLE := JShell API, \ FIRST_COPYRIGHT_YEAR := 2015, \ )) TARGETS += $(jshellapi) ################################################################################ $(eval $(call SetupJavadocGeneration, treeapi, \ MODULES := jdk.compiler, \ PACKAGES := \ com.sun.source.doctree \ com.sun.source.tree \ com.sun.source.util, \ API_ROOT := jdk, \ DEST_DIR := javac/tree, \ TITLE := Compiler Tree API, \ FIRST_COPYRIGHT_YEAR := 2005, \ SPLIT_INDEX := TRUE, \ )) TARGETS += $(treeapi) ################################################################################ $(eval $(call SetupJavadocGeneration, nashornapi, \ MODULES := jdk.scripting.nashorn, \ PACKAGES := \ jdk.nashorn.api.scripting \ jdk.nashorn.api.tree, \ API_ROOT := jdk, \ DEST_DIR := nashorn, \ TITLE := Nashorn API, \ FIRST_COPYRIGHT_YEAR := 2014, \ SPLIT_INDEX := TRUE, \ )) TARGETS += $(nashornapi) ################################################################################ $(eval $(call SetupJavadocGeneration, dynalinkapi, \ MODULES := jdk.dynalink, \ PACKAGES := \ jdk.dynalink \ jdk.dynalink.beans \ jdk.dynalink.linker \ jdk.dynalink.linker.support \ jdk.dynalink.support, \ API_ROOT := jdk, \ DEST_DIR := dynalink, \ TITLE := Dynalink API, \ FIRST_COPYRIGHT_YEAR := 2015, \ )) TARGETS += $(dynalinkapi) ################################################################################ $(eval $(call SetupJavadocGeneration, sctp, \ MODULES := jdk.sctp, \ PACKAGES := com.sun.nio.sctp, \ API_ROOT := jre, \ DEST_DIR := nio/sctp/spec, \ TITLE := SCTP API, \ FIRST_COPYRIGHT_YEAR := 2009, \ )) TARGETS += $(sctp) ################################################################################ $(eval $(call SetupJavadocGeneration, jaccess, \ MODULES := jdk.accessibility, \ PACKAGES := com.sun.java.accessibility.util, \ API_ROOT := jre, \ DEST_DIR := accessibility/jaccess/spec, \ TITLE := JACCESS API, \ FIRST_COPYRIGHT_YEAR := 2002, \ )) TARGETS += $(jaccess) ################################################################################ $(eval $(call SetupJavadocGeneration, jdknet, \ MODULES := jdk.net, \ PACKAGES := jdk.net, \ API_ROOT := jre, \ DEST_DIR := net/socketoptions/spec, \ TITLE := jdk.net API, \ FIRST_COPYRIGHT_YEAR := 2014, \ DISABLED_DOCLINT := missing, \ )) TARGETS += $(jdknet) ################################################################################ # TODO: Need to decide when the plugin API is ready to publish as experimental API. # This target is temporarily added for internal use for now. $(eval $(call SetupJavadocGeneration, jlinkplugins, \ MODULES := jdk.jlink, \ PACKAGES := jdk.tools.jlink.plugin, \ API_ROOT := jdk, \ DEST_DIR := jlink, \ TITLE := JLink Plugin API - EXPERIMENTAL, \ FIRST_COPYRIGHT_YEAR := 2015, \ DISABLED_DOCLINT := html missing syntax, \ )) TARGETS += $(jlinkplugins) ################################################################################ # Copy JDWP html file JDWP_HTML := $(SUPPORT_OUTPUTDIR)/gensrc/jdk.jdi/jdwp-protocol.html $(eval $(call SetupCopyFiles, COPY_JDWP_HTML, \ FILES := $(JDWP_HTML), \ DEST := $(JAVADOC_OUTPUTDIR)/platform/jpda/jdwp, \ )) COPY_TARGETS += $(COPY_JDWP_HTML) ################################################################################ # Copy JVMTI html file # Pick jvmti.html from any jvm variant, they are all the same. JVMTI_HTML := $(firstword \ $(wildcard $(HOTSPOT_OUTPUTDIR)/variant-*/gensrc/jvmtifiles/jvmti.html)) $(eval $(call SetupCopyFiles, COPY_JVMTI_HTML, \ FILES := $(JVMTI_HTML), \ DEST := $(JAVADOC_OUTPUTDIR)/platform/jvmti, \ )) COPY_TARGETS += $(COPY_JVMTI_HTML) ################################################################################ # Optional target which bundles all generated javadocs into a zip archive. # The dependency on docs is handled in Main.gmk. # Add the core docs as prerequisite to the archive to trigger a rebuild # if the core docs were rebuilt. Ideally any doc rebuild should trigger # this, but the way prerequisites are currently setup in this file, that # is hard to achieve. JAVADOC_ARCHIVE_NAME := jdk-$(VERSION_STRING)-docs.zip JAVADOC_ARCHIVE_ASSEMBLY_DIR := $(SUPPORT_OUTPUTDIR)/docs/zip-docs JAVADOC_ARCHIVE_DIR := $(OUTPUT_ROOT)/bundles JAVADOC_ARCHIVE := $(JAVADOC_ARCHIVE_DIR)/$(JAVADOC_ARCHIVE_NAME) $(JAVADOC_ARCHIVE): $(CORE_INDEX_FILE) $(call LogInfo, Compressing javadoc to single $(JAVADOC_ARCHIVE_NAME)) $(MKDIR) -p $(JAVADOC_ARCHIVE_DIR) $(RM) -r $(JAVADOC_ARCHIVE_ASSEMBLY_DIR) $(MKDIR) -p $(JAVADOC_ARCHIVE_ASSEMBLY_DIR) all_roots=`$(FIND) $(JAVADOC_OUTPUTDIR) | $(GREP) index.html | grep -v old/doclet`; \ pushd $(JAVADOC_ARCHIVE_ASSEMBLY_DIR); \ for index_file in $${all_roots} ; do \ target_dir=`dirname $${index_file}`; \ name=`$(ECHO) $${target_dir} | $(SED) "s;/spec;;" | $(SED) "s;.*/;;"`; \ $(LN) -s $${target_dir} $${name}; \ done; \ $(ZIP) -q -r $(JAVADOC_ARCHIVE) * ; \ popd ; ZIP_TARGETS += $(JAVADOC_ARCHIVE) ################################################################################ # Hook to include the corresponding custom file, if present. $(eval $(call IncludeCustomExtension, , Javadoc.gmk)) ################################################################################ docs-javadoc: $(TARGETS) docs-copy: $(COPY_TARGETS) docs-zip: $(ZIP_TARGETS) all: docs-javadoc docs-copy docs-zip .PHONY: default all docs-javadoc docs-copy docs-zip