JDK 9 RFR of JDK-8072734: Turn on doclint checking in the build of modules in the jdk repo
joe darcy
joe.darcy at oracle.com
Thu Mar 12 02:53:06 UTC 2015
Hello,
With package filtering of doclint checking now available (JDK-8071851:
Provide filtering of doclint checking based on packages), the time has
come to enable a subset of doclint checking in the main build for java.*
and javax.* packages.
First, there is the simple subtask of doing this for the relevant files
hosted in the langtools repository (JDK-8075035: Turn on doclint
checking of modules in the langtools repo):
diff -r 072008f47620 make/build.properties
--- a/make/build.properties Wed Mar 11 22:24:05 2015 +0100
+++ b/make/build.properties Wed Mar 11 19:32:58 2015 -0700
@@ -28,7 +28,7 @@
javac.debuglevel = source,lines,vars
javac.extra.opts=-XDignore.symbol.file=true
javac.includes=
-javac.lint.opts = -Xlint:all,-deprecation -Werror
+javac.lint.opts = -Xlint:all,-deprecation -Xdoclint:all/protected
'-Xdoclint/package:java.*,javax.*' -Werror
javac.source = 8
javac.target = 8
Next are the more extensive changes for modules in the jdk repo:
JDK-8072734 : Turn on doclint checking in the build of modules in
the jdk repo
http://cr.openjdk.java.net/~darcy/8072734.0/
Full patch below. A few notes on the checks excluded from doclint
checking. In the desktop module, there are still hundreds of method with
missing javadoc (JDK-8071630) and the "missing" check cannot be enabled
until that javadoc is added.
The javadoc of the base module contains a few @see or @link references
to members outside of the base module. Those outside members are not
currently visible to javac when the base module is being compiled. That
may change at some point later in JDK 9. If and when it does, the
"reference" check can be enabled.
In the desktop module some generated files are referencing other types
in javadoc that aren't visible at that point. A later build change may
be able to address this.
There are five categories of doclint checks so my strong preference is
to get a subset of checks enabled in the build and then work on enabling
the remaining ones later on.
With the application of a javadoc fix in the jdk repo I have out for
review (JDK-8075034), a local build with the langtools and jdk-repo
module checks has succeeded. To apply all due caution, upon successful
review, I will have a jprt job submitted to push this change to verify
there are no unexpected platform dependencies that would cause a build
failure.
To be clear, with this set of changes, it will be a true build error if
certain categories of doclint problems is introduced to a java.* or
javax.* type. This would be a large step toward completing the remaining
goals of JEP 212: Resolve Lint and Doclint Warnings.
Thanks,
Thanks,
-Joe
--- old/make/CompileJavaModules.gmk 2015-03-11 19:39:09.884348698 -0700
+++ new/make/CompileJavaModules.gmk 2015-03-11 19:39:09.796304698 -0700
@@ -42,6 +42,7 @@
################################################################################
+java.base_ADD_JAVAC_FLAGS := -Xdoclint:all/protected,-reference
'-Xdoclint/package:java.*,javax.*'
java.base_COPY := .icu .dat .spp content-types.properties
hijrah-config-islamic-umalqura.properties
java.base_CLEAN := intrinsic.properties
@@ -89,10 +90,12 @@
################################################################################
+java.datatransfer_ADD_JAVAC_FLAGS := -Xdoclint:all/protected,-reference
'-Xdoclint/package:java.*,javax.*'
java.datatransfer_COPY := flavormap.properties
################################################################################
+java.desktop_ADD_JAVAC_FLAGS :=
-Xdoclint:all/protected,-missing,-reference
'-Xdoclint/package:java.*,javax.*'
java.desktop_COPY := .gif .png .wav .txt .xml .css .pf
java.desktop_CLEAN := iio-plugin.properties cursors.properties
@@ -239,15 +242,18 @@
################################################################################
+java.scripting_ADD_JAVAC_FLAGS := -Xdoclint:all/protected
'-Xdoclint/package:java.*,javax.*'
java.scripting_COPY := .js
java.scripting_CLEAN := .properties
################################################################################
+java.sql_ADD_JAVAC_FLAGS := -Xdoclint:all/protected
'-Xdoclint/package:java.*,javax.*'
java.sql_SETUP := GENERATE_JDKBYTECODE_NOWARNINGS
################################################################################
+java.sql.rowset_ADD_JAVAC_FLAGS := -Xdoclint:all/protected
'-Xdoclint/package:java.*,javax.*'
java.sql.rowset_CLEAN_FILES := $(wildcard \
$(JDK_TOPDIR)/src/java.sql.rowset/share/classes/com/sun/rowset/*.properties
\
$(JDK_TOPDIR)/src/java.sql.rowset/share/classes/javax/sql/rowset/*.properties)
@@ -261,6 +267,7 @@
################################################################################
+java.rmi_ADD_JAVAC_FLAGS := -Xdoclint:all/protected
'-Xdoclint/package:java.*,javax.*'
java.rmi_CLEAN_FILES := $(wildcard \
$(JDK_TOPDIR)/src/java.rmi/share/classes/sun/rmi/registry/resources/*.properties
\
$(JDK_TOPDIR)/src/java.rmi/share/classes/sun/rmi/server/resources/*.properties)
@@ -309,14 +316,17 @@
################################################################################
+java.naming_ADD_JAVAC_FLAGS := -Xdoclint:all/protected
'-Xdoclint/package:java.*,javax.*'
java.naming_CLEAN := jndiprovider.properties
################################################################################
+java.security.saaj_ADD_JAVAC_FLAGS := -Xdoclint:all/protected
'-Xdoclint/package:java.*,javax.*'
java.security.saaj_CLEAN := .properties
################################################################################
+java.xml.crypto_ADD_JAVAC_FLAGS := -Xdoclint:all/protected
'-Xdoclint/package:java.*,javax.*'
java.xml.crypto_COPY := .dtd .xml
java.xml.crypto_CLEAN := .properties
@@ -485,7 +495,7 @@
$1_CLASSPATH := $$($1_CLASSPATH) $$(addprefix
$(JDK_OUTPUTDIR)/modules/,jdk.hotspot.agent)
endif
$1_CLASSPATH := $$(subst $$(SPACE),$$(PATH_SEP),$$($1_CLASSPATH))
- $1_JAVAC_FLAGS := -bootclasspath "$$($1_CLASSPATH)"
+ $1_JAVAC_FLAGS := -bootclasspath "$$($1_CLASSPATH)"
$$($1_ADD_JAVAC_FLAGS)
$$(eval $$(call SetupJavaCompilation,$1, \
SETUP := $$(if $$($1_SETUP), $$($1_SETUP), GENERATE_JDKBYTECODE), \
More information about the build-dev
mailing list