Java bazel:sema注释和子目录
我正在尝试从maven迁移到bazel。 我对java_库(和注释处理器)有一种奇怪的行为: 我有一个子目录,其中有一个构建文件 类似于appdirect sms网关/appdirect sms网关设置impl/BUILD:Java bazel:sema注释和子目录,java,build,annotations,bazel,Java,Build,Annotations,Bazel,我正在尝试从maven迁移到bazel。 我对java_库(和注释处理器)有一种奇怪的行为: 我有一个子目录,其中有一个构建文件 类似于appdirect sms网关/appdirect sms网关设置impl/BUILD: java_library( name = "appdirect_sms_gateway_settings_impl", srcs = glob(["src/main/java/**/*.java"]), deps = [ ":myse
java_library(
name = "appdirect_sms_gateway_settings_impl",
srcs = glob(["src/main/java/**/*.java"]),
deps = [
":mysema_query",
…
],
)
java_plugin(
name = "mysema_query_plugin",
processor_class = "com.mysema.query.apt.jpa.JPAAnnotationProcessor",
deps = [
"@guava_jar//jar",
"@javax_inject_jar//jar",
"@javax_persistence_jar//jar",
"@mysema_codegen_jar//jar",
"@querydsl_apt_jar//jar",
"@querydsl_codegen_jar//jar",
"@querydsl_core_jar//jar",
],
)
java_library(
name = "mysema_query",
exported_plugins = [":mysema_query_plugin"],
exports = [
"@guava_jar//jar",
"@javax_inject_jar//jar",
"@javax_persistence_jar//jar",
"@mysema_codegen_jar//jar",
"@querydsl_apt_jar//jar",
"@querydsl_codegen_jar//jar",
"@querydsl_core_jar//jar",
],
)
当我编译它时,它工作得很好
bazel build -s //appdirect-sms-gateway/appdirect-sms-gateway-settings-impl:appdirect_sms_gateway_settings_impl
但当我使用“全局”构建文件时:
/建造:
java_library(
name = "appdirect-parent",
srcs = glob(["*.java"]),
deps = [
…
"appdirect-sms-gateway/appdirect-sms-gateway-settings-impl:appdirect_sms_gateway_settings_impl",
],
)
它失败于:
$ bazel build --jobs 1 -s //:all
INFO: Analysed 238 targets (0 packages loaded).
INFO: Found 238 targets...
SUBCOMMAND: # //appdirect-sms-gateway/appdirect-sms-gateway-settings-impl:appdirect_sms_gateway_settings_impl [action 'Compiling Java headers appdirect-sms-gateway/appdirect-sms-gateway-settings-impl/libappdirect_sms_gateway_settings_impl-hjar.jar (8 files) and running
annotation processors (AnnotationProcessorHider$AnnotationProcessor)']
(cd /private/var/tmp/_bazel_nicolas.zin/a2e37cae9143f2d5cb81548a1629daf9/execroot/__main__ && \
exec env - \
LC_CTYPE=en_US.UTF-8 \
external/local_jdk/bin/java -Xverify:none -Xbootclasspath/p:external/bazel_tools/third_party/java/jdk/langtools/javac-9+181-r4173-1.jar -jar external/bazel_tools/tools/jdk/turbine_deploy.jar @bazel-out/darwin-fastbuild/bin/appdirect-sms-gateway/appdirect-sms-gateway-settings-impl/libappdirect_sms_gateway_settings_impl-hjar.jar-2.params)
ERROR: /Users/nicolas.zin/Documents/git/AppDirect.bazel/appdirect-parent/appdirect-sms-gateway/appdirect-sms-gateway-settings-impl/BUILD:5:1: Compiling Java headers appdirect-sms-gateway/appdirect-sms-gateway-settings-impl/libappdirect_sms_gateway_settings_impl-hjar.jar
(8 files) and running annotation processors
(AnnotationProcessorHider$AnnotationProcessor) failed (Exit 1)
appdirect-sms-gateway/appdirect-sms-gateway-settings-impl/src/main/java/com/appdirect/backend/sms/gateway/settings/dao/SmsGatewaySettingsDAOImpl.java:6: error: cannot find symbol
symbol: class QSmsGatewaySettings
location: package com.appdirect.backend.sms.gateway.settings
appdirect-sms-gateway/appdirect-sms-gateway-settings-impl/src/main/java/com/appdirect/backend/sms/gateway/settings/dao/SmsGatewaySettingsDAOImpl.java:12: error: cannot find symbol
symbol: class QSmsGatewaySettings
location: class com.appdirect.backend.sms.gateway.settings.dao.SmsGatewaySettingsDAOImpl
INFO: Elapsed time: 2.172s, Critical Path: 1.71s
INFO: 0 processes.
FAILED: Build did NOT complete successfully
QSmsGatewaySettings是由sema注释插件生成的类
这就像没有考虑bazel out/darwin fastbuild/bin/appdirect sms gateway/appdirect sms gateway settings impl/libappdirect\u sms\u gateway\u settings\u impl-gensrc.jar文件一样
有人面临同样的问题吗?
知道我做错了什么吗
关于,当然,我必须发布问题以找到答案: 我需要介绍一个
generates_api = True
i、 e:
java_library(
name = "mysema_query",
generates_api = True,
exported_plugins = [":mysema_query_plugin"],
exports = [
"@guava_jar//jar",
...