That looks like it will work and is good enough for me.
/Erik
On 2015-02-07 01:44, joe darcy wrote:
Hi Magnus,
On 2/6/2015 3:45 PM, Magnus Ihse Bursie wrote:
On 2015-02-06 23:43, joe darcy wrote:
Hi Erik,
On 2/6/2015 12:03 AM, Erik Joelsson wrote:
Hello Joe,
The simplest way of accomplishing this currently would be to add
lines like this to make/CompileJavaModules.gmk:
java.base_ADD_JAVAC_FLAGS := -Xdoclint:all/protected
"-XdoclintPackage:java.*;javax.*"
java.desktop_ADD_JAVAC_FLAGS := -Xdoclint:all,-missing/protected
"-XdoclintPackage:java.*;javax.*"
This assuming those modules are already setup to using -Xlint:all
-Werror in make/common/SetupJavacompilers.gmk, which should be true
for at least those two.
Is the separator ';' actually a path separator or always semi
colon? If so, please use $(PATH_SEP). Also, a line containing a
potential semi colon must always be quoted before given to the shell.
That particular idiom didn't seem to work. I also tried
It seems the value was not propagated correctly. Try adding this patch:
diff --git a/make/CompileJavaModules.gmk b/make/CompileJavaModules.gmk
--- a/make/CompileJavaModules.gmk
+++ b/make/CompileJavaModules.gmk
@@ -481,7 +481,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), \
Now Erik's suggestion should work.
Also, if the syntax is still in flux, I'd like to recommend a
solution without semicolon, since that is interpreted as a command
line separator in the unix shell world, and it's always a lot of
hassle if you need to propagate those. Commas are much simpler. :)
The following change to CompileJavaModules.gmk did the trick:
diff -r d91ed1951b94 make/CompileJavaModules.gmk
--- a/make/CompileJavaModules.gmk Thu Jan 29 15:34:46 2015 -0800
+++ b/make/CompileJavaModules.gmk Fri Feb 06 16:41:41 2015 -0800
@@ -42,6 +42,7 @@
################################################################################
+java.base_ADD_JAVAC_FLAGS := -Xdoclint:all/protected
'-Xdoclint/package:java.*,javax.*'
java.base_COPY := .icu .dat .spp content-types.properties
hijrah-config-islamic-umalqura.properties
java.base_CLEAN := intrinsic.properties
@@ -481,7 +482,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), \
In particular, using single quotes (') instead of double quotes (")
seems to be necessary to get the wildcard syntax passed down to javac
correctly. (Layers of quoting and globbing, always a minefield!)
With the above change, the field properly fields on doclint problems
in the base module.
And the candidate syntax for the doclint option does use comma rather
than semicolon as a delimiter :-)
Thanks,
-Joe