Members
- JavaInfo
- annotation_processing
- api_generating_plugins
- compilation_info
- compile_jars
- full_compile_jars
- java_outputs
- module_flags_info
- outputs
- plugins
- 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
constructor.
Parameters
Parameter | Description |
---|---|
output_jar
|
required The jar that was created as a result of a compilation (e.g. javac, scalac, etc). |
compile_jar
|
File; or None ;
requiredA jar that is added as the compile-time dependency in lieu of output_jar . Typically this is the ijar produced by run_ijar . If you cannot use ijar, consider instead using the output of stamp_ijar . If you do not wish to use either, you can simply pass output_jar . There are a couple of special cases when this parameter may be set to None , for example adding a jar with resources or when used in a terminal rule like java_binary .
|
source_jar
|
File; or None ;
default = NoneThe source jar that was used to create the output jar. Use pack_sources to produce this source jar.
|
compile_jdeps
|
File; or None ;
default = Nonejdeps information about compile time dependencies to be consumed by JavaCompileAction. This should be a binary proto encoded using the deps.proto protobuf included with Bazel. If available this file is typically produced by a header compiler. |
generated_class_jar
|
File; or None ;
default = NoneA jar file containing class files compiled from sources generated during annotation processing. |
generated_source_jar
|
File; or None ;
default = NoneThe source jar that was created as a result of annotation processing. |
native_headers_jar
|
File; or None ;
default = NoneA jar containing CC header files supporting native method implementation (typically output of javac -h). |
manifest_proto
|
File; or None ;
default = NoneManifest information for the rule output (if available). This should be a binary proto encoded using the manifest.proto protobuf included with Bazel. IDEs and other tools can use this information for more efficient processing. |
neverlink
|
default = False If true only use this library for compilation and not at runtime. |
deps
|
sequence of JavaInfos ;
default = []Compile time dependencies that were used to create the output jar. |
runtime_deps
|
sequence of JavaInfos ;
default = []Runtime dependencies that are needed for this library. |
exports
|
sequence of JavaInfos ;
default = []Libraries to make available for users of this library. See also java_library.exports. |
exported_plugins
|
sequence of JavaPluginInfos ;
default = []A list of exported plugins. Optional. |
jdeps
|
File; or None ;
default = Nonejdeps information for the rule output (if available). This should be a binary proto encoded using the deps.proto protobuf included with Bazel. If available this file is typically produced by a compiler. IDEs and other tools can use this information for more efficient processing. |
native_libraries
|
sequence of CcInfos ;
default = []CC native library dependencies that are needed for this library. |
annotation_processing
java_annotation_processing JavaInfo.annotation_processing
Deprecated: Please use plugins
instead (which returns information about annotation processors to be applied by consuming targets).
May return None
.
api_generating_plugins
JavaPluginData JavaInfo.api_generating_plugins
Those annotation processors are applied to a Java target before producing its header jars (which contain method signatures). When no API plugins are present, header jars are generated from the sources, reducing critical path.
The api_generating_plugins
is a subset of plugins
.
compilation_info
java_compilation_info JavaInfo.compilation_info
None
.
compile_jars
depset JavaInfo.compile_jars
full_compile_jars
depset JavaInfo.full_compile_jars
- the corresponding regular Jars of the interface Jars returned by
JavaInfo.compile_jars
- the regular (full) Jars returned by
JavaInfo.compile_jars
Note: JavaInfo.compile_jars
can return a mix of interface Jars and regular Jars.
Only use this method if interface Jars don't work with your rule set(s) (e.g. some Scala targets) If you're working with Java-only targets it's preferable to use interface Jars via JavaInfo.compile_jars
java_outputs
list JavaInfo.java_outputs
module_flags_info
JavaModuleFlagsProvider JavaInfo.module_flags_info
outputs
java_output_jars JavaInfo.outputs
None
.
plugins
JavaPluginData JavaInfo.plugins
This is typically either a java_plugin
itself or a java_library
exporting one or more plugins.
A java_library
runs annotation processing with all plugins from this field appearing in deps
and plugins
attributes.
runtime_output_jars
sequence JavaInfo.runtime_output_jars
source_jars
sequence JavaInfo.source_jars
to_json
string JavaInfo.to_json()
---incompatible_struct_has_no_methods
. Use this flag to verify your code is compatible with its imminent removal. Creates a JSON string from the struct parameter. This method only works if all struct elements (recursively) are strings, ints, booleans, other structs, a list of these types or a dictionary with string keys and values of these types. Quotes and new lines in strings are escaped. Examples:
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"}}}
Deprecated: instead, use json.encode(x) or json.encode_indent(x), which work for values other than structs and do not pollute the struct field namespace.
to_proto
string JavaInfo.to_proto()
---incompatible_struct_has_no_methods
. Use this flag to verify your code is compatible with its imminent removal. Creates a text message from the struct parameter. This method only works if all struct elements (recursively) are strings, ints, booleans, other structs or dicts or lists of these types. Quotes and new lines in strings are escaped. Struct keys are iterated in the sorted order. Examples:
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 # }
Deprecated: use proto.encode_text(x) instead.
transitive_compile_time_jars
depset JavaInfo.transitive_compile_time_jars
transitive_deps
depset JavaInfo.transitive_deps
JavaInfo.transitive_compile_time_jars
instead. It returns the same value.
transitive_native_libraries
depset JavaInfo.transitive_native_libraries
transitive_runtime_deps
depset JavaInfo.transitive_runtime_deps
JavaInfo.transitive_runtime_jars
instead. It returns the same value
transitive_runtime_jars
depset JavaInfo.transitive_runtime_jars
transitive_source_jars
depset JavaInfo.transitive_source_jars