From 5fdfc0c9b1f1ed084cb084aed19be56a03698730 Mon Sep 17 00:00:00 2001 From: Jonas Smedegaard Date: Sun, 27 Apr 2025 20:11:23 +0200 Subject: check javadoc only with JDK 23+ supporting Markdown-flavored javadoc --- _make/java.mk | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to '_make') diff --git a/_make/java.mk b/_make/java.mk index 475ac6b..2bf0f1d 100644 --- a/_make/java.mk +++ b/_make/java.mk @@ -16,12 +16,23 @@ # Variables may add suffix _$(PROJECTMODULE), in full or "host-only", # e.g. JAVA_MODULES_org.example.mydemo or JAVA_MODULES_mydemo. +# resolve Java version +JAVA_MAJOR_VERSION := $(shell $(JAVA) -version 2>&1 \ + | grep -Pom1 '"\K\d+' ) + # defaults overridable at make invocation JAVA_ROOT ?= src/main/java JAVAC ?= javac JAVA ?= java JAR ?= jar +# check javadoc only with JDK 23+ supporting Markdown-flavored javadoc +ifeq ($(shell expr $(JAVA_MAJOR_VERSION) \>= 23), 1) +JAVACFLAGS ?= -Xlint -Xdoclint -implicit:none +else +JAVACFLAGS ?= -Xlint -implicit:none +endif + # account for one annoyingly popular class of non-POSIX system _java_path_separator := $(if $(filter Windows%,$($(shell uname))),;,:) _java_module_separator = , @@ -61,7 +72,7 @@ $(JAVA_PROJECTMODULES:%=build-%): build-%: rm -rf mods/$* $(JAVAC) $(strip \ $(call _java_flag,module-source-path,JAVA_MODULESOURCEPATH) \ - $(_java_common_flags) -Xlint -Xdoclint -implicit:none \ + $(_java_common_flags) $(JAVACFLAGS) \ $(call _java_projvar,JAVACFLAGS) \ -d mods/$* \ $(wildcard $(_java_root)/module-info.java) \ -- cgit v1.2.3