@@ -468,6 +468,17 @@ macro _JAR_ANN_PROC_OPTS(Classes...) {
468468 .CMD=$_JAR_ANN_PROC_OPT_PREFIX ${join=,:Classes}
469469}
470470
471+ # tag:java-specific
472+ _USE_ANNOTATION_PROCESSOR_OPT=
473+ _USE_ANNOTATION_PROCESSOR_SEM=
474+ ### @usage: USE_ANNOTATION_PROCESSOR(AnnotationProcessor)
475+ ###
476+ ### Used to specify annotation processor for building JAVA_PROGRAM() and JAVA_LIBRARY().
477+ macro USE_ANNOTATION_PROCESSOR(AnnotationProcessor) {
478+ SET(_USE_ANNOTATION_PROCESSOR_OPT -processorpath @${tool:AnnotationProcessor}.cplist)
479+ SET(_USE_ANNOTATION_PROCESSOR_SEM && use_annotation_processor $AnnotationProcessor)
480+ }
481+
471482# tag:java-specific
472483macro _NOOP_MACRO(Args...) {
473484 ENABLE(UNUSED_MACRO)
@@ -698,7 +709,7 @@ macro _PACK_JAR_HELPER(Out) {
698709
699710# tag:java-specific
700711macro _JAVAC_RUN_HELPER(JAVAC_CMD_WITH_ARGS...) {
701- .CMD=${cwd:ARCADIA_BUILD_ROOT} ${env:"LC_ALL=en_US.UTF-8"} $YMAKE_PYTHON ${input:"build/scripts/run_javac.py"} ${input;hide:"build/scripts/build_java_with_error_prone2.py"} ${input;hide:"build/scripts/setup_java_tmpdir.py"} --with-setup-java-tmpdir --sources-list ${BINDIR}/all-java.srclst ${RUN_JAVAC_ARGS} ${JAVAC_CMD_WITH_ARGS} @${BINDIR}/all-java.srclst -classpath ${ARCADIA_BUILD_ROOT}/bfg.jar -Xpkginfo:always ${JAVAC_OPTS} $_JAR_ANN_PROC_OPTS($_JAR_ANN_PROCESSORS) -d ${BINDIR}/cls -g -encoding UTF-8
712+ .CMD=${cwd:ARCADIA_BUILD_ROOT} ${env:"LC_ALL=en_US.UTF-8"} $YMAKE_PYTHON ${input:"build/scripts/run_javac.py"} ${input;hide:"build/scripts/build_java_with_error_prone2.py"} ${input;hide:"build/scripts/setup_java_tmpdir.py"} --with-setup-java-tmpdir --sources-list ${BINDIR}/all-java.srclst ${RUN_JAVAC_ARGS} ${JAVAC_CMD_WITH_ARGS} @${BINDIR}/all-java.srclst -classpath ${ARCADIA_BUILD_ROOT}/bfg.jar -Xpkginfo:always ${JAVAC_OPTS} ${_USE_ANNOTATION_PROCESSOR_OPT} $ _JAR_ANN_PROC_OPTS($_JAR_ANN_PROCESSORS) -d ${BINDIR}/cls -g -encoding UTF-8
702713}
703714
704715# tag:java-specific
@@ -916,6 +927,7 @@ BUILD_JAR_SEM= \
916927 $_JAR_MAIN_SEM \
917928 $_GRADLE_EXPORT_PUBLISHING_SEM \
918929 $_ANN_PROCESSORS_SEM \
930+ $_USE_ANNOTATION_PROCESSOR_SEM \
919931 $_ENABLE_PREVIEW_SEM \
920932 $SEM_JAR_SOURCE_SET
921933
@@ -928,6 +940,7 @@ BUILD_PROTO_JAR_SEM= \
928940 && consumer-type library \
929941 $_JAVAC_SEM \
930942 $_ANN_PROCESSORS_SEM \
943+ $_USE_ANNOTATION_PROCESSOR_SEM \
931944 $_ENABLE_PREVIEW_SEM \
932945 $_KOTLIN_SEM
933946
0 commit comments