8216497: javadoc should auto-link to platform classes
Co-authored-by: Jan Lahoda <jlahoda@openjdk.org> Reviewed-by: erikj, jjg
This commit is contained in:
parent
04ca660e81
commit
1e8e543b26
@ -74,7 +74,7 @@ define SetupInterimModule
|
||||
EXCLUDE_FILES := $(TOPDIR)/src/$1/share/classes/module-info.java \
|
||||
Standard.java, \
|
||||
EXTRA_FILES := $(BUILDTOOLS_OUTPUTDIR)/gensrc/$1.interim/module-info.java, \
|
||||
COPY := .gif .png .xml .css .js javax.tools.JavaCompilerTool, \
|
||||
COPY := .gif .png .xml .css .js .txt javax.tools.JavaCompilerTool, \
|
||||
BIN := $(BUILDTOOLS_OUTPUTDIR)/interim_langtools_modules/$1.interim, \
|
||||
DISABLED_WARNINGS := module options, \
|
||||
JAVAC_FLAGS := \
|
||||
|
@ -348,7 +348,7 @@ jdk.dynalink_CLEAN += .properties
|
||||
|
||||
################################################################################
|
||||
|
||||
jdk.javadoc_COPY += .xml .css .js .png
|
||||
jdk.javadoc_COPY += .xml .css .js .png .txt
|
||||
|
||||
################################################################################
|
||||
|
||||
|
@ -143,6 +143,7 @@ import com.sun.tools.javac.jvm.Target;
|
||||
import com.sun.tools.javac.util.Assert;
|
||||
import com.sun.tools.javac.util.Context;
|
||||
import com.sun.tools.javac.util.Pair;
|
||||
import java.util.Optional;
|
||||
|
||||
/**
|
||||
* A tool for processing the .sym.txt files.
|
||||
@ -3820,6 +3821,47 @@ public class CreateSymbols {
|
||||
}
|
||||
//</editor-fold>
|
||||
|
||||
/**Create sig files for ct.sym reading the classes description from the directory that contains
|
||||
* {@code ctDescriptionFile}, using the file as a recipe to create the sigfiles.
|
||||
*/
|
||||
@SuppressWarnings("unchecked")
|
||||
public void createJavadocData(String ctDescriptionFileExtra, String ctDescriptionFile,
|
||||
String targetDir, int startVersion) throws IOException {
|
||||
LoadDescriptions data = load(ctDescriptionFileExtra != null ? Paths.get(ctDescriptionFileExtra)
|
||||
: null,
|
||||
Paths.get(ctDescriptionFile));
|
||||
|
||||
Path target = Paths.get(targetDir);
|
||||
|
||||
for (PlatformInput version : data.versions) {
|
||||
int versionNumber = Integer.parseInt(version.version, Character.MAX_RADIX);
|
||||
if (versionNumber < startVersion) {
|
||||
continue;
|
||||
}
|
||||
Path outputFile = target.resolve("element-list-" + versionNumber + ".txt");
|
||||
Files.createDirectories(outputFile.getParent());
|
||||
try (Writer w = Files.newBufferedWriter(outputFile, StandardCharsets.UTF_8)) {
|
||||
Set<ModuleDescription> modules = new TreeSet<>((m1, m2) -> m1.name.compareTo(m2.name));
|
||||
modules.addAll(data.modules.values());
|
||||
for (ModuleDescription module : modules) {
|
||||
if ("jdk.unsupported".equals(module.name)) {
|
||||
continue;
|
||||
}
|
||||
Optional<ModuleHeaderDescription> header = module.header.stream().filter(h -> h.versions.contains(version.version)).findAny();
|
||||
if (header.isEmpty()) {
|
||||
continue;
|
||||
}
|
||||
w.write("module:" + module.name);
|
||||
w.write("\n");
|
||||
for (String pack : header.get().exports) {
|
||||
w.write(pack.replace('/', '.'));
|
||||
w.write("\n");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static void help() {
|
||||
System.err.println("Help...");
|
||||
}
|
||||
@ -3900,7 +3942,7 @@ public class CreateSymbols {
|
||||
new CreateSymbols().createIncrementalBaseLine(args[1], args[2], args);
|
||||
break;
|
||||
}
|
||||
case "build-ctsym":
|
||||
case "build-ctsym": {
|
||||
String ctDescriptionFileExtra;
|
||||
String ctDescriptionFile;
|
||||
String ctSymLocation;
|
||||
@ -3939,6 +3981,39 @@ public class CreateSymbols {
|
||||
currentVersion,
|
||||
systemModules);
|
||||
break;
|
||||
}
|
||||
case "build-javadoc-data": {
|
||||
String ctDescriptionFileExtra;
|
||||
String ctDescriptionFile;
|
||||
String targetDir;
|
||||
int startVersion;
|
||||
|
||||
if (args.length == 4) {
|
||||
ctDescriptionFileExtra = null;
|
||||
ctDescriptionFile = args[1];
|
||||
targetDir = args[2];
|
||||
startVersion = Integer.parseInt(args[3]);
|
||||
} else if (args.length == 5) {
|
||||
ctDescriptionFileExtra = args[1];
|
||||
ctDescriptionFile = args[2];
|
||||
targetDir = args[3];
|
||||
startVersion = Integer.parseInt(args[4]);
|
||||
} else {
|
||||
help();
|
||||
return ;
|
||||
}
|
||||
|
||||
if (startVersion < 9) {
|
||||
System.err.println("The start version must be at least 9!");
|
||||
return ;
|
||||
}
|
||||
|
||||
new CreateSymbols().createJavadocData(ctDescriptionFileExtra,
|
||||
ctDescriptionFile,
|
||||
targetDir,
|
||||
startVersion);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -0,0 +1,136 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2018, 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.
|
||||
*/
|
||||
|
||||
package build.tools.symbolgenerator;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.PrintWriter;
|
||||
import java.io.Writer;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Path;
|
||||
import java.nio.file.Paths;
|
||||
import java.util.ArrayDeque;
|
||||
import java.util.Arrays;
|
||||
import java.util.Deque;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import javax.lang.model.element.ModuleElement.ExportsDirective;
|
||||
import javax.lang.model.util.Elements;
|
||||
import javax.tools.JavaCompiler;
|
||||
|
||||
import com.sun.tools.javac.api.JavacTaskImpl;
|
||||
import com.sun.tools.javac.api.JavacTool;
|
||||
import com.sun.tools.javac.code.Source;
|
||||
import com.sun.tools.javac.code.Symbol.ModuleSymbol;
|
||||
import com.sun.tools.javac.jvm.Target;
|
||||
import java.util.Map;
|
||||
import java.util.Map.Entry;
|
||||
import java.util.TreeMap;
|
||||
import java.util.TreeSet;
|
||||
import javax.lang.model.element.ModuleElement;
|
||||
|
||||
/**
|
||||
* Generate list of modules and packages in the current release.
|
||||
* Used by the javadoc tool.
|
||||
*/
|
||||
public class JavadocElementList {
|
||||
|
||||
private static void help() {
|
||||
System.err.println("java JavadocElementList <target-file> <module-source-path> <root-modules>");
|
||||
}
|
||||
|
||||
public static void main(String... args) throws IOException {
|
||||
if (args.length < 2) {
|
||||
help();
|
||||
return ;
|
||||
}
|
||||
|
||||
JavaCompiler compiler = JavacTool.create();
|
||||
List<String> options = List.of("-source", Source.DEFAULT.name,
|
||||
"-target", Target.DEFAULT.name,
|
||||
"-proc:only",
|
||||
"--system", "none",
|
||||
"--module-source-path", args[1],
|
||||
"--add-modules", Arrays.stream(args)
|
||||
.skip(2)
|
||||
.collect(Collectors.joining(",")));
|
||||
List<String> jlObjectList = List.of("java.lang.Object");
|
||||
JavacTaskImpl task = (JavacTaskImpl) compiler.getTask(null, null, null, options, jlObjectList, null);
|
||||
task.enter();
|
||||
Elements elements = task.getElements();
|
||||
Deque<String> todo = new ArrayDeque<>();
|
||||
Arrays.stream(args).skip(2).forEach(todo::add);
|
||||
|
||||
todo.add("java.base");
|
||||
|
||||
Map<String, Set<String>> modulesAndExports = new TreeMap<>();
|
||||
|
||||
while (!todo.isEmpty()) {
|
||||
String current = todo.removeFirst();
|
||||
|
||||
if (modulesAndExports.containsKey(current))
|
||||
continue;
|
||||
|
||||
ModuleSymbol mod = (ModuleSymbol) elements.getModuleElement(current);
|
||||
|
||||
if (mod == null) {
|
||||
throw new IllegalStateException("Missing: " + current);
|
||||
}
|
||||
|
||||
//use the internal structure to avoid unnecesarily completing the symbol using the UsesProvidesVisitor:
|
||||
modulesAndExports.put(mod.getQualifiedName().toString(),
|
||||
mod.exports
|
||||
.stream()
|
||||
.filter((ExportsDirective ed) -> ed.getTargetModules() == null)
|
||||
.map((ExportsDirective ed) -> ed.getPackage().getQualifiedName().toString())
|
||||
.collect(Collectors.toCollection(() -> new TreeSet<>()))
|
||||
);
|
||||
for (ModuleElement.RequiresDirective rd : mod.requires) {
|
||||
if (rd.isTransitive()) {
|
||||
todo.offerLast(rd.getDependency().getQualifiedName().toString());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Path targetFile = Paths.get(args[0]);
|
||||
|
||||
Files.createDirectories(targetFile.getParent());
|
||||
|
||||
try (Writer w = Files.newBufferedWriter(targetFile);
|
||||
PrintWriter out = new PrintWriter(w)) {
|
||||
for (Entry<String, Set<String>> moduleAndExports : modulesAndExports.entrySet()) {
|
||||
out.write("module:" + moduleAndExports.getKey());
|
||||
out.write("\n");
|
||||
for (String pack : moduleAndExports.getValue()) {
|
||||
out.write(pack);
|
||||
out.write("\n");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
97
make/modules/jdk.javadoc/Gendata.gmk
Normal file
97
make/modules/jdk.javadoc/Gendata.gmk
Normal file
@ -0,0 +1,97 @@
|
||||
#
|
||||
# Copyright (c) 2015, 2020, 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 JavaCompilation.gmk
|
||||
include Modules.gmk
|
||||
|
||||
################################################################################
|
||||
|
||||
# Hook to include the corresponding custom file, if present.
|
||||
$(eval $(call IncludeCustomExtension, modules/jdk.javadoc/Gendata.gmk))
|
||||
|
||||
# This is needed to properly setup DOCS_MODULES.
|
||||
$(eval $(call ReadImportMetaData))
|
||||
|
||||
JAVADOC_MODULES := $(DOCS_MODULES)
|
||||
|
||||
# Get the complete module source path:
|
||||
JAVADOC_MODULESOURCEPATH := $(call GetModuleSrcPath)
|
||||
|
||||
CT_DATA_DESCRIPTION += $(TOPDIR)/make/data/symbols/symbols
|
||||
|
||||
COMPILECREATESYMBOLS_ADD_EXPORTS := \
|
||||
--add-exports java.base/jdk.internal=java.compiler.interim,jdk.compiler.interim \
|
||||
--add-exports jdk.compiler.interim/com.sun.tools.javac.api=ALL-UNNAMED \
|
||||
--add-exports jdk.compiler.interim/com.sun.tools.javac.code=ALL-UNNAMED \
|
||||
--add-exports jdk.compiler.interim/com.sun.tools.javac.util=ALL-UNNAMED \
|
||||
--add-exports jdk.compiler.interim/com.sun.tools.javac.jvm=ALL-UNNAMED \
|
||||
#
|
||||
|
||||
$(eval $(call SetupJavaCompilation, COMPILE_CREATE_SYMBOLS, \
|
||||
TARGET_RELEASE := $(TARGET_RELEASE_BOOTJDK), \
|
||||
SRC := $(TOPDIR)/make/langtools/src/classes \
|
||||
$(TOPDIR)/src/jdk.jdeps/share/classes, \
|
||||
INCLUDES := build/tools/symbolgenerator com/sun/tools/classfile, \
|
||||
BIN := $(BUILDTOOLS_OUTPUTDIR)/create_symbols, \
|
||||
DISABLED_WARNINGS := options, \
|
||||
JAVAC_FLAGS := \
|
||||
$(INTERIM_LANGTOOLS_ARGS) \
|
||||
--patch-module java.base=$(BUILDTOOLS_OUTPUTDIR)/gensrc/java.base.interim \
|
||||
$(COMPILECREATESYMBOLS_ADD_EXPORTS), \
|
||||
))
|
||||
|
||||
$(SUPPORT_OUTPUTDIR)/javadoc-symbols/symbols: \
|
||||
$(COMPILE_CREATE_SYMBOLS) \
|
||||
$(wildcard $(TOPDIR)/make/data/symbols/*) \
|
||||
$(MODULE_INFOS)
|
||||
$(RM) -r $(@D)
|
||||
$(MKDIR) -p $(@D)
|
||||
$(ECHO) Creating javadoc element list
|
||||
$(JAVA_SMALL) $(INTERIM_LANGTOOLS_ARGS) \
|
||||
$(COMPILECREATESYMBOLS_ADD_EXPORTS) \
|
||||
-classpath $(BUILDTOOLS_OUTPUTDIR)/create_symbols \
|
||||
build.tools.symbolgenerator.CreateSymbols \
|
||||
build-javadoc-data \
|
||||
$(CT_DATA_DESCRIPTION) \
|
||||
$(JDK_OUTPUTDIR)/modules/jdk.javadoc/jdk/javadoc/internal/doclets/toolkit/resources/releases \
|
||||
11
|
||||
$(JAVA_SMALL) $(INTERIM_LANGTOOLS_ARGS) \
|
||||
$(COMPILECREATESYMBOLS_ADD_EXPORTS) \
|
||||
-classpath $(BUILDTOOLS_OUTPUTDIR)/create_symbols \
|
||||
build.tools.symbolgenerator.JavadocElementList \
|
||||
$(JDK_OUTPUTDIR)/modules/jdk.javadoc/jdk/javadoc/internal/doclets/toolkit/resources/releases/element-list-$(JDK_SOURCE_TARGET_VERSION).txt \
|
||||
$(JAVADOC_MODULESOURCEPATH) \
|
||||
$(JAVADOC_MODULES)
|
||||
$(TOUCH) $@
|
||||
|
||||
# Copy ct.sym to the modules libs dir
|
||||
$(eval $(call SetupCopyFiles, COPY_TO_LIBS, \
|
||||
FILES := $(SUPPORT_OUTPUTDIR)/javadoc-symbols/*.txt, \
|
||||
DEST := $(JDK_OUTPUTDIR)/modules/jdk.javadoc/jdk/javadoc/internal/doclets/toolkit/resources/releases, \
|
||||
))
|
||||
|
||||
TARGETS += $(SUPPORT_OUTPUTDIR)/javadoc-symbols/symbols
|
||||
|
||||
################################################################################
|
@ -85,6 +85,7 @@ doclet.package=package
|
||||
doclet.MalformedURL=Malformed URL: {0}
|
||||
doclet.File_error=Error reading file: {0}
|
||||
doclet.URL_error=Error fetching URL: {0}
|
||||
doclet.Resource_error=Error reading resource: {0}
|
||||
doclet.see.class_or_package_not_found=Tag {0}: reference not found: {1}
|
||||
doclet.see.class_or_package_not_accessible=Tag {0}: reference not accessible: {1}
|
||||
doclet.tag.invalid_usage=invalid usage of tag {0}
|
||||
@ -340,8 +341,13 @@ doclet.usage.linkoffline.parameters=\
|
||||
doclet.usage.linkoffline.description=\
|
||||
Link to docs at <url1> using package list at <url2>
|
||||
|
||||
doclet.usage.link-platform-properties.parameters=\
|
||||
<url>
|
||||
doclet.usage.link-platform-properties.description=\
|
||||
Link to platform documentation URLs declared in properties file at <url>
|
||||
|
||||
doclet.usage.excludedocfilessubdir.parameters=\
|
||||
<name>:..
|
||||
<name>:...
|
||||
doclet.usage.excludedocfilessubdir.description=\
|
||||
Exclude any doc-files subdirectories with given name
|
||||
|
||||
@ -357,7 +363,7 @@ doclet.usage.nodeprecated.description=\
|
||||
Do not include @deprecated information
|
||||
|
||||
doclet.usage.noqualifier.parameters=\
|
||||
<name1>:<name2>:..
|
||||
<name1>:<name2>:...
|
||||
doclet.usage.noqualifier.description=\
|
||||
Exclude the list of qualifiers from the output
|
||||
|
||||
@ -374,6 +380,9 @@ doclet.usage.no-module-directories.description=\
|
||||
Do not group files for module documentation into \n\
|
||||
module-specific directories
|
||||
|
||||
doclet.usage.no-platform-links.description=\
|
||||
Do not generate links to the platform documentation
|
||||
|
||||
doclet.usage.notree.description=\
|
||||
Do not generate class hierarchy
|
||||
|
||||
|
@ -376,6 +376,9 @@ public abstract class BaseConfiguration {
|
||||
for (Pair<String, String> linkOfflinePair : options.linkOfflineList()) {
|
||||
extern.link(linkOfflinePair.first, linkOfflinePair.second, reporter);
|
||||
}
|
||||
if (!options.noPlatformLinks()) {
|
||||
extern.checkPlatformLinks(options.linkPlatformProperties(), reporter);
|
||||
}
|
||||
typeElementCatalog = new TypeElementCatalog(includedTypeElements, this);
|
||||
initTagletManager(options.customTagStrs());
|
||||
options.groupPairs().forEach(grp -> {
|
||||
|
@ -164,6 +164,11 @@ public abstract class BaseOptions {
|
||||
// A list of pairs containing urls and package list
|
||||
private final List<Utils.Pair<String, String>> linkOfflineList = new ArrayList<>();
|
||||
|
||||
/**
|
||||
* Location of alternative platform link properties file.
|
||||
*/
|
||||
private String linkPlatformProperties;
|
||||
|
||||
/**
|
||||
* Argument for command-line option {@code -linksource}.
|
||||
* True if we should generate browsable sources.
|
||||
@ -185,6 +190,13 @@ public abstract class BaseOptions {
|
||||
*/
|
||||
private boolean noDeprecated = false;
|
||||
|
||||
/**
|
||||
* Argument for command-line option {@code --no-platform-links}.
|
||||
* True if command-line option "--no-platform-links" is used. Default value is
|
||||
* false.
|
||||
*/
|
||||
private boolean noPlatformLinks = false;
|
||||
|
||||
/**
|
||||
* Argument for command-line option {@code -nosince}.
|
||||
* True if command-line option "-nosince" is used. Default value is
|
||||
@ -371,6 +383,15 @@ public abstract class BaseOptions {
|
||||
return true;
|
||||
}
|
||||
},
|
||||
|
||||
new Option(resources, "--link-platform-properties", 1) {
|
||||
@Override
|
||||
public boolean process(String opt, List<String> args) {
|
||||
linkPlatformProperties = args.get(0);
|
||||
return true;
|
||||
}
|
||||
},
|
||||
|
||||
new Option(resources, "-nocomment") {
|
||||
@Override
|
||||
public boolean process(String opt, List<String> args) {
|
||||
@ -411,6 +432,14 @@ public abstract class BaseOptions {
|
||||
}
|
||||
},
|
||||
|
||||
new Option(resources, "--no-platform-links") {
|
||||
@Override
|
||||
public boolean process(String opt, List<String> args) {
|
||||
noPlatformLinks = true;
|
||||
return true;
|
||||
}
|
||||
},
|
||||
|
||||
new Option(resources, "--override-methods", 1) {
|
||||
@Override
|
||||
public boolean process(String opt, List<String> args) {
|
||||
@ -755,6 +784,13 @@ public abstract class BaseOptions {
|
||||
return linkOfflineList;
|
||||
}
|
||||
|
||||
/**
|
||||
* Argument for command-line option {@code --link-platform-properties}.
|
||||
*/
|
||||
String linkPlatformProperties() {
|
||||
return linkPlatformProperties;
|
||||
}
|
||||
|
||||
/**
|
||||
* Argument for command-line option {@code -linksource}.
|
||||
* True if we should generate browsable sources.
|
||||
@ -782,6 +818,15 @@ public abstract class BaseOptions {
|
||||
return noDeprecated;
|
||||
}
|
||||
|
||||
/**
|
||||
* Argument for command-line option {@code --no-platform-links}.
|
||||
* True if command-line option {@code --no-platform-links"} is used.
|
||||
* Default value is false.
|
||||
*/
|
||||
public boolean noPlatformLinks() {
|
||||
return noPlatformLinks;
|
||||
}
|
||||
|
||||
/**
|
||||
* Argument for command-line option {@code -nosince}.
|
||||
* True if command-line option {@code -nosince"} is used.
|
||||
|
@ -326,3 +326,7 @@ doclet.record_accessor_doc.return=\
|
||||
|
||||
doclet.record_field_doc.fullbody=\
|
||||
The field for the {0} record component.
|
||||
|
||||
doclet.platform.docs.old=https://docs.oracle.com/javase/{0}/docs/api/
|
||||
doclet.platform.docs.new=https://docs.oracle.com/en/java/javase/{0}/docs/api/
|
||||
doclet.platform.docs.ea=https://download.java.net/java/early_access/jdk{0}/docs/api/
|
||||
|
@ -0,0 +1,314 @@
|
||||
javax.activation
|
||||
java.io
|
||||
java.lang
|
||||
java.lang.annotation
|
||||
java.lang.invoke
|
||||
java.lang.module
|
||||
java.lang.ref
|
||||
java.lang.reflect
|
||||
java.math
|
||||
java.net
|
||||
java.net.spi
|
||||
java.nio
|
||||
java.nio.channels
|
||||
java.nio.channels.spi
|
||||
java.nio.charset
|
||||
java.nio.charset.spi
|
||||
java.nio.file
|
||||
java.nio.file.attribute
|
||||
java.nio.file.spi
|
||||
java.security
|
||||
java.security.acl
|
||||
java.security.cert
|
||||
java.security.interfaces
|
||||
java.security.spec
|
||||
java.text
|
||||
java.text.spi
|
||||
java.time
|
||||
java.time.chrono
|
||||
java.time.format
|
||||
java.time.temporal
|
||||
java.time.zone
|
||||
java.util
|
||||
java.util.concurrent
|
||||
java.util.concurrent.atomic
|
||||
java.util.concurrent.locks
|
||||
java.util.function
|
||||
java.util.jar
|
||||
java.util.regex
|
||||
java.util.spi
|
||||
java.util.stream
|
||||
java.util.zip
|
||||
javax.crypto
|
||||
javax.crypto.interfaces
|
||||
javax.crypto.spec
|
||||
javax.net
|
||||
javax.net.ssl
|
||||
javax.security.auth
|
||||
javax.security.auth.callback
|
||||
javax.security.auth.login
|
||||
javax.security.auth.spi
|
||||
javax.security.auth.x500
|
||||
javax.security.cert
|
||||
javax.annotation.processing
|
||||
javax.lang.model
|
||||
javax.lang.model.element
|
||||
javax.lang.model.type
|
||||
javax.lang.model.util
|
||||
javax.tools
|
||||
javax.activity
|
||||
javax.rmi
|
||||
javax.rmi.CORBA
|
||||
org.omg.CORBA
|
||||
org.omg.CORBA_2_3
|
||||
org.omg.CORBA_2_3.portable
|
||||
org.omg.CORBA.DynAnyPackage
|
||||
org.omg.CORBA.ORBPackage
|
||||
org.omg.CORBA.portable
|
||||
org.omg.CORBA.TypeCodePackage
|
||||
org.omg.CosNaming
|
||||
org.omg.CosNaming.NamingContextExtPackage
|
||||
org.omg.CosNaming.NamingContextPackage
|
||||
org.omg.Dynamic
|
||||
org.omg.DynamicAny
|
||||
org.omg.DynamicAny.DynAnyFactoryPackage
|
||||
org.omg.DynamicAny.DynAnyPackage
|
||||
org.omg.IOP
|
||||
org.omg.IOP.CodecFactoryPackage
|
||||
org.omg.IOP.CodecPackage
|
||||
org.omg.Messaging
|
||||
org.omg.PortableInterceptor
|
||||
org.omg.PortableInterceptor.ORBInitInfoPackage
|
||||
org.omg.PortableServer
|
||||
org.omg.PortableServer.CurrentPackage
|
||||
org.omg.PortableServer.POAManagerPackage
|
||||
org.omg.PortableServer.POAPackage
|
||||
org.omg.PortableServer.portable
|
||||
org.omg.PortableServer.ServantLocatorPackage
|
||||
org.omg.SendingContext
|
||||
org.omg.stub.java.rmi
|
||||
java.awt.datatransfer
|
||||
java.applet
|
||||
java.awt
|
||||
java.awt.color
|
||||
java.awt.desktop
|
||||
java.awt.dnd
|
||||
java.awt.event
|
||||
java.awt.font
|
||||
java.awt.geom
|
||||
java.awt.im
|
||||
java.awt.im.spi
|
||||
java.awt.image
|
||||
java.awt.image.renderable
|
||||
java.awt.print
|
||||
java.beans
|
||||
java.beans.beancontext
|
||||
javax.accessibility
|
||||
javax.imageio
|
||||
javax.imageio.event
|
||||
javax.imageio.metadata
|
||||
javax.imageio.plugins.bmp
|
||||
javax.imageio.plugins.jpeg
|
||||
javax.imageio.plugins.tiff
|
||||
javax.imageio.spi
|
||||
javax.imageio.stream
|
||||
javax.print
|
||||
javax.print.attribute
|
||||
javax.print.attribute.standard
|
||||
javax.print.event
|
||||
javax.sound.midi
|
||||
javax.sound.midi.spi
|
||||
javax.sound.sampled
|
||||
javax.sound.sampled.spi
|
||||
javax.swing
|
||||
javax.swing.border
|
||||
javax.swing.colorchooser
|
||||
javax.swing.event
|
||||
javax.swing.filechooser
|
||||
javax.swing.plaf
|
||||
javax.swing.plaf.basic
|
||||
javax.swing.plaf.metal
|
||||
javax.swing.plaf.multi
|
||||
javax.swing.plaf.nimbus
|
||||
javax.swing.plaf.synth
|
||||
javax.swing.table
|
||||
javax.swing.text
|
||||
javax.swing.text.html
|
||||
javax.swing.text.html.parser
|
||||
javax.swing.text.rtf
|
||||
javax.swing.tree
|
||||
javax.swing.undo
|
||||
java.lang.instrument
|
||||
javax.jnlp
|
||||
java.util.logging
|
||||
java.lang.management
|
||||
javax.management
|
||||
javax.management.loading
|
||||
javax.management.modelmbean
|
||||
javax.management.monitor
|
||||
javax.management.openmbean
|
||||
javax.management.relation
|
||||
javax.management.remote
|
||||
javax.management.timer
|
||||
javax.management.remote.rmi
|
||||
javax.naming
|
||||
javax.naming.directory
|
||||
javax.naming.event
|
||||
javax.naming.ldap
|
||||
javax.naming.spi
|
||||
java.util.prefs
|
||||
java.rmi
|
||||
java.rmi.activation
|
||||
java.rmi.dgc
|
||||
java.rmi.registry
|
||||
java.rmi.server
|
||||
javax.rmi.ssl
|
||||
javax.script
|
||||
javax.security.auth.kerberos
|
||||
org.ietf.jgss
|
||||
javax.security.sasl
|
||||
javax.smartcardio
|
||||
java.sql
|
||||
javax.sql
|
||||
javax.transaction.xa
|
||||
javax.sql.rowset
|
||||
javax.sql.rowset.serial
|
||||
javax.sql.rowset.spi
|
||||
javax.transaction
|
||||
javax.xml
|
||||
javax.xml.catalog
|
||||
javax.xml.datatype
|
||||
javax.xml.namespace
|
||||
javax.xml.parsers
|
||||
javax.xml.stream
|
||||
javax.xml.stream.events
|
||||
javax.xml.stream.util
|
||||
javax.xml.transform
|
||||
javax.xml.transform.dom
|
||||
javax.xml.transform.sax
|
||||
javax.xml.transform.stax
|
||||
javax.xml.transform.stream
|
||||
javax.xml.validation
|
||||
javax.xml.xpath
|
||||
org.w3c.dom
|
||||
org.w3c.dom.bootstrap
|
||||
org.w3c.dom.events
|
||||
org.w3c.dom.ls
|
||||
org.w3c.dom.ranges
|
||||
org.w3c.dom.traversal
|
||||
org.w3c.dom.views
|
||||
org.xml.sax
|
||||
org.xml.sax.ext
|
||||
org.xml.sax.helpers
|
||||
javax.xml.bind
|
||||
javax.xml.bind.annotation
|
||||
javax.xml.bind.annotation.adapters
|
||||
javax.xml.bind.attachment
|
||||
javax.xml.bind.helpers
|
||||
javax.xml.bind.util
|
||||
javax.xml.crypto
|
||||
javax.xml.crypto.dom
|
||||
javax.xml.crypto.dsig
|
||||
javax.xml.crypto.dsig.dom
|
||||
javax.xml.crypto.dsig.keyinfo
|
||||
javax.xml.crypto.dsig.spec
|
||||
javax.jws
|
||||
javax.jws.soap
|
||||
javax.xml.soap
|
||||
javax.xml.ws
|
||||
javax.xml.ws.handler
|
||||
javax.xml.ws.handler.soap
|
||||
javax.xml.ws.http
|
||||
javax.xml.ws.soap
|
||||
javax.xml.ws.spi
|
||||
javax.xml.ws.spi.http
|
||||
javax.xml.ws.wsaddressing
|
||||
javax.annotation
|
||||
javafx.beans
|
||||
javafx.beans.binding
|
||||
javafx.beans.property
|
||||
javafx.beans.property.adapter
|
||||
javafx.beans.value
|
||||
javafx.collections
|
||||
javafx.collections.transformation
|
||||
javafx.event
|
||||
javafx.util
|
||||
javafx.util.converter
|
||||
javafx.scene.chart
|
||||
javafx.scene.control
|
||||
javafx.scene.control.cell
|
||||
javafx.scene.control.skin
|
||||
javafx.fxml
|
||||
javafx.animation
|
||||
javafx.application
|
||||
javafx.concurrent
|
||||
javafx.css
|
||||
javafx.css.converter
|
||||
javafx.geometry
|
||||
javafx.print
|
||||
javafx.scene
|
||||
javafx.scene.canvas
|
||||
javafx.scene.effect
|
||||
javafx.scene.image
|
||||
javafx.scene.input
|
||||
javafx.scene.layout
|
||||
javafx.scene.paint
|
||||
javafx.scene.shape
|
||||
javafx.scene.text
|
||||
javafx.scene.transform
|
||||
javafx.stage
|
||||
javafx.scene.media
|
||||
javafx.embed.swing
|
||||
javafx.scene.web
|
||||
com.sun.java.accessibility.util
|
||||
com.sun.tools.attach
|
||||
com.sun.tools.attach.spi
|
||||
com.sun.source.doctree
|
||||
com.sun.source.tree
|
||||
com.sun.source.util
|
||||
com.sun.tools.javac
|
||||
jdk.dynalink
|
||||
jdk.dynalink.beans
|
||||
jdk.dynalink.linker
|
||||
jdk.dynalink.linker.support
|
||||
jdk.dynalink.support
|
||||
com.sun.net.httpserver
|
||||
com.sun.net.httpserver.spi
|
||||
jdk.incubator.http
|
||||
com.sun.jarsigner
|
||||
jdk.security.jarsigner
|
||||
com.sun.javadoc
|
||||
com.sun.tools.javadoc
|
||||
jdk.javadoc.doclet
|
||||
com.sun.tools.jconsole
|
||||
com.sun.jdi
|
||||
com.sun.jdi.connect
|
||||
com.sun.jdi.connect.spi
|
||||
com.sun.jdi.event
|
||||
com.sun.jdi.request
|
||||
jdk.jfr
|
||||
jdk.jfr.consumer
|
||||
jdk.jshell
|
||||
jdk.jshell.execution
|
||||
jdk.jshell.spi
|
||||
jdk.jshell.tool
|
||||
netscape.javascript
|
||||
com.sun.management
|
||||
jdk.management.cmm
|
||||
jdk.management.jfr
|
||||
jdk.management.resource
|
||||
jdk.net
|
||||
jdk.packager.services
|
||||
jdk.packager.services.singleton
|
||||
jdk.nashorn.api.scripting
|
||||
jdk.nashorn.api.tree
|
||||
com.sun.nio.sctp
|
||||
com.sun.security.auth
|
||||
com.sun.security.auth.callback
|
||||
com.sun.security.auth.login
|
||||
com.sun.security.auth.module
|
||||
com.sun.security.jgss
|
||||
org.w3c.dom.css
|
||||
org.w3c.dom.html
|
||||
org.w3c.dom.stylesheets
|
||||
org.w3c.dom.xpath
|
@ -0,0 +1,209 @@
|
||||
java.applet
|
||||
java.awt
|
||||
java.awt.color
|
||||
java.awt.datatransfer
|
||||
java.awt.dnd
|
||||
java.awt.event
|
||||
java.awt.font
|
||||
java.awt.geom
|
||||
java.awt.im
|
||||
java.awt.im.spi
|
||||
java.awt.image
|
||||
java.awt.image.renderable
|
||||
java.awt.print
|
||||
java.beans
|
||||
java.beans.beancontext
|
||||
java.io
|
||||
java.lang
|
||||
java.lang.annotation
|
||||
java.lang.instrument
|
||||
java.lang.invoke
|
||||
java.lang.management
|
||||
java.lang.ref
|
||||
java.lang.reflect
|
||||
java.math
|
||||
java.net
|
||||
java.nio
|
||||
java.nio.channels
|
||||
java.nio.channels.spi
|
||||
java.nio.charset
|
||||
java.nio.charset.spi
|
||||
java.nio.file
|
||||
java.nio.file.attribute
|
||||
java.nio.file.spi
|
||||
java.rmi
|
||||
java.rmi.activation
|
||||
java.rmi.dgc
|
||||
java.rmi.registry
|
||||
java.rmi.server
|
||||
java.security
|
||||
java.security.acl
|
||||
java.security.cert
|
||||
java.security.interfaces
|
||||
java.security.spec
|
||||
java.sql
|
||||
java.text
|
||||
java.text.spi
|
||||
java.util
|
||||
java.util.concurrent
|
||||
java.util.concurrent.atomic
|
||||
java.util.concurrent.locks
|
||||
java.util.jar
|
||||
java.util.logging
|
||||
java.util.prefs
|
||||
java.util.regex
|
||||
java.util.spi
|
||||
java.util.zip
|
||||
javax.accessibility
|
||||
javax.activation
|
||||
javax.activity
|
||||
javax.annotation
|
||||
javax.annotation.processing
|
||||
javax.crypto
|
||||
javax.crypto.interfaces
|
||||
javax.crypto.spec
|
||||
javax.imageio
|
||||
javax.imageio.event
|
||||
javax.imageio.metadata
|
||||
javax.imageio.plugins.bmp
|
||||
javax.imageio.plugins.jpeg
|
||||
javax.imageio.spi
|
||||
javax.imageio.stream
|
||||
javax.jws
|
||||
javax.jws.soap
|
||||
javax.lang.model
|
||||
javax.lang.model.element
|
||||
javax.lang.model.type
|
||||
javax.lang.model.util
|
||||
javax.management
|
||||
javax.management.loading
|
||||
javax.management.modelmbean
|
||||
javax.management.monitor
|
||||
javax.management.openmbean
|
||||
javax.management.relation
|
||||
javax.management.remote
|
||||
javax.management.remote.rmi
|
||||
javax.management.timer
|
||||
javax.naming
|
||||
javax.naming.directory
|
||||
javax.naming.event
|
||||
javax.naming.ldap
|
||||
javax.naming.spi
|
||||
javax.net
|
||||
javax.net.ssl
|
||||
javax.print
|
||||
javax.print.attribute
|
||||
javax.print.attribute.standard
|
||||
javax.print.event
|
||||
javax.rmi
|
||||
javax.rmi.CORBA
|
||||
javax.rmi.ssl
|
||||
javax.script
|
||||
javax.security.auth
|
||||
javax.security.auth.callback
|
||||
javax.security.auth.kerberos
|
||||
javax.security.auth.login
|
||||
javax.security.auth.spi
|
||||
javax.security.auth.x500
|
||||
javax.security.cert
|
||||
javax.security.sasl
|
||||
javax.sound.midi
|
||||
javax.sound.midi.spi
|
||||
javax.sound.sampled
|
||||
javax.sound.sampled.spi
|
||||
javax.sql
|
||||
javax.sql.rowset
|
||||
javax.sql.rowset.serial
|
||||
javax.sql.rowset.spi
|
||||
javax.swing
|
||||
javax.swing.border
|
||||
javax.swing.colorchooser
|
||||
javax.swing.event
|
||||
javax.swing.filechooser
|
||||
javax.swing.plaf
|
||||
javax.swing.plaf.basic
|
||||
javax.swing.plaf.metal
|
||||
javax.swing.plaf.multi
|
||||
javax.swing.plaf.nimbus
|
||||
javax.swing.plaf.synth
|
||||
javax.swing.table
|
||||
javax.swing.text
|
||||
javax.swing.text.html
|
||||
javax.swing.text.html.parser
|
||||
javax.swing.text.rtf
|
||||
javax.swing.tree
|
||||
javax.swing.undo
|
||||
javax.tools
|
||||
javax.transaction
|
||||
javax.transaction.xa
|
||||
javax.xml
|
||||
javax.xml.bind
|
||||
javax.xml.bind.annotation
|
||||
javax.xml.bind.annotation.adapters
|
||||
javax.xml.bind.attachment
|
||||
javax.xml.bind.helpers
|
||||
javax.xml.bind.util
|
||||
javax.xml.crypto
|
||||
javax.xml.crypto.dom
|
||||
javax.xml.crypto.dsig
|
||||
javax.xml.crypto.dsig.dom
|
||||
javax.xml.crypto.dsig.keyinfo
|
||||
javax.xml.crypto.dsig.spec
|
||||
javax.xml.datatype
|
||||
javax.xml.namespace
|
||||
javax.xml.parsers
|
||||
javax.xml.soap
|
||||
javax.xml.stream
|
||||
javax.xml.stream.events
|
||||
javax.xml.stream.util
|
||||
javax.xml.transform
|
||||
javax.xml.transform.dom
|
||||
javax.xml.transform.sax
|
||||
javax.xml.transform.stax
|
||||
javax.xml.transform.stream
|
||||
javax.xml.validation
|
||||
javax.xml.ws
|
||||
javax.xml.ws.handler
|
||||
javax.xml.ws.handler.soap
|
||||
javax.xml.ws.http
|
||||
javax.xml.ws.soap
|
||||
javax.xml.ws.spi
|
||||
javax.xml.ws.spi.http
|
||||
javax.xml.ws.wsaddressing
|
||||
javax.xml.xpath
|
||||
org.ietf.jgss
|
||||
org.omg.CORBA
|
||||
org.omg.CORBA.DynAnyPackage
|
||||
org.omg.CORBA.ORBPackage
|
||||
org.omg.CORBA.TypeCodePackage
|
||||
org.omg.CORBA.portable
|
||||
org.omg.CORBA_2_3
|
||||
org.omg.CORBA_2_3.portable
|
||||
org.omg.CosNaming
|
||||
org.omg.CosNaming.NamingContextExtPackage
|
||||
org.omg.CosNaming.NamingContextPackage
|
||||
org.omg.Dynamic
|
||||
org.omg.DynamicAny
|
||||
org.omg.DynamicAny.DynAnyFactoryPackage
|
||||
org.omg.DynamicAny.DynAnyPackage
|
||||
org.omg.IOP
|
||||
org.omg.IOP.CodecFactoryPackage
|
||||
org.omg.IOP.CodecPackage
|
||||
org.omg.Messaging
|
||||
org.omg.PortableInterceptor
|
||||
org.omg.PortableInterceptor.ORBInitInfoPackage
|
||||
org.omg.PortableServer
|
||||
org.omg.PortableServer.CurrentPackage
|
||||
org.omg.PortableServer.POAManagerPackage
|
||||
org.omg.PortableServer.POAPackage
|
||||
org.omg.PortableServer.ServantLocatorPackage
|
||||
org.omg.PortableServer.portable
|
||||
org.omg.SendingContext
|
||||
org.omg.stub.java.rmi
|
||||
org.w3c.dom
|
||||
org.w3c.dom.bootstrap
|
||||
org.w3c.dom.events
|
||||
org.w3c.dom.ls
|
||||
org.xml.sax
|
||||
org.xml.sax.ext
|
||||
org.xml.sax.helpers
|
@ -0,0 +1,217 @@
|
||||
java.applet
|
||||
java.awt
|
||||
java.awt.color
|
||||
java.awt.datatransfer
|
||||
java.awt.dnd
|
||||
java.awt.event
|
||||
java.awt.font
|
||||
java.awt.geom
|
||||
java.awt.im
|
||||
java.awt.im.spi
|
||||
java.awt.image
|
||||
java.awt.image.renderable
|
||||
java.awt.print
|
||||
java.beans
|
||||
java.beans.beancontext
|
||||
java.io
|
||||
java.lang
|
||||
java.lang.annotation
|
||||
java.lang.instrument
|
||||
java.lang.invoke
|
||||
java.lang.management
|
||||
java.lang.ref
|
||||
java.lang.reflect
|
||||
java.math
|
||||
java.net
|
||||
java.nio
|
||||
java.nio.channels
|
||||
java.nio.channels.spi
|
||||
java.nio.charset
|
||||
java.nio.charset.spi
|
||||
java.nio.file
|
||||
java.nio.file.attribute
|
||||
java.nio.file.spi
|
||||
java.rmi
|
||||
java.rmi.activation
|
||||
java.rmi.dgc
|
||||
java.rmi.registry
|
||||
java.rmi.server
|
||||
java.security
|
||||
java.security.acl
|
||||
java.security.cert
|
||||
java.security.interfaces
|
||||
java.security.spec
|
||||
java.sql
|
||||
java.text
|
||||
java.text.spi
|
||||
java.time
|
||||
java.time.chrono
|
||||
java.time.format
|
||||
java.time.temporal
|
||||
java.time.zone
|
||||
java.util
|
||||
java.util.concurrent
|
||||
java.util.concurrent.atomic
|
||||
java.util.concurrent.locks
|
||||
java.util.function
|
||||
java.util.jar
|
||||
java.util.logging
|
||||
java.util.prefs
|
||||
java.util.regex
|
||||
java.util.spi
|
||||
java.util.stream
|
||||
java.util.zip
|
||||
javax.accessibility
|
||||
javax.activation
|
||||
javax.activity
|
||||
javax.annotation
|
||||
javax.annotation.processing
|
||||
javax.crypto
|
||||
javax.crypto.interfaces
|
||||
javax.crypto.spec
|
||||
javax.imageio
|
||||
javax.imageio.event
|
||||
javax.imageio.metadata
|
||||
javax.imageio.plugins.bmp
|
||||
javax.imageio.plugins.jpeg
|
||||
javax.imageio.spi
|
||||
javax.imageio.stream
|
||||
javax.jws
|
||||
javax.jws.soap
|
||||
javax.lang.model
|
||||
javax.lang.model.element
|
||||
javax.lang.model.type
|
||||
javax.lang.model.util
|
||||
javax.management
|
||||
javax.management.loading
|
||||
javax.management.modelmbean
|
||||
javax.management.monitor
|
||||
javax.management.openmbean
|
||||
javax.management.relation
|
||||
javax.management.remote
|
||||
javax.management.remote.rmi
|
||||
javax.management.timer
|
||||
javax.naming
|
||||
javax.naming.directory
|
||||
javax.naming.event
|
||||
javax.naming.ldap
|
||||
javax.naming.spi
|
||||
javax.net
|
||||
javax.net.ssl
|
||||
javax.print
|
||||
javax.print.attribute
|
||||
javax.print.attribute.standard
|
||||
javax.print.event
|
||||
javax.rmi
|
||||
javax.rmi.CORBA
|
||||
javax.rmi.ssl
|
||||
javax.script
|
||||
javax.security.auth
|
||||
javax.security.auth.callback
|
||||
javax.security.auth.kerberos
|
||||
javax.security.auth.login
|
||||
javax.security.auth.spi
|
||||
javax.security.auth.x500
|
||||
javax.security.cert
|
||||
javax.security.sasl
|
||||
javax.sound.midi
|
||||
javax.sound.midi.spi
|
||||
javax.sound.sampled
|
||||
javax.sound.sampled.spi
|
||||
javax.sql
|
||||
javax.sql.rowset
|
||||
javax.sql.rowset.serial
|
||||
javax.sql.rowset.spi
|
||||
javax.swing
|
||||
javax.swing.border
|
||||
javax.swing.colorchooser
|
||||
javax.swing.event
|
||||
javax.swing.filechooser
|
||||
javax.swing.plaf
|
||||
javax.swing.plaf.basic
|
||||
javax.swing.plaf.metal
|
||||
javax.swing.plaf.multi
|
||||
javax.swing.plaf.nimbus
|
||||
javax.swing.plaf.synth
|
||||
javax.swing.table
|
||||
javax.swing.text
|
||||
javax.swing.text.html
|
||||
javax.swing.text.html.parser
|
||||
javax.swing.text.rtf
|
||||
javax.swing.tree
|
||||
javax.swing.undo
|
||||
javax.tools
|
||||
javax.transaction
|
||||
javax.transaction.xa
|
||||
javax.xml
|
||||
javax.xml.bind
|
||||
javax.xml.bind.annotation
|
||||
javax.xml.bind.annotation.adapters
|
||||
javax.xml.bind.attachment
|
||||
javax.xml.bind.helpers
|
||||
javax.xml.bind.util
|
||||
javax.xml.crypto
|
||||
javax.xml.crypto.dom
|
||||
javax.xml.crypto.dsig
|
||||
javax.xml.crypto.dsig.dom
|
||||
javax.xml.crypto.dsig.keyinfo
|
||||
javax.xml.crypto.dsig.spec
|
||||
javax.xml.datatype
|
||||
javax.xml.namespace
|
||||
javax.xml.parsers
|
||||
javax.xml.soap
|
||||
javax.xml.stream
|
||||
javax.xml.stream.events
|
||||
javax.xml.stream.util
|
||||
javax.xml.transform
|
||||
javax.xml.transform.dom
|
||||
javax.xml.transform.sax
|
||||
javax.xml.transform.stax
|
||||
javax.xml.transform.stream
|
||||
javax.xml.validation
|
||||
javax.xml.ws
|
||||
javax.xml.ws.handler
|
||||
javax.xml.ws.handler.soap
|
||||
javax.xml.ws.http
|
||||
javax.xml.ws.soap
|
||||
javax.xml.ws.spi
|
||||
javax.xml.ws.spi.http
|
||||
javax.xml.ws.wsaddressing
|
||||
javax.xml.xpath
|
||||
org.ietf.jgss
|
||||
org.omg.CORBA
|
||||
org.omg.CORBA.DynAnyPackage
|
||||
org.omg.CORBA.ORBPackage
|
||||
org.omg.CORBA.TypeCodePackage
|
||||
org.omg.CORBA.portable
|
||||
org.omg.CORBA_2_3
|
||||
org.omg.CORBA_2_3.portable
|
||||
org.omg.CosNaming
|
||||
org.omg.CosNaming.NamingContextExtPackage
|
||||
org.omg.CosNaming.NamingContextPackage
|
||||
org.omg.Dynamic
|
||||
org.omg.DynamicAny
|
||||
org.omg.DynamicAny.DynAnyFactoryPackage
|
||||
org.omg.DynamicAny.DynAnyPackage
|
||||
org.omg.IOP
|
||||
org.omg.IOP.CodecFactoryPackage
|
||||
org.omg.IOP.CodecPackage
|
||||
org.omg.Messaging
|
||||
org.omg.PortableInterceptor
|
||||
org.omg.PortableInterceptor.ORBInitInfoPackage
|
||||
org.omg.PortableServer
|
||||
org.omg.PortableServer.CurrentPackage
|
||||
org.omg.PortableServer.POAManagerPackage
|
||||
org.omg.PortableServer.POAPackage
|
||||
org.omg.PortableServer.ServantLocatorPackage
|
||||
org.omg.PortableServer.portable
|
||||
org.omg.SendingContext
|
||||
org.omg.stub.java.rmi
|
||||
org.w3c.dom
|
||||
org.w3c.dom.bootstrap
|
||||
org.w3c.dom.events
|
||||
org.w3c.dom.ls
|
||||
org.w3c.dom.views
|
||||
org.xml.sax
|
||||
org.xml.sax.ext
|
||||
org.xml.sax.helpers
|
@ -0,0 +1,315 @@
|
||||
com.sun.jarsigner
|
||||
com.sun.java.accessibility.util
|
||||
com.sun.javadoc
|
||||
com.sun.jdi
|
||||
com.sun.jdi.connect
|
||||
com.sun.jdi.connect.spi
|
||||
com.sun.jdi.event
|
||||
com.sun.jdi.request
|
||||
com.sun.management
|
||||
com.sun.net.httpserver
|
||||
com.sun.net.httpserver.spi
|
||||
com.sun.nio.sctp
|
||||
com.sun.security.auth
|
||||
com.sun.security.auth.callback
|
||||
com.sun.security.auth.login
|
||||
com.sun.security.auth.module
|
||||
com.sun.security.jgss
|
||||
com.sun.source.doctree
|
||||
com.sun.source.tree
|
||||
com.sun.source.util
|
||||
com.sun.tools.attach
|
||||
com.sun.tools.attach.spi
|
||||
com.sun.tools.doclets
|
||||
com.sun.tools.doclets.standard
|
||||
com.sun.tools.javac
|
||||
com.sun.tools.javadoc
|
||||
com.sun.tools.jconsole
|
||||
java.applet
|
||||
java.awt
|
||||
java.awt.color
|
||||
java.awt.datatransfer
|
||||
java.awt.desktop
|
||||
java.awt.dnd
|
||||
java.awt.event
|
||||
java.awt.font
|
||||
java.awt.geom
|
||||
java.awt.im
|
||||
java.awt.im.spi
|
||||
java.awt.image
|
||||
java.awt.image.renderable
|
||||
java.awt.print
|
||||
java.beans
|
||||
java.beans.beancontext
|
||||
java.io
|
||||
java.lang
|
||||
java.lang.annotation
|
||||
java.lang.instrument
|
||||
java.lang.invoke
|
||||
java.lang.management
|
||||
java.lang.module
|
||||
java.lang.ref
|
||||
java.lang.reflect
|
||||
java.math
|
||||
java.net
|
||||
java.net.spi
|
||||
java.nio
|
||||
java.nio.channels
|
||||
java.nio.channels.spi
|
||||
java.nio.charset
|
||||
java.nio.charset.spi
|
||||
java.nio.file
|
||||
java.nio.file.attribute
|
||||
java.nio.file.spi
|
||||
java.rmi
|
||||
java.rmi.activation
|
||||
java.rmi.dgc
|
||||
java.rmi.registry
|
||||
java.rmi.server
|
||||
java.security
|
||||
java.security.acl
|
||||
java.security.cert
|
||||
java.security.interfaces
|
||||
java.security.spec
|
||||
java.sql
|
||||
java.text
|
||||
java.text.spi
|
||||
java.time
|
||||
java.time.chrono
|
||||
java.time.format
|
||||
java.time.temporal
|
||||
java.time.zone
|
||||
java.util
|
||||
java.util.concurrent
|
||||
java.util.concurrent.atomic
|
||||
java.util.concurrent.locks
|
||||
java.util.function
|
||||
java.util.jar
|
||||
java.util.logging
|
||||
java.util.prefs
|
||||
java.util.regex
|
||||
java.util.spi
|
||||
java.util.stream
|
||||
java.util.zip
|
||||
javafx.animation
|
||||
javafx.application
|
||||
javafx.beans
|
||||
javafx.beans.binding
|
||||
javafx.beans.property
|
||||
javafx.beans.property.adapter
|
||||
javafx.beans.value
|
||||
javafx.collections
|
||||
javafx.collections.transformation
|
||||
javafx.concurrent
|
||||
javafx.css
|
||||
javafx.css.converter
|
||||
javafx.embed.swing
|
||||
javafx.event
|
||||
javafx.fxml
|
||||
javafx.geometry
|
||||
javafx.print
|
||||
javafx.scene
|
||||
javafx.scene.canvas
|
||||
javafx.scene.chart
|
||||
javafx.scene.control
|
||||
javafx.scene.control.cell
|
||||
javafx.scene.control.skin
|
||||
javafx.scene.effect
|
||||
javafx.scene.image
|
||||
javafx.scene.input
|
||||
javafx.scene.layout
|
||||
javafx.scene.media
|
||||
javafx.scene.paint
|
||||
javafx.scene.shape
|
||||
javafx.scene.text
|
||||
javafx.scene.transform
|
||||
javafx.scene.web
|
||||
javafx.stage
|
||||
javafx.util
|
||||
javafx.util.converter
|
||||
javax.accessibility
|
||||
javax.activation
|
||||
javax.activity
|
||||
javax.annotation
|
||||
javax.annotation.processing
|
||||
javax.crypto
|
||||
javax.crypto.interfaces
|
||||
javax.crypto.spec
|
||||
javax.imageio
|
||||
javax.imageio.event
|
||||
javax.imageio.metadata
|
||||
javax.imageio.plugins.bmp
|
||||
javax.imageio.plugins.jpeg
|
||||
javax.imageio.plugins.tiff
|
||||
javax.imageio.spi
|
||||
javax.imageio.stream
|
||||
javax.jnlp
|
||||
javax.jws
|
||||
javax.jws.soap
|
||||
javax.lang.model
|
||||
javax.lang.model.element
|
||||
javax.lang.model.type
|
||||
javax.lang.model.util
|
||||
javax.management
|
||||
javax.management.loading
|
||||
javax.management.modelmbean
|
||||
javax.management.monitor
|
||||
javax.management.openmbean
|
||||
javax.management.relation
|
||||
javax.management.remote
|
||||
javax.management.remote.rmi
|
||||
javax.management.timer
|
||||
javax.naming
|
||||
javax.naming.directory
|
||||
javax.naming.event
|
||||
javax.naming.ldap
|
||||
javax.naming.spi
|
||||
javax.net
|
||||
javax.net.ssl
|
||||
javax.print
|
||||
javax.print.attribute
|
||||
javax.print.attribute.standard
|
||||
javax.print.event
|
||||
javax.rmi
|
||||
javax.rmi.CORBA
|
||||
javax.rmi.ssl
|
||||
javax.script
|
||||
javax.security.auth
|
||||
javax.security.auth.callback
|
||||
javax.security.auth.kerberos
|
||||
javax.security.auth.login
|
||||
javax.security.auth.spi
|
||||
javax.security.auth.x500
|
||||
javax.security.cert
|
||||
javax.security.sasl
|
||||
javax.smartcardio
|
||||
javax.sound.midi
|
||||
javax.sound.midi.spi
|
||||
javax.sound.sampled
|
||||
javax.sound.sampled.spi
|
||||
javax.sql
|
||||
javax.sql.rowset
|
||||
javax.sql.rowset.serial
|
||||
javax.sql.rowset.spi
|
||||
javax.swing
|
||||
javax.swing.border
|
||||
javax.swing.colorchooser
|
||||
javax.swing.event
|
||||
javax.swing.filechooser
|
||||
javax.swing.plaf
|
||||
javax.swing.plaf.basic
|
||||
javax.swing.plaf.metal
|
||||
javax.swing.plaf.multi
|
||||
javax.swing.plaf.nimbus
|
||||
javax.swing.plaf.synth
|
||||
javax.swing.table
|
||||
javax.swing.text
|
||||
javax.swing.text.html
|
||||
javax.swing.text.html.parser
|
||||
javax.swing.text.rtf
|
||||
javax.swing.tree
|
||||
javax.swing.undo
|
||||
javax.tools
|
||||
javax.transaction
|
||||
javax.transaction.xa
|
||||
javax.xml
|
||||
javax.xml.bind
|
||||
javax.xml.bind.annotation
|
||||
javax.xml.bind.annotation.adapters
|
||||
javax.xml.bind.attachment
|
||||
javax.xml.bind.helpers
|
||||
javax.xml.bind.util
|
||||
javax.xml.catalog
|
||||
javax.xml.crypto
|
||||
javax.xml.crypto.dom
|
||||
javax.xml.crypto.dsig
|
||||
javax.xml.crypto.dsig.dom
|
||||
javax.xml.crypto.dsig.keyinfo
|
||||
javax.xml.crypto.dsig.spec
|
||||
javax.xml.datatype
|
||||
javax.xml.namespace
|
||||
javax.xml.parsers
|
||||
javax.xml.soap
|
||||
javax.xml.stream
|
||||
javax.xml.stream.events
|
||||
javax.xml.stream.util
|
||||
javax.xml.transform
|
||||
javax.xml.transform.dom
|
||||
javax.xml.transform.sax
|
||||
javax.xml.transform.stax
|
||||
javax.xml.transform.stream
|
||||
javax.xml.validation
|
||||
javax.xml.ws
|
||||
javax.xml.ws.handler
|
||||
javax.xml.ws.handler.soap
|
||||
javax.xml.ws.http
|
||||
javax.xml.ws.soap
|
||||
javax.xml.ws.spi
|
||||
javax.xml.ws.spi.http
|
||||
javax.xml.ws.wsaddressing
|
||||
javax.xml.xpath
|
||||
jdk.dynalink
|
||||
jdk.dynalink.beans
|
||||
jdk.dynalink.linker
|
||||
jdk.dynalink.linker.support
|
||||
jdk.dynalink.support
|
||||
jdk.incubator.http
|
||||
jdk.javadoc.doclet
|
||||
jdk.jfr
|
||||
jdk.jfr.consumer
|
||||
jdk.jshell
|
||||
jdk.jshell.execution
|
||||
jdk.jshell.spi
|
||||
jdk.jshell.tool
|
||||
jdk.management.cmm
|
||||
jdk.management.jfr
|
||||
jdk.management.resource
|
||||
jdk.nashorn.api.scripting
|
||||
jdk.nashorn.api.tree
|
||||
jdk.net
|
||||
jdk.packager.services
|
||||
jdk.security.jarsigner
|
||||
netscape.javascript
|
||||
org.ietf.jgss
|
||||
org.omg.CORBA
|
||||
org.omg.CORBA_2_3
|
||||
org.omg.CORBA_2_3.portable
|
||||
org.omg.CORBA.DynAnyPackage
|
||||
org.omg.CORBA.ORBPackage
|
||||
org.omg.CORBA.portable
|
||||
org.omg.CORBA.TypeCodePackage
|
||||
org.omg.CosNaming
|
||||
org.omg.CosNaming.NamingContextExtPackage
|
||||
org.omg.CosNaming.NamingContextPackage
|
||||
org.omg.Dynamic
|
||||
org.omg.DynamicAny
|
||||
org.omg.DynamicAny.DynAnyFactoryPackage
|
||||
org.omg.DynamicAny.DynAnyPackage
|
||||
org.omg.IOP
|
||||
org.omg.IOP.CodecFactoryPackage
|
||||
org.omg.IOP.CodecPackage
|
||||
org.omg.Messaging
|
||||
org.omg.PortableInterceptor
|
||||
org.omg.PortableInterceptor.ORBInitInfoPackage
|
||||
org.omg.PortableServer
|
||||
org.omg.PortableServer.CurrentPackage
|
||||
org.omg.PortableServer.POAManagerPackage
|
||||
org.omg.PortableServer.POAPackage
|
||||
org.omg.PortableServer.portable
|
||||
org.omg.PortableServer.ServantLocatorPackage
|
||||
org.omg.SendingContext
|
||||
org.omg.stub.java.rmi
|
||||
org.w3c.dom
|
||||
org.w3c.dom.bootstrap
|
||||
org.w3c.dom.css
|
||||
org.w3c.dom.events
|
||||
org.w3c.dom.html
|
||||
org.w3c.dom.ls
|
||||
org.w3c.dom.ranges
|
||||
org.w3c.dom.stylesheets
|
||||
org.w3c.dom.traversal
|
||||
org.w3c.dom.views
|
||||
org.w3c.dom.xpath
|
||||
org.xml.sax
|
||||
org.xml.sax.ext
|
||||
org.xml.sax.helpers
|
@ -36,8 +36,10 @@ import java.net.URL;
|
||||
import java.net.URLConnection;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.Properties;
|
||||
import java.util.TreeMap;
|
||||
|
||||
import javax.lang.model.SourceVersion;
|
||||
import javax.lang.model.element.Element;
|
||||
import javax.lang.model.element.ModuleElement;
|
||||
import javax.lang.model.element.PackageElement;
|
||||
@ -48,6 +50,7 @@ import javax.tools.DocumentationTool;
|
||||
import com.sun.tools.javac.code.Flags;
|
||||
import com.sun.tools.javac.code.Symbol.ModuleSymbol;
|
||||
import jdk.javadoc.doclet.Reporter;
|
||||
import jdk.javadoc.internal.doclets.toolkit.AbstractDoclet;
|
||||
import jdk.javadoc.internal.doclets.toolkit.BaseConfiguration;
|
||||
import jdk.javadoc.internal.doclets.toolkit.Resources;
|
||||
|
||||
@ -223,6 +226,134 @@ public class Extern {
|
||||
return link(url, elemlisturl, reporter, true);
|
||||
}
|
||||
|
||||
/**
|
||||
* Check whether links to platform documentation are configured. If not then configure
|
||||
* links using the the documentation URL defined in {@code linkPlatformProperties} or the
|
||||
* default documentation URL if that parameter is {@code null}.
|
||||
*
|
||||
* @param linkPlatformProperties path or URL to properties file containing
|
||||
* platform documentation URLs, or null
|
||||
* @param reporter the {@code DocErrorReporter} used to report errors
|
||||
*/
|
||||
public void checkPlatformLinks(String linkPlatformProperties, Reporter reporter) {
|
||||
PackageElement javaLang = utils.elementUtils.getPackageElement("java.lang");
|
||||
if (utils.isIncluded(javaLang)) {
|
||||
return;
|
||||
}
|
||||
DocLink link = getExternalLink(javaLang, DocPath.empty, DocPaths.PACKAGE_SUMMARY.getPath());
|
||||
if (link != null) {
|
||||
// Links to platform docs are already configure, nothing to do here.
|
||||
return;
|
||||
}
|
||||
try {
|
||||
int versionNumber = getSourceVersionNumber();
|
||||
String docUrl;
|
||||
|
||||
if (linkPlatformProperties != null) {
|
||||
docUrl = getCustomPlatformDocs(versionNumber, linkPlatformProperties);
|
||||
} else {
|
||||
docUrl = getDefaultPlatformDocs(versionNumber);
|
||||
}
|
||||
if (docUrl == null) {
|
||||
return;
|
||||
}
|
||||
DocPath elementListPath = getPlatformElementList(versionNumber);
|
||||
URL elementListUrl = AbstractDoclet.class.getResource(elementListPath.getPath());
|
||||
if (elementListUrl == null) {
|
||||
reporter.print(Kind.WARNING, resources.getText("doclet.Resource_error", elementListPath.getPath()));
|
||||
} else {
|
||||
try {
|
||||
readListFromURL(docUrl, elementListUrl);
|
||||
} catch (IOException exc) {
|
||||
throw new Fault(resources.getText(
|
||||
"doclet.Resource_error", elementListPath.getPath()), exc);
|
||||
}
|
||||
}
|
||||
} catch (Fault f) {
|
||||
reporter.print(Kind.ERROR, f.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the resource path for the package or element list for the given {@code version}.
|
||||
* @param version the platform version number
|
||||
* @return the resource path
|
||||
*/
|
||||
private DocPath getPlatformElementList(int version) {
|
||||
String filename = version <= 9
|
||||
? "package-list-" + version + ".txt"
|
||||
: "element-list-" + version + ".txt";
|
||||
return DocPaths.RESOURCES.resolve("releases").resolve(filename);
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the default URL for the platform API documentation for the given {@code version}.
|
||||
* @param version the platform version number
|
||||
* @return the URL as String
|
||||
*/
|
||||
private String getDefaultPlatformDocs(int version) {
|
||||
Resources resources = configuration.getDocResources();
|
||||
return version <= 10
|
||||
? resources.getText("doclet.platform.docs.old", version)
|
||||
: isPrerelease(version)
|
||||
? resources.getText("doclet.platform.docs.ea", version)
|
||||
: resources.getText("doclet.platform.docs.new", version);
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieve and return the custom URL for the platform API documentation for the given
|
||||
* {@code version} from the properties file at {@code linkPlatformProperties}.
|
||||
* @param version the platform version number
|
||||
* @param linkPlatformProperties path pointing to a properties file
|
||||
* @return the custom URL as String
|
||||
*/
|
||||
private String getCustomPlatformDocs(int version, String linkPlatformProperties) throws Fault {
|
||||
String url;
|
||||
try {
|
||||
Properties props = new Properties();
|
||||
InputStream inputStream;
|
||||
if (isUrl(linkPlatformProperties)) {
|
||||
inputStream = toURL(linkPlatformProperties).openStream();
|
||||
} else {
|
||||
inputStream = DocFile.createFileForInput(configuration, linkPlatformProperties).openInputStream();
|
||||
}
|
||||
try (inputStream) {
|
||||
props.load(inputStream);
|
||||
}
|
||||
url = props.getProperty("doclet.platform.docs." + version);
|
||||
} catch (MalformedURLException exc) {
|
||||
throw new Fault(resources.getText("doclet.MalformedURL", linkPlatformProperties), exc);
|
||||
} catch (IOException exc) {
|
||||
throw new Fault(resources.getText("doclet.URL_error", linkPlatformProperties), exc);
|
||||
} catch (DocFileIOException exc) {
|
||||
throw new Fault(resources.getText("doclet.File_error", linkPlatformProperties), exc);
|
||||
}
|
||||
return url;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the source version number used in the current execution of javadoc.
|
||||
* @return the source version number
|
||||
*/
|
||||
private int getSourceVersionNumber() {
|
||||
SourceVersion sourceVersion = configuration.docEnv.getSourceVersion();
|
||||
// TODO it would be nice if this was provided by SourceVersion
|
||||
String versionNumber = sourceVersion.name().substring(8);
|
||||
assert SourceVersion.valueOf("RELEASE_" + versionNumber) == sourceVersion;
|
||||
return Integer.parseInt(versionNumber);
|
||||
}
|
||||
|
||||
/**
|
||||
* Return true if the given {@code sourceVersion} is the same as the current doclet version
|
||||
* and is a pre-release version.
|
||||
* @param sourceVersion the source version number
|
||||
* @return true if it is a pre-release version
|
||||
*/
|
||||
private boolean isPrerelease(int sourceVersion) {
|
||||
Runtime.Version docletVersion = configuration.getDocletVersion();
|
||||
return docletVersion.feature() == sourceVersion && docletVersion.pre().isPresent();
|
||||
}
|
||||
|
||||
/*
|
||||
* Build the extern element list from given URL or the directory path.
|
||||
* Flag error if the "-link" or "-linkoffline" option is already used.
|
||||
@ -295,13 +426,11 @@ public class Extern {
|
||||
private void readElementListFromURL(String urlpath, URL elemlisturlpath) throws Fault {
|
||||
try {
|
||||
URL link = elemlisturlpath.toURI().resolve(DocPaths.ELEMENT_LIST.getPath()).toURL();
|
||||
try (InputStream in = open(link)) {
|
||||
readElementList(in, urlpath, false);
|
||||
}
|
||||
readListFromURL(urlpath, link);
|
||||
} catch (URISyntaxException | MalformedURLException exc) {
|
||||
throw new Fault(resources.getText("doclet.MalformedURL", elemlisturlpath.toString()), exc);
|
||||
} catch (IOException exc) {
|
||||
readAlternateURL(urlpath, elemlisturlpath);
|
||||
readPackageListFromURL(urlpath, elemlisturlpath);
|
||||
}
|
||||
}
|
||||
|
||||
@ -311,12 +440,10 @@ public class Extern {
|
||||
* @param urlpath Path to the packages.
|
||||
* @param elemlisturlpath URL or the path to the "package-list" file.
|
||||
*/
|
||||
private void readAlternateURL(String urlpath, URL elemlisturlpath) throws Fault {
|
||||
private void readPackageListFromURL(String urlpath, URL elemlisturlpath) throws Fault {
|
||||
try {
|
||||
URL link = elemlisturlpath.toURI().resolve(DocPaths.PACKAGE_LIST.getPath()).toURL();
|
||||
try (InputStream in = open(link)) {
|
||||
readElementList(in, urlpath, false);
|
||||
}
|
||||
readListFromURL(urlpath, link);
|
||||
} catch (URISyntaxException | MalformedURLException exc) {
|
||||
throw new Fault(resources.getText("doclet.MalformedURL", elemlisturlpath.toString()), exc);
|
||||
} catch (IOException exc) {
|
||||
@ -324,6 +451,18 @@ public class Extern {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Read an element or package list from file.
|
||||
*
|
||||
* @param urlpath URL or path to the packages
|
||||
* @param elementlistpath URL to read "element-list" file from
|
||||
*/
|
||||
private void readListFromURL(String urlpath, URL elementlistpath) throws IOException {
|
||||
try (InputStream in = open(elementlistpath)) {
|
||||
readElementList(in, urlpath, false);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Read the "element-list" file which is available locally.
|
||||
*
|
||||
|
@ -46,6 +46,7 @@ public class TestAnnotationTypes extends JavadocTester {
|
||||
public void test() {
|
||||
javadoc("-d", "out-1",
|
||||
"-sourcepath", testSrc,
|
||||
"--no-platform-links",
|
||||
"pkg");
|
||||
checkExit(Exit.OK);
|
||||
|
||||
@ -108,6 +109,7 @@ public class TestAnnotationTypes extends JavadocTester {
|
||||
public void testLinkSource() {
|
||||
javadoc("-d", "out-2",
|
||||
"-linksource",
|
||||
"--no-platform-links",
|
||||
"-sourcepath", testSrc,
|
||||
"pkg");
|
||||
checkExit(Exit.OK);
|
||||
|
@ -50,6 +50,7 @@ public class TestClassCrossReferences extends JavadocTester {
|
||||
"-Xdoclint:none",
|
||||
"-sourcepath", testSrc,
|
||||
"-linkoffline", uri, testSrc,
|
||||
"--no-platform-links",
|
||||
testSrc("C.java"));
|
||||
checkExit(Exit.OK);
|
||||
|
||||
@ -82,6 +83,7 @@ public class TestClassCrossReferences extends JavadocTester {
|
||||
"-Xdoclint:none",
|
||||
"-sourcepath", testSrc,
|
||||
"-linkoffline", uri, testSrc,
|
||||
"--no-platform-links",
|
||||
testSrc("C.java"));
|
||||
checkExit(Exit.OK);
|
||||
|
||||
|
@ -46,6 +46,7 @@ public class TestClassLinks extends JavadocTester {
|
||||
|
||||
javadoc("-d", "out",
|
||||
"-Xdoclint:none",
|
||||
"--no-platform-links",
|
||||
"-sourcepath", testSrc,
|
||||
"-package",
|
||||
"p");
|
||||
|
@ -46,6 +46,7 @@ public class TestClassTree extends JavadocTester {
|
||||
@Test
|
||||
public void test() {
|
||||
javadoc("-d", "out",
|
||||
"--no-platform-links",
|
||||
"-sourcepath", testSrc,
|
||||
"pkg");
|
||||
checkExit(Exit.OK);
|
||||
|
@ -44,6 +44,7 @@ public class TestDeprecatedDocs extends JavadocTester {
|
||||
@Test
|
||||
public void test() {
|
||||
javadoc("-d", "out",
|
||||
"--no-platform-links",
|
||||
"-sourcepath", testSrc,
|
||||
"pkg");
|
||||
checkExit(Exit.OK);
|
||||
|
@ -44,6 +44,7 @@ public class TestGrandParentTypes extends JavadocTester {
|
||||
@Test
|
||||
public void test1() {
|
||||
javadoc("-d", "out-1",
|
||||
"--no-platform-links",
|
||||
"-package",
|
||||
"-sourcepath", testSrc,
|
||||
"pkg1");
|
||||
|
@ -45,6 +45,7 @@ public class TestHeadings extends JavadocTester {
|
||||
public void test() {
|
||||
javadoc("-d", "out",
|
||||
"-sourcepath", testSrc,
|
||||
"--no-platform-links",
|
||||
"-use",
|
||||
"-header", "Test Files",
|
||||
"pkg1", "pkg2");
|
||||
|
@ -49,6 +49,7 @@ public class TestHtmlDefinitionListTag extends JavadocTester {
|
||||
public void test_Comment_Deprecated() {
|
||||
javadoc("-Xdoclint:none",
|
||||
"-d", "out-1",
|
||||
"--no-platform-links",
|
||||
"-sourcepath", testSrc,
|
||||
"pkg1");
|
||||
checkExit(Exit.OK);
|
||||
@ -61,6 +62,7 @@ public class TestHtmlDefinitionListTag extends JavadocTester {
|
||||
javadoc("-Xdoclint:none",
|
||||
"-d", "out-2",
|
||||
"-nocomment",
|
||||
"--no-platform-links",
|
||||
"-sourcepath", testSrc,
|
||||
"pkg1");
|
||||
checkExit(Exit.OK);
|
||||
@ -73,6 +75,7 @@ public class TestHtmlDefinitionListTag extends JavadocTester {
|
||||
javadoc("-Xdoclint:none",
|
||||
"-d", "out-3",
|
||||
"-nodeprecated",
|
||||
"--no-platform-links",
|
||||
"-sourcepath", testSrc,
|
||||
"pkg1");
|
||||
checkExit(Exit.OK);
|
||||
@ -87,6 +90,7 @@ public class TestHtmlDefinitionListTag extends JavadocTester {
|
||||
"-d", "out-4",
|
||||
"-nocomment",
|
||||
"-nodeprecated",
|
||||
"--no-platform-links",
|
||||
"-sourcepath", testSrc,
|
||||
"pkg1");
|
||||
checkExit(Exit.OK);
|
||||
|
@ -101,6 +101,7 @@ public class TestHtmlTag extends JavadocTester {
|
||||
@Test
|
||||
public void test_other() {
|
||||
javadoc("-locale", "en_US",
|
||||
"--no-platform-links",
|
||||
"-d", "out-other",
|
||||
"-sourcepath", testSrc,
|
||||
"pkg3");
|
||||
|
@ -43,6 +43,7 @@ public class TestIndentation extends JavadocTester {
|
||||
@Test
|
||||
public void test() {
|
||||
javadoc("-d", "out",
|
||||
"--no-platform-links",
|
||||
"-sourcepath", testSrc,
|
||||
"p");
|
||||
checkExit(Exit.OK);
|
||||
|
@ -61,6 +61,7 @@ public class TestInterface extends JavadocTester {
|
||||
@Test
|
||||
public void test() {
|
||||
javadoc("-d", "out",
|
||||
"--no-platform-links",
|
||||
"-sourcepath", testSrc,
|
||||
"pkg");
|
||||
checkExit(Exit.OK);
|
||||
|
@ -234,6 +234,7 @@ public class TestJavaFX extends JavadocTester {
|
||||
"-sourcepath", testSrc,
|
||||
"-javafx",
|
||||
"--disable-javafx-strict-checks",
|
||||
"--no-platform-links",
|
||||
"-package",
|
||||
"pkg2");
|
||||
checkExit(Exit.OK);
|
||||
@ -297,6 +298,7 @@ public class TestJavaFX extends JavadocTester {
|
||||
public void test3() {
|
||||
javadoc("-d", "out2b",
|
||||
"-sourcepath", testSrc,
|
||||
"--no-platform-links",
|
||||
"-package",
|
||||
"pkg2");
|
||||
checkExit(Exit.OK);
|
||||
|
@ -24,6 +24,7 @@
|
||||
/*
|
||||
* @test
|
||||
* @bug 4720957 5020118 8026567 8038976 8184969 8164407 8182765 8205593
|
||||
* 8216497
|
||||
* @summary Test to make sure that -link and -linkoffline link to
|
||||
* right files, and URLs with and without trailing slash are accepted.
|
||||
* @library ../../lib
|
||||
@ -149,6 +150,7 @@ public class TestLinkOption extends JavadocTester {
|
||||
"-sourcepath", testSrc,
|
||||
"-link", "../" + "out1",
|
||||
"-link", "../" + "out2",
|
||||
"--no-platform-links",
|
||||
"pkg3");
|
||||
checkExit(Exit.OK);
|
||||
checkOutput("pkg3/A.html", true,
|
||||
@ -172,6 +174,7 @@ public class TestLinkOption extends JavadocTester {
|
||||
"-sourcepath", testSrc,
|
||||
"-linkoffline", "../copy/out1", "out1",
|
||||
"-linkoffline", "../copy/out2", "out2",
|
||||
"--no-platform-links",
|
||||
"pkg3");
|
||||
checkExit(Exit.OK);
|
||||
checkOutput("pkg3/A.html", true,
|
||||
|
@ -0,0 +1,195 @@
|
||||
/*
|
||||
* Copyright (c) 2020, 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.
|
||||
*
|
||||
* 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.
|
||||
*/
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @bug 8216497
|
||||
* @summary javadoc should auto-link to platform classes
|
||||
* @library /tools/lib ../../lib
|
||||
* @modules
|
||||
* jdk.javadoc/jdk.javadoc.internal.tool
|
||||
* jdk.compiler/com.sun.tools.javac.api
|
||||
* jdk.compiler/com.sun.tools.javac.main
|
||||
* @build javadoc.tester.*
|
||||
* @run main TestLinkPlatform
|
||||
*/
|
||||
|
||||
import javadoc.tester.JavadocTester;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.nio.file.Path;
|
||||
import java.nio.file.Paths;
|
||||
import java.util.Formatter;
|
||||
|
||||
import builder.ClassBuilder;
|
||||
import builder.ClassBuilder.*;
|
||||
import toolbox.ModuleBuilder;
|
||||
import toolbox.ToolBox;
|
||||
|
||||
import javax.lang.model.SourceVersion;
|
||||
|
||||
public class TestLinkPlatform extends JavadocTester {
|
||||
|
||||
final static String OLD_PLATFORM_URL = "https://docs.oracle.com/javase/%d/docs/api/java/lang/Object.html";
|
||||
final static String NEW_PLATFORM_URL = "https://docs.oracle.com/en/java/javase/%d/docs/api/java.base/java/lang/Object.html";
|
||||
final static String PRE_PLATFORM_URL = "https://download.java.net/java/early_access/jdk%d/docs/api/java.base/java/lang/Object.html";
|
||||
|
||||
final static String NON_MODULAR_CUSTOM_PLATFORM_URL = "https://some.domain/docs/%d/api/java/lang/Object.html";
|
||||
final static String MODULAR_CUSTOM_PLATFORM_URL = "https://some.domain/docs/%d/api/java.base/java/lang/Object.html";
|
||||
|
||||
final static int EARLIEST_VERSION = 7;
|
||||
final static int LATEST_VERSION = Integer.parseInt(SourceVersion.latest().name().substring(8));
|
||||
|
||||
/**
|
||||
* The entry point of the test.
|
||||
*
|
||||
* @param args the array of command line arguments.
|
||||
*/
|
||||
public static void main(String... args) throws Exception {
|
||||
TestLinkPlatform tester = new TestLinkPlatform();
|
||||
tester.runTests(m -> new Object[]{Paths.get(m.getName())});
|
||||
}
|
||||
|
||||
final ToolBox tb;
|
||||
private final Path packageSrc;
|
||||
|
||||
TestLinkPlatform() throws Exception {
|
||||
tb = new ToolBox();
|
||||
packageSrc = Paths.get("src", "packages");
|
||||
initCode();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testPlatformLinkWithReleaseOption(Path base) throws Exception {
|
||||
testPlatformLinkWithSupportedVersions(base, "--release");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testPlatformLinkWithSourceOption(Path base) throws Exception {
|
||||
testPlatformLinkWithSupportedVersions(base, "--source");
|
||||
}
|
||||
|
||||
private void testPlatformLinkWithSupportedVersions(Path base, String versionOption) throws Exception {
|
||||
for (int version = EARLIEST_VERSION; version <= LATEST_VERSION; version++) {
|
||||
Path out = base.resolve("out_" + version);
|
||||
|
||||
javadoc("-d", out.toString(),
|
||||
"-sourcepath", packageSrc.toString(),
|
||||
versionOption, Integer.toString(version),
|
||||
"p.q");
|
||||
|
||||
checkExit(Exit.OK);
|
||||
// Make sure there is no message about missing element-list resource
|
||||
checkOutput(Output.OUT, false, "element-list");
|
||||
String url = getPlatformUrlString(version);
|
||||
checkOutput("p/q/A.html", true,
|
||||
"<a href=\"" + url + "\"",
|
||||
"<a href=\"" + url + "#clone()\" title=\"class or interface in java.lang\" class=\"external-link\">",
|
||||
"<a href=\"" + url + "#equals(java.lang.Object)\" title=\"class or interface in java.lang\" class=\"external-link\">",
|
||||
"<a href=\"" + url + "#finalize()\" title=\"class or interface in java.lang\" class=\"external-link\">");
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testPlatformLinkWithCustomPropertyURL(Path base) throws Exception {
|
||||
for (int version = EARLIEST_VERSION; version <= LATEST_VERSION; version++) {
|
||||
Path out = base.resolve("out_" + version);
|
||||
|
||||
javadoc("-d", out.toString(),
|
||||
"-sourcepath", packageSrc.toString(),
|
||||
"--release", Integer.toString(version),
|
||||
"--link-platform-properties", "file:" + testSrc("linkplatform.properties"),
|
||||
"p.q");
|
||||
|
||||
checkExit(Exit.OK);
|
||||
String url = getCustomPlatformUrlString(version);
|
||||
checkOutput("p/q/A.html", true,
|
||||
"<a href=\"" + url + "\"",
|
||||
"<a href=\"" + url + "#clone()\" title=\"class or interface in java.lang\" class=\"external-link\">",
|
||||
"<a href=\"" + url + "#equals(java.lang.Object)\" title=\"class or interface in java.lang\" class=\"external-link\">",
|
||||
"<a href=\"" + url + "#finalize()\" title=\"class or interface in java.lang\" class=\"external-link\">");
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testPlatformLinkWithCustomPropertyFile(Path base) throws Exception {
|
||||
for (int version = EARLIEST_VERSION; version <= LATEST_VERSION; version++) {
|
||||
Path out = base.resolve("out_" + version);
|
||||
|
||||
javadoc("-d", out.toString(),
|
||||
"-sourcepath", packageSrc.toString(),
|
||||
"--release", Integer.toString(version),
|
||||
"--link-platform-properties", testSrc("linkplatform.properties"),
|
||||
"p.q");
|
||||
|
||||
checkExit(Exit.OK);
|
||||
String url = getCustomPlatformUrlString(version);
|
||||
checkOutput("p/q/A.html", true,
|
||||
"<a href=\"" + url + "\"",
|
||||
"<a href=\"" + url + "#clone()\" title=\"class or interface in java.lang\" class=\"external-link\">",
|
||||
"<a href=\"" + url + "#equals(java.lang.Object)\" title=\"class or interface in java.lang\" class=\"external-link\">",
|
||||
"<a href=\"" + url + "#finalize()\" title=\"class or interface in java.lang\" class=\"external-link\">");
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testPlatformLinkWithInvalidPropertyFile(Path base) throws Exception {
|
||||
for (int version = EARLIEST_VERSION; version <= LATEST_VERSION; version++) {
|
||||
Path out = base.resolve("out_" + version);
|
||||
|
||||
javadoc("-d", out.toString(),
|
||||
"-sourcepath", packageSrc.toString(),
|
||||
"--release", Integer.toString(version),
|
||||
"--link-platform-properties", testSrc("invalid-properties-file"),
|
||||
"p.q");
|
||||
|
||||
checkExit(Exit.ERROR);
|
||||
checkOutput(Output.OUT, true, "Error reading file");
|
||||
checkOutput("p/q/A.html", false);
|
||||
}
|
||||
}
|
||||
|
||||
void initCode() throws Exception {
|
||||
new ClassBuilder(tb, "p.q.A")
|
||||
.setModifiers("public","class")
|
||||
.write(packageSrc);
|
||||
}
|
||||
|
||||
String getPlatformUrlString(int version) {
|
||||
String urlString;
|
||||
Runtime.Version runtimeVersion = Runtime.version();
|
||||
if (version == runtimeVersion.feature() && runtimeVersion.pre().isPresent()) {
|
||||
urlString = PRE_PLATFORM_URL;
|
||||
} else {
|
||||
urlString = version <= 10 ? OLD_PLATFORM_URL : NEW_PLATFORM_URL;
|
||||
}
|
||||
return urlString.formatted(version);
|
||||
}
|
||||
|
||||
String getCustomPlatformUrlString(int version) {
|
||||
return version <= 10
|
||||
? NON_MODULAR_CUSTOM_PLATFORM_URL.formatted(version)
|
||||
: MODULAR_CUSTOM_PLATFORM_URL.formatted(version);
|
||||
}
|
||||
}
|
@ -0,0 +1,10 @@
|
||||
doclet.platform.docs.7= https://some.domain/docs/7/api/
|
||||
doclet.platform.docs.8= https://some.domain/docs/8/api/
|
||||
doclet.platform.docs.9= https://some.domain/docs/9/api/
|
||||
doclet.platform.docs.10=https://some.domain/docs/10/api/
|
||||
doclet.platform.docs.11=https://some.domain/docs/11/api/
|
||||
doclet.platform.docs.12=https://some.domain/docs/12/api/
|
||||
doclet.platform.docs.13=https://some.domain/docs/13/api/
|
||||
doclet.platform.docs.14=https://some.domain/docs/14/api/
|
||||
doclet.platform.docs.15=https://some.domain/docs/15/api/
|
||||
doclet.platform.docs.16=https://some.domain/docs/16/api/
|
@ -46,6 +46,7 @@ public class TestMemberInheritance extends JavadocTester {
|
||||
public void test() {
|
||||
javadoc("-d", "out",
|
||||
"-sourcepath", testSrc,
|
||||
"--no-platform-links",
|
||||
"pkg", "diamond", "inheritDist", "pkg1", "pkg2", "pkg3");
|
||||
checkExit(Exit.OK);
|
||||
|
||||
@ -218,6 +219,7 @@ public class TestMemberInheritance extends JavadocTester {
|
||||
javadoc("-d", "out-split",
|
||||
"-splitindex",
|
||||
"-sourcepath", testSrc,
|
||||
"--no-platform-links",
|
||||
"pkg", "diamond", "inheritDist", "pkg1", "pkg2", "pkg3");
|
||||
checkExit(Exit.OK);
|
||||
|
||||
|
@ -44,6 +44,7 @@ public class TestMethodSignature extends JavadocTester {
|
||||
public void test() {
|
||||
javadoc("-d", "out",
|
||||
"-sourcepath", testSrc,
|
||||
"--no-platform-links",
|
||||
"pkg");
|
||||
checkExit(Exit.OK);
|
||||
|
||||
|
@ -74,6 +74,7 @@ public class TestModules extends JavadocTester {
|
||||
"-nocomment",
|
||||
"-use",
|
||||
"-Xdoclint:none",
|
||||
"--no-platform-links",
|
||||
"-overview", testSrc("overview.html"),
|
||||
"--module-source-path", testSrc,
|
||||
"--module", "moduleA,moduleB",
|
||||
@ -170,6 +171,7 @@ public class TestModules extends JavadocTester {
|
||||
public void testModuleDeprecation() {
|
||||
javadoc("-d", "out-moduledepr",
|
||||
"-Xdoclint:none",
|
||||
"--no-platform-links",
|
||||
"-tag", "regular:a:Regular Tag:",
|
||||
"-tag", "moduletag:s:Module Tag:",
|
||||
"--module-source-path", testSrc,
|
||||
@ -430,6 +432,7 @@ public class TestModules extends JavadocTester {
|
||||
javadoc("-d", "out-linksource",
|
||||
"-use",
|
||||
"-linksource",
|
||||
"--no-platform-links",
|
||||
"-Xdoclint:none",
|
||||
"--module-source-path", testSrc,
|
||||
"--module", "moduleA,moduleB");
|
||||
@ -447,6 +450,7 @@ public class TestModules extends JavadocTester {
|
||||
"-use",
|
||||
"-private",
|
||||
"-linksource",
|
||||
"--no-platform-links",
|
||||
"-Xdoclint:none",
|
||||
"--module-source-path", testSrc,
|
||||
"--module", "moduleA,moduleB");
|
||||
|
@ -48,6 +48,7 @@ public class TestNewLanguageFeatures extends JavadocTester {
|
||||
javadoc("-Xdoclint:none",
|
||||
"-d", "out",
|
||||
"-use",
|
||||
"--no-platform-links",
|
||||
"-sourcepath", testSrc,
|
||||
"pkg", "pkg1", "pkg2");
|
||||
checkExit(Exit.OK);
|
||||
|
@ -185,6 +185,7 @@ public class TestOptions extends JavadocTester {
|
||||
public void testLinkSource() {
|
||||
javadoc("-d", "out-9",
|
||||
"-linksource",
|
||||
"--no-platform-links",
|
||||
"-javafx",
|
||||
"--disable-javafx-strict-checks",
|
||||
"-sourcepath", testSrc,
|
||||
|
@ -120,6 +120,7 @@ public class TestOrdering extends JavadocTester {
|
||||
public void run() {
|
||||
javadoc("-d", "out-1",
|
||||
"-sourcepath", testSrc,
|
||||
"--no-platform-links",
|
||||
"-use",
|
||||
"pkg1");
|
||||
checkExit(Exit.OK);
|
||||
|
@ -44,6 +44,7 @@ public class TestOverriddenDeprecatedMethods extends JavadocTester {
|
||||
public void test() {
|
||||
javadoc("-d", "out-deprecated",
|
||||
"-sourcepath", testSrc,
|
||||
"--no-platform-links",
|
||||
"--override-methods","summary",
|
||||
"pkg1");
|
||||
|
||||
|
@ -69,6 +69,7 @@ public class TestOverrideMethods extends JavadocTester {
|
||||
public void testSummary() {
|
||||
javadoc("-d", "out-summary",
|
||||
"-sourcepath", testSrc,
|
||||
"--no-platform-links",
|
||||
"-javafx",
|
||||
"--disable-javafx-strict-checks",
|
||||
"--override-methods=summary",
|
||||
|
@ -44,6 +44,7 @@ public class TestPackageAnnotation extends JavadocTester {
|
||||
public void testPackageInfoAnnotationNoComment() {
|
||||
javadoc("-d", "out-annotation",
|
||||
"-sourcepath", testSrc,
|
||||
"--no-platform-links",
|
||||
"-use",
|
||||
"pkg1");
|
||||
checkExit(Exit.OK);
|
||||
@ -78,6 +79,7 @@ public class TestPackageAnnotation extends JavadocTester {
|
||||
public void testPackageInfoAndHtml() {
|
||||
javadoc("-d", "out-annotation-3",
|
||||
"-sourcepath", testSrc,
|
||||
"--no-platform-links",
|
||||
"-use",
|
||||
"pkg3");
|
||||
checkExit(Exit.OK);
|
||||
|
@ -54,6 +54,7 @@ public class TestPrivateClasses extends JavadocTester {
|
||||
public void testDefault() {
|
||||
javadoc("-d", "out-default",
|
||||
"-sourcepath", testSrc,
|
||||
"--no-platform-links",
|
||||
"pkg", "pkg2");
|
||||
checkExit(Exit.OK);
|
||||
|
||||
@ -149,6 +150,7 @@ public class TestPrivateClasses extends JavadocTester {
|
||||
public void testPrivate() {
|
||||
javadoc("-d", "out-private",
|
||||
"-sourcepath", testSrc,
|
||||
"--no-platform-links",
|
||||
"-private",
|
||||
"pkg", "pkg2");
|
||||
checkExit(Exit.OK);
|
||||
|
@ -43,6 +43,7 @@ public class TestProperty extends JavadocTester {
|
||||
@Test
|
||||
public void testArrays() {
|
||||
javadoc("-d", "out",
|
||||
"--no-platform-links",
|
||||
"-javafx",
|
||||
"--disable-javafx-strict-checks",
|
||||
"-sourcepath", testSrc,
|
||||
|
@ -347,6 +347,7 @@ public class TestRecordTypes extends JavadocTester {
|
||||
|
||||
javadoc("-d", base.resolve("out").toString(),
|
||||
"-quiet", "-noindex",
|
||||
"--no-platform-links",
|
||||
"-sourcepath", src.toString(),
|
||||
"--enable-preview", "--source", thisRelease,
|
||||
"p");
|
||||
@ -464,6 +465,7 @@ public class TestRecordTypes extends JavadocTester {
|
||||
|
||||
javadoc("-d", dir.resolve("out").toString(),
|
||||
"-quiet", "-noindex",
|
||||
"--no-platform-links",
|
||||
"-sourcepath", src.toString(),
|
||||
"-private",
|
||||
"--enable-preview", "--source", thisRelease,
|
||||
|
@ -167,6 +167,7 @@ public class TestSealedTypes extends JavadocTester {
|
||||
|
||||
javadoc("-d", base.resolve("out").toString(),
|
||||
"--source-path", src.toString(),
|
||||
"--no-platform-links",
|
||||
"--enable-preview", "--source", thisRelease,
|
||||
"p");
|
||||
checkExit(Exit.OK);
|
||||
@ -188,6 +189,7 @@ public class TestSealedTypes extends JavadocTester {
|
||||
|
||||
javadoc("-d", base.resolve("out").toString(),
|
||||
"--source-path", src.toString(),
|
||||
"--no-platform-links",
|
||||
"--enable-preview", "--source", thisRelease,
|
||||
"p");
|
||||
checkExit(Exit.OK);
|
||||
@ -211,6 +213,7 @@ public class TestSealedTypes extends JavadocTester {
|
||||
|
||||
javadoc("-d", base.resolve("out").toString(),
|
||||
"--source-path", src.toString(),
|
||||
"--no-platform-links",
|
||||
"--enable-preview", "--source", thisRelease,
|
||||
"p");
|
||||
checkExit(Exit.OK);
|
||||
@ -260,6 +263,7 @@ public class TestSealedTypes extends JavadocTester {
|
||||
|
||||
javadoc("-d", base.resolve("out").toString(),
|
||||
"--source-path", src.toString(),
|
||||
"--no-platform-links",
|
||||
"--enable-preview", "--source", thisRelease,
|
||||
"p");
|
||||
checkExit(Exit.OK);
|
||||
@ -283,6 +287,7 @@ public class TestSealedTypes extends JavadocTester {
|
||||
|
||||
javadoc("-d", base.resolve("out").toString(),
|
||||
"--source-path", src.toString(),
|
||||
"--no-platform-links",
|
||||
"-package",
|
||||
"--enable-preview", "--source", thisRelease,
|
||||
"p");
|
||||
@ -308,6 +313,7 @@ public class TestSealedTypes extends JavadocTester {
|
||||
|
||||
javadoc("-d", base.resolve("out").toString(),
|
||||
"--source-path", src.toString(),
|
||||
"--no-platform-links",
|
||||
"--enable-preview", "--source", thisRelease,
|
||||
"p");
|
||||
checkExit(Exit.OK);
|
||||
|
@ -72,6 +72,7 @@ public class TestSeeTag extends JavadocTester {
|
||||
public void testBadReference() {
|
||||
javadoc("-d", "out-badref",
|
||||
"-sourcepath", testSrc,
|
||||
"--no-platform-links",
|
||||
"badref");
|
||||
checkExit(Exit.ERROR);
|
||||
|
||||
|
@ -115,6 +115,7 @@ public class TestSerializedForm extends JavadocTester {
|
||||
javadoc("-private",
|
||||
"-d", "out-private",
|
||||
"-sourcepath", testSrc,
|
||||
"--no-platform-links",
|
||||
testSrc("SerializedForm.java"), testSrc("ExternalizedForm.java"), "pkg1");
|
||||
checkExit(Exit.OK);
|
||||
|
||||
@ -166,6 +167,7 @@ public class TestSerializedForm extends JavadocTester {
|
||||
javadoc("-private",
|
||||
"-d", "out-2",
|
||||
"-sourcepath", testSrc,
|
||||
"--no-platform-links",
|
||||
"pkg2");
|
||||
checkExit(Exit.OK);
|
||||
|
||||
|
@ -44,6 +44,7 @@ public class TestSerializedFormDeprecationInfo extends JavadocTester {
|
||||
public void testDefault() {
|
||||
javadoc("-d", "out-default",
|
||||
"-sourcepath", testSrc,
|
||||
"--no-platform-links",
|
||||
"pkg1");
|
||||
checkExit(Exit.OK);
|
||||
|
||||
@ -68,6 +69,7 @@ public class TestSerializedFormDeprecationInfo extends JavadocTester {
|
||||
javadoc("-d", "out-nodepr",
|
||||
"-nodeprecated",
|
||||
"-sourcepath", testSrc,
|
||||
"--no-platform-links",
|
||||
"pkg1");
|
||||
checkExit(Exit.OK);
|
||||
|
||||
|
@ -66,6 +66,7 @@ public class TestSerializedFormWithClassFile extends JavadocTester {
|
||||
Path outDir = base.resolve("out");
|
||||
javadoc("-d", outDir.toString(),
|
||||
"-linksource",
|
||||
"--no-platform-links",
|
||||
"-classpath", base.resolve("classes").toString(),
|
||||
"-sourcepath", "",
|
||||
srcDir.resolve("B.java").toString());
|
||||
|
@ -68,6 +68,7 @@
|
||||
""");
|
||||
|
||||
javadoc("-d", base.resolve("out").toString(),
|
||||
"--no-platform-links",
|
||||
src.resolve("C.java").toString());
|
||||
checkExit(Exit.OK);
|
||||
|
||||
|
@ -44,6 +44,7 @@ public class TestTypeAnnotations extends JavadocTester {
|
||||
@Test
|
||||
public void test() {
|
||||
javadoc("-d", "out",
|
||||
"--no-platform-links",
|
||||
"-sourcepath", testSrc,
|
||||
"-private",
|
||||
"typeannos");
|
||||
|
@ -48,6 +48,7 @@ public class TestTypeParameters extends JavadocTester {
|
||||
public void test1() {
|
||||
javadoc("-d", "out-1",
|
||||
"-use",
|
||||
"--no-platform-links",
|
||||
"-sourcepath", testSrc,
|
||||
"pkg");
|
||||
checkExit(Exit.OK);
|
||||
@ -80,6 +81,7 @@ public class TestTypeParameters extends JavadocTester {
|
||||
public void test2() {
|
||||
javadoc("-d", "out-2",
|
||||
"-linksource",
|
||||
"--no-platform-links",
|
||||
"-sourcepath", testSrc,
|
||||
"pkg");
|
||||
checkExit(Exit.OK);
|
||||
|
@ -43,6 +43,7 @@ public class TestTypeVariableLinks extends JavadocTester {
|
||||
@Test
|
||||
public void test1() {
|
||||
javadoc("-d", "out",
|
||||
"--no-platform-links",
|
||||
"-sourcepath", testSrc,
|
||||
"-package",
|
||||
"pkg1");
|
||||
|
@ -266,6 +266,7 @@ public class TestVisibleMembers extends JavadocTester {
|
||||
javadoc("-d", outDir.toString(),
|
||||
"-html5",
|
||||
"--override-methods=detail",
|
||||
"--no-platform-links",
|
||||
"-sourcepath", srcDir.toString(),
|
||||
"p");
|
||||
checkExit(Exit.OK);
|
||||
@ -301,6 +302,7 @@ public class TestVisibleMembers extends JavadocTester {
|
||||
javadoc("-d", outDir.toString(),
|
||||
"-html5",
|
||||
"--override-methods=summary",
|
||||
"--no-platform-links",
|
||||
"-sourcepath", srcDir.toString(),
|
||||
"p");
|
||||
checkExit(Exit.OK);
|
||||
|
Loading…
Reference in New Issue
Block a user