成员
- BootClassPathInfo
- 编译compile
- JavaPluginInfo
- JavaRuntimeInfo
- JavaToolchainInfo
- make_non_strict
- 合并
- pack_sources
- provider
- run_ijar
- stamp_jar 文件
- to_java_binary_info
BootClassPathInfo
Provider java_common.BootClassPathInfo用于提供 bootclasspath 信息的提供程序
compile
JavaInfo java_common.compile(ctx, *, source_jars=[], source_files=[], output, output_source_jar=None, javac_opts=[], deps=[], runtime_deps=[], exports=[], plugins=[], exported_plugins=[], native_libraries=[], annotation_processor_additional_inputs=[], annotation_processor_additional_outputs=[], strict_deps='ERROR', java_toolchain, host_javabase=None, sourcepath=[], resources=[], resource_jars=[], classpath_resources=[], neverlink=False, enable_annotation_processing=True, enable_compile_jar_action=True, add_exports=[], add_opens=[])根据 Starlark 规则的实现编译 Java 源文件/JAR,并返回表示编译结果的提供程序,并可添加到由此规则发出的提供程序集中。
参数
参数 | 说明 |
---|---|
ctx
|
必需 规则上下文。 |
source_jars
|
sequence of Files ;
default = []要编译的 jar 列表。至少应指定 source_jars 和 source_files 中的一个。 |
source_files
|
sequence of Files ;
default = []要编译的 Java 源文件的列表。至少应指定 source_jars 和 source_files 中的一个。 |
output
|
必需 |
output_source_jar
|
File; or None ;
default = None输出源 jar。可选。如果未设置,则默认为“{output_jar}-src.jar”。 |
javac_opts
|
sequence of strings ;
default = []所需 javac 选项的列表。选填。 |
deps
|
sequence of JavaInfos ;
default = []依赖项列表。选填。 |
runtime_deps
|
sequence of JavaInfos ;
default = []运行时依赖项列表。选填。 |
exports
|
sequence of JavaInfos ;默认值 = []导出列表。选填。 |
plugins
|
sequence of JavaPluginInfos; or sequence of JavaInfos ;
default = []插件列表。选填。 |
exported_plugins
|
sequence of JavaPluginInfos; or sequence of JavaInfos ;
default = []导出的插件列表。选填。 |
native_libraries
|
sequence of CcInfos ;
default = []CC 此库所需的原生库依赖项。 |
annotation_processor_additional_inputs
|
sequence of Files ;
default = []除了用于注解处理的 Java 源代码之外,Java 编译操作还将采取的输入列表。 |
annotation_processor_additional_outputs
|
sequence of Files ;
default = []除了注解处理中的类 jar 之外,Java 编译操作还将输出的一系列输出。 |
strict_deps
|
default = 'ERROR' 一个指定如何处理严格依赖项的字符串。可能的值:“OFF”“ERROR”“WARN”和“DEFAULT”。如需了解详情,请参阅 /docs/user-manual#flag--Strict_java_deps。默认情况下为“ERROR”。 |
java_toolchain
|
必需 要用于此编译的 JavaToolchainInfo。必填。 |
host_javabase
|
default = None 已弃用。此参数已弃用,很快就会被移除。请不要依赖它。已使用 --+incompatible_java_common_parameters 停用。使用此标记验证您的代码是否符合即将移除的代码。已弃用:您可以删除此参数(host_javabase 随 java_toolchain 提供) |
sourcepath
|
sequence of Files ;默认值 = [] |
resources
|
sequence of Files ;默认值 = [] |
resource_jars
|
sequence of Files ;默认值 = [] |
classpath_resources
|
sequence of Files ;默认值 = [] |
neverlink
|
默认值 = False |
enable_annotation_processing
|
default = True 在此编译中停用注解处理,导致插件或 deps 的 export_plugins 中提供的任何注解处理器被忽略。 |
enable_compile_jar_action
|
default = True 启用头文件编译或 ijar 创建。如果设置为 False,则会强制在任何依赖项的编译类路径中使用完整的类 jar。这样做旨在供非库目标(例如没有依赖项的二进制文件)使用。 |
add_exports
|
sequence of strings ;
default = []允许此库访问给定的 |
add_opens
|
sequence of strings ;
default = []允许此库以反射方式访问给定的 |
JavaPluginInfo
Provider java_common.JavaPluginInfo用于检索包含 Java 插件相关信息的提供程序的密钥。可以通过
JavaPluginInfo
访问相同的值。最好在新代码中使用
JavaPluginInfo
。
JavaRuntimeInfo
Provider java_common.JavaRuntimeInfo用于检索提供程序(其中包含正在使用的 Java 运行时的相关信息)的密钥。
JavaToolchainInfo
Provider java_common.JavaToolchainInfo用于检索提供程序(其中包含正在使用的 Java 工具链的相关信息)的密钥。
make_non_strict
JavaInfo java_common.make_non_strict(java_info)返回一个新的 Java 提供程序,该提供程序的直接 JAR 部分是指定 Java 提供程序的直接 JAR 和间接 JAR 的并集。
参数
参数 | 说明 |
---|---|
java_info
|
required Java 信息。 |
合并
JavaInfo java_common.merge(providers, *, merge_java_outputs=True, merge_source_jars=True)将给定的提供程序合并到单个 JavaInfo 中。
参数
参数 | 说明 |
---|---|
providers
|
sequence of JavaInfos (必需)要合并的提供程序的列表。 |
merge_java_outputs
|
默认值 = True |
merge_source_jars
|
默认值 = True |
pack_sources
File java_common.pack_sources(actions, *, output_jar=None, output_source_jar=None, sources=[], source_jars=[], java_toolchain, host_javabase=None)将多个源文件和源文件打包到单个源 jar 文件中。返回值通常传递给
JavaInfo#source_jar
参数
参数 | 说明 |
---|---|
actions
|
必需 ctx.actions |
output_jar
|
File; or None ;
default = None已废弃。此参数已弃用,很快就会被移除。请不要依赖它。已使用 --+incompatible_java_common_parameters 停用。使用此标记验证您的代码是否符合即将移除的代码。已弃用:规则的输出 jar。用于命名生成的源 jar。该参数会将 output_source_jar 参数设置为“{output_jar}-src.jar”。请直接使用 output_source_jar 参数。 |
output_source_jar
|
File; or None ;
default = None输出源 jar。 |
sources
|
sequence of Files ;
default = []要打包到源 jar 中的 Java 源文件的列表。 |
source_jars
|
sequence of Files ;
default = []要打包到源 jar 中的源 jar 的列表。 |
java_toolchain
|
必需 用于查找 ijar 工具的 JavaToolchainInfo。 |
host_javabase
|
default = None 已弃用。此参数已弃用,很快就会被移除。请不要依赖它。已使用 --+incompatible_java_common_parameters 停用。使用此标记验证您的代码是否符合即将移除的代码。已弃用:您可以删除此参数(host_javabase 随 java_toolchain 提供) |
None
。
provider
Provider java_common.provider返回 Java 声明的提供程序。
可作为
JavaInfo
访问相同的值。最好在新代码中使用
JavaInfo
。
run_ijar
File java_common.run_ijar(actions, *, jar, target_label=None, java_toolchain)在 jar 中运行 ijar,并将其从方法正文中剥离出来。这有助于减少在重新编译(仅包含对方法实现的简单更改)期间重新构建依赖 JAR 的情况。返回值通常传递给
JavaInfo#compile_jar
。
参数
参数 | 说明 |
---|---|
actions
|
必需 ctx.actions |
jar
|
必需 要运行 ijar 的 jar 文件。 |
target_label
|
Label; or None ;
default = None用于标记 jar 的目标标签。用于 add_dep 支持。通常,您需要传递 ctx.label 来为 jar 标记当前规则的标签。 |
java_toolchain
|
必需 用于查找 ijar 工具的 JavaToolchainInfo。 |
stamp_jar
File java_common.stamp_jar(actions, *, jar, target_label, java_toolchain)为 jar 添加目标标签来支持
add_dep
。返回值通常传递给 JavaInfo#compile_jar
。尽可能使用 run_ijar
。
参数
参数 | 说明 |
---|---|
actions
|
必需 ctx.actions |
jar
|
必需 要在其上运行戳记_jar 的 jar。 |
target_label
|
必需 用于标记 jar 的目标标签。用于 add_dep 支持。通常,您需要传递 ctx.label 来为 jar 标记当前规则的标签。 |
java_toolchain
|
必需 用于查找戳记_jar 工具的 JavaToolchainInfo。 |
to_java_binary_info
JavaInfo java_common.to_java_binary_info(java_info)返回给定 JavaInfo 的副本,其中包含由 java_binary 返回的最少信息
参数
参数 | 说明 |
---|---|
java_info
|
required 要增强的 JavaInfo。 |