blob: 070c3b31ff24fae5082379212e9ff4bd58d95fec [file] [view]
# `java`
| Rule | Description |
| ---: | :--- |
| [java_proto_compile](#java_proto_compile) | Generates a srcjar with protobuf *.java files |
| [java_grpc_compile](#java_grpc_compile) | Generates a srcjar with protobuf+gRPC *.java files |
| [java_proto_library](#java_proto_library) | Generates a jar with compiled protobuf *.class files |
| [java_grpc_library](#java_grpc_library) | Generates a jar with compiled protobuf+gRPC *.class files |
---
## `java_proto_compile`
Generates a srcjar with protobuf *.java files
### `WORKSPACE`
```python
load("@build_stack_rules_proto//java:deps.bzl", "java_proto_compile")
java_proto_compile()
```
### `BUILD.bazel`
```python
load("@build_stack_rules_proto//java:java_proto_compile.bzl", "java_proto_compile")
java_proto_compile(
name = "person_java_proto",
deps = ["@build_stack_rules_proto//example/proto:person_proto"],
)
```
### Mandatory Attributes
| Name | Type | Default | Description |
| ---: | :--- | ------- | ----------- |
| deps | `list<ProtoInfo>` | `[]` | List of labels that provide a `ProtoInfo` (such as `native.proto_library`) |
### Optional Attributes
| Name | Type | Default | Description |
| ---: | :--- | ------- | ----------- |
| plugins | `list<ProtoPluginInfo>` | `[]` | List of labels that provide a `ProtoPluginInfo` |
| plugin_options | `list<string>` | `[]` | List of additional 'global' plugin options (applies to all plugins). To apply plugin specific options, use the `options` attribute on `proto_plugin` |
| outputs | `list<generated file>` | `[]` | List of additional expected generated file outputs |
| verbose | `int` | `0` | The verbosity level. Supported values and results are 1: *show command*, 2: *show command and sandbox after running protoc*, 3: *show command and sandbox before and after running protoc*, 4. *show env, command, expected outputs and sandbox before and after running protoc* |
| include_imports | `bool` | `True` | Pass the --include_imports argument to the protoc_plugin |
| include_source_info | `bool` | `True` | Pass the --include_source_info argument to the protoc_plugin |
| transitive | `bool` | `True` | Generate outputs for both *.proto directly named in `deps` AND all their transitive proto_library dependencies |
| transitivity | `string_dict` | `{}` | Transitive filters to apply when the 'transitive' property is enabled. This string_dict can be used to exclude or explicitly include protos from the compilation list by using `exclude` or `include` respectively as the dict value |
---
## `java_grpc_compile`
Generates a srcjar with protobuf+gRPC *.java files
### `WORKSPACE`
```python
load("@build_stack_rules_proto//java:deps.bzl", "java_grpc_compile")
java_grpc_compile()
```
### `BUILD.bazel`
```python
load("@build_stack_rules_proto//java:java_grpc_compile.bzl", "java_grpc_compile")
java_grpc_compile(
name = "greeter_java_grpc",
deps = ["@build_stack_rules_proto//example/proto:greeter_grpc"],
)
```
### Mandatory Attributes
| Name | Type | Default | Description |
| ---: | :--- | ------- | ----------- |
| deps | `list<ProtoInfo>` | `[]` | List of labels that provide a `ProtoInfo` (such as `native.proto_library`) |
### Optional Attributes
| Name | Type | Default | Description |
| ---: | :--- | ------- | ----------- |
| plugins | `list<ProtoPluginInfo>` | `[]` | List of labels that provide a `ProtoPluginInfo` |
| plugin_options | `list<string>` | `[]` | List of additional 'global' plugin options (applies to all plugins). To apply plugin specific options, use the `options` attribute on `proto_plugin` |
| outputs | `list<generated file>` | `[]` | List of additional expected generated file outputs |
| verbose | `int` | `0` | The verbosity level. Supported values and results are 1: *show command*, 2: *show command and sandbox after running protoc*, 3: *show command and sandbox before and after running protoc*, 4. *show env, command, expected outputs and sandbox before and after running protoc* |
| include_imports | `bool` | `True` | Pass the --include_imports argument to the protoc_plugin |
| include_source_info | `bool` | `True` | Pass the --include_source_info argument to the protoc_plugin |
| transitive | `bool` | `True` | Generate outputs for both *.proto directly named in `deps` AND all their transitive proto_library dependencies |
| transitivity | `string_dict` | `{}` | Transitive filters to apply when the 'transitive' property is enabled. This string_dict can be used to exclude or explicitly include protos from the compilation list by using `exclude` or `include` respectively as the dict value |
---
## `java_proto_library`
Generates a jar with compiled protobuf *.class files
### `WORKSPACE`
```python
load("@build_stack_rules_proto//java:deps.bzl", "java_proto_library")
java_proto_library()
```
### `BUILD.bazel`
```python
load("@build_stack_rules_proto//java:java_proto_library.bzl", "java_proto_library")
java_proto_library(
name = "person_java_library",
deps = ["@build_stack_rules_proto//example/proto:person_proto"],
)
```
### Mandatory Attributes
| Name | Type | Default | Description |
| ---: | :--- | ------- | ----------- |
| deps | `list<ProtoInfo>` | `[]` | List of labels that provide a `ProtoInfo` (such as `native.proto_library`) |
### Optional Attributes
| Name | Type | Default | Description |
| ---: | :--- | ------- | ----------- |
| plugins | `list<ProtoPluginInfo>` | `[]` | List of labels that provide a `ProtoPluginInfo` |
| plugin_options | `list<string>` | `[]` | List of additional 'global' plugin options (applies to all plugins). To apply plugin specific options, use the `options` attribute on `proto_plugin` |
| outputs | `list<generated file>` | `[]` | List of additional expected generated file outputs |
| verbose | `int` | `0` | The verbosity level. Supported values and results are 1: *show command*, 2: *show command and sandbox after running protoc*, 3: *show command and sandbox before and after running protoc*, 4. *show env, command, expected outputs and sandbox before and after running protoc* |
| include_imports | `bool` | `True` | Pass the --include_imports argument to the protoc_plugin |
| include_source_info | `bool` | `True` | Pass the --include_source_info argument to the protoc_plugin |
| transitive | `bool` | `True` | Generate outputs for both *.proto directly named in `deps` AND all their transitive proto_library dependencies |
| transitivity | `string_dict` | `{}` | Transitive filters to apply when the 'transitive' property is enabled. This string_dict can be used to exclude or explicitly include protos from the compilation list by using `exclude` or `include` respectively as the dict value |
---
## `java_grpc_library`
Generates a jar with compiled protobuf+gRPC *.class files
### `WORKSPACE`
```python
load("@build_stack_rules_proto//:deps.bzl", "io_grpc_grpc_java")
io_grpc_grpc_java()
load("@io_grpc_grpc_java//:repositories.bzl", "grpc_java_repositories")
grpc_java_repositories(omit_com_google_protobuf = True)
load("@build_stack_rules_proto//java:deps.bzl", "java_grpc_library")
java_grpc_library()
```
### `BUILD.bazel`
```python
load("@build_stack_rules_proto//java:java_grpc_library.bzl", "java_grpc_library")
java_grpc_library(
name = "greeter_java_library",
deps = ["@build_stack_rules_proto//example/proto:greeter_grpc"],
)
```
### Mandatory Attributes
| Name | Type | Default | Description |
| ---: | :--- | ------- | ----------- |
| deps | `list<ProtoInfo>` | `[]` | List of labels that provide a `ProtoInfo` (such as `native.proto_library`) |
### Optional Attributes
| Name | Type | Default | Description |
| ---: | :--- | ------- | ----------- |
| plugins | `list<ProtoPluginInfo>` | `[]` | List of labels that provide a `ProtoPluginInfo` |
| plugin_options | `list<string>` | `[]` | List of additional 'global' plugin options (applies to all plugins). To apply plugin specific options, use the `options` attribute on `proto_plugin` |
| outputs | `list<generated file>` | `[]` | List of additional expected generated file outputs |
| verbose | `int` | `0` | The verbosity level. Supported values and results are 1: *show command*, 2: *show command and sandbox after running protoc*, 3: *show command and sandbox before and after running protoc*, 4. *show env, command, expected outputs and sandbox before and after running protoc* |
| include_imports | `bool` | `True` | Pass the --include_imports argument to the protoc_plugin |
| include_source_info | `bool` | `True` | Pass the --include_source_info argument to the protoc_plugin |
| transitive | `bool` | `True` | Generate outputs for both *.proto directly named in `deps` AND all their transitive proto_library dependencies |
| transitivity | `string_dict` | `{}` | Transitive filters to apply when the 'transitive' property is enabled. This string_dict can be used to exclude or explicitly include protos from the compilation list by using `exclude` or `include` respectively as the dict value |