8062030: Nashorn bug retrieving array property after key string concatenation
Reviewed-by: sundar, lagergren, attila
# Copyright (c) 1997, 2014, 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.
#
include $(SPEC)
include MakeBase.gmk
#################################################################
#
# CORE_PKGS environment variable has been moved to the following file
#
include CORE_PKGS.gmk
#
# Load environment variables for API package names that are not part of
# the Java SE platform
#
include NON_CORE_PKGS.gmk
.SUFFIXES: # Delete the default suffixes
.SUFFIXES: .java
#
# Definitions for directories
#
DOCSDIR := $(IMAGES_OUTPUTDIR)/docs
DOCSTMPDIR = $(SUPPORT_OUTPUTDIR)/docs
HOTSPOT_DOCS_IMPORT_PATH=$(HOTSPOT_OUTPUTDIR)/docs
BUILD_NUMBER=$(JDK_BUILD_NUMBER)
JAVADOC_CMD = $(JAVA) \
-Djava.awt.headless=true \
$(NEW_JAVADOC) \
-bootclasspath $(JDK_OUTPUTDIR)/classes
# Copyright year for beginning of Java and some of the apis
# (Needed when creating the javadocs)
FIRST_COPYRIGHT_YEAR = 1993
DOMAPI_FIRST_COPYRIGHT_YEAR = 2005
MIRROR_FIRST_COPYRIGHT_YEAR = 2004
DOCLETAPI_FIRST_COPYRIGHT_YEAR = 1993
TAGLETAPI_FIRST_COPYRIGHT_YEAR = 1993
JDI_FIRST_COPYRIGHT_YEAR = 1999
JAAS_FIRST_COPYRIGHT_YEAR = 1998
JGSS_FIRST_COPYRIGHT_YEAR = 2000
SMARTCARDIO_FIRST_COPYRIGHT_YEAR = 2005
HTTPSERVER_FIRST_COPYRIGHT_YEAR = 2005
MGMT_FIRST_COPYRIGHT_YEAR = 2003
ATTACH_FIRST_COPYRIGHT_YEAR = 2005
JCONSOLE_FIRST_COPYRIGHT_YEAR = 2006
SCTPAPI_FIRST_COPYRIGHT_YEAR = 2009
TRACING_FIRST_COPYRIGHT_YEAR = 2008
TREEAPI_FIRST_COPYRIGHT_YEAR = 2005
NASHORNAPI_FIRST_COPYRIGHT_YEAR = 2014
JNLP_FIRST_COPYRIGHT_YEAR = 1998
PLUGIN2_FIRST_COPYRIGHT_YEAR = 2007
JDKNET_FIRST_COPYRIGHT_YEAR = 2014
# Oracle name
FULL_COMPANY_NAME = Oracle and/or its affiliates
# Copyright address
COMPANY_ADDRESS = 500 Oracle Parkway<br>Redwood Shores, CA 94065 USA.
# The trademark symbol
TRADEMARK = ™
# Common copyright lines used
# The word "Copyright" might optionally be a link to the file cpyr.html.
# The first year of copyright may vary or not be available.
# The address to the company might be optional.
COMMA:= ,
EMPTY:=
SPACE:=$(EMPTY) $(EMPTY)
COPYRIGHT_SYMBOL = &\#x00a9;
# Macro to construct the copyright line
# (The GNU make 3.78.1 "if" conditional is broken, fixed in GNU make 3.81)
define CopyrightLine # optionalurl optionalfirstyear optionaladdress
$(if $(strip $1),<a href="$(strip $1)">Copyright</a>,Copyright) \
$(COPYRIGHT_SYMBOL) $(if $2,$2${COMMA},) $(COPYRIGHT_YEAR),\
$(FULL_COMPANY_NAME). $3 All rights reserved.
endef
# Url to root of documents
DOCSDIR_URL = {@docroot}/$(GET2DOCSDIR)
# Url to copyright html file
COPYRIGHT_URL = $(DOCSDIR_URL)/legal/cpyr.html
# Url to bug filing site
BUG_SUBMIT_URL = http://bugreport.java.com/bugreport/
# Common line for how to submit a bug or rfe
BUG_SUBMIT_LINE = <a href="$(BUG_SUBMIT_URL)">Submit a bug or feature</a>
# Url to devdocs page
# Was: http://java.sun.com/javase/6/webnotes/devdocs-vs-specs.html
DEV_DOCS_URL-7 = http://download.oracle.com/javase/7/docs/index.html
DEV_DOCS_URL-8 = http://download.oracle.com/javase/8/docs/index.html
DEV_DOCS_URL = $(DEV_DOCS_URL-$(JDK_MINOR_VERSION))
DOCS_BASE_URL = http://download.oracle.com/javase/7/docs
# Common Java trademark line
JAVA_TRADEMARK_LINE = Java is a trademark or registered trademark of \
$(FULL_COMPANY_NAME) in the US and other countries.
#################################################################
# Macros:
# List of all possible directories for javadoc to look for sources
# NOTE: Quotes are required around sourcepath argument only on Windows.
# Otherwise, you get "No packages or classes specified." due
# to $(PATH_SEP) being interpreted as an end of
# command (newline or shell ; character)
ALL_SOURCE_DIRS := $(wildcard \
$(JDK_TOPDIR)/src/*/share/classes \
$(JDK_TOPDIR)/src/*/$(OPENJDK_TARGET_OS)/classes \
$(JDK_TOPDIR)/src/*/$(OPENJDK_TARGET_OS_TYPE)/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)/gensrc/j* \
$(SUPPORT_OUTPUTDIR)/rmic/j* \
$(JDK_TOPDIR)/src/*/share/doc/stub \
) \
#
# List with classpath separator between them
EMPTY:=
SPACE:= $(EMPTY) $(EMPTY)
RELEASEDOCS_SOURCEPATH = \
$(subst $(SPACE),$(PATH_SEP),$(strip $(ALL_SOURCE_DIRS)))
define prep-target
$(MKDIR) -p $(@D)
$(RM) $@
endef
# Prep for javadoc creation, assumes $@ is an index.html file
define prep-javadoc
@if [ -f "$@" -a "$?" != "" ] ; then \
$(ECHO) "# Dependencies have changed: $?"; \
fi
$(RM) -r $(@D)
$(MKDIR) -p $(@D)
endef
$(eval $(call FillCacheFind, $(ALL_SOURCE_DIRS)))
define PackageDependencies
$(call CacheFind, $(wildcard $(foreach p, $(subst .,/,$1), $(addsuffix /$p, $(ALL_SOURCE_DIRS)))))
endef
# Given a list of packages, add packages that exist to $@, print summary
define PackageFilter # packages
@if [ "$1" != "" ] ; then \
for p in $1 ; do \
pd=`$(ECHO) $${p} | $(SED) -e 's@[.]@/@g'`; \
found="false"; \
for cp in $(ALL_SOURCE_DIRS) ; do \
if [ -d $${cp}/$${pd} ] ; then \
$(ECHO) "$${p}" >> $@; \
found="true"; \
break; \
fi; \
done; \
if [ "$${found}" = "false" ] ; then \
$(ECHO) "WARNING: Package not found: $${p}"; \
fi; \
done; \
fi
endef
# Print out a summary of the javadoc command about to be run
define JavadocSummary # optionsfile packagesfile
@$(ECHO) "# Running javadoc for $(patsubst $(OUTPUT_ROOT)/%,%,$@)" $(LOG_WARN)
@($(ECHO) "# Options (`$(BASENAME) $1`):"; $(SED) -e 's@^@# @' $1) $(LOG_DEBUG)
@($(ECHO) "# Packages (`$(BASENAME) $2`):";$(SED) -e 's@^@# @' $2) $(LOG_DEBUG)
endef
#
# Different api directories created from root directory
#
COREAPI_DOCSDIR = $(DOCSDIR)/api
JDK_API_DOCSDIR = $(DOCSDIR)/jdk/api
JRE_API_DOCSDIR = $(DOCSDIR)/jre/api
PLATFORM_DOCSDIR = $(DOCSDIR)/platform
# 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:
JDKJRE2COREAPI = ../../api
# Common bottom argument
define CommonBottom # year
<font size="-1"><br> $(call CopyrightLine,,$1,)</font>
endef
# Common trademark bottom argument (Not sure why this is used sometimes)
define CommonTrademarkBottom # year
<font size="-1">\
$(BUG_SUBMIT_LINE)<br>$(JAVA_TRADEMARK_LINE)<br>\
$(call CopyrightLine,,$1,$(COMPANY_ADDRESS))\
</font>
endef
# Common echo of option
define OptionOnly # opt
if [ "$1" != "" ] ; then \
$(PRINTF) "%s\n" "$1"; \
fi
endef
define OptionPair # opt arg
$(PRINTF) "%s '%s'\n" "$1" '$2'
endef
define OptionTrip # opt arg arg
$(PRINTF) "%s '%s' '%s'\n" "$1" '$2' '$3'
endef
# Core api bottom argument (with special sauce)
COREAPI_BOTTOM = <font size="-1"> $(BUG_SUBMIT_LINE)\
<br>For further API reference and developer documentation, \
see <a href="$(DEV_DOCS_URL)" target="_blank">Java SE Documentation</a>. \
That documentation contains more detailed, developer-targeted descriptions, \
with conceptual overviews, definitions of terms, workarounds, \
and working code examples.<br>\
$(call CopyrightLine,$(COPYRIGHT_URL),$(FIRST_COPYRIGHT_YEAR),)\
</font>
# Common javadoc options used by all bundles
ifdef OPENJDK
ADDITIONAL_JAVADOCFLAGS = \
-Xdocrootparent $(DOCS_BASE_URL)
else
ADDITIONAL_JAVADOCFLAGS =
endif
define COMMON_JAVADOCFLAGS
$(call OptionOnly,-XDignore.symbol.file=true) ; \
$(call OptionOnly,-quiet) ; \
$(call OptionOnly,-use) ; \
$(call OptionOnly,-keywords) ; \
$(call OptionOnly,$(ADDITIONAL_JAVADOCFLAGS))
endef
# Common javadoc tags used by all bundles
# Java language specification cite
TAG_JLS = jls:a:See <cite> \
The Java™ Language Specification</cite>:
# Java virtual machine specification cite
TAG_JVMS = jvms:a:See <cite> \
The Java™ Virtual Machine Specification</cite>:
# 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.
define COMMON_JAVADOCTAGS
$(call OptionPair,-tag,beaninfo:X) ; \
$(call OptionPair,-tag,revised:X) ; \
$(call OptionPair,-tag,since.unbundled:X) ; \
$(call OptionPair,-tag,spec:X) ; \
$(call OptionPair,-tag,specdefault:X) ; \
$(call OptionPair,-tag,Note:X) ; \
$(call OptionPair,-tag,ToDo:X) ; \
$(call OptionPair,-tag,apiNote:a:API Note:) ; \
$(call OptionPair,-tag,implSpec:a:Implementation Requirements:) ; \
$(call OptionPair,-tag,implNote:a:Implementation Note:) ; \
$(call OptionPair,-tag,param) ; \
$(call OptionPair,-tag,return) ; \
$(call OptionPair,-tag,throws) ; \
$(call OptionPair,-tag,since) ; \
$(call OptionPair,-tag,version) ; \
$(call OptionPair,-tag,serialData) ; \
$(call OptionPair,-tag,factory) ; \
$(call OptionPair,-tag,see) ; \
$(call OptionPair,-tag,$(TAG_JVMS)) ; \
$(call OptionPair,-tag,$(TAG_JLS))
endef
# Draft used for non-fcs documents
DRAFT_HEADER =
ifneq ($(MILESTONE), fcs)
DRAFT_HEADER = <br><strong>DRAFT $(MILESTONE)-$(BUILD_NUMBER)</strong>
DRAFT_BOTTOM = <br><strong>DRAFT $(MILESTONE)-$(BUILD_NUMBER)</strong>
DRAFT_WINTITLE = $(BUILD_NUMBER)
# Early access top text (not used in FCS releases)
COREAPI_TOP_EARLYACCESS = \
<div style="background-color: \#EEEEEE"> \
<div style="padding: 6px; margin-top: 2px; margin-bottom: 6px; \
margin-left: 6px; margin-right: 6px; text-align: justify; \
font-size: 80%; font-family: Helvetica, Arial, sans-serif; \
font-weight: normal;"> \
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. \
</div> </div>
endif
#################################################################
#
# Load custom Javadoc rules
#
$(eval $(call IncludeCustomExtension, , Javadoc.gmk))
#################################################################
#
# Default target is same as docs target, create core api and all others it can
#
all: docs
docs: coredocs otherdocs
#################################################################
# Production Targets -- USE THESE TARGETS WHEN:
# a) You're generating docs outside of release engineering's
# standard control build.
# b) The docs will be pushed to the web and/or included in
# the downloaded doc bundle.
#
# See: Notes.html#releaseTargets
# Note: Spaces precede ifdef/ifndef indents. Tabs precede target commands (!)
#
sanitycheckcoredocs:
@$(ECHO) ""
@$(ECHO) "Building core api docs with these values:"
@$(ECHO) " BUILD_NUMBER = $(BUILD_NUMBER)"
@$(ECHO) " MILESTONE = $(MILESTONE)"
@$(ECHO) ""
ifeq ($(BUILD_NUMBER), b00)
@$(ECHO) "ERROR: Build number must be defined"
@$(ECHO) "MILESTONE is set to $(MILESTONE)"
@$(ECHO) ""
exit 1
endif
#############################################################
#
# coredocs
#
COREAPI_DOCTITLE = Java$(TRADEMARK) Platform, Standard Edition \
$(JDK_MINOR_VERSION)<br>API Specification
COREAPI_WINDOWTITLE = Java Platform SE $(JDK_MINOR_VERSION)
COREAPI_HEADER = \
<strong>Java$(TRADEMARK) Platform<br>Standard Ed. $(JDK_MINOR_VERSION)</strong>
# Overview file for core apis
COREAPI_OVERVIEW = $(JDK_TOPDIR)/src/java.base/share/classes/overview-core.html
# The index.html, options, and packages files
COREAPI_INDEX_FILE = $(COREAPI_DOCSDIR)/index.html
COREAPI_OPTIONS_FILE = $(DOCSTMPDIR)/coredocs.options
COREAPI_PACKAGES_FILE = $(DOCSTMPDIR)/coredocs.packages
coredocs: $(COREAPI_INDEX_FILE)
# Set relative location to core api document root
$(COREAPI_INDEX_FILE): GET2DOCSDIR=..
# Run javadoc if the index file is out of date or missing
$(COREAPI_INDEX_FILE): $(COREAPI_OPTIONS_FILE) $(COREAPI_PACKAGES_FILE)
$(prep-javadoc)
$(call JavadocSummary,$(COREAPI_OPTIONS_FILE),$(COREAPI_PACKAGES_FILE))
$(JAVADOC_CMD) -d $(@D) \
@$(COREAPI_OPTIONS_FILE) @$(COREAPI_PACKAGES_FILE)
# Create file with javadoc options in it
$(COREAPI_OPTIONS_FILE): $(COREAPI_OVERVIEW)
$(prep-target)
@($(call COMMON_JAVADOCFLAGS) ; \
$(call COMMON_JAVADOCTAGS) ; \
$(call OptionOnly,-Xdoclint:none) ; \
$(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
$(call OptionPair,-encoding,ISO-8859-1) ; \
$(call OptionOnly,-splitIndex) ; \
$(call OptionPair,-overview,$(COREAPI_OVERVIEW)) ; \
$(call OptionPair,-doctitle,$(COREAPI_DOCTITLE)) ; \
$(call OptionPair,-windowtitle,$(COREAPI_WINDOWTITLE) $(DRAFT_WINTITLE)) ; \
$(call OptionPair,-header,$(COREAPI_HEADER)$(DRAFT_HEADER)) ; \
$(call OptionPair,-bottom,$(COREAPI_BOTTOM)$(DRAFT_BOTTOM)) ; \
) >> $@
ifdef COREAPI_TOP_EARLYACCESS
@$(call OptionPair,-top,$(COREAPI_TOP_EARLYACCESS)) >> $@
endif
# Create a file with the package names in it
$(COREAPI_PACKAGES_FILE): $(call PackageDependencies,$(CORE_PKGS))
$(prep-target)
$(call PackageFilter,$(CORE_PKGS))
#############################################################
#
# docletapidocs
#
ALL_OTHER_TARGETS += docletapidocs
DOCLETAPI_DOCDIR := $(JDK_API_DOCSDIR)/javadoc/doclet
DOCLETAPI2COREAPI := ../../$(JDKJRE2COREAPI)
DOCLETAPI_DOCTITLE := Doclet API
DOCLETAPI_WINDOWTITLE := Doclet API
DOCLETAPI_HEADER := <strong>Doclet API</strong>
DOCLETAPI_BOTTOM := $(call CommonTrademarkBottom,$(DOCLETAPI_FIRST_COPYRIGHT_YEAR))
DOCLETAPI_GROUPNAME := Packages
DOCLETAPI_REGEXP := com.sun.javadoc
# DOCLETAPI_PKGS is located in NON_CORE_PKGS.gmk
# The index.html, options, and packages files
DOCLETAPI_INDEX_FILE = $(DOCLETAPI_DOCDIR)/index.html
DOCLETAPI_OPTIONS_FILE = $(DOCSTMPDIR)/docletapi.options
DOCLETAPI_PACKAGES_FILE = $(DOCSTMPDIR)/docletapi.packages
docletapidocs: $(DOCLETAPI_INDEX_FILE)
# Set relative location to core api document root
$(DOCLETAPI_INDEX_FILE): GET2DOCSDIR=$(DOCLETAPI2COREAPI)/..
# Run javadoc if the index file is out of date or missing
$(DOCLETAPI_INDEX_FILE): $(DOCLETAPI_OPTIONS_FILE) $(DOCLETAPI_PACKAGES_FILE) $(COREAPI_INDEX_FILE)
$(prep-javadoc)
$(call JavadocSummary,$(DOCLETAPI_OPTIONS_FILE),$(DOCLETAPI_PACKAGES_FILE))
$(JAVADOC_CMD) -d $(@D) \
@$(DOCLETAPI_OPTIONS_FILE) @$(DOCLETAPI_PACKAGES_FILE)
# Create file with javadoc options in it
$(DOCLETAPI_OPTIONS_FILE):
$(prep-target)
@($(call COMMON_JAVADOCFLAGS) ; \
$(call COMMON_JAVADOCTAGS) ; \
$(call OptionOnly,-Xdoclint:all) ; \
$(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
$(call OptionPair,-encoding,ascii) ; \
$(call OptionOnly,-breakiterator) ; \
$(call OptionPair,-doctitle,$(DOCLETAPI_DOCTITLE)) ; \
$(call OptionPair,-windowtitle,$(DOCLETAPI_WINDOWTITLE) $(DRAFT_WINTITLE)); \
$(call OptionPair,-header,$(DOCLETAPI_HEADER)$(DRAFT_HEADER)) ; \
$(call OptionPair,-bottom,$(DOCLETAPI_BOTTOM)$(DRAFT_BOTTOM)) ; \
$(call OptionTrip,-group,$(DOCLETAPI_GROUPNAME),$(DOCLETAPI_REGEXP)); \
$(call OptionTrip,-linkoffline,$(DOCLETAPI2COREAPI),$(COREAPI_DOCSDIR)/); \
) >> $@
# Create a file with the package names in it
$(DOCLETAPI_PACKAGES_FILE): $(call PackageDependencies,$(DOCLETAPI_PKGS))
$(prep-target)
$(call PackageFilter,$(DOCLETAPI_PKGS))
#############################################################
#
# tagletapidocs
#
ALL_OTHER_TARGETS += tagletapidocs
TAGLETAPI_DOCDIR := $(JDK_API_DOCSDIR)/javadoc/taglet
TAGLETAPI2COREAPI := ../../$(JDKJRE2COREAPI)
TAGLETAPI_BOTTOM := $(call CommonTrademarkBottom,$(TAGLETAPI_FIRST_COPYRIGHT_YEAR))
# TAGLETAPI_FILE is located in NON_CORE_PKGS.gmk
# Temporary directory (special generation rules)
TAGLETAPI_TEMPDIR = $(DOCSTMPDIR)/taglets_temp
# The index.html, options, and packages files
TAGLETAPI_INDEX_FILE = $(TAGLETAPI_DOCDIR)/com/sun/tools/doclets/Taglet.html
TAGLETAPI_OPTIONS_FILE = $(DOCSTMPDIR)/tagletapi.options
TAGLETAPI_PACKAGES_FILE = $(DOCSTMPDIR)/tagletapi.packages
tagletapidocs: $(TAGLETAPI_INDEX_FILE)
# Set relative location to core api document root
$(TAGLETAPI_INDEX_FILE): GET2DOCSDIR=$(TAGLETAPI2COREAPI)/..
# Run javadoc if the index file is out of date or missing
$(TAGLETAPI_INDEX_FILE): $(TAGLETAPI_OPTIONS_FILE) $(TAGLETAPI_PACKAGES_FILE) $(COREAPI_INDEX_FILE)
$(prep-javadoc)
$(RM) -r $(TAGLETAPI_TEMPDIR)
$(MKDIR) -p $(TAGLETAPI_TEMPDIR)
$(call JavadocSummary,$(TAGLETAPI_OPTIONS_FILE),$(TAGLETAPI_PACKAGES_FILE))
$(JAVADOC_CMD) -d $(TAGLETAPI_TEMPDIR) \
@$(TAGLETAPI_OPTIONS_FILE) @$(TAGLETAPI_PACKAGES_FILE)
cp -r $(TAGLETAPI_TEMPDIR)/com $(TAGLETAPI_DOCDIR)
cp $(TAGLETAPI_TEMPDIR)/stylesheet.css $(TAGLETAPI_DOCDIR)
$(RM) -r $(TAGLETAPI_TEMPDIR)
# Create file with javadoc options in it
$(TAGLETAPI_OPTIONS_FILE):
$(prep-target)
@($(call COMMON_JAVADOCFLAGS) ; \
$(call COMMON_JAVADOCTAGS) ; \
$(call OptionOnly,-Xdoclint:all) ; \
$(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
$(call OptionPair,-encoding,ascii) ; \
$(call OptionOnly,-nonavbar) ; \
$(call OptionOnly,-noindex) ; \
$(call OptionPair,-bottom,$(TAGLETAPI_BOTTOM)$(DRAFT_BOTTOM)) ; \
$(call OptionTrip,-linkoffline,$(TAGLETAPI2COREAPI),$(COREAPI_DOCSDIR)/); \
) >> $@
# Create a file with the package names in it
$(TAGLETAPI_PACKAGES_FILE): $(call PackageDependencies,$(TAGLETAPI_PKGS))
$(prep-target)
@($(ECHO) "$(LANGTOOLS_TOPDIR)/src/jdk.javadoc/share/classes/$(TAGLETAPI_FILE)" ) > $@
#############################################################
#
# domapidocs
#
ALL_OTHER_TARGETS += domapidocs
DOMAPI_DOCDIR := $(JRE_API_DOCSDIR)/plugin/dom
DOMAPI2COREAPI := ../../$(JDKJRE2COREAPI)
DOMAPI_DOCTITLE := Common DOM API
DOMAPI_WINDOWTITLE := Common DOM API
DOMAPI_HEADER := <strong>Common DOM API</strong>
DOMAPI_BOTTOM := $(call CommonTrademarkBottom,$(DOMAPI_FIRST_COPYRIGHT_YEAR))
DOMAPI_GROUPNAME := Packages
DOMAPI_REGEXP := org.w3c.dom*
# DOMAPI_PKGS is located in NON_CORE_PKGS.gmk
# The index.html, options, and packages files
DOMAPI_INDEX_FILE = $(DOMAPI_DOCDIR)/index.html
DOMAPI_OPTIONS_FILE = $(DOCSTMPDIR)/domapi.options
DOMAPI_PACKAGES_FILE = $(DOCSTMPDIR)/domapi.packages
domapidocs: $(DOMAPI_INDEX_FILE)
# Set relative location to core api document root
$(DOMAPI_INDEX_FILE): GET2DOCSDIR=$(DOMAPI2COREAPI)/..
# Run javadoc if the index file is out of date or missing
$(DOMAPI_INDEX_FILE): $(DOMAPI_OPTIONS_FILE) $(DOMAPI_PACKAGES_FILE) $(COREAPI_INDEX_FILE)
$(prep-javadoc)
$(call JavadocSummary,$(DOMAPI_OPTIONS_FILE),$(DOMAPI_PACKAGES_FILE))
$(JAVADOC_CMD) -d $(@D) \
@$(DOMAPI_OPTIONS_FILE) @$(DOMAPI_PACKAGES_FILE)
# Create file with javadoc options in it
$(DOMAPI_OPTIONS_FILE):
$(prep-target)
@($(call COMMON_JAVADOCFLAGS) ; \
$(call COMMON_JAVADOCTAGS) ; \
$(call OptionOnly,-Xdoclint:none) ; \
$(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
$(call OptionPair,-encoding,ascii) ; \
$(call OptionOnly,-splitIndex) ; \
$(call OptionPair,-doctitle,$(DOMAPI_DOCTITLE)) ; \
$(call OptionPair,-windowtitle,$(DOMAPI_WINDOWTITLE) $(DRAFT_WINTITLE)); \
$(call OptionPair,-header,$(DOMAPI_HEADER)$(DRAFT_HEADER)) ; \
$(call OptionPair,-bottom,$(DOMAPI_BOTTOM)$(DRAFT_BOTTOM)) ; \
$(call OptionTrip,-group,$(DOMAPI_GROUPNAME),$(DOMAPI_REGEXP)); \
$(call OptionTrip,-linkoffline,$(DOMAPI2COREAPI),$(COREAPI_DOCSDIR)/); \
) >> $@
# Create a file with the package names in it
$(DOMAPI_PACKAGES_FILE): $(call PackageDependencies,$(DOMAPI_PKGS))
$(prep-target)
$(call PackageFilter,$(DOMAPI_PKGS))
#############################################################
#
# jpdadocs
#
ALL_OTHER_TARGETS += jpdadocs
jpdadocs: jdidocs jdwpdocs jvmtidocs
#############################################################
#
# jdidocs
#
ALL_OTHER_TARGETS += jdidocs
JDI_DOCDIR := $(JDK_API_DOCSDIR)/jpda/jdi
JDI2COREAPI := ../../$(JDKJRE2COREAPI)
JDI_DOCTITLE := Java$(TRADEMARK) Debug Interface
JDI_WINDOWTITLE := Java Debug Interface
JDI_HEADER := <strong>Java Debug Interface</strong>
JDI_BOTTOM := $(call CommonBottom,$(JDI_FIRST_COPYRIGHT_YEAR))
JDI_OVERVIEW := $(JDK_TOPDIR)/src/jdk.jdi/share/classes/jdi-overview.html
# JDI_PKGS is located in NON_CORE_PKGS.gmk
# The index.html, options, and packages files
JDI_INDEX_FILE = $(JDI_DOCDIR)/index.html
JDI_OPTIONS_FILE = $(DOCSTMPDIR)/jdi.options
JDI_PACKAGES_FILE = $(DOCSTMPDIR)/jdi.packages
jdidocs: $(JDI_INDEX_FILE)
# Set relative location to core api document root
$(JDI_INDEX_FILE): GET2DOCSDIR=$(JDI2COREAPI)/..
# Run javadoc if the index file is out of date or missing
$(JDI_INDEX_FILE): $(JDI_OPTIONS_FILE) $(JDI_PACKAGES_FILE) $(COREAPI_INDEX_FILE)
$(prep-javadoc)
$(call JavadocSummary,$(JDI_OPTIONS_FILE),$(JDI_PACKAGES_FILE))
$(JAVADOC_CMD) -d $(@D) \
@$(JDI_OPTIONS_FILE) @$(JDI_PACKAGES_FILE)
# Create file with javadoc options in it
$(JDI_OPTIONS_FILE): $(JDI_OVERVIEW)
$(prep-target)
@($(call COMMON_JAVADOCFLAGS) ; \
$(call COMMON_JAVADOCTAGS) ; \
$(call OptionOnly,-Xdoclint:none) ; \
$(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
$(call OptionPair,-encoding,ascii) ; \
$(call OptionPair,-overview,$(JDI_OVERVIEW)) ; \
$(call OptionPair,-doctitle,$(JDI_DOCTITLE)) ; \
$(call OptionPair,-windowtitle,$(JDI_WINDOWTITLE) $(DRAFT_WINTITLE)); \
$(call OptionPair,-header,$(JDI_HEADER)$(DRAFT_HEADER)) ; \
$(call OptionPair,-bottom,$(JDI_BOTTOM)$(DRAFT_BOTTOM)) ; \
$(call OptionTrip,-linkoffline,$(JDI2COREAPI),$(COREAPI_DOCSDIR)/); \
) >> $@
# Create a file with the package names in it
$(JDI_PACKAGES_FILE): $(call PackageDependencies,$(JDI_PKGS))
$(prep-target)
$(call PackageFilter,$(JDI_PKGS))
#############################################################
#
# jdwpdocs
#
ALL_OTHER_TARGETS += jdwpdocs
JDWP_DOCDIR = $(PLATFORM_DOCSDIR)/jpda/jdwp
jdwpdocs: $(JDWP_DOCDIR)/jdwp-protocol.html
$(JDWP_DOCDIR)/jdwp-protocol.html : $(SUPPORT_OUTPUTDIR)/gensrc/jdk.jdi/jdwp-protocol.html
$(MKDIR) -p $(@D)
$(RM) $@
$(CP) $< $@
#############################################################
#
# jvmtidocs
#
ALL_OTHER_TARGETS += jvmtidocs
JVMTI_DOCDIR = $(PLATFORM_DOCSDIR)/jvmti
JVMTI_HTML = $(HOTSPOT_DIST)/docs/platform/jvmti/jvmti.html
jvmtidocs: $(JVMTI_DOCDIR)/jvmti.html
$(JVMTI_DOCDIR)/jvmti.html:
@$(prep-javadoc)
@if [ -f $(JVMTI_HTML) ] ; then \
$(CP) $(JVMTI_HTML) $@; \
else \
$(ECHO) "WARNING: Generated file does not exist: $(JVMTI_HTML)"; \
fi
#############################################################
#
# jaasdocs
#
ALL_OTHER_TARGETS += jaasdocs
JAAS_DOCDIR := $(JRE_API_DOCSDIR)/security/jaas/spec
JAAS2COREAPI := ../../../$(JDKJRE2COREAPI)
JAAS_DOCTITLE := Java$(TRADEMARK) Authentication and Authorization Service
JAAS_WINDOWTITLE := Java Authentication and Authorization Service
JAAS_HEADER := <strong>Java Authentication and Authorization Service</strong>
JAAS_BOTTOM := $(call CommonBottom,$(JAAS_FIRST_COPYRIGHT_YEAR))
# JAAS_PKGS is located in NON_CORE_PKGS.gmk
JAAS_OVERVIEW := $(JDK_TOPDIR)/src/jdk.security.auth/share/classes/jaas-overview.html
# The index.html, options, and packages files
JAAS_INDEX_FILE = $(JAAS_DOCDIR)/index.html
JAAS_OPTIONS_FILE = $(DOCSTMPDIR)/jaas.options
JAAS_PACKAGES_FILE = $(DOCSTMPDIR)/jaas.packages
jaasdocs: $(JAAS_INDEX_FILE)
# Set relative location to core api document root
$(JAAS_INDEX_FILE): GET2DOCSDIR=$(JAAS2COREAPI)/..
# Run javadoc if the index file is out of date or missing
$(JAAS_INDEX_FILE): $(JAAS_OPTIONS_FILE) $(JAAS_PACKAGES_FILE) $(COREAPI_INDEX_FILE)
$(prep-javadoc)
$(call JavadocSummary,$(JAAS_OPTIONS_FILE),$(JAAS_PACKAGES_FILE))
$(JAVADOC_CMD) -d $(@D) \
@$(JAAS_OPTIONS_FILE) @$(JAAS_PACKAGES_FILE)
# Create file with javadoc options in it
$(JAAS_OPTIONS_FILE): $(JAAS_OVERVIEW)
$(prep-target)
@($(call COMMON_JAVADOCFLAGS) ; \
$(call COMMON_JAVADOCTAGS) ; \
$(call OptionOnly,-Xdoclint:none) ; \
$(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
$(call OptionPair,-encoding,ascii) ; \
$(call OptionPair,-overview,$(JAAS_OVERVIEW)) ; \
$(call OptionPair,-doctitle,$(JAAS_DOCTITLE)) ; \
$(call OptionPair,-windowtitle,$(JAAS_WINDOWTITLE) $(DRAFT_WINTITLE)); \
$(call OptionPair,-header,$(JAAS_HEADER)$(DRAFT_HEADER)) ; \
$(call OptionPair,-bottom,$(JAAS_BOTTOM)$(DRAFT_BOTTOM)) ; \
$(call OptionTrip,-linkoffline,$(JAAS2COREAPI),$(COREAPI_DOCSDIR)/); \
) >> $@
# Create a file with the package names in it
$(JAAS_PACKAGES_FILE): $(call PackageDependencies,$(JAAS_PKGS))
$(prep-target)
$(call PackageFilter,$(JAAS_PKGS))
#############################################################
#
# jgssdocs
#
ALL_OTHER_TARGETS += jgssdocs
JGSS_DOCDIR := $(JRE_API_DOCSDIR)/security/jgss/spec
JGSS2COREAPI := ../../../$(JDKJRE2COREAPI)
JGSS_DOCTITLE := Java$(TRADEMARK) GSS-API Utilities
JGSS_WINDOWTITLE := Java GSS-API Utilities
JGSS_HEADER := <strong>Java GSS-API Utilities</strong>
JGSS_BOTTOM := $(call CommonBottom,$(JGSS_FIRST_COPYRIGHT_YEAR))
JGSS_OVERVIEW := $(JDK_TOPDIR)/src/java.security.jgss/share/classes/jgss-overview.html
# JGSS_PKGS is located in NON_CORE_PKGS.gmk
# The index.html, options, and packages files
JGSS_INDEX_FILE = $(JGSS_DOCDIR)/index.html
JGSS_OPTIONS_FILE = $(DOCSTMPDIR)/jgss.options
JGSS_PACKAGES_FILE = $(DOCSTMPDIR)/jgss.packages
jgssdocs: $(JGSS_INDEX_FILE)
# Set relative location to core api document root
$(JGSS_INDEX_FILE): GET2DOCSDIR=$(JGSS2COREAPI)/..
# Run javadoc if the index file is out of date or missing
$(JGSS_INDEX_FILE): $(JGSS_OPTIONS_FILE) $(JGSS_PACKAGES_FILE) $(COREAPI_INDEX_FILE)
$(prep-javadoc)
$(call JavadocSummary,$(JGSS_OPTIONS_FILE),$(JGSS_PACKAGES_FILE))
$(JAVADOC_CMD) -d $(@D) \
@$(JGSS_OPTIONS_FILE) @$(JGSS_PACKAGES_FILE)
# Create file with javadoc options in it
$(JGSS_OPTIONS_FILE): $(JGSS_OVERVIEW)
$(prep-target)
@($(call COMMON_JAVADOCFLAGS) ; \
$(call COMMON_JAVADOCTAGS) ; \
$(call OptionOnly,-Xdoclint:none) ; \
$(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
$(call OptionPair,-encoding,ascii) ; \
$(call OptionOnly,-nodeprecatedlist) ; \
$(call OptionPair,-overview,$(JGSS_OVERVIEW)) ; \
$(call OptionPair,-doctitle,$(JGSS_DOCTITLE)) ; \
$(call OptionPair,-windowtitle,$(JGSS_WINDOWTITLE) $(DRAFT_WINTITLE)); \
$(call OptionPair,-header,$(JGSS_HEADER)$(DRAFT_HEADER)) ; \
$(call OptionPair,-bottom,$(JGSS_BOTTOM)$(DRAFT_BOTTOM)) ; \
$(call OptionTrip,-linkoffline,$(JGSS2COREAPI),$(COREAPI_DOCSDIR)/); \
) >> $@
# Create a file with the package names in it
$(JGSS_PACKAGES_FILE): $(call PackageDependencies,$(JGSS_PKGS))
$(prep-target)
$(call PackageFilter,$(JGSS_PKGS))
#############################################################
#
# smartcardiodocs
#
ALL_OTHER_TARGETS += smartcardiodocs
SMARTCARDIO_DOCDIR := $(JRE_API_DOCSDIR)/security/smartcardio/spec
SMARTCARDIO2COREAPI := ../../../$(JDKJRE2COREAPI)
SMARTCARDIO_DOCTITLE := Java$(TRADEMARK) Smart Card I/O
SMARTCARDIO_WINDOWTITLE := Java Smart Card I/O
SMARTCARDIO_HEADER := <strong>Java Smart Card I/O</strong>
SMARTCARDIO_BOTTOM := $(call CommonBottom,$(SMARTCARDIO_FIRST_COPYRIGHT_YEAR))
# SMARTCARDIO_PKGS is located in NON_CORE_PKGS.gmk
# The index.html, options, and packages files
SMARTCARDIO_INDEX_FILE = $(SMARTCARDIO_DOCDIR)/index.html
SMARTCARDIO_OPTIONS_FILE = $(DOCSTMPDIR)/smartcardio.options
SMARTCARDIO_PACKAGES_FILE = $(DOCSTMPDIR)/smartcardio.packages
smartcardiodocs: $(SMARTCARDIO_INDEX_FILE)
# Set relative location to core api document root
$(SMARTCARDIO_INDEX_FILE): GET2DOCSDIR=$(SMARTCARDIO2COREAPI)/..
# Run javadoc if the index file is out of date or missing
$(SMARTCARDIO_INDEX_FILE): $(SMARTCARDIO_OPTIONS_FILE) $(SMARTCARDIO_PACKAGES_FILE) $(COREAPI_INDEX_FILE)
$(prep-javadoc)
$(call JavadocSummary,$(SMARTCARDIO_OPTIONS_FILE),$(SMARTCARDIO_PACKAGES_FILE))
$(JAVADOC_CMD) -d $(@D) \
@$(SMARTCARDIO_OPTIONS_FILE) @$(SMARTCARDIO_PACKAGES_FILE)
# Create file with javadoc options in it
$(SMARTCARDIO_OPTIONS_FILE):
$(prep-target)
@($(call COMMON_JAVADOCFLAGS) ; \
$(call COMMON_JAVADOCTAGS) ; \
$(call OptionOnly,-Xdoclint:none) ; \
$(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
$(call OptionPair,-encoding,ascii) ; \
$(call OptionOnly,-nodeprecatedlist) ; \
$(call OptionPair,-doctitle,$(SMARTCARDIO_DOCTITLE)) ; \
$(call OptionPair,-windowtitle,$(SMARTCARDIO_WINDOWTITLE) $(DRAFT_WINTITLE)); \
$(call OptionPair,-header,$(SMARTCARDIO_HEADER)$(DRAFT_HEADER)); \
$(call OptionPair,-bottom,$(SMARTCARDIO_BOTTOM)$(DRAFT_BOTTOM)); \
$(call OptionTrip,-linkoffline,$(SMARTCARDIO2COREAPI),$(COREAPI_DOCSDIR)/); \
) >> $@
# Create a file with the package names in it
$(SMARTCARDIO_PACKAGES_FILE): $(call PackageDependencies,$(SMARTCARDIO_PKGS))
$(prep-target)
$(call PackageFilter,$(SMARTCARDIO_PKGS))
#############################################################
#
# httpserverdocs
#
ALL_OTHER_TARGETS += httpserverdocs
HTTPSERVER_DOCDIR := $(JRE_API_DOCSDIR)/net/httpserver/spec
HTTPSERVER2COREAPI := ../../../$(JDKJRE2COREAPI)
HTTPSERVER_DOCTITLE := Java$(TRADEMARK) HTTP Server
HTTPSERVER_WINDOWTITLE := Java HTTP Server
HTTPSERVER_HEADER := <strong>Java HTTP Server</strong>
HTTPSERVER_BOTTOM := $(call CommonBottom,$(HTTPSERVER_FIRST_COPYRIGHT_YEAR))
# HTTPSERVER_PKGS is located in NON_CORE_PKGS.gmk
HTTPSERVER_INDEX_HTML = $(HTTPSERVER_DOCDIR)/index.html
HTTPSERVER_OPTIONS_FILE = $(DOCSTMPDIR)/httpserver.options
HTTPSERVER_PACKAGES_FILE = $(DOCSTMPDIR)/httpserver.packages
httpserverdocs: $(HTTPSERVER_INDEX_HTML)
# Set relative location to core api document root
$(HTTPSERVER_INDEX_HTML): GET2DOCSDIR=$(HTTPSERVER2COREAPI)/..
# Run javadoc if the index file is out of date or missing
$(HTTPSERVER_INDEX_HTML): $(HTTPSERVER_OPTIONS_FILE) $(HTTPSERVER_PACKAGES_FILE) $(COREAPI_INDEX_FILE)
$(prep-javadoc)
$(call JavadocSummary,$(HTTPSERVER_OPTIONS_FILE),$(HTTPSERVER_PACKAGES_FILE))
$(JAVADOC_CMD) -d $(@D) \
@$(HTTPSERVER_OPTIONS_FILE) @$(HTTPSERVER_PACKAGES_FILE)
# Create file with javadoc options in it
$(HTTPSERVER_OPTIONS_FILE):
$(prep-target)
@($(call COMMON_JAVADOCFLAGS) ; \
$(call COMMON_JAVADOCTAGS) ; \
$(call OptionOnly,-Xdoclint:none) ; \
$(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
$(call OptionPair,-encoding,ascii) ; \
$(call OptionOnly,-nodeprecatedlist) ; \
$(call OptionPair,-doctitle,$(HTTPSERVER_DOCTITLE)) ; \
$(call OptionPair,-windowtitle,$(HTTPSERVER_WINDOWTITLE) $(DRAFT_WINTITLE)); \
$(call OptionPair,-header,$(HTTPSERVER_HEADER)$(DRAFT_HEADER)); \
$(call OptionPair,-bottom,$(HTTPSERVER_BOTTOM)$(DRAFT_BOTTOM)); \
$(call OptionTrip,-linkoffline,$(HTTPSERVER2COREAPI),$(COREAPI_DOCSDIR)/); \
) >> $@
# Create a file with the package names in it
$(HTTPSERVER_PACKAGES_FILE): $(call PackageDependencies,$(HTTPSERVER_PKGS))
$(prep-target)
$(call PackageFilter,$(HTTPSERVER_PKGS))
#############################################################
#
# mgmtdocs
#
ALL_OTHER_TARGETS += mgmtdocs
MGMT_DOCDIR := $(JRE_API_DOCSDIR)/management/extension
MGMT2COREAPI := ../../$(JDKJRE2COREAPI)
JVM_MIB_NAME := JVM-MANAGEMENT-MIB.mib
JVM_MIB_SRC := $(JDK_TOPDIR)/src/closed/jdk.snmp/share/classes/sun/management/snmp/$(JVM_MIB_NAME)
MGMT_DOCTITLE := Monitoring and Management Interface for the Java$(TRADEMARK) Platform
MGMT_WINDOWTITLE := Monitoring and Management Interface for the Java Platform
MGMT_HEADER := <strong>Monitoring and Management Interface for the Java Platform</strong>
MGMT_BOTTOM := $(call CommonBottom,$(MGMT_FIRST_COPYRIGHT_YEAR))
MGMT_OVERVIEW := $(JDK_TOPDIR)/src/java.management/share/classes/mgmt-overview.html
# MGMT_PKGS is located in NON_CORE_PKGS.gmk
# The index.html, options, and packages files
MGMT_INDEX_FILE = $(MGMT_DOCDIR)/index.html
MGMT_OPTIONS_FILE = $(DOCSTMPDIR)/mgmt.options
MGMT_PACKAGES_FILE = $(DOCSTMPDIR)/mgmt.packages
mgmtdocs: $(MGMT_INDEX_FILE)
# Set relative location to core api document root
$(MGMT_INDEX_FILE): GET2DOCSDIR=$(MGMT2COREAPI)/..
# Run javadoc if the index file is out of date or missing
$(MGMT_INDEX_FILE): $(MGMT_OPTIONS_FILE) $(MGMT_PACKAGES_FILE) $(COREAPI_INDEX_FILE)
$(prep-javadoc)
@if [ -f $(JVM_MIB_SRC) ] ; then \
$(CP) $(JVM_MIB_SRC) $(@D)/.. ; \
else \
$(ECHO) "WARNING: File $(JVM_MIB_NAME) not available."; \
fi
$(call JavadocSummary,$(MGMT_OPTIONS_FILE),$(MGMT_PACKAGES_FILE))
$(JAVADOC_CMD) -d $(@D) \
@$(MGMT_OPTIONS_FILE) @$(MGMT_PACKAGES_FILE)
# Create file with javadoc options in it
$(MGMT_OPTIONS_FILE): $(MGMT_OVERVIEW)
$(prep-target)
@($(call COMMON_JAVADOCFLAGS) ; \
$(call COMMON_JAVADOCTAGS) ; \
$(call OptionOnly,-Xdoclint:none) ; \
$(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
$(call OptionPair,-encoding,ascii) ; \
$(call OptionOnly,-nodeprecatedlist) ; \
$(call OptionPair,-overview,$(MGMT_OVERVIEW)) ; \
$(call OptionPair,-doctitle,$(MGMT_DOCTITLE)) ; \
$(call OptionPair,-windowtitle,$(MGMT_WINDOWTITLE) $(DRAFT_WINTITLE)); \
$(call OptionPair,-header,$(MGMT_HEADER)$(DRAFT_HEADER)) ; \
$(call OptionPair,-bottom,$(MGMT_BOTTOM)$(DRAFT_BOTTOM)) ; \
$(call OptionTrip,-linkoffline,$(MGMT2COREAPI),$(COREAPI_DOCSDIR)/); \
) >> $@
# Create a file with the package names in it
$(MGMT_PACKAGES_FILE): $(call PackageDependencies,$(MGMT_PKGS))
$(prep-target)
$(call PackageFilter,$(MGMT_PKGS))
#############################################################
#
# attachdocs
#
ALL_OTHER_TARGETS += attachdocs
ATTACH_DOCDIR := $(JDK_API_DOCSDIR)/attach/spec
ATTACH2COREAPI := ../../$(JDKJRE2COREAPI)
ATTACH_DOCTITLE := Attach API
ATTACH_WINDOWTITLE := Attach API
ATTACH_HEADER := <strong>Attach API</strong>
ATTACH_BOTTOM := $(call CommonBottom,$(ATTACH_FIRST_COPYRIGHT_YEAR))
# ATTACH_PKGS is located in NON_CORE_PKGS.gmk
ATTACH_INDEX_HTML = $(ATTACH_DOCDIR)/index.html
ATTACH_OPTIONS_FILE = $(DOCSTMPDIR)/attach.options
ATTACH_PACKAGES_FILE = $(DOCSTMPDIR)/attach.packages
attachdocs: $(ATTACH_INDEX_HTML)
# Set relative location to core api document root
$(ATTACH_INDEX_HTML): GET2DOCSDIR=$(ATTACH2COREAPI)/..
# Run javadoc if the index file is out of date or missing
$(ATTACH_INDEX_HTML): $(ATTACH_OPTIONS_FILE) $(ATTACH_PACKAGES_FILE) $(COREAPI_INDEX_FILE)
$(prep-javadoc)
$(call JavadocSummary,$(ATTACH_OPTIONS_FILE),$(ATTACH_PACKAGES_FILE))
$(JAVADOC_CMD) -d $(@D) \
@$(ATTACH_OPTIONS_FILE) @$(ATTACH_PACKAGES_FILE)
# Create file with javadoc options in it
$(ATTACH_OPTIONS_FILE):
$(prep-target)
@($(call COMMON_JAVADOCFLAGS) ; \
$(call COMMON_JAVADOCTAGS) ; \
$(call OptionOnly,-Xdoclint:none) ; \
$(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
$(call OptionPair,-encoding,ascii) ; \
$(call OptionOnly,-nodeprecatedlist) ; \
$(call OptionPair,-doctitle,$(ATTACH_DOCTITLE)) ; \
$(call OptionPair,-windowtitle,$(ATTACH_WINDOWTITLE) $(DRAFT_WINTITLE)); \
$(call OptionPair,-header,$(ATTACH_HEADER)$(DRAFT_HEADER)) ; \
$(call OptionPair,-bottom,$(ATTACH_BOTTOM)$(DRAFT_BOTTOM)) ; \
$(call OptionTrip,-linkoffline,$(ATTACH2COREAPI),$(COREAPI_DOCSDIR)/); \
) >> $@
# Create a file with the package names in it
$(ATTACH_PACKAGES_FILE): $(call PackageDependencies,$(ATTACH_PKGS))
$(prep-target)
$(call PackageFilter,$(ATTACH_PKGS))
#############################################################
#
# jconsoledocs
#
ALL_OTHER_TARGETS += jconsoledocs
JCONSOLE_DOCDIR := $(JDK_API_DOCSDIR)/jconsole/spec
JCONSOLE2COREAPI := ../../$(JDKJRE2COREAPI)
JCONSOLE_DOCTITLE := JConsole API
JCONSOLE_WINDOWTITLE := JConsole API
JCONSOLE_HEADER := <strong>JConsole API</strong>
JCONSOLE_BOTTOM := $(call CommonBottom,$(JCONSOLE_FIRST_COPYRIGHT_YEAR))
# JCONSOLE_PKGS is located in NON_CORE_PKGS.gmk
JCONSOLE_INDEX_HTML = $(JCONSOLE_DOCDIR)/index.html
JCONSOLE_OPTIONS_FILE = $(DOCSTMPDIR)/jconsole.options
JCONSOLE_PACKAGES_FILE = $(DOCSTMPDIR)/jconsole.packages
jconsoledocs: $(JCONSOLE_INDEX_HTML)
# Set relative location to core api document root
$(JCONSOLE_INDEX_HTML): GET2DOCSDIR=$(JCONSOLE2COREAPI)/..
# Run javadoc if the index file is out of date or missing
$(JCONSOLE_INDEX_HTML): $(JCONSOLE_OPTIONS_FILE) $(JCONSOLE_PACKAGES_FILE) $(COREAPI_INDEX_FILE)
$(prep-javadoc)
$(call JavadocSummary,$(JCONSOLE_OPTIONS_FILE),$(JCONSOLE_PACKAGES_FILE))
$(JAVADOC_CMD) -d $(@D) \
@$(JCONSOLE_OPTIONS_FILE) @$(JCONSOLE_PACKAGES_FILE)
# Create file with javadoc options in it
$(JCONSOLE_OPTIONS_FILE):
$(prep-target)
@($(call COMMON_JAVADOCFLAGS) ; \
$(call COMMON_JAVADOCTAGS) ; \
$(call OptionOnly,-Xdoclint:none) ; \
$(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
$(call OptionPair,-encoding,ascii) ; \
$(call OptionOnly,-nodeprecatedlist) ; \
$(call OptionPair,-doctitle,$(JCONSOLE_DOCTITLE)) ; \
$(call OptionPair,-windowtitle,$(JCONSOLE_WINDOWTITLE) $(DRAFT_WINTITLE)); \
$(call OptionPair,-header,$(JCONSOLE_HEADER)$(DRAFT_HEADER)) ; \
$(call OptionPair,-bottom,$(JCONSOLE_BOTTOM)$(DRAFT_BOTTOM)) ; \
$(call OptionTrip,-linkoffline,$(JCONSOLE2COREAPI),$(COREAPI_DOCSDIR)/); \
) >> $@
# Create a file with the package names in it
$(JCONSOLE_PACKAGES_FILE): $(call PackageDependencies,$(JCONSOLE_PKGS))
$(prep-target)
$(call PackageFilter,$(JCONSOLE_PKGS))
#############################################################
#
# treeapidocs
#
ALL_OTHER_TARGETS += treeapidocs
TREEAPI_DOCDIR := $(JDK_API_DOCSDIR)/javac/tree
TREEAPI2COREAPI := ../../$(JDKJRE2COREAPI)
TREEAPI_DOCTITLE := Compiler Tree API
TREEAPI_WINDOWTITLE := Compiler Tree API
TREEAPI_HEADER := <strong>Compiler Tree API</strong>
TREEAPI_BOTTOM := $(call CommonBottom,$(TREEAPI_FIRST_COPYRIGHT_YEAR))
TREEAPI_GROUPNAME := Packages
TREEAPI_REGEXP := com.sun.source.*
# TREEAPI_PKGS is located in NON_CORE_PKGS.gmk
TREEAPI_INDEX_HTML = $(TREEAPI_DOCDIR)/index.html
TREEAPI_OPTIONS_FILE = $(DOCSTMPDIR)/treeapi.options
TREEAPI_PACKAGES_FILE = $(DOCSTMPDIR)/treeapi.packages
treeapidocs: $(TREEAPI_INDEX_HTML)
# Set relative location to core api document root
$(TREEAPI_INDEX_HTML): GET2DOCSDIR=$(TREEAPI2COREAPI)/..
# Run javadoc if the index file is out of date or missing
$(TREEAPI_INDEX_HTML): $(TREEAPI_OPTIONS_FILE) $(TREEAPI_PACKAGES_FILE) $(COREAPI_INDEX_FILE)
$(prep-javadoc)
$(call JavadocSummary,$(TREEAPI_OPTIONS_FILE),$(TREEAPI_PACKAGES_FILE))
$(JAVADOC_CMD) -d $(@D) \
@$(TREEAPI_OPTIONS_FILE) @$(TREEAPI_PACKAGES_FILE)
# Create file with javadoc options in it
$(TREEAPI_OPTIONS_FILE):
$(prep-target)
@($(call COMMON_JAVADOCFLAGS) ; \
$(call COMMON_JAVADOCTAGS) ; \
$(call OptionOnly,-Xdoclint:all) ; \
$(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
$(call OptionPair,-encoding,ascii) ; \
$(call OptionPair,-doctitle,$(TREEAPI_DOCTITLE)) ; \
$(call OptionPair,-windowtitle,$(TREEAPI_WINDOWTITLE) $(DRAFT_WINTITLE)); \
$(call OptionPair,-header,$(TREEAPI_HEADER)$(DRAFT_HEADER)) ; \
$(call OptionPair,-bottom,$(TREEAPI_BOTTOM)$(DRAFT_BOTTOM)) ; \
$(call OptionTrip,-group,$(TREEAPI_GROUPNAME),$(TREEAPI_REGEXP)); \
$(call OptionTrip,-linkoffline,$(TREEAPI2COREAPI),$(COREAPI_DOCSDIR)/); \
) >> $@
# Create a file with the package names in it
$(TREEAPI_PACKAGES_FILE): $(call PackageDependencies,$(TREEAPI_PKGS))
$(prep-target)
$(call PackageFilter,$(TREEAPI_PKGS))
#############################################################
#
# nashornapidocs
#
ALL_OTHER_TARGETS += nashornapidocs
NASHORNAPI_DOCDIR := $(JDK_API_DOCSDIR)/nashorn
NASHORNAPI2COREAPI := ../$(JDKJRE2COREAPI)
NASHORNAPI_DOCTITLE := Nashorn API
NASHORNAPI_WINDOWTITLE := Nashorn API
NASHORNAPI_HEADER := <strong>Nashorn API</strong>
NASHORNAPI_BOTTOM := $(call CommonBottom,$(NASHORNAPI_FIRST_COPYRIGHT_YEAR))
NASHORNAPI_GROUPNAME := Packages
NASHORNAPI_REGEXP := jdk.nashorn.api.scripting.*
# NASHORNAPI_PKGS is located in NON_CORE_PKGS.gmk
NASHORNAPI_INDEX_HTML = $(NASHORNAPI_DOCDIR)/index.html
NASHORNAPI_OPTIONS_FILE = $(DOCSTMPDIR)/nashornapi.options
NASHORNAPI_PACKAGES_FILE = $(DOCSTMPDIR)/nashornapi.packages
nashornapidocs: $(NASHORNAPI_INDEX_HTML)
# Set relative location to core api document root
$(NASHORNAPI_INDEX_HTML): GET2DOCSDIR=$(NASHORNAPI2COREAPI)/..
# Run javadoc if the index file is out of date or missing
$(NASHORNAPI_INDEX_HTML): $(NASHORNAPI_OPTIONS_FILE) $(NASHORNAPI_PACKAGES_FILE) $(COREAPI_INDEX_FILE)
$(prep-javadoc)
$(call JavadocSummary,$(NASHORNAPI_OPTIONS_FILE),$(NASHORNAPI_PACKAGES_FILE))
$(JAVADOC_CMD) -d $(@D) \
@$(NASHORNAPI_OPTIONS_FILE) @$(NASHORNAPI_PACKAGES_FILE)
# Create file with javadoc options in it
$(NASHORNAPI_OPTIONS_FILE):
$(prep-target)
@($(call COMMON_JAVADOCFLAGS) ; \
$(call COMMON_JAVADOCTAGS) ; \
$(call OptionOnly,-Xdoclint:all) ; \
$(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
$(call OptionPair,-encoding,ascii) ; \
$(call OptionPair,-doctitle,$(NASHORNAPI_DOCTITLE)) ; \
$(call OptionPair,-windowtitle,$(NASHORNAPI_WINDOWTITLE) $(DRAFT_WINTITLE)); \
$(call OptionPair,-header,$(NASHORNAPI_HEADER)$(DRAFT_HEADER)) ; \
$(call OptionPair,-bottom,$(NASHORNAPI_BOTTOM)$(DRAFT_BOTTOM)) ; \
$(call OptionTrip,-group,$(NASHORNAPI_GROUPNAME),$(NASHORNAPI_REGEXP)); \
$(call OptionTrip,-linkoffline,$(NASHORNAPI2COREAPI),$(COREAPI_DOCSDIR)/); \
) >> $@
# Create a file with the package names in it
$(NASHORNAPI_PACKAGES_FILE): $(call PackageDependencies,$(NASHORNAPI_PKGS))
$(prep-target)
$(call PackageFilter,$(NASHORNAPI_PKGS))
#############################################################
#
# sctpdocs
#
ALL_OTHER_TARGETS += sctpdocs
SCTPAPI_DOCDIR := $(JRE_API_DOCSDIR)/nio/sctp/spec
SCTPAPI2COREAPI := ../../../$(JDKJRE2COREAPI)
SCTPAPI_DOCTITLE := SCTP API
SCTPAPI_WINDOWTITLE := SCTP API
SCTPAPI_HEADER := <strong>SCTP API</strong>
SCTPAPI_BOTTOM := $(call CommonBottom,$(SCTPAPI_FIRST_COPYRIGHT_YEAR))
# SCTPAPI_PKGS is located in NON_CORE_PKGS.gmk
SCTPAPI_INDEX_HTML = $(SCTPAPI_DOCDIR)/index.html
SCTPAPI_OPTIONS_FILE = $(DOCSTMPDIR)/sctp.options
SCTPAPI_PACKAGES_FILE = $(DOCSTMPDIR)/sctp.packages
sctpdocs: $(SCTPAPI_INDEX_HTML)
# Set relative location to core api document root
$(SCTPAPI_INDEX_HTML): GET2DOCSDIR=$(SCTPAPI2COREAPI)/..
# Run javadoc if the index file is out of date or missing
$(SCTPAPI_INDEX_HTML): $(SCTPAPI_OPTIONS_FILE) $(SCTPAPI_PACKAGES_FILE) $(COREAPI_INDEX_FILE)
$(prep-javadoc)
$(call JavadocSummary,$(SCTPAPI_OPTIONS_FILE),$(SCTPAPI_PACKAGES_FILE))
$(JAVADOC_CMD) -d $(@D) \
@$(SCTPAPI_OPTIONS_FILE) @$(SCTPAPI_PACKAGES_FILE)
# Create file with javadoc options in it
$(SCTPAPI_OPTIONS_FILE):
$(prep-target)
@($(call COMMON_JAVADOCFLAGS) ; \
$(call COMMON_JAVADOCTAGS) ; \
$(call OptionOnly,-Xdoclint:none) ; \
$(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
$(call OptionPair,-encoding,ascii) ; \
$(call OptionOnly,-nodeprecatedlist) ; \
$(call OptionPair,-doctitle,$(SCTPAPI_DOCTITLE)) ; \
$(call OptionPair,-windowtitle,$(SCTPAPI_WINDOWTITLE) $(DRAFT_WINTITLE)); \
$(call OptionPair,-header,$(SCTPAPI_HEADER)$(DRAFT_HEADER)) ; \
$(call OptionPair,-bottom,$(SCTPAPI_BOTTOM)$(DRAFT_BOTTOM)) ; \
$(call OptionTrip,-linkoffline,$(SCTPAPI2COREAPI),$(COREAPI_DOCSDIR)/); \
) >> $@
# Create a file with the package names in it
$(SCTPAPI_PACKAGES_FILE): $(call PackageDependencies,$(SCTPAPI_PKGS))
$(prep-target)
$(call PackageFilter,$(SCTPAPI_PKGS))
#############################################################
#
# jdk.net docs
#
ALL_OTHER_TARGETS += jdknetdocs
JDKNET_DOCDIR := $(JRE_API_DOCSDIR)/net/socketoptions/spec
JDKNET2COREAPI := ../../../$(JDKJRE2COREAPI)
JDKNET_DOCTITLE := jdk.net API
JDKNET_WINDOWTITLE := jdk.net API
JDKNET_HEADER := <strong>jdk.net API</strong>
JDKNET_BOTTOM := $(call CommonBottom,$(JDKNET_FIRST_COPYRIGHT_YEAR))
JDKNET_PKGS := jdk.net
JDKNET_INDEX_HTML = $(JDKNET_DOCDIR)/index.html
JDKNET_OPTIONS_FILE = $(DOCSTMPDIR)/jdknet.options
JDKNET_PACKAGES_FILE = $(DOCSTMPDIR)/jdknet.packages
jdknetdocs: $(JDKNET_INDEX_HTML)
# Set relative location to core api document root
$(JDKNET_INDEX_HTML): GET2DOCSDIR=$(JDKNET2COREAPI)/..
# Run javadoc if the index file is out of date or missing
$(JDKNET_INDEX_HTML): $(JDKNET_OPTIONS_FILE) $(JDKNET_PACKAGES_FILE) $(COREAPI_INDEX_FILE)
$(prep-javadoc)
$(call JavadocSummary,$(JDKNET_OPTIONS_FILE),$(JDKNET_PACKAGES_FILE))
$(JAVADOC_CMD) -d $(@D) \
@$(JDKNET_OPTIONS_FILE) @$(JDKNET_PACKAGES_FILE)
# Create file with javadoc options in it
$(JDKNET_OPTIONS_FILE):
$(prep-target)
@($(call COMMON_JAVADOCFLAGS) ; \
$(call COMMON_JAVADOCTAGS) ; \
$(call OptionOnly,-Xdoclint:none) ; \
$(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
$(call OptionPair,-encoding,ascii) ; \
$(call OptionOnly,-nodeprecatedlist) ; \
$(call OptionPair,-doctitle,$(JDKNET_DOCTITLE)) ; \
$(call OptionPair,-windowtitle,$(JDKNET_WINDOWTITLE) $(DRAFT_WINTITLE)); \
$(call OptionPair,-header,$(JDKNET_HEADER)$(DRAFT_HEADER)); \
$(call OptionPair,-bottom,$(JDKNET_BOTTOM)$(DRAFT_BOTTOM)); \
$(call OptionTrip,-linkoffline,$(JDKNET2COREAPI),$(COREAPI_DOCSDIR)/); \
) >> $@
# Create a file with the package names in it
$(JDKNET_PACKAGES_FILE): $(call PackageDependencies,$(JDKNET_PKGS))
$(prep-target)
$(call PackageFilter,$(JDKNET_PKGS))
#############################################################
#release version of core packages ########
# The rel-coredocs and rel-docs targets were added by Eric Armstrong. rel-coredocs
# assumes the kind of large, 32-bit machine used in the javapubs group's docs-release
# process. It specifies memory settings accordingly to maximize performance.
#
# The performance settings, like the sanity check, are most important for the core
# docs--the platform APIs. Running javadoc on those APIs takes a significant amount
# of time and memory. Setting the initial heap size as large as possible is important
# to prevent thrashing as the heap grows. Setting the maximum as large as necessary
# is also important to keep the job from failing.
#
# -J-Xmx512 sets a maximum of 512, which became necessary in 6.0
# -J-Xms256 sets starting size to 256 (default is 8)
#
# rel-coredocs also includes a sanity check to help ensure that BUILD_NUMBER and
# MILESTONE are specified properly when docs are built outside of the normal release
# engineering process, with the intention of releasing them on the web or in a downloaded
# docs bundle. (When invoked in release engineering's control build, the values are always
# set properly. But when the targets are run by themselves, they default to b00 and
# "internal"--which silently sabotage the result of a build that can take many hours
# to complete.
# Maximize performance and ensure that build number & milestone are set.
rel-coredocs: sanitycheckcoredocs
$(MAKE) coredocs
rel-docs: rel-coredocs $(ALL_OTHER_TARGETS)
#
# end of production targets
otherdocs: $(ALL_OTHER_TARGETS)
clean:
$(RM) -r $(DOCSDIR) $(DOCSTMPDIR)
#############################################################
# DEBUG TARGET
# List the values defined in the makefile hierarchy, to make sure everything
# is set properly, and to help identify values we can use instead of making new ones.
# (Most of them come from common/shared/Defs.gmk)
#
# Notes:
# * BUILD_NUMBER defaults to b00 if not set on command line with BUILD_NUMBER=<value>
# * MILESTONE defaults to internal unless set to beta, rc, or fcs on command line
#
#############################################################
.PHONY: all docs coredocs rel-docs otherdocs rel-coredocs \
sanitycheckcoredocs $(ALL_OTHER_TARGETS)