--- old/langtools/make/CompileInterim.gmk 2017-03-27 13:40:47.077218219 -0700 +++ new/langtools/make/CompileInterim.gmk 2017-03-27 13:40:47.001214940 -0700 @@ -47,7 +47,8 @@ $$(wildcard $(SUPPORT_OUTPUTDIR)/gensrc/$(strip $1)), \ EXCLUDES := sun com/sun/tools/jdeps com/sun/tools/javap \ com/sun/tools/jdeprscan, \ - EXCLUDE_FILES := module-info.java JavacToolProvider.java JavadocToolProvider.java, \ + EXCLUDE_FILES := module-info.java JavacToolProvider.java \ + JavadocToolProvider.java Standard.java, \ COPY := .gif .png .xml .css .js javax.tools.JavaCompilerTool, \ BIN := $(BUILDTOOLS_OUTPUTDIR)/override_modules/$(strip $1), \ ADD_JAVAC_FLAGS := -Xbootclasspath/p:$$(call PathList, \ --- old/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/standard/Standard.java 2017-03-27 13:40:47.413232718 -0700 +++ new/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/standard/Standard.java 2017-03-27 13:40:47.325228921 -0700 @@ -33,7 +33,7 @@ * @deprecated The doclet has been superseded by its replacement, * {@code jdk.javadoc.doclets.StandardDoclet}. */ -@Deprecated +@Deprecated(forRemoval=true, since="9") public class Standard { public static int optionLength(String option) { --- old/langtools/src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/Start.java 2017-03-27 13:40:47.769248081 -0700 +++ new/langtools/src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/Start.java 2017-03-27 13:40:47.681244284 -0700 @@ -88,9 +88,8 @@ */ public class Start extends ToolOption.Helper { - @SuppressWarnings("deprecation") - private static final Class OldStdDoclet = - com.sun.tools.doclets.standard.Standard.class; + private static final String OldStdDocletName = + "com.sun.tools.doclets.standard.Standard"; private static final Class StdDoclet = jdk.javadoc.doclet.StandardDoclet.class; @@ -334,7 +333,7 @@ messager.getWriter(WriterKind.ERROR), messager.getWriter(WriterKind.WARNING), messager.getWriter(WriterKind.NOTICE), - "com.sun.tools.doclets.standard.Standard", + OldStdDocletName, nargv); return (rc == 0) ? OK : ERROR; } @@ -797,27 +796,31 @@ // Step 4: we have a doclet, try loading it if (docletName != null) { - try { - return Class.forName(docletName, true, getClass().getClassLoader()); - } catch (ClassNotFoundException cnfe) { - if (apiMode) { - throw new IllegalArgumentException("Cannot find doclet class " + userDocletName); - } - String text = messager.getText("main.doclet_class_not_found", userDocletName); - throw new ToolException(CMDERR, text, cnfe); - } + return loadDocletClass(docletName); } // Step 5: we don't have a doclet specified, do we have taglets ? if (!userTagletNames.isEmpty() && hasOldTaglet(userTagletNames, userTagletPath)) { // found a bogey, return the old doclet - return OldStdDoclet; + return loadDocletClass(OldStdDocletName); } // finally return StdDoclet; } + private Class loadDocletClass(String docletName) throws ToolException { + try { + return Class.forName(docletName, true, getClass().getClassLoader()); + } catch (ClassNotFoundException cnfe) { + if (apiMode) { + throw new IllegalArgumentException("Cannot find doclet class " + docletName); + } + String text = messager.getText("main.doclet_class_not_found", docletName); + throw new ToolException(CMDERR, text, cnfe); + } + } + /* * This method returns true iff it finds a legacy taglet, but for * all other conditions including errors it returns false, allowing