@@ -468,6 +468,17 @@ macro _JAR_ANN_PROC_OPTS(Classes...) {
468
468
.CMD=$_JAR_ANN_PROC_OPT_PREFIX ${join=,:Classes}
469
469
}
470
470
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
+
471
482
# tag:java-specific
472
483
macro _NOOP_MACRO(Args...) {
473
484
ENABLE(UNUSED_MACRO)
@@ -698,7 +709,7 @@ macro _PACK_JAR_HELPER(Out) {
698
709
699
710
# tag:java-specific
700
711
macro _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
702
713
}
703
714
704
715
# tag:java-specific
@@ -916,6 +927,7 @@ BUILD_JAR_SEM= \
916
927
$_JAR_MAIN_SEM \
917
928
$_GRADLE_EXPORT_PUBLISHING_SEM \
918
929
$_ANN_PROCESSORS_SEM \
930
+ $_USE_ANNOTATION_PROCESSOR_SEM \
919
931
$_ENABLE_PREVIEW_SEM \
920
932
$SEM_JAR_SOURCE_SET
921
933
@@ -928,6 +940,7 @@ BUILD_PROTO_JAR_SEM= \
928
940
&& consumer-type library \
929
941
$_JAVAC_SEM \
930
942
$_ANN_PROCESSORS_SEM \
943
+ $_USE_ANNOTATION_PROCESSOR_SEM \
931
944
$_ENABLE_PREVIEW_SEM \
932
945
$_KOTLIN_SEM
933
946
0 commit comments