成员
- JavaInfo
- annotation_processing
- api_generating_plugins
- compilation_info
- compile_jars
- full_compile_jars
- java_outputs
- module_flags_info
- 输出
- 插件
- runtime_output_jars
- source_jars
- to_json
- to_proto
- transitive_compile_time_jars
- transitive_deps
- transitive_native_libraries
- transitive_runtime_deps
- transitive_runtime_jars
- transitive_source_jars
JavaInfo
JavaInfo JavaInfo(output_jar, compile_jar, source_jar=None, compile_jdeps=None, generated_class_jar=None, generated_source_jar=None, native_headers_jar=None, manifest_proto=None, neverlink=False, deps=[], runtime_deps=[], exports=[], exported_plugins=[], jdeps=None, native_libraries=[])
JavaInfo
构造函数。
参数
参数 | 说明 |
---|---|
output_jar
|
必需 由于编译(例如 javac、scalac 等)而创建的 jar。 |
compile_jar
|
File; or None ;
必需添加为编译时依赖项以代替 output_jar 的 jar。通常,这是 run_ijar 生成的 ijar。如果您无法使用 ijar,请考虑改用 stamp_ijar 的输出。如果您不想使用这两者,只需传递 output_jar 。在一些特殊情况下,此参数可能会设置为 None ,例如添加包含资源的 jar,或在 java_binary 等终端规则中使用时。
|
source_jar
|
File; or None ;
默认 = 无用于创建输出 jar 的源 jar。使用 pack_sources 生成此源 jar。
|
compile_jdeps
|
File; or None ;
默认 = 无jdeps 关于 JavaCompileAction 所用编译时依赖项的信息。它应该是使用 Bazel 随附的 deps.proto protobuf 编码的二进制 proto。此文件通常由标头编译器生成(如果有)。 |
generated_class_jar
|
File; or None ;
默认 = 无包含从注解处理期间生成的源代码编译的类文件的 jar 文件。 |
generated_source_jar
|
File; or None ;
默认 = 无因注解处理而创建的源 jar。 |
native_headers_jar
|
File; or None ;
默认 = 无包含支持原生方法实现的 CC 头文件(通常是 javac -h 的输出)的 jar。 |
manifest_proto
|
File; or None ;
默认 = 无规则输出的清单信息(如果有)。它应该是使用 Bazel 随附的 manifest.proto protobuf 编码的二进制 proto。IDE 和其他工具可以利用这些信息进行更高效的处理。 |
neverlink
|
默认值 = False 如果为 true,则仅使用此库进行编译,在运行时不使用此库。 |
deps
|
sequence of JavaInfos ;
默认值 = []用于创建输出 jar 的编译时依赖项。 |
runtime_deps
|
sequence of JavaInfos ;
默认值 = []此库所需的运行时依赖项。 |
exports
|
sequence of JavaInfos ;
默认值 = []供此库用户使用的库。另请参阅 java_library.exports。 |
exported_plugins
|
sequence of JavaPluginInfos ;
默认值 = []导出的插件列表。选填。 |
jdeps
|
File; or None ;
默认 = 无规则输出的 jdeps 信息(如果有)。它应该是使用 Bazel 随附的 deps.proto protobuf 编码的二进制 proto。此文件通常由编译器生成(如果有)。IDE 和其他工具可以利用这些信息进行更高效的处理。 |
native_libraries
|
sequence of CcInfos ;
默认值 = []此库所需的 CC 原生库依赖项。 |
annotation_processing
java_annotation_processing JavaInfo.annotation_processing返回有关应用于此 Java/Java 类目标的注解处理器的信息。
已废弃:请改用 plugins
(它会返回要由使用目标应用的注解处理器的相关信息)。
可能会返回 None
。
api_generating_plugins
JavaPluginData JavaInfo.api_generating_plugins返回有关生成由此目标定义或导出的插件的 API 的数据。
在生成 Java 目标的标头 jar(包含方法签名)之前,这些注解处理器会应用于该目标。如果不存在 API 插件,则从源代码生成标头 JAR 文件,从而缩减关键路径。
api_generating_plugins
是 plugins
的子集。
compilation_info
java_compilation_info JavaInfo.compilation_info返回此类似 Java/Java 的目标的编译信息。 可能会返回
None
。
compile_jars
depset JavaInfo.compile_jars在编译时直接返回此目标所需的 Jars。这些接口可以是接口 jar(ijar 或 hjar)、常规 jar 或两者,具体取决于规则实施是否选择了创建接口 jar。
full_compile_jars
depset JavaInfo.full_compile_jars直接返回此目标所需的常规完整编译时 Jars。它们可以是
-
JavaInfo.compile_jars
返回的接口 Jars 的相应常规 Jars -
JavaInfo.compile_jars
返回的常规(完整)罐子
注意:JavaInfo.compile_jars
可以同时返回接口 Jars 和常规 Jars。
仅当接口 Jars 与您的规则集不兼容(例如某些 Scala 目标)时,才应使用此方法。如果您使用的是纯 Java 目标,最好通过 JavaInfo.compile_jars
使用接口 Jars
java_outputs
list JavaInfo.java_outputs返回有关此类似 Java/Java 的目标的输出的信息。
module_flags_info
JavaModuleFlagsProvider JavaInfo.module_flags_info返回 Java 模块标志配置。
输出
java_output_jars JavaInfo.outputs返回有关此类似 Java/Java 的目标的输出的信息。已弃用:请使用 java_outputs。 可能会返回
None
。
插件
JavaPluginData JavaInfo.plugins返回有关使用方目标应应用的所有插件的数据。
这通常是 java_plugin
本身或导出一个或多个插件的 java_library
。
java_library
会运行注释处理,此字段中的所有插件都显示在 deps
和 plugins
属性中。
runtime_output_jars
sequence JavaInfo.runtime_output_jars返回由此类似 Java/Java 的目标创建的运行时 Jar 的列表。
source_jars
sequence JavaInfo.source_jars返回 Jars 列表,其中包含目标本身的所有源文件(包括注解生成的文件),即不包括传递依赖项的来源。
to_json
string JavaInfo.to_json()已弃用。此 API 已弃用,很快就会被移除。请勿依赖它。此选项已通过
---incompatible_struct_has_no_methods
停用。使用此标记验证您的代码与其即将移除的兼容性兼容。从结构体参数创建 JSON 字符串。仅当所有结构体元素(以递归方式)为字符串、整数、布尔值、其他结构体、这些类型的列表或包含这些类型的字符串键和值的字典时,此方法才有效。字符串中的引号和新行会进行转义。示例:
struct(key=123).to_json() # {"key":123} struct(key=True).to_json() # {"key":true} struct(key=[1, 2, 3]).to_json() # {"key":[1,2,3]} struct(key='text').to_json() # {"key":"text"} struct(key=struct(inner_key='text')).to_json() # {"key":{"inner_key":"text"}} struct(key=[struct(inner_key=1), struct(inner_key=2)]).to_json() # {"key":[{"inner_key":1},{"inner_key":2}]} struct(key=struct(inner_key=struct(inner_inner_key='text'))).to_json() # {"key":{"inner_key":{"inner_inner_key":"text"}}}。
已弃用:请改用 json.encode(x) 或 json.encode_ending(x),它们适用于结构体以外的值,并且不会污染结构体字段命名空间。
to_proto
string JavaInfo.to_proto()已弃用。此 API 已弃用,很快就会被移除。请勿依赖它。此选项已通过
---incompatible_struct_has_no_methods
停用。使用此标记验证您的代码与其即将移除的兼容性兼容。使用结构体参数创建文本消息。仅当所有结构体元素(以递归方式)都是字符串、整数、布尔值、其他结构体、字典或这些类型的列表时,此方法才有效。字符串中的引号和新行会进行转义。结构体键按排序顺序迭代。示例:
struct(key=123).to_proto() # key: 123 struct(key=True).to_proto() # key: true struct(key=[1, 2, 3]).to_proto() # key: 1 # key: 2 # key: 3 struct(key='text').to_proto() # key: "text" struct(key=struct(inner_key='text')).to_proto() # key { # inner_key: "text" # } struct(key=[struct(inner_key=1), struct(inner_key=2)]).to_proto() # key { # inner_key: 1 # } # key { # inner_key: 2 # } struct(key=struct(inner_key=struct(inner_inner_key='text'))).to_proto() # key { # inner_key { # inner_inner_key: "text" # } # } struct(foo={4: 3, 2: 1}).to_proto() # foo: { # key: 4 # value: 3 # } # foo: { # key: 2 # value: 1 # }
已弃用:请改用 proto.encode_text(x)。
transitive_compile_time_jars
depset JavaInfo.transitive_compile_time_jars返回构建目标所需的传递 Jars 集。
transitive_deps
depset JavaInfo.transitive_deps已弃用:请改用
JavaInfo.transitive_compile_time_jars
。该方法会返回相同的值。
transitive_native_libraries
depset JavaInfo.transitive_native_libraries返回目标所需的一组传递 CC 原生库。
transitive_runtime_deps
depset JavaInfo.transitive_runtime_deps已弃用:请改用
JavaInfo.transitive_runtime_jars
。它返回的值
transitive_runtime_jars
depset JavaInfo.transitive_runtime_jars返回目标的运行时类路径上所需的一组传递 Jars。
transitive_source_jars
depset JavaInfo.transitive_source_jars返回包含当前目标及其所有传递依赖项的源文件的 Jars。