1 # Copyright (c) 1997, 2016, 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 $(if $(IMPORT_MODULES_SRC), $(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 # The core api index file is the target for the core api javadocs rule 54 # and needs to be defined early so that all other javadoc rules may 55 # depend on it. 56 CORE_INDEX_FILE := $(JAVADOC_OUTPUTDIR)/api/index.html 57 58 # Symbols 59 TRADEMARK := ™ 60 COPYRIGHT_SYMBOL := &$(HASH)x00a9; 61 COPYRIGHT_TEXT := Copyright 62 ALL_RIGHTS_RESERVED := All rights reserved. 63 64 # URLs 65 JAVADOC_BASE_URL := http://docs.oracle.com/javase/$(VERSION_SPECIFICATION)/docs 66 BUG_SUBMIT_URL := http://bugreport.java.com/bugreport/ 67 68 ################################################################################ 69 # Text snippets 70 71 FULL_COMPANY_NAME := Oracle and/or its affiliates 72 COMPANY_ADDRESS := 500 Oracle Parkway<br>Redwood Shores, CA 94065 USA. 73 BUG_SUBMIT_LINE := <a href="$(BUG_SUBMIT_URL)">Submit a bug or feature</a> 74 JAVA_TRADEMARK_LINE := Java is a trademark or registered trademark of \ 75 $(FULL_COMPANY_NAME) in the US and other countries. 76 77 COMMON_BOTTOM_ADDRESS := $(COMPANY_ADDRESS) 78 COMMON_BOTTOM_TEXT := $(BUG_SUBMIT_LINE)<br>$(JAVA_TRADEMARK_LINE) 79 80 CORE_BOTTOM_COPYRIGHT_URL := {@docroot}/../legal/cpyr.html 81 CORE_BOTTOM_TEXT := $(BUG_SUBMIT_LINE)\ 82 <br>For further API reference and developer documentation, \ 83 see <a href="$(JAVADOC_BASE_URL)/index.html" target="_blank">Java SE \ 84 Documentation</a>. That documentation contains more detailed, \ 85 developer-targeted descriptions, with conceptual overviews, definitions of \ 86 terms, workarounds, and working code examples. 87 88 ifeq ($(VERSION_IS_GA), true) 89 DRAFT_HEADER := 90 DRAFT_BOTTOM := 91 DRAFT_WINTITLE := 92 CORE_TOP_EARLYACCESS := 93 else 94 # We need a draft format when not building the GA version. 95 DRAFT_HEADER := <br><strong>DRAFT $(VERSION_STRING)</strong> 96 DRAFT_BOTTOM := <br><strong>DRAFT $(VERSION_STRING)</strong> 97 DRAFT_WINTITLE := $(VERSION_BUILD) 98 CORE_TOP_EARLYACCESS := \ 99 <div style="background-color: $$(HASH)EEEEEE"> \ 100 <div style="padding: 6px; margin-top: 2px; margin-bottom: 6px; \ 101 margin-left: 6px; margin-right: 6px; text-align: justify; \ 102 font-size: 80%; font-family: Helvetica, Arial, sans-serif; \ 103 font-weight: normal;"> \ 104 Please note that the specifications and other information \ 105 contained herein are not final and are subject to change. \ 106 The information is being made available to you solely for purpose of \ 107 evaluation. \ 108 </div> </div> 109 endif 110 111 ################################################################################ 112 # Support functions for SetupJavadocGeneration 113 114 # Print an option line to the target file 115 # Arguments: 116 # arg 1: the option name 117 # arg 2-3: optional arguments to the option 118 define AddOption 119 $(PRINTF) "%s$(if $(strip $2), '%s',)$(if $(strip $3), '%s',)\n" \ 120 "$(strip $1)"$(if $(strip $2), '$(strip $2)',)$(if $(strip $3), \ 121 '$(strip $3)',) >> $@ 122 endef 123 124 # This function goes to great pains to exactly mimic the old behavior 125 # in all details, including whitespace. 126 # Note that COPYRIGHT_YEAR is the current year (from spec.gmk) 127 # Arguments: 128 # arg 1: first copyright year 129 # arg 2: copyright url (optional) 130 # arg 3: company address (optional) 131 # arg 4: free-form text snippet (optional) 132 define GenerateBottom 133 <font size="-1">$(if $(strip $4), $(strip $4))<br> $(if \ 134 $(strip $2),<a href="$(strip $2)">$(COPYRIGHT_TEXT)</a>,$(COPYRIGHT_TEXT)) \ 135 $(COPYRIGHT_SYMBOL) $(strip $1), $(COPYRIGHT_YEAR),\ 136 $(FULL_COMPANY_NAME). $(strip $3) \ 137 $(ALL_RIGHTS_RESERVED)$(if $(strip $4), )</font> 138 endef 139 140 # Speed up finding by filling cache 141 $(eval $(call FillCacheFind, $(wildcard $(JAVADOC_SOURCE_DIRS)))) 142 143 # Prevent # from expanding 144 EscapeHash = $(subst $(HASH),{hash},$(strip $1)) 145 146 ################################################################################ 147 # Setup make rules for running javadoc. 148 # 149 # Parameter 1 is the name of the rule. This name is used as variable prefix, 150 # and the targets generated are listed in a variable by that name. Note that 151 # the index.html file will work as a "touch file" for all the magnitude of 152 # files that are generated by javadoc. 153 # 154 # Remaining parameters are named arguments. These include: 155 # MODULES - Modules to include 156 # PACKAGES - Packages to include 157 # REGEXP - Filter for packages 158 # IS_CORE - Set to TRUE for the Core API package which needs special treatment 159 # API_ROOT - Where to base the documentation (jre or jdk) 160 # DEST_DIR - A directory relative to the API root 161 # OVERVIEW - Path to a html overview file 162 # TITLE - Default title to use for the more specific versions below 163 # WINDOW_TITLE - Title to use in -windowtitle. Computed from TITLE if empty. 164 # HEADER_TITLE - Title to use in -header. Computed from TITLE if empty. 165 # DOC_TITLE - Title to use in -doctitle. Computed from TITLE if empty. 166 # FIRST_COPYRIGHT_YEAR - First year this bundle was introduced 167 # DOCLINT - Doclint level. Defaults to "all". 168 # DOCLINT_PACKAGES - Optional -Xdoclint/package value 169 # ENCODING - Change character encoding (defaults to 'ascii') 170 # SPLIT_INDEX - Enable -splitIndex 171 # BREAKITERATOR - Enable -breakiterator 172 # NODEPRECATEDLIST - Enable nodeprecatedlist 173 # NOINDEX - Enable -noindex and -nonavbar 174 # BOTTOM_COPYRIGHT_URL - Copyright URL to use in -bottom 175 # BOTTOM_ADDRESS - Company address to use in -bottom 176 # BOTTOM_TEXT - Extra text to use in -bottom 177 # EXTRA_TOP - Additional -top data 178 # 179 SetupJavadocGeneration = $(NamedParamsMacroTemplate) 180 define SetupJavadocGenerationBody 181 ifeq ($$($1_IS_CORE), TRUE) 182 $1_JAVA := $$(JAVA) 183 $1_OUTPUT_DIRNAME := api 184 else 185 $1_JAVA := $$(JAVA_SMALL) 186 $1_OUTPUT_DIRNAME := $$($1_API_ROOT)/api/$$($1_DEST_DIR) 187 188 ifeq ($$($1_RELATIVE_CORE_DIR),) 189 # Compute a relative path to core root. 190 # The non-core api javadocs need to be able to access the root of the core 191 # api directory, so for jdk/api or jre/api to get to the core api/ 192 # directory we would use this 193 # NOTE: Need to be able to override for broken old code in JShell 194 $1_RELATIVE_CORE_DIR := $$(strip $$(subst $$(call DirToDotDot, \ 195 $$(JAVADOC_OUTPUTDIR))/,, $$(call DirToDotDot, \ 196 $$(JAVADOC_OUTPUTDIR)/$$($1_OUTPUT_DIRNAME)))) 197 endif 198 199 $1_DEPS += $(CORE_INDEX_FILE) 200 endif 201 202 ifneq ($$($1_OVERVIEW), ) 203 $1_DEPS += $$($1_OVERVIEW) 204 endif 205 206 ifeq ($$($1_ENCODING), ) 207 $1_ENCODING := ascii 208 endif 209 210 ifeq ($$($1_DOCLINT), ) 211 $1_DOCLINT := all 212 endif 213 214 ifeq ($$($1_DOC_TITLE), ) 215 $1_DOC_TITLE := $$($1_TITLE) 216 endif 217 218 ifeq ($$($1_WINDOW_TITLE), ) 219 $1_WINDOW_TITLE := $$(strip $$(subst $$(TRADEMARK),, $$($1_TITLE))) 220 endif 221 222 ifeq ($$($1_HEADER_TITLE), ) 223 $1_HEADER_TITLE := $$(strip $$(subst $$(TRADEMARK),, $$($1_TITLE))) 224 endif 225 $1_HEADER := <strong>$$($1_HEADER_TITLE)</strong> 226 227 $1_BOTTOM := $$(call GenerateBottom, $$($1_FIRST_COPYRIGHT_YEAR), \ 228 $$($1_BOTTOM_COPYRIGHT_URL), $$($1_BOTTOM_ADDRESS), $$($1_BOTTOM_TEXT)) 229 230 # The index.html, options, and packages files 231 $1_INDEX_FILE := $$(JAVADOC_OUTPUTDIR)/$$($1_OUTPUT_DIRNAME)/index.html 232 $1_OPTIONS_FILE := $$(SUPPORT_OUTPUTDIR)/docs/$1.options 233 $1_PACKAGES_FILE := $$(SUPPORT_OUTPUTDIR)/docs/$1.packages 234 235 $1_PACKAGES_VARDEPS := $$($1_PACKAGES) $$($1_PACKAGES_SINGLE_CLASS) 236 $1_PACKAGES_VARDEPS_FILE := $$(call DependOnVariable, $1_PACKAGES_VARDEPS, \ 237 $$($1_PACKAGES_FILE).vardeps) 238 239 # Rule for creating a file with the package names in it 240 $$($1_PACKAGES_FILE): $$($1_PACKAGES_VARDEPS_FILE) 241 $$(call LogInfo, Creating Javadoc package file for $1) 242 $$(call MakeDir, $$(@D)) 243 ifeq ($$($1_PACKAGES_SINGLE_CLASS), ) 244 $$(ECHO) $$($1_PACKAGES) | $$(TR) ' ' '\n' > $$@ 245 else 246 # NOTE: This is for backwards compatibility for taglet 247 $$(ECHO) $$($1_PACKAGES_SINGLE_CLASS) > $$@ 248 endif 249 250 # NOTE: Not including $$($1_EXTRA_TOP) due to $$(HASH) 251 $1_OPTIONS_VARDEPS := $$(call EscapeHash, \ 252 $$($DOCROOTPARENT_FLAG) $$(JAVADOC_BASE_URL) $$($1_NO_COMMON_TAGS) \ 253 $$($1_DOCLINT) $$($1_DOCLINT_PACKAGES) $$(JAVADOC_SOURCE_DIRS) \ 254 $$($1_MODULES) $$($1_ENCODING) $$($1_NODEPRECATEDLIST) \ 255 $$($1_BREAKITERATOR) $$($1_SPLIT_INDEX) $$($1_OVERVIEW) \ 256 $$($1_DOC_TITLE) $$($1_WINDOW_TITLE) $$(DRAFT_WINTITLE) \ 257 $$($1_HEADER) $$(DRAFT_HEADER) $$($1_NOINDEX) $$($1_EXTRA_TOP_2) \ 258 $$($1_BOTTOM) $$(DRAFT_BOTTOM)) $$($1_REGEXP) $$($1_RELATIVE_CORE_DIR) \ 259 $$(JAVADOC_OUTPUTDIR) \ 260 ) 261 $1_OPTIONS_VARDEPS_FILE := $$(call DependOnVariable, $1_OPTIONS_VARDEPS, \ 262 $$($1_OPTIONS_FILE).vardeps) 263 264 # Rule for creating a file with javadoc options in it 265 $$($1_OPTIONS_FILE): $$($1_OPTIONS_VARDEPS_FILE) 266 $$(call LogInfo, Creating Javadoc options file for $1) 267 $$(call MakeDir, $$(@D)) 268 $$(RM) $$@ 269 $$(call AddOption, -XDignore.symbol.file=true) 270 ifneq ($$(LOG_LEVEL), trace) 271 $$(call AddOption, -quiet) 272 endif 273 $$(call AddOption, -use) 274 $$(call AddOption, -keywords) 275 ifneq ($$($DOCROOTPARENT_FLAG), ) 276 # NOTE: Argument to -Xdocrootparent is not quoted to keep backwards compatibility. 277 $$(call AddOption, -Xdocrootparent $(JAVADOC_BASE_URL)) 278 endif 279 ifneq ($$($1_NO_COMMON_TAGS), TRUE) 280 # In order to get a specific ordering it's necessary to specify the total 281 # ordering of tags as the tags are otherwise ordered in order of definition. 282 $$(call AddOption, -tag, beaninfo:X) 283 $$(call AddOption, -tag, revised:X) 284 $$(call AddOption, -tag, since.unbundled:X) 285 $$(call AddOption, -tag, spec:X) 286 $$(call AddOption, -tag, specdefault:X) 287 $$(call AddOption, -tag, Note:X) 288 $$(call AddOption, -tag, ToDo:X) 289 $$(call AddOption, -tag, apiNote:a:API Note:) 290 $$(call AddOption, -tag, implSpec:a:Implementation Requirements:) 291 $$(call AddOption, -tag, implNote:a:Implementation Note:) 292 $$(call AddOption, -tag, param) 293 $$(call AddOption, -tag, return) 294 $$(call AddOption, -tag, throws) 295 $$(call AddOption, -tag, since) 296 $$(call AddOption, -tag, version) 297 $$(call AddOption, -tag, serialData) 298 $$(call AddOption, -tag, factory) 299 $$(call AddOption, -tag, see) 300 $$(call AddOption, -tag, \ 301 jvms:a:See <cite> The Java™ Virtual Machine Specification</cite>:) 302 $$(call AddOption, -tag, \ 303 jls:a:See <cite> The Java™ Language Specification</cite>:) 304 endif 305 $$(call AddOption, -Xdoclint:$$($1_DOCLINT)) 306 ifneq ($$($1_DOCLINT_PACKAGES), ) 307 $$(call AddOption, -Xdoclint/package:$$(call CommaList, $$($1_DOCLINT_PACKAGES))) 308 endif 309 $$(call AddOption, --system, none) 310 $$(call AddOption, --module-source-path, $$(subst ",, $$(call PathList, $$(JAVADOC_SOURCE_DIRS)))) 311 $$(call AddOption, --add-modules, $$(call CommaList, $$($1_MODULES))) 312 $$(call AddOption, -encoding, $$($1_ENCODING)) 313 ifneq ($$($1_NODEPRECATEDLIST), ) 314 $$(call AddOption, -nodeprecatedlist) 315 endif 316 ifneq ($$($1_BREAKITERATOR), ) 317 $$(call AddOption, -breakiterator) 318 endif 319 ifneq ($$($1_SPLIT_INDEX), ) 320 $$(call AddOption, -splitIndex) 321 endif 322 ifneq ($$($1_OVERVIEW), ) 323 $$(call AddOption, -overview, $$($1_OVERVIEW)) 324 endif 325 $$(call AddOption, -doctitle, $$($1_DOC_TITLE)) 326 $$(call AddOption, -windowtitle, $$($1_WINDOW_TITLE) $$(DRAFT_WINTITLE)) 327 $$(call AddOption, -header, $$($1_HEADER)$$(DRAFT_HEADER)) 328 ifneq ($$($1_NOINDEX), ) 329 $$(call AddOption, -nonavbar) 330 $$(call AddOption, -noindex) 331 endif 332 ifneq ($$($1_EXTRA_TOP_2), ) 333 $$(call AddOption, -top,$$($1_EXTRA_TOP_2)) 334 endif 335 $$(call AddOption, -bottom, $$($1_BOTTOM)$$(DRAFT_BOTTOM)) 336 ifneq ($$($1_REGEXP), ) 337 $$(call AddOption, -group, Packages, $$($1_REGEXP)) 338 endif 339 ifneq ($$($1_RELATIVE_CORE_DIR), ) 340 $$(call AddOption, -linkoffline, $$($1_RELATIVE_CORE_DIR)/api, $$(JAVADOC_OUTPUTDIR)/api/) 341 endif 342 ifneq ($$($1_EXTRA_TOP), ) 343 $$(call AddOption, -top, $$($1_EXTRA_TOP)) 344 endif 345 346 $1_PACKAGE_DEPS := $$(call CacheFind, $$(wildcard $$(foreach p, \ 347 $$(subst .,/,$$(strip $$($1_PACKAGES))), \ 348 $$(addsuffix /$$p, $$(wildcard $$(JAVADOC_SOURCE_DIRS)))))) 349 350 # Rule for actually running javadoc 351 $$($1_INDEX_FILE): $$($1_OPTIONS_FILE) $$($1_PACKAGES_FILE) \ 352 $$($1_PACKAGE_DEPS) $$($1_DEPS) 353 $$(call LogWarn, Generating Javadoc for $$($1_OUTPUT_DIRNAME)) 354 $$(call MakeDir, $$(@D)) 355 ifneq ($$(findstring $$(LOG_LEVEL), debug trace),) 356 $$(ECHO) "Contents of $$($1_OPTIONS_FILE):" `$$(CAT) $$($1_OPTIONS_FILE)` 357 $$(ECHO) "Contents of $$($1_PACKAGES_FILE):" `$$(CAT) $$($1_PACKAGES_FILE)` 358 endif 359 $$(call ExecuteWithLog, $$(SUPPORT_OUTPUTDIR)/docs/$1.javadoc, \ 360 $$($1_JAVA) -Djava.awt.headless=true $(NEW_JAVADOC) -d $$(@D) \ 361 @$$($1_OPTIONS_FILE) @$$($1_PACKAGES_FILE)) 362 $$(TOUCH) $$($1_INDEX_FILE) 363 364 # The output returned will be the index.html file 365 $1 := $$($1_INDEX_FILE) 366 endef 367 368 ################################################################################ 369 370 CORE_PACKAGES := \ 371 java.applet \ 372 java.awt \ 373 java.awt.color \ 374 java.awt.datatransfer \ 375 java.awt.desktop \ 376 java.awt.dnd \ 377 java.awt.event \ 378 java.awt.font \ 379 java.awt.geom \ 380 java.awt.im \ 381 java.awt.im.spi \ 382 java.awt.image \ 383 java.awt.image.renderable \ 384 java.awt.print \ 385 java.beans \ 386 java.beans.beancontext \ 387 java.io \ 388 java.lang \ 389 java.lang.annotation \ 390 java.lang.instrument \ 391 java.lang.invoke \ 392 java.lang.management \ 393 java.lang.module \ 394 java.lang.ref \ 395 java.lang.reflect \ 396 java.math \ 397 java.net \ 398 java.net.http \ 399 java.net.spi \ 400 java.nio \ 401 java.nio.channels \ 402 java.nio.channels.spi \ 403 java.nio.charset \ 404 java.nio.charset.spi \ 405 java.nio.file \ 406 java.nio.file.attribute \ 407 java.nio.file.spi \ 408 java.rmi \ 409 java.rmi.activation \ 410 java.rmi.dgc \ 411 java.rmi.registry \ 412 java.rmi.server \ 413 java.security \ 414 java.security.acl \ 415 java.security.cert \ 416 java.security.interfaces \ 417 java.security.spec \ 418 java.sql \ 419 java.text \ 420 java.text.spi \ 421 java.time \ 422 java.time.chrono \ 423 java.time.format \ 424 java.time.temporal \ 425 java.time.zone \ 426 java.util \ 427 java.util.concurrent \ 428 java.util.concurrent.atomic \ 429 java.util.concurrent.locks \ 430 java.util.function \ 431 java.util.jar \ 432 java.util.logging \ 433 java.util.prefs \ 434 java.util.regex \ 435 java.util.spi \ 436 java.util.stream \ 437 java.util.zip \ 438 javax.accessibility \ 439 javax.activation \ 440 javax.activity \ 441 javax.annotation \ 442 javax.annotation.processing \ 443 javax.crypto \ 444 javax.crypto.interfaces \ 445 javax.crypto.spec \ 446 javax.imageio \ 447 javax.imageio.event \ 448 javax.imageio.metadata \ 449 javax.imageio.plugins.jpeg \ 450 javax.imageio.plugins.bmp \ 451 javax.imageio.plugins.tiff \ 452 javax.imageio.spi \ 453 javax.imageio.stream \ 454 javax.jws \ 455 javax.jws.soap \ 456 javax.lang.model \ 457 javax.lang.model.element \ 458 javax.lang.model.type \ 459 javax.lang.model.util \ 460 javax.management \ 461 javax.management.loading \ 462 javax.management.monitor \ 463 javax.management.relation \ 464 javax.management.openmbean \ 465 javax.management.timer \ 466 javax.management.modelmbean \ 467 javax.management.remote \ 468 javax.management.remote.rmi \ 469 javax.naming \ 470 javax.naming.directory \ 471 javax.naming.event \ 472 javax.naming.ldap \ 473 javax.naming.spi \ 474 javax.net \ 475 javax.net.ssl \ 476 javax.print \ 477 javax.print.attribute \ 478 javax.print.attribute.standard \ 479 javax.print.event \ 480 javax.rmi \ 481 javax.rmi.CORBA \ 482 javax.rmi.ssl \ 483 javax.script \ 484 javax.security.auth \ 485 javax.security.auth.callback \ 486 javax.security.auth.kerberos \ 487 javax.security.auth.login \ 488 javax.security.auth.spi \ 489 javax.security.auth.x500 \ 490 javax.security.cert \ 491 javax.security.sasl \ 492 javax.sound.sampled \ 493 javax.sound.sampled.spi \ 494 javax.sound.midi \ 495 javax.sound.midi.spi \ 496 javax.sql \ 497 javax.sql.rowset \ 498 javax.sql.rowset.serial \ 499 javax.sql.rowset.spi \ 500 javax.swing \ 501 javax.swing.border \ 502 javax.swing.colorchooser \ 503 javax.swing.filechooser \ 504 javax.swing.event \ 505 javax.swing.table \ 506 javax.swing.text \ 507 javax.swing.text.html \ 508 javax.swing.text.html.parser \ 509 javax.swing.text.rtf \ 510 javax.swing.tree \ 511 javax.swing.undo \ 512 javax.swing.plaf \ 513 javax.swing.plaf.basic \ 514 javax.swing.plaf.metal \ 515 javax.swing.plaf.multi \ 516 javax.swing.plaf.nimbus \ 517 javax.swing.plaf.synth \ 518 javax.tools \ 519 javax.transaction \ 520 javax.transaction.xa \ 521 javax.xml.catalog \ 522 javax.xml.parsers \ 523 javax.xml.bind \ 524 javax.xml.bind.annotation \ 525 javax.xml.bind.annotation.adapters \ 526 javax.xml.bind.attachment \ 527 javax.xml.bind.helpers \ 528 javax.xml.bind.util \ 529 javax.xml.soap \ 530 javax.xml.ws \ 531 javax.xml.ws.handler \ 532 javax.xml.ws.handler.soap \ 533 javax.xml.ws.http \ 534 javax.xml.ws.soap \ 535 javax.xml.ws.spi \ 536 javax.xml.ws.spi.http \ 537 javax.xml.ws.wsaddressing \ 538 javax.xml.transform \ 539 javax.xml.transform.sax \ 540 javax.xml.transform.dom \ 541 javax.xml.transform.stax \ 542 javax.xml.transform.stream \ 543 javax.xml \ 544 javax.xml.crypto \ 545 javax.xml.crypto.dom \ 546 javax.xml.crypto.dsig \ 547 javax.xml.crypto.dsig.dom \ 548 javax.xml.crypto.dsig.keyinfo \ 549 javax.xml.crypto.dsig.spec \ 550 javax.xml.datatype \ 551 javax.xml.validation \ 552 javax.xml.namespace \ 553 javax.xml.xpath \ 554 javax.xml.stream \ 555 javax.xml.stream.events \ 556 javax.xml.stream.util \ 557 org.ietf.jgss \ 558 org.omg.CORBA \ 559 org.omg.CORBA.DynAnyPackage \ 560 org.omg.CORBA.ORBPackage \ 561 org.omg.CORBA.TypeCodePackage \ 562 org.omg.stub.java.rmi \ 563 org.omg.CORBA.portable \ 564 org.omg.CORBA_2_3 \ 565 org.omg.CORBA_2_3.portable \ 566 org.omg.CosNaming \ 567 org.omg.CosNaming.NamingContextExtPackage \ 568 org.omg.CosNaming.NamingContextPackage \ 569 org.omg.SendingContext \ 570 org.omg.PortableServer \ 571 org.omg.PortableServer.CurrentPackage \ 572 org.omg.PortableServer.POAPackage \ 573 org.omg.PortableServer.POAManagerPackage \ 574 org.omg.PortableServer.ServantLocatorPackage \ 575 org.omg.PortableServer.portable \ 576 org.omg.PortableInterceptor \ 577 org.omg.PortableInterceptor.ORBInitInfoPackage \ 578 org.omg.Messaging \ 579 org.omg.IOP \ 580 org.omg.IOP.CodecFactoryPackage \ 581 org.omg.IOP.CodecPackage \ 582 org.omg.Dynamic \ 583 org.omg.DynamicAny \ 584 org.omg.DynamicAny.DynAnyPackage \ 585 org.omg.DynamicAny.DynAnyFactoryPackage \ 586 org.w3c.dom \ 587 org.w3c.dom.events \ 588 org.w3c.dom.bootstrap \ 589 org.w3c.dom.ls \ 590 org.w3c.dom.ranges \ 591 org.w3c.dom.traversal \ 592 org.w3c.dom.views \ 593 org.xml.sax \ 594 org.xml.sax.ext \ 595 org.xml.sax.helpers 596 597 $(eval $(call SetupJavadocGeneration, coredocs, \ 598 MODULES := java.se.ee, \ 599 PACKAGES := $(CORE_PACKAGES), \ 600 IS_CORE := TRUE, \ 601 OVERVIEW := $(JDK_TOPDIR)/src/java.base/share/classes/overview-core.html, \ 602 WINDOW_TITLE := Java Platform SE $(VERSION_SPECIFICATION), \ 603 HEADER_TITLE := Java$(TRADEMARK) Platform<br>Standard Ed. $(VERSION_SPECIFICATION), \ 604 DOC_TITLE := Java$(TRADEMARK) Platform$(COMMA) Standard Edition \ 605 $(VERSION_SPECIFICATION)<br>API Specification, \ 606 FIRST_COPYRIGHT_YEAR := 1993, \ 607 DOCLINT := reference, \ 608 DOCLINT_PACKAGES := -org.omg.* jdk.internal.logging.*, \ 609 ENCODING := ISO-8859-1, \ 610 SPLIT_INDEX := TRUE, \ 611 BOTTOM_COPYRIGHT_URL := $(CORE_BOTTOM_COPYRIGHT_URL), \ 612 BOTTOM_TEXT := $(CORE_BOTTOM_TEXT), \ 613 EXTRA_TOP := $(CORE_TOP_EARLYACCESS), \ 614 )) 615 616 TARGETS += $(coredocs) 617 618 ################################################################################ 619 620 $(eval $(call SetupJavadocGeneration, docletapi, \ 621 MODULES := jdk.javadoc, \ 622 PACKAGES := \ 623 jdk.javadoc.doclet \ 624 jdk.javadoc.doclet.taglet \ 625 jdk.javadoc.doclets, \ 626 REGEXP := jdk.javadoc.doclet*, \ 627 API_ROOT := jdk,\ 628 DEST_DIR := javadoc/doclet,\ 629 TITLE := Doclet API, \ 630 FIRST_COPYRIGHT_YEAR := 1993, \ 631 BREAKITERATOR := TRUE, \ 632 BOTTOM_ADDRESS := $(COMMON_BOTTOM_ADDRESS), \ 633 BOTTOM_TEXT := $(COMMON_BOTTOM_TEXT), \ 634 )) 635 636 TARGETS += $(docletapi) 637 638 ################################################################################ 639 640 $(eval $(call SetupJavadocGeneration, old-docletapi, \ 641 MODULES := jdk.javadoc, \ 642 PACKAGES := com.sun.javadoc, \ 643 REGEXP := com.sun.javadoc, \ 644 API_ROOT := jdk,\ 645 DEST_DIR := javadoc/old/doclet,\ 646 TITLE := Doclet API, \ 647 FIRST_COPYRIGHT_YEAR := 1993, \ 648 BREAKITERATOR := TRUE, \ 649 BOTTOM_ADDRESS := $(COMMON_BOTTOM_ADDRESS), \ 650 BOTTOM_TEXT := $(COMMON_BOTTOM_TEXT), \ 651 )) 652 653 TARGETS += $(old-docletapi) 654 655 ################################################################################ 656 657 # Specify a single class instead of a package 658 TAGLET_PACKAGE_SINGLE_CLASS := com/sun/tools/doclets/Taglet.java 659 TAGLET_PACKAGE_DIR := $(LANGTOOLS_TOPDIR)/src/jdk.javadoc/share/classes 660 661 $(eval $(call SetupJavadocGeneration, tagletapi, \ 662 MODULES := jdk.javadoc, \ 663 PACKAGES := com.sun.tools.doclets, \ 664 PACKAGES_SINGLE_CLASS := $(TAGLET_PACKAGE_DIR)/$(TAGLET_PACKAGE_SINGLE_CLASS), \ 665 API_ROOT := jdk,\ 666 DEST_DIR := javadoc/old/taglet,\ 667 TITLE := Taglet API, \ 668 FIRST_COPYRIGHT_YEAR := 1993, \ 669 BREAKITERATOR := TRUE, \ 670 NOINDEX := TRUE, \ 671 BOTTOM_ADDRESS := $(COMMON_BOTTOM_ADDRESS), \ 672 BOTTOM_TEXT := $(COMMON_BOTTOM_TEXT), \ 673 )) 674 675 TARGETS += $(tagletapi) 676 677 ################################################################################ 678 679 $(eval $(call SetupJavadocGeneration, domapi, \ 680 MODULES := \ 681 java.xml \ 682 jdk.xml.dom, \ 683 PACKAGES := \ 684 org.w3c.dom \ 685 org.w3c.dom.bootstrap \ 686 org.w3c.dom.ls \ 687 org.w3c.dom.ranges \ 688 org.w3c.dom.traversal \ 689 org.w3c.dom.html \ 690 org.w3c.dom.stylesheets \ 691 org.w3c.dom.css \ 692 org.w3c.dom.events \ 693 org.w3c.dom.views, \ 694 REGEXP := org.w3c.dom*, \ 695 API_ROOT := jre,\ 696 DEST_DIR := plugin/dom,\ 697 TITLE := Common DOM API, \ 698 FIRST_COPYRIGHT_YEAR := 2005, \ 699 DOCLINT := none, \ 700 SPLIT_INDEX := TRUE, \ 701 BOTTOM_ADDRESS := $(COMMON_BOTTOM_ADDRESS), \ 702 BOTTOM_TEXT := $(COMMON_BOTTOM_TEXT), \ 703 )) 704 705 TARGETS += $(domapi) 706 707 ################################################################################ 708 709 $(eval $(call SetupJavadocGeneration, jdi, \ 710 MODULES := jdk.jdi, \ 711 PACKAGES := \ 712 com.sun.jdi \ 713 com.sun.jdi.event \ 714 com.sun.jdi.request \ 715 com.sun.jdi.connect \ 716 com.sun.jdi.connect.spi, \ 717 API_ROOT := jdk,\ 718 DEST_DIR := jpda/jdi,\ 719 OVERVIEW := $(JDK_TOPDIR)/src/jdk.jdi/share/classes/jdi-overview.html, \ 720 TITLE := Java$(TRADEMARK) Debug Interface, \ 721 FIRST_COPYRIGHT_YEAR := 1999, \ 722 DOCLINT := none, \ 723 )) 724 725 TARGETS += $(jdi) 726 727 ################################################################################ 728 729 $(eval $(call SetupJavadocGeneration, jaas, \ 730 MODULES := jdk.security.auth, \ 731 PACKAGES := \ 732 com.sun.security.auth \ 733 com.sun.security.auth.callback \ 734 com.sun.security.auth.login \ 735 com.sun.security.auth.module, \ 736 API_ROOT := jre,\ 737 DEST_DIR := security/jaas/spec,\ 738 OVERVIEW := $(JDK_TOPDIR)/src/jdk.security.auth/share/classes/jaas-overview.html, \ 739 TITLE := Java$(TRADEMARK) Authentication and Authorization Service, \ 740 FIRST_COPYRIGHT_YEAR := 1998, \ 741 DOCLINT := none, \ 742 )) 743 744 TARGETS += $(jaas) 745 746 ################################################################################ 747 748 $(eval $(call SetupJavadocGeneration, jgss, \ 749 MODULES := jdk.security.jgss, \ 750 PACKAGES := com.sun.security.jgss, \ 751 API_ROOT := jre,\ 752 DEST_DIR := security/jgss/spec,\ 753 OVERVIEW := $(JDK_TOPDIR)/src/java.security.jgss/share/classes/jgss-overview.html, \ 754 TITLE := Java$(TRADEMARK) GSS-API Utilities, \ 755 FIRST_COPYRIGHT_YEAR := 2000, \ 756 DOCLINT := none, \ 757 NODEPRECATEDLIST := TRUE, \ 758 )) 759 760 TARGETS += $(jgss) 761 762 ################################################################################ 763 764 $(eval $(call SetupJavadocGeneration, smartcardio, \ 765 MODULES := java.smartcardio, \ 766 PACKAGES := javax.smartcardio, \ 767 API_ROOT := jre,\ 768 DEST_DIR := security/smartcardio/spec,\ 769 TITLE := Java$(TRADEMARK) Smart Card I/O, \ 770 FIRST_COPYRIGHT_YEAR := 2005, \ 771 DOCLINT := none, \ 772 NODEPRECATEDLIST := TRUE, \ 773 )) 774 775 TARGETS += $(smartcardio) 776 777 ################################################################################ 778 779 $(eval $(call SetupJavadocGeneration, httpserver, \ 780 MODULES := jdk.httpserver, \ 781 PACKAGES := \ 782 com.sun.net.httpserver \ 783 com.sun.net.httpserver.spi, \ 784 API_ROOT := jre,\ 785 DEST_DIR := net/httpserver/spec,\ 786 TITLE := Java$(TRADEMARK) HTTP Server, \ 787 FIRST_COPYRIGHT_YEAR := 2005, \ 788 DOCLINT := none, \ 789 NODEPRECATEDLIST := TRUE, \ 790 )) 791 792 TARGETS += $(httpserver) 793 794 ################################################################################ 795 796 $(eval $(call SetupJavadocGeneration, jsobject, \ 797 MODULES := jdk.jsobject, \ 798 PACKAGES := netscape.javascript, \ 799 API_ROOT := jre,\ 800 DEST_DIR := plugin/jsobject,\ 801 FIRST_COPYRIGHT_YEAR := 1993, \ 802 TITLE := Java$(TRADEMARK) JSObject Doc, \ 803 DOCLINT := none, \ 804 NODEPRECATEDLIST := TRUE, \ 805 )) 806 807 TARGETS += $(jsobject) 808 809 ################################################################################ 810 811 $(eval $(call SetupJavadocGeneration, mgmt, \ 812 MODULES := jdk.management, \ 813 PACKAGES := com.sun.management, \ 814 API_ROOT := jre,\ 815 DEST_DIR := management/extension,\ 816 OVERVIEW := $(JDK_TOPDIR)/src/java.management/share/classes/mgmt-overview.html, \ 817 TITLE := Monitoring and Management Interface for the Java$(TRADEMARK) Platform, \ 818 FIRST_COPYRIGHT_YEAR := 2003, \ 819 DOCLINT := none, \ 820 NODEPRECATEDLIST := TRUE, \ 821 )) 822 823 TARGETS += $(mgmt) 824 825 ################################################################################ 826 827 $(eval $(call SetupJavadocGeneration, attach, \ 828 MODULES := jdk.attach, \ 829 PACKAGES := \ 830 com.sun.tools.attach \ 831 com.sun.tools.attach.spi, \ 832 API_ROOT := jdk,\ 833 DEST_DIR := attach/spec,\ 834 TITLE := Attach API, \ 835 FIRST_COPYRIGHT_YEAR := 2005, \ 836 DOCLINT := none, \ 837 NODEPRECATEDLIST := TRUE, \ 838 )) 839 840 TARGETS += $(attach) 841 842 ################################################################################ 843 844 $(eval $(call SetupJavadocGeneration, jconsole, \ 845 MODULES := jdk.jconsole, \ 846 PACKAGES := com.sun.tools.jconsole, \ 847 API_ROOT := jdk,\ 848 DEST_DIR := jconsole/spec,\ 849 TITLE := JConsole API, \ 850 FIRST_COPYRIGHT_YEAR := 2006, \ 851 DOCLINT := none, \ 852 NODEPRECATEDLIST := TRUE, \ 853 )) 854 855 TARGETS += $(jconsole) 856 857 ################################################################################ 858 859 # NOTE: Need to override RELATIVE_CORE_DIR to be bug compatible with old code. 860 $(eval $(call SetupJavadocGeneration, jshellapi, \ 861 MODULES := jdk.jshell, \ 862 PACKAGES := \ 863 jdk.jshell \ 864 jdk.jshell.spi \ 865 jdk.jshell.execution, \ 866 API_ROOT := jdk,\ 867 DEST_DIR := jshell,\ 868 RELATIVE_CORE_DIR := ../../../.., \ 869 OVERVIEW := $(LANGTOOLS_TOPDIR)/src/jdk.jshell/share/classes/jdk/jshell/overview.html, \ 870 TITLE := JShell API, \ 871 HEADER_TITLE := JSHELL API, \ 872 FIRST_COPYRIGHT_YEAR := 2015, \ 873 )) 874 875 TARGETS += $(jshellapi) 876 877 ################################################################################ 878 879 $(eval $(call SetupJavadocGeneration, treeapi, \ 880 MODULES := jdk.compiler, \ 881 PACKAGES := \ 882 com.sun.source.doctree \ 883 com.sun.source.tree \ 884 com.sun.source.util, \ 885 REGEXP := com.sun.source.*, \ 886 API_ROOT := jdk,\ 887 DEST_DIR := javac/tree,\ 888 TITLE := Compiler Tree API, \ 889 FIRST_COPYRIGHT_YEAR := 2005, \ 890 )) 891 892 TARGETS += $(treeapi) 893 894 ################################################################################ 895 896 $(eval $(call SetupJavadocGeneration, nashornapi, \ 897 MODULES := jdk.scripting.nashorn, \ 898 PACKAGES := \ 899 jdk.nashorn.api.scripting \ 900 jdk.nashorn.api.tree, \ 901 REGEXP := jdk.nashorn.api.*, \ 902 API_ROOT := jdk,\ 903 DEST_DIR := nashorn,\ 904 TITLE := Nashorn API, \ 905 FIRST_COPYRIGHT_YEAR := 2014, \ 906 )) 907 908 TARGETS += $(nashornapi) 909 910 ################################################################################ 911 912 $(eval $(call SetupJavadocGeneration, dynalinkapi, \ 913 MODULES := jdk.dynalink, \ 914 PACKAGES := \ 915 jdk.dynalink \ 916 jdk.dynalink.beans \ 917 jdk.dynalink.linker \ 918 jdk.dynalink.linker.support \ 919 jdk.dynalink.support, \ 920 API_ROOT := jdk,\ 921 DEST_DIR := dynalink,\ 922 TITLE := Dynalink API, \ 923 FIRST_COPYRIGHT_YEAR := 2015, \ 924 )) 925 926 TARGETS += $(dynalinkapi) 927 928 ################################################################################ 929 930 $(eval $(call SetupJavadocGeneration, sctp, \ 931 MODULES := jdk.sctp, \ 932 PACKAGES := com.sun.nio.sctp, \ 933 API_ROOT := jre,\ 934 DEST_DIR := nio/sctp/spec,\ 935 TITLE := SCTP API, \ 936 FIRST_COPYRIGHT_YEAR := 2009, \ 937 DOCLINT := none, \ 938 NODEPRECATEDLIST := TRUE, \ 939 )) 940 941 TARGETS += $(sctp) 942 943 ################################################################################ 944 945 $(eval $(call SetupJavadocGeneration, jaccess, \ 946 MODULES := jdk.accessibility, \ 947 PACKAGES := com.sun.java.accessibility.util, \ 948 API_ROOT := jre,\ 949 DEST_DIR := accessibility/jaccess/spec,\ 950 TITLE := JACCESS API, \ 951 FIRST_COPYRIGHT_YEAR := 2002, \ 952 NODEPRECATEDLIST := TRUE, \ 953 )) 954 955 TARGETS += $(jaccess) 956 957 ################################################################################ 958 959 $(eval $(call SetupJavadocGeneration, jdknet, \ 960 MODULES := jdk.net, \ 961 PACKAGES := jdk.net, \ 962 API_ROOT := jre,\ 963 DEST_DIR := net/socketoptions/spec,\ 964 TITLE := jdk.net API, \ 965 FIRST_COPYRIGHT_YEAR := 2014, \ 966 DOCLINT := none, \ 967 NODEPRECATEDLIST := TRUE, \ 968 )) 969 970 TARGETS += $(jdknet) 971 972 ################################################################################ 973 974 # TODO: Need to decide when the plugin API is ready to publish as experimental API. 975 # This target is temporarily added for internal use for now. 976 $(eval $(call SetupJavadocGeneration, jlinkplugins, \ 977 MODULES := jdk.jlink, \ 978 PACKAGES := jdk.tools.jlink.plugin, \ 979 API_ROOT := jdk,\ 980 DEST_DIR := jlink,\ 981 TITLE := JLink Plugin API - EXPERIMENTAL, \ 982 FIRST_COPYRIGHT_YEAR := 2015, \ 983 DOCLINT := none, \ 984 NODEPRECATEDLIST := TRUE, \ 985 )) 986 987 TARGETS += $(jlinkplugins) 988 989 ################################################################################ 990 # Copy JDWP html file 991 992 JDWP_HTML := $(SUPPORT_OUTPUTDIR)/gensrc/jdk.jdi/jdwp-protocol.html 993 994 $(eval $(call SetupCopyFiles, COPY_JDWP_HTML, \ 995 FILES := $(JDWP_HTML), \ 996 DEST := $(JAVADOC_OUTPUTDIR)/platform/jpda/jdwp, \ 997 )) 998 999 COPY_TARGETS += $(COPY_JDWP_HTML) 1000 1001 ################################################################################ 1002 # Copy JVMTI html file 1003 1004 # Pick jvmti.html from any jvm variant, they are all the same. 1005 JVMTI_HTML := $(firstword \ 1006 $(wildcard $(HOTSPOT_OUTPUTDIR)/variant-*/gensrc/jvmtifiles/jvmti.html)) 1007 1008 $(eval $(call SetupCopyFiles, COPY_JVMTI_HTML, \ 1009 FILES := $(JVMTI_HTML), \ 1010 DEST := $(JAVADOC_OUTPUTDIR)/platform/jvmti, \ 1011 )) 1012 1013 COPY_TARGETS += $(COPY_JVMTI_HTML) 1014 1015 ################################################################################ 1016 # Optional target which bundles all generated javadocs into a zip archive. 1017 # The dependency on docs is handled in Main.gmk. 1018 1019 # Add the core docs as prerequisite to the archive to trigger a rebuild 1020 # if the core docs were rebuilt. Ideally any doc rebuild should trigger 1021 # this, but the way prerequisites are currently setup in this file, that 1022 # is hard to achieve. 1023 1024 JAVADOC_ARCHIVE_NAME := jdk-$(VERSION_STRING)-docs.zip 1025 JAVADOC_ARCHIVE_ASSEMBLY_DIR := $(SUPPORT_OUTPUTDIR)/docs/zip-docs 1026 JAVADOC_ARCHIVE_DIR := $(OUTPUT_ROOT)/bundles 1027 JAVADOC_ARCHIVE := $(JAVADOC_ARCHIVE_DIR)/$(JAVADOC_ARCHIVE_NAME) 1028 1029 $(JAVADOC_ARCHIVE): $(CORE_INDEX_FILE) 1030 $(call LogInfo, Compressing javadoc to single $(JAVADOC_ARCHIVE_NAME)) 1031 $(MKDIR) -p $(JAVADOC_ARCHIVE_DIR) 1032 $(RM) -r $(JAVADOC_ARCHIVE_ASSEMBLY_DIR) 1033 $(MKDIR) -p $(JAVADOC_ARCHIVE_ASSEMBLY_DIR) 1034 all_roots=`$(FIND) $(JAVADOC_OUTPUTDIR) | $(GREP) index.html | grep -v old/doclet`; \ 1035 pushd $(JAVADOC_ARCHIVE_ASSEMBLY_DIR); \ 1036 for index_file in $${all_roots} ; do \ 1037 target_dir=`dirname $${index_file}`; \ 1038 name=`$(ECHO) $${target_dir} | $(SED) "s;/spec;;" | $(SED) "s;.*/;;"`; \ 1039 $(LN) -s $${target_dir} $${name}; \ 1040 done; \ 1041 $(ZIP) -q -r $(JAVADOC_ARCHIVE) * ; \ 1042 popd ; 1043 1044 ZIP_TARGETS += $(JAVADOC_ARCHIVE) 1045 1046 ################################################################################ 1047 1048 # Hook to include the corresponding custom file, if present. 1049 $(eval $(call IncludeCustomExtension, , Javadoc.gmk)) 1050 1051 ################################################################################ 1052 1053 docs-javadoc: $(TARGETS) 1054 1055 docs-copy: $(COPY_TARGETS) 1056 1057 docs-zip: $(ZIP_TARGETS) 1058 1059 all: docs-javadoc docs-copy docs-zip 1060 1061 .PHONY: default all docs-javadoc docs-copy docs-zip