aboutsummaryrefslogtreecommitdiff
path: root/_make/java.mk
diff options
context:
space:
mode:
authorJonas Smedegaard <dr@jones.dk>2025-04-27 20:11:23 +0200
committerJonas Smedegaard <dr@jones.dk>2025-04-27 20:11:23 +0200
commit5fdfc0c9b1f1ed084cb084aed19be56a03698730 (patch)
treea1bb3f65ba89e68366617e55e67d38adebc98498 /_make/java.mk
parent359fd78ea57154f88787499cdc771b31c012bbf1 (diff)
check javadoc only with JDK 23+ supporting Markdown-flavored javadoc
Diffstat (limited to '_make/java.mk')
-rw-r--r--_make/java.mk13
1 files changed, 12 insertions, 1 deletions
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) \