langtools/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlConfiguration.java
--- a/langtools/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlConfiguration.java Fri Jul 28 15:00:53 2017 -0700
+++ b/langtools/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlConfiguration.java Wed Aug 02 09:26:35 2017 -0700
@@ -40,10 +40,12 @@
import jdk.javadoc.doclet.Doclet;
import jdk.javadoc.doclet.DocletEnvironment;
+import jdk.javadoc.internal.doclets.formats.html.markup.HtmlConstants;
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTag;
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlVersion;
import jdk.javadoc.internal.doclets.toolkit.BaseConfiguration;
import jdk.javadoc.internal.doclets.toolkit.Content;
+import jdk.javadoc.internal.doclets.toolkit.DocletException;
import jdk.javadoc.internal.doclets.toolkit.Messages;
import jdk.javadoc.internal.doclets.toolkit.Resources;
import jdk.javadoc.internal.doclets.toolkit.WriterFactory;
@@ -162,6 +164,11 @@
public boolean createtree = true;
/**
+ * The META charset tag used for cross-platform viewing.
+ */
+ public String charset = null;
+
+ /**
* True if command line option "-nodeprecated" is used. Default value is
* false.
*/
@@ -797,4 +804,23 @@
oset.addAll(super.getSupportedOptions());
return oset;
}
+
+ @Override
+ protected boolean finishOptionSettings0() throws DocletException {
+ if (docencoding == null) {
+ if (charset == null) {
+ docencoding = charset = (encoding == null) ? HtmlConstants.HTML_DEFAULT_CHARSET : encoding;
+ } else {
+ docencoding = charset;
+ }
+ } else {
+ if (charset == null) {
+ charset = docencoding;
+ } else if (!charset.equals(docencoding)) {
+ reporter.print(ERROR, getText("doclet.Option_conflict", "-charset", "-docencoding"));
+ return false;
+ }
+ }
+ return super.finishOptionSettings0();
+ }
}