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
27 include $(SPEC)
28 include MakeBase.gmk
29 include Modules.gmk
30 include ProcessMarkdown.gmk
31 include ZipArchive.gmk
32 include $(TOPDIR)/make/ToolsJdk.gmk
33 include $(TOPDIR)/make/ModuleTools.gmk
34
35 # This is needed to properly setup DOCS_MODULES.
36 $(eval $(call ReadImportMetaData))
37
38 ################################################################################
39 # Hook to include the corresponding custom file, if present.
40 $(eval $(call IncludeCustomExtension, Docs.gmk))
41
42 ################################################################################
43 # This file generates all documentation for OpenJDK.
44 #
45 # We will generate API documentation for two different selections of the source
46 # code: "Java SE", which contains just the modules covered by the top-level
47 # module java.se.ee, and "JDK", which covers all of Java SE and also all
48 # other available modules that should be documented, including imported modules,
49 # if any.
50 #
51 # We will also generate separate, free-standing specifications from either
52 # markdown or existing html files.
53 #
54
55 ################################################################################
56 # Javadoc settings
57
58 # On top of the sources that was used to compile the JDK, we need some
59 # extra java.rmi sources that are used just for javadoc.
60 MODULES_SOURCE_PATH := $(call PathList, $(call GetModuleSrcPath) \
61 $(SUPPORT_OUTPUTDIR)/rmic/* $(TOPDIR)/src/*/share/doc/stub)
62
63 # URLs
64 JAVADOC_BASE_URL := http://www.oracle.com/pls/topic/lookup?ctx=javase9&id=homepage
65 BUG_SUBMIT_URL := http://bugreport.java.com/bugreport/
66 COPYRIGHT_URL := {@docroot}/../legal/copyright.html
67 LICENSE_URL := http://www.oracle.com/technetwork/java/javase/terms/license/java10speclicense.html
379 $$(call MakeDir, $$($1_GENGRAPHS_DIR))
380 $$(call ExecuteWithLog, $$($1_GENGRAPHS_DIR)/gengraphs, \
381 $$(TOOL_GENGRAPHS) --spec --output $$($1_GENGRAPHS_DIR) \
382 --dot-attributes $$(GENGRAPHS_PROPS) && \
383 $$(TOUCH) $$($1_GENGRAPHS_MARKER))
384
385 # For each module needing a graph, create a png file from the dot file
386 # generated by the GenGraphs tool and store it in the target dir.
387 # They will depend on $1_GENGRAPHS_MARKER, and will be added to $1.
388 $$(foreach m, $$($1_MODULES_NEEDING_GRAPH), \
389 $$(eval $$(call setup_gengraph_dot_to_png,$1,$$m)) \
390 )
391 endif
392 endef
393
394 ################################################################################
395 # Setup generation of the JDK API documentation (javadoc + modulegraph)
396
397 # Define the groups of the JDK API documentation
398 JavaSE_GROUP_NAME := Java SE
399 JavaSE_GROUP_MODULES := $(call ColonList, $(sort java.se.ee \
400 $(call FindTransitiveIndirectDepsForModules, java.se.ee)))
401 JavaSE_GROUP_DESCRIPTION := \
402 The Java Platform, Standard Edition (Java SE) APIs define the core Java \
403 platform for general-purpose computing. These APIs are in modules whose \
404 names start with {@code java}. \
405 #
406 JDK_GROUPS += JavaSE
407
408 JDK_GROUP_NAME := JDK
409 JDK_GROUP_MODULES := jdk.*
410 JDK_GROUP_DESCRIPTION := \
411 The Java Development Kit (JDK) APIs are specific to the JDK and will not \
412 necessarily be available in all implementations of the Java SE Platform. \
413 These APIs are in modules whose names start with {@code jdk}. \
414 #
415 JDK_GROUPS += JDK
416
417 # If we are importing JavaFX, we need a JavaFX group. In an ideal world, this
418 # would have been abstracted away to a more proper generic handling of imported
419 # modules.
420 ifneq ($(findstring javafx., $(IMPORTED_MODULES)), )
|
1 # Copyright (c) 1997, 2018, 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
27 include $(SPEC)
28 include MakeBase.gmk
29 include Modules.gmk
30 include ProcessMarkdown.gmk
31 include ZipArchive.gmk
32 include $(TOPDIR)/make/ToolsJdk.gmk
33 include $(TOPDIR)/make/ModuleTools.gmk
34
35 # This is needed to properly setup DOCS_MODULES.
36 $(eval $(call ReadImportMetaData))
37
38 ################################################################################
39 # Hook to include the corresponding custom file, if present.
40 $(eval $(call IncludeCustomExtension, Docs.gmk))
41
42 ################################################################################
43 # This file generates all documentation for OpenJDK.
44 #
45 # We will generate API documentation for two different selections of the source
46 # code: "Java SE", which contains just the modules covered by the top-level
47 # module java.se and "JDK", which covers all of Java SE and also all
48 # other available modules that should be documented, including imported modules,
49 # if any.
50 #
51 # We will also generate separate, free-standing specifications from either
52 # markdown or existing html files.
53 #
54
55 ################################################################################
56 # Javadoc settings
57
58 # On top of the sources that was used to compile the JDK, we need some
59 # extra java.rmi sources that are used just for javadoc.
60 MODULES_SOURCE_PATH := $(call PathList, $(call GetModuleSrcPath) \
61 $(SUPPORT_OUTPUTDIR)/rmic/* $(TOPDIR)/src/*/share/doc/stub)
62
63 # URLs
64 JAVADOC_BASE_URL := http://www.oracle.com/pls/topic/lookup?ctx=javase9&id=homepage
65 BUG_SUBMIT_URL := http://bugreport.java.com/bugreport/
66 COPYRIGHT_URL := {@docroot}/../legal/copyright.html
67 LICENSE_URL := http://www.oracle.com/technetwork/java/javase/terms/license/java10speclicense.html
379 $$(call MakeDir, $$($1_GENGRAPHS_DIR))
380 $$(call ExecuteWithLog, $$($1_GENGRAPHS_DIR)/gengraphs, \
381 $$(TOOL_GENGRAPHS) --spec --output $$($1_GENGRAPHS_DIR) \
382 --dot-attributes $$(GENGRAPHS_PROPS) && \
383 $$(TOUCH) $$($1_GENGRAPHS_MARKER))
384
385 # For each module needing a graph, create a png file from the dot file
386 # generated by the GenGraphs tool and store it in the target dir.
387 # They will depend on $1_GENGRAPHS_MARKER, and will be added to $1.
388 $$(foreach m, $$($1_MODULES_NEEDING_GRAPH), \
389 $$(eval $$(call setup_gengraph_dot_to_png,$1,$$m)) \
390 )
391 endif
392 endef
393
394 ################################################################################
395 # Setup generation of the JDK API documentation (javadoc + modulegraph)
396
397 # Define the groups of the JDK API documentation
398 JavaSE_GROUP_NAME := Java SE
399 JavaSE_GROUP_MODULES := $(call ColonList, $(sort java.se \
400 $(call FindTransitiveIndirectDepsForModules, java.se)))
401 JavaSE_GROUP_DESCRIPTION := \
402 The Java Platform, Standard Edition (Java SE) APIs define the core Java \
403 platform for general-purpose computing. These APIs are in modules whose \
404 names start with {@code java}. \
405 #
406 JDK_GROUPS += JavaSE
407
408 JDK_GROUP_NAME := JDK
409 JDK_GROUP_MODULES := jdk.*
410 JDK_GROUP_DESCRIPTION := \
411 The Java Development Kit (JDK) APIs are specific to the JDK and will not \
412 necessarily be available in all implementations of the Java SE Platform. \
413 These APIs are in modules whose names start with {@code jdk}. \
414 #
415 JDK_GROUPS += JDK
416
417 # If we are importing JavaFX, we need a JavaFX group. In an ideal world, this
418 # would have been abstracted away to a more proper generic handling of imported
419 # modules.
420 ifneq ($(findstring javafx., $(IMPORTED_MODULES)), )
|