diff --git a/core/droiddoc.mk b/core/droiddoc.mk index 8e3ecffe56..94e282d2b1 100644 --- a/core/droiddoc.mk +++ b/core/droiddoc.mk @@ -166,6 +166,10 @@ endif # TODO: not clear if this is used any more $(full_target): PRIVATE_LOCAL_PATH := $(LOCAL_PATH) +# TODO(tobiast): Clean this up once we move to -source 1.9. +# OpenJDK 9 does not have the concept of a "boot classpath" so we should +# then rename PRIVATE_BOOTCLASSPATH to PRIVATE_MODULE or similar. For now, +# keep -bootclasspath here since it works in combination with -source 1.8. $(full_target): \ $(full_src_files) \ $(droiddoc_templates) \ @@ -211,6 +215,18 @@ else ## standard doclet only ## ## + +ifneq ($(EXPERIMENTAL_USE_OPENJDK9),) +# For OpenJDK 9 we use --patch-module to define the core libraries code. +# TODO(tobiast): Reorganize this when adding proper support for OpenJDK 9 +# modules. Here we treat all code in core libraries as being in java.base +# to work around the OpenJDK 9 module system. http://b/62049770 +$(full_target): PRIVATE_BOOTCLASSPATH_ARG := --patch-module=java.base=$(PRIVATE_BOOTCLASSPATH) +else +# For OpenJDK 8 we can use -bootclasspath to define the core libraries code. +$(full_target): PRIVATE_BOOTCLASSPATH_ARG := $(addprefix -bootclasspath ,$(PRIVATE_BOOTCLASSPATH)) +endif + $(full_target): $(full_src_files) $(full_java_lib_deps) @echo Docs javadoc: $(PRIVATE_OUT_DIR) @mkdir -p $(dir $@) @@ -226,7 +242,7 @@ $(full_target): $(full_src_files) $(full_java_lib_deps) -Xdoclint:none \ $(PRIVATE_PROFILING_OPTIONS) \ $(addprefix -classpath ,$(PRIVATE_CLASSPATH)) \ - $(addprefix -bootclasspath ,$(PRIVATE_BOOTCLASSPATH)) \ + $(PRIVATE_BOOTCLASSPATH_ARG) \ -sourcepath $(PRIVATE_SOURCE_PATH)$(addprefix :,$(PRIVATE_CLASSPATH)) \ -d $(PRIVATE_OUT_DIR) \ -quiet \