daml/scala-protoc-plugins/scalapb/BUILD.bazel
Gerolf Seitz a2d785e3ee
Use com.daml as root package (#5343)
Packages com.digitalasset.daml and com.daml have been unified under com.daml

Ledger API and DAML-LF DEV protos have also been moved from `com/digitalasset`
to `com/daml` on the file system.
Protos for already released DAML LF versions (1.6, 1.7, 1.8) stay in the
package `com.digitalasset`.

CHANGELOG_BEGIN
[SDK] All Java and Scala packages starting with
``com.digitalasset.daml`` and ``com.digitalasset`` are now consolidated
under ``com.daml``. Simply changing imports should be enough to
migrate your code.
CHANGELOG_END
2020-04-05 19:49:57 +02:00

59 lines
2.0 KiB
Python

# Copyright (c) 2020 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
load("//bazel_tools:scala.bzl", "da_scala_binary", "da_scala_library")
da_scala_binary(
name = "compiler_plugin",
srcs = glob(["*.scala"]),
main_class = "com.daml.protoc.plugins.scalapb.ScalaPbCompilerPlugin",
visibility = ["//visibility:public"],
deps = [
"@maven//:com_google_protobuf_protobuf_java",
"@maven//:com_thesamet_scalapb_compilerplugin_2_12",
"@maven//:com_thesamet_scalapb_protoc_bridge_2_12",
],
)
# From https://github.com/stackb/rules_proto/blob/3f890f5d6774bd74df28e89b20f34155dfe77732/scala/BUILD.bazel#L78-L97
# Curiously this didn't work
#
# genrule(
# name = "gen_protoc_gen_scala",
# srcs = ["compiler_plugin_deploy.jar", "@local_jdk//:bin/java"],
# outs = ["protoc-gen-scala.sh"],
# cmd = """
# echo '$(location @local_jdk//:bin/java) -jar $(location protoc_gen_deploy.jar) $$@' > $@
# """,
# executable = True,
# )
# ======================================================================
#
# Unable to get either bazel or maybe protoc to call a plugin whose
# implementation was fronted by a shell script (from a genrule). So, the only
# way this seemed to work was compile an executable that calls 'java -jar
# protoc_gen_scala_deploy.jar'. Either figure out how to do this in java
# directly or write the wrapper in C++ ot remove the go dependency here.
#
load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library")
go_library(
name = "go_default_library",
srcs = [
"protoc-gen-scalapb.go",
],
importpath = "github.com/digital-asset/daml/scala/protoc-gen-scalapb",
visibility = ["//visibility:public"],
)
go_binary(
name = "protoc-gen-scalapb",
data = [
":compiler_plugin_deploy.jar",
"@bazel_tools//tools/jdk:jre",
],
embed = [":go_default_library"],
visibility = ["//visibility:public"],
)