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