github.com/stackb/rules_proto@v0.0.0-20240221195024-5428336c51f1/docs/starlark_java.md (about)

     1  ---
     2  layout: default
     3  title: starlark_java
     4  permalink: examples/starlark_java
     5  parent: Examples
     6  ---
     7  
     8  
     9  # starlark_java example
    10  
    11  `bazel test //example/golden:starlark_java_test`
    12  
    13  
    14  ## `BUILD.bazel` (after gazelle)
    15  
    16  ~~~python
    17  load("@rules_proto//proto:defs.bzl", "proto_library")
    18  load("@build_stack_rules_proto//rules:proto_compile.bzl", "proto_compile")
    19  load("@rules_java//java:defs.bzl", "java_library")
    20  
    21  # gazelle:proto_rule proto_compile implementation stackb:rules_proto:proto_compile
    22  # gazelle:proto_rule java_library implementation lib/rules.star%java_library
    23  # gazelle:proto_rule java_library deps @com_google_protobuf//:protobuf_java
    24  # gazelle:proto_rule java_library deps @com_google_protobuf//java/core
    25  # gazelle:proto_rule java_library visibility //visibility:public
    26  # gazelle:proto_plugin java implementation lib/plugins.star%java
    27  # gazelle:proto_language java rule proto_compile
    28  # gazelle:proto_language java rule java_library
    29  # gazelle:proto_language java plugin java
    30  
    31  proto_library(
    32      name = "example_proto",
    33      srcs = ["example.proto"],
    34      visibility = ["//visibility:public"],
    35  )
    36  
    37  java_library(
    38      name = "example_java_library",
    39      srcs = ["example.srcjar"],
    40      visibility = ["//visibility:public"],
    41      deps = [
    42          "@com_google_protobuf//:protobuf_java",
    43          "@com_google_protobuf//java/core",
    44      ],
    45  )
    46  
    47  proto_compile(
    48      name = "example_java_compile",
    49      outputs = ["example.srcjar"],
    50      plugins = ["@build_stack_rules_proto//plugin/builtin:java"],
    51      proto = "example_proto",
    52  )
    53  ~~~
    54  
    55  
    56  ## `BUILD.bazel` (before gazelle)
    57  
    58  ~~~python
    59  # gazelle:proto_rule proto_compile implementation stackb:rules_proto:proto_compile
    60  # gazelle:proto_rule java_library implementation lib/rules.star%java_library
    61  # gazelle:proto_rule java_library deps @com_google_protobuf//:protobuf_java
    62  # gazelle:proto_rule java_library deps @com_google_protobuf//java/core
    63  # gazelle:proto_rule java_library visibility //visibility:public
    64  # gazelle:proto_plugin java implementation lib/plugins.star%java
    65  # gazelle:proto_language java rule proto_compile
    66  # gazelle:proto_language java rule java_library
    67  # gazelle:proto_language java plugin java
    68  ~~~
    69  
    70  
    71  ## `WORKSPACE`
    72  
    73  ~~~python
    74  # Using scala_deps here because it provides rules_jvm_external, there is nothing
    75  # scala-specific about this example.
    76  load("@build_stack_rules_proto//deps:scala_deps.bzl", "scala_deps")
    77  
    78  scala_deps()
    79  ~~~
    80