mirror of
https://github.com/digital-asset/daml.git
synced 2024-11-05 03:56:26 +03:00
e40aad897f
* move most files * update CI configuration
1622 lines
57 KiB
Python
1622 lines
57 KiB
Python
# Copyright (c) 2021 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
load("@bazel_skylib//rules:copy_file.bzl", "copy_file")
|
|
load("@build_environment//:configuration.bzl", "sdk_version")
|
|
load(
|
|
"@com_github_johnynek_bazel_jar_jar//:jar_jar.bzl",
|
|
"jar_jar",
|
|
)
|
|
load("@io_bazel_rules_scala//scala:scala.bzl", "scala_binary", "scala_library", "scala_macro_library")
|
|
load("@os_info//:os_info.bzl", "is_windows")
|
|
load("@rules_pkg//:pkg.bzl", "pkg_tar")
|
|
load("@scala_version//:index.bzl", "scala_major_version", "scala_version")
|
|
load("//bazel_tools:haskell.bzl", "da_haskell_library")
|
|
load("//bazel_tools:java.bzl", "da_java_library")
|
|
load("//bazel_tools:proto.bzl", "proto_gen", "proto_jars")
|
|
load(
|
|
"//bazel_tools:scala.bzl",
|
|
"da_scala_library",
|
|
"da_scala_macro_library",
|
|
"da_scala_test_suite",
|
|
"kind_projector_plugin",
|
|
"scala_source_jar",
|
|
"scaladoc_jar",
|
|
)
|
|
load("//bazel_tools/java_testing:java_test_suite.bzl", "java_test_suite")
|
|
load("//language-support/java:javaopts.bzl", "da_java_bindings_javacopts")
|
|
load("//language-support/java/codegen:codegen.bzl", "dar_to_java")
|
|
load("//rules_daml:daml.bzl", "daml_compile")
|
|
|
|
### build-info ###
|
|
|
|
# TODO(https://github.com/DACH-NY/canton/issues/15106): read 'version' from the canton repository
|
|
# once it is exposed in some file.
|
|
genrule(
|
|
name = "community_buildinfo_src",
|
|
outs = ["BuildInfo.scala"],
|
|
cmd = """
|
|
cat << EOF > $@
|
|
package com.digitalasset.canton.buildinfo
|
|
|
|
case object BuildInfo {{
|
|
val version: String = "3.0.0-SNAPSHOT"
|
|
val scalaVersion: String = "{scala_version}"
|
|
val sbtVersion: String = "bazel"
|
|
val damlLibrariesVersion: String = "{sdk_version}"
|
|
val protocolVersions = Seq()
|
|
override val toString: String = {{
|
|
"version: %s, scalaVersion: %s, sbtVersion: %s, damlLibrariesVersion: %s, protocolVersions: %s".format(
|
|
version, scalaVersion, sbtVersion, damlLibrariesVersion, protocolVersions
|
|
)
|
|
}}
|
|
}}
|
|
EOF
|
|
""".format(
|
|
scala_version = scala_version,
|
|
sdk_version = sdk_version,
|
|
),
|
|
)
|
|
|
|
scala_library(
|
|
name = "community_buildinfo",
|
|
srcs = [":community_buildinfo_src"],
|
|
)
|
|
|
|
### daml-common-staging/daml-errors ###
|
|
|
|
da_scala_library(
|
|
name = "daml-common-staging_daml-errors",
|
|
srcs = glob(["daml-common-staging/daml-errors/src/main/**/*.scala"]),
|
|
override_scalacopts = [
|
|
"-Xsource:3",
|
|
"-language:postfixOps",
|
|
],
|
|
tags = ["maven_coordinates=com.daml:daml-common-staging-daml-errors:__VERSION__"],
|
|
unused_dependency_checker_mode = "error",
|
|
visibility = [
|
|
"//daml-script:__subpackages__",
|
|
"//test-common/canton:__subpackages__",
|
|
],
|
|
deps = [
|
|
":ledger_api_proto_scala",
|
|
"@maven//:org_slf4j_slf4j_api",
|
|
"@maven//:org_typelevel_cats_core_2_13",
|
|
"@maven//:org_typelevel_cats_kernel_2_13",
|
|
],
|
|
)
|
|
|
|
### community/lib/pekko ###
|
|
|
|
scala_library(
|
|
name = "pekko-stream-patch",
|
|
srcs = glob(["community/lib/pekko/src/main/**/*.scala"]),
|
|
scalacopts = [
|
|
"-Xsource:3",
|
|
"-language:postfixOps",
|
|
],
|
|
unused_dependency_checker_mode = "error",
|
|
deps = [
|
|
"@maven//:org_apache_pekko_pekko_actor_2_13",
|
|
"@maven//:org_apache_pekko_pekko_stream_2_13",
|
|
],
|
|
)
|
|
|
|
jar_jar(
|
|
name = "pekko-stream-minus-patched-classes",
|
|
input_jar = "@maven//:org_apache_pekko_pekko_stream_2_13",
|
|
rules = "shade_rule",
|
|
)
|
|
|
|
### community/lib/Blake2b ###
|
|
|
|
java_library(
|
|
name = "community_lib_Blake2b",
|
|
srcs = glob(["community/lib/Blake2b/src/main/**/*.java"]),
|
|
deps = [
|
|
"@maven//:org_bouncycastle_bcprov_jdk15on",
|
|
],
|
|
)
|
|
|
|
### community/lib/slick ###
|
|
|
|
scala_macro_library(
|
|
name = "community_lib_slick_slick-fork",
|
|
srcs = glob(["community/lib/slick/src/main/**/*.scala"]),
|
|
scalacopts = ["-Wconf:cat=unused-imports:s"],
|
|
deps = [
|
|
"@maven//:com_typesafe_slick_slick_2_13",
|
|
"@maven//:org_reactivestreams_reactive_streams",
|
|
"@maven//:org_scala_lang_modules_scala_collection_compat_2_13",
|
|
],
|
|
)
|
|
|
|
### community/lib/wartremover ###
|
|
|
|
scala_macro_library(
|
|
name = "community_lib_wartremover",
|
|
srcs = glob(["community/lib/wartremover/src/main/**/*.scala"]),
|
|
scalacopts = [
|
|
"-Wconf:cat=unused-pat-vars:s",
|
|
"-Xsource:3",
|
|
],
|
|
unused_dependency_checker_mode = "error",
|
|
deps = [
|
|
"@maven//:com_typesafe_slick_slick_2_13",
|
|
"@maven//:org_typelevel_cats_core_2_13",
|
|
"@maven//:org_typelevel_cats_kernel_2_13",
|
|
"@maven//:org_wartremover_wartremover_2_13_11",
|
|
],
|
|
)
|
|
|
|
### community/util-logging ###
|
|
|
|
da_scala_library(
|
|
name = "community_util-logging",
|
|
srcs = glob(["community/util-logging/src/main/**/*.scala"]),
|
|
override_scalacopts = [
|
|
"-Xsource:3",
|
|
"-language:postfixOps",
|
|
],
|
|
tags = ["maven_coordinates=com.daml:canton-community-util-logging:__VERSION__"],
|
|
unused_dependency_checker_mode = "error",
|
|
visibility = [
|
|
"//daml-script:__subpackages__",
|
|
"//language-support/java/bindings-rxjava:__subpackages__",
|
|
"//test-common/canton:__subpackages__",
|
|
],
|
|
deps = [
|
|
":daml-common-staging_daml-errors",
|
|
":pekko-stream-minus-patched-classes",
|
|
"//daml-lf/data",
|
|
"//libs-scala/contextualized-logging",
|
|
"//libs-scala/grpc-utils",
|
|
"//libs-scala/logging-entries",
|
|
"//libs-scala/nonempty",
|
|
"//observability/metrics",
|
|
"//observability/tracing",
|
|
"@maven//:com_typesafe_scala_logging_scala_logging_2_13",
|
|
"@maven//:io_grpc_grpc_api",
|
|
"@maven//:io_opentelemetry_opentelemetry_api",
|
|
"@maven//:io_opentelemetry_opentelemetry_context",
|
|
"@maven//:io_opentelemetry_opentelemetry_exporter_otlp",
|
|
"@maven//:io_opentelemetry_opentelemetry_exporter_zipkin",
|
|
"@maven//:io_opentelemetry_opentelemetry_sdk",
|
|
"@maven//:io_opentelemetry_opentelemetry_sdk_common",
|
|
"@maven//:io_opentelemetry_opentelemetry_sdk_logs",
|
|
"@maven//:io_opentelemetry_opentelemetry_sdk_metrics",
|
|
"@maven//:io_opentelemetry_opentelemetry_sdk_trace",
|
|
"@maven//:org_apache_pekko_pekko_actor_2_13",
|
|
"@maven//:org_scalaz_scalaz_core_2_13",
|
|
"@maven//:org_slf4j_slf4j_api",
|
|
"@maven//:org_typelevel_cats_core_2_13",
|
|
"@maven//:org_typelevel_cats_kernel_2_13",
|
|
],
|
|
)
|
|
|
|
### community/util-external ###
|
|
|
|
scala_library(
|
|
name = "community_util-external",
|
|
srcs = glob(["community/util-external/src/main/scala/**/*.scala"]),
|
|
scalacopts = [
|
|
"-Xsource:3",
|
|
"-language:postfixOps",
|
|
],
|
|
unused_dependency_checker_mode = "error",
|
|
deps = [
|
|
":community_util-logging",
|
|
":daml-common-staging_daml-errors",
|
|
":ledger_api_proto_scala",
|
|
"//daml-lf/data",
|
|
"//libs-scala/nonempty",
|
|
"@maven//:com_chuusai_shapeless_2_13",
|
|
"@maven//:com_github_pureconfig_pureconfig_core_2_13",
|
|
"@maven//:com_github_pureconfig_pureconfig_generic_2_13",
|
|
"@maven//:com_thesamet_scalapb_scalapb_runtime_2_13",
|
|
"@maven//:com_typesafe_config",
|
|
"@maven//:com_typesafe_slick_slick_2_13",
|
|
"@maven//:io_grpc_grpc_api",
|
|
"@maven//:org_scalaz_scalaz_core_2_13",
|
|
"@maven//:org_slf4j_slf4j_api",
|
|
"@maven//:org_typelevel_cats_core_2_13",
|
|
],
|
|
)
|
|
|
|
### community/ledger/ledger-common ###
|
|
|
|
da_scala_library(
|
|
name = "community_ledger_ledger-common",
|
|
srcs = glob([
|
|
"community/ledger/ledger-common/src/main/scala/**/*.scala",
|
|
"community/ledger/ledger-common/src/main/scala/**/*.java",
|
|
]),
|
|
override_scalacopts = [
|
|
"-Xsource:3",
|
|
"-language:postfixOps",
|
|
],
|
|
resource_strip_prefix = "canton/community/ledger/ledger-common/src/resources",
|
|
resources = glob(["community/ledger/ledger-common/src/resources/**"]),
|
|
tags = ["maven_coordinates=com.daml:canton-community-ledger-ledger-common:__VERSION__"],
|
|
unused_dependency_checker_mode = "error",
|
|
visibility = [
|
|
"//compiler/repl-service:__subpackages__",
|
|
"//daml-lf:__subpackages__",
|
|
"//daml-script:__subpackages__",
|
|
"//language-support/java:__subpackages__",
|
|
"//ledger-service/utils:__subpackages__",
|
|
"//test-common/canton:__subpackages__",
|
|
],
|
|
deps = [
|
|
":community_util-logging",
|
|
":daml-common-staging_daml-errors",
|
|
":ledger_api_proto_scala",
|
|
":pekko-stream-minus-patched-classes",
|
|
"//daml-lf/archive:daml_lf_archive_reader",
|
|
"//daml-lf/data",
|
|
"//daml-lf/engine",
|
|
"//daml-lf/language",
|
|
"//daml-lf/transaction",
|
|
"//daml-lf/validation",
|
|
"//libs-scala/contextualized-logging",
|
|
"//libs-scala/grpc-utils",
|
|
"//libs-scala/ledger-resources",
|
|
"//libs-scala/logging-entries",
|
|
"//libs-scala/resources",
|
|
"//libs-scala/resources-grpc",
|
|
"//libs-scala/resources-pekko",
|
|
"//libs-scala/rs-grpc-bridge",
|
|
"//libs-scala/rs-grpc-pekko",
|
|
"//libs-scala/scala-utils",
|
|
"//libs-scala/timer-utils",
|
|
"//observability/metrics",
|
|
"@maven//:com_github_ben_manes_caffeine_caffeine",
|
|
"@maven//:com_github_scopt_scopt_2_13",
|
|
"@maven//:com_google_guava_guava",
|
|
"@maven//:com_google_protobuf_protobuf_java",
|
|
"@maven//:com_thesamet_scalapb_scalapb_runtime_2_13",
|
|
"@maven//:com_typesafe_scala_logging_scala_logging_2_13",
|
|
"@maven//:commons_codec_commons_codec",
|
|
"@maven//:commons_io_commons_io",
|
|
"@maven//:io_grpc_grpc_api",
|
|
"@maven//:io_grpc_grpc_netty",
|
|
"@maven//:io_grpc_grpc_protobuf",
|
|
"@maven//:io_netty_netty_buffer",
|
|
"@maven//:io_netty_netty_handler",
|
|
"@maven//:io_opentelemetry_opentelemetry_api",
|
|
"@maven//:io_opentelemetry_opentelemetry_sdk_metrics",
|
|
"@maven//:io_spray_spray_json_2_13",
|
|
"@maven//:org_apache_pekko_pekko_actor_2_13",
|
|
"@maven//:org_scalaz_scalaz_core_2_13",
|
|
"@maven//:org_slf4j_slf4j_api",
|
|
],
|
|
)
|
|
|
|
### community/admin-api
|
|
|
|
proto_library(
|
|
name = "community_admin-api_proto",
|
|
srcs = glob(["community/admin-api/src/main/protobuf/**/*.proto"]),
|
|
strip_import_prefix = "community/admin-api/src/main/protobuf",
|
|
deps = [
|
|
"@com_google_protobuf//:duration_proto",
|
|
"@com_google_protobuf//:empty_proto",
|
|
"@com_google_protobuf//:timestamp_proto",
|
|
"@com_google_protobuf//:wrappers_proto",
|
|
"@go_googleapis//google/rpc:status_proto",
|
|
"@scalapb//:scalapb_proto",
|
|
],
|
|
)
|
|
|
|
proto_gen(
|
|
name = "community_admin-api_proto_scala",
|
|
srcs = [":community_admin-api_proto"],
|
|
plugin_exec = "//scala-protoc-plugins/scalapb:protoc-gen-scalapb",
|
|
plugin_name = "scalapb",
|
|
plugin_options = [
|
|
"flat_package",
|
|
"grpc",
|
|
],
|
|
visibility = [
|
|
"//daml-lf/validation:__subpackages__",
|
|
"//daml-script:__subpackages__",
|
|
],
|
|
)
|
|
|
|
filegroup(
|
|
name = "community_admin-api-src",
|
|
srcs = ["community/admin-api/src/main/protobuf/com/digitalasset/canton/version/ProtocolVersionAnnotation.scala"],
|
|
visibility = ["//daml-script:__subpackages__"],
|
|
)
|
|
|
|
scala_library(
|
|
name = "community_admin-api",
|
|
srcs = [":community_admin-api-src"],
|
|
scalacopts = [
|
|
"-Xsource:3",
|
|
"-language:postfixOps",
|
|
],
|
|
visibility = ["//daml-lf/validation:__subpackages__"],
|
|
)
|
|
|
|
### community/base ###
|
|
|
|
proto_library(
|
|
name = "community_base_proto",
|
|
srcs = glob(["community/base/src/main/protobuf/**/*.proto"]),
|
|
strip_import_prefix = "community/base/src/main/protobuf",
|
|
deps = [
|
|
"@com_google_protobuf//:duration_proto",
|
|
"@com_google_protobuf//:empty_proto",
|
|
"@com_google_protobuf//:timestamp_proto",
|
|
"@com_google_protobuf//:wrappers_proto",
|
|
"@go_googleapis//google/rpc:status_proto",
|
|
"@scalapb//:scalapb_proto",
|
|
],
|
|
)
|
|
|
|
proto_gen(
|
|
name = "community_base_proto_scala",
|
|
srcs = [":community_base_proto"],
|
|
plugin_exec = "//scala-protoc-plugins/scalapb:protoc-gen-scalapb",
|
|
plugin_name = "scalapb",
|
|
plugin_options = [
|
|
"flat_package",
|
|
"grpc",
|
|
],
|
|
)
|
|
|
|
scala_library(
|
|
name = "community_base",
|
|
srcs = glob(["community/base/src/main/scala/**/*.scala"]) + [":community_base_proto_scala"] + [":community_admin-api_proto_scala"],
|
|
plugins = [kind_projector_plugin],
|
|
resource_strip_prefix = "canton/community/base/src/main/resources",
|
|
resources = glob(["community/base/src/main/resources/**"]),
|
|
scalacopts = [
|
|
"-Xsource:3",
|
|
"-language:postfixOps",
|
|
],
|
|
unused_dependency_checker_mode = "error",
|
|
visibility = ["//daml-script:__subpackages__"],
|
|
runtime_deps = [
|
|
# not used at compile time, but required by com.digitalasset.canton.util.PekkoUtil.createActorSystem
|
|
"@maven//:org_apache_pekko_pekko_slf4j_2_13",
|
|
],
|
|
deps = [
|
|
":bindings-java",
|
|
":community_admin-api",
|
|
":community_buildinfo",
|
|
":community_ledger_ledger-common",
|
|
":community_lib_slick_slick-fork",
|
|
":community_lib_wartremover",
|
|
":community_util-external",
|
|
":community_util-logging",
|
|
":daml-common-staging_daml-errors",
|
|
":ledger_api_proto_scala",
|
|
":pekko-stream-minus-patched-classes",
|
|
"//daml-lf/data",
|
|
"//daml-lf/transaction",
|
|
"//libs-scala/concurrent",
|
|
"//libs-scala/contextualized-logging",
|
|
"//libs-scala/executors",
|
|
"//libs-scala/logging-entries",
|
|
"//libs-scala/nameof",
|
|
"//libs-scala/nonempty",
|
|
"//libs-scala/nonempty-cats",
|
|
"//libs-scala/rs-grpc-bridge",
|
|
"//libs-scala/rs-grpc-pekko",
|
|
"//libs-scala/scala-utils",
|
|
"//observability/metrics",
|
|
"@canton_maven//:org_flywaydb_flyway_core",
|
|
"@maven//:ch_qos_logback_logback_classic",
|
|
"@maven//:ch_qos_logback_logback_core",
|
|
"@maven//:com_chuusai_shapeless_2_13",
|
|
"@maven//:com_github_ben_manes_caffeine_caffeine",
|
|
"@maven//:com_github_blemale_scaffeine_2_13",
|
|
"@maven//:com_github_pathikrit_better_files_2_13",
|
|
"@maven//:com_github_pureconfig_pureconfig_core_2_13",
|
|
"@maven//:com_google_crypto_tink_tink",
|
|
"@maven//:com_google_guava_guava",
|
|
"@maven//:com_google_protobuf_protobuf_java",
|
|
"@maven//:com_lihaoyi_fansi_2_13",
|
|
"@maven//:com_lihaoyi_pprint_2_13",
|
|
"@maven//:com_thesamet_scalapb_scalapb_runtime_2_13",
|
|
"@maven//:com_typesafe_config",
|
|
"@maven//:com_typesafe_scala_logging_scala_logging_2_13",
|
|
"@maven//:com_typesafe_slick_slick_2_13",
|
|
"@maven//:com_typesafe_slick_slick_hikaricp_2_13",
|
|
"@maven//:com_zaxxer_HikariCP",
|
|
"@maven//:dev_optics_monocle_core_2_13",
|
|
"@maven//:dev_optics_monocle_macro_2_13",
|
|
"@maven//:io_circe_circe_core_2_13",
|
|
"@maven//:io_circe_circe_generic_2_13",
|
|
"@maven//:io_grpc_grpc_api",
|
|
"@maven//:io_grpc_grpc_core",
|
|
"@maven//:io_grpc_grpc_netty",
|
|
"@maven//:io_grpc_grpc_protobuf",
|
|
"@maven//:io_grpc_grpc_services",
|
|
"@maven//:io_grpc_grpc_stub",
|
|
"@maven//:io_grpc_grpc_util",
|
|
"@maven//:io_netty_netty_handler",
|
|
"@maven//:io_opentelemetry_opentelemetry_api",
|
|
"@maven//:io_opentelemetry_opentelemetry_context",
|
|
"@maven//:io_opentelemetry_opentelemetry_sdk_metrics",
|
|
"@maven//:io_scalaland_chimney_2_13",
|
|
"@maven//:junit_junit",
|
|
"@maven//:org_apache_pekko_pekko_actor_2_13",
|
|
"@maven//:org_bouncycastle_bcpkix_jdk15on",
|
|
"@maven//:org_bouncycastle_bcprov_jdk15on",
|
|
"@maven//:org_postgresql_postgresql",
|
|
"@maven//:org_scala_lang_modules_scala_collection_compat_2_13",
|
|
"@maven//:org_scala_lang_modules_scala_collection_contrib_2_13",
|
|
"@maven//:org_scalaz_scalaz_core_2_13",
|
|
"@maven//:org_slf4j_slf4j_api",
|
|
"@maven//:org_typelevel_cats_core_2_13",
|
|
"@maven//:org_typelevel_cats_kernel_2_13",
|
|
],
|
|
)
|
|
|
|
### community/common ###
|
|
|
|
scala_library(
|
|
name = "community_common",
|
|
srcs = glob(["community/common/src/main/scala/**/*.scala"]),
|
|
plugins = [kind_projector_plugin],
|
|
resource_strip_prefix = "canton/community/common/src/main/resources",
|
|
resources = glob(["community/common/src/main/resources/**"]),
|
|
scalacopts = [
|
|
"-Xsource:3",
|
|
"-language:postfixOps",
|
|
],
|
|
unused_dependency_checker_mode = "error",
|
|
runtime_deps = [
|
|
# not used at compile time, but required by com.digitalasset.canton.util.PekkoUtil.createActorSystem
|
|
"@maven//:org_apache_pekko_pekko_slf4j_2_13",
|
|
],
|
|
deps = [
|
|
":bindings-java",
|
|
":community_admin-api",
|
|
":community_base",
|
|
":community_buildinfo",
|
|
":community_ledger_ledger-common",
|
|
":community_lib_Blake2b",
|
|
":community_lib_slick_slick-fork",
|
|
":community_lib_wartremover",
|
|
":community_util-external",
|
|
":community_util-logging",
|
|
":daml-common-staging_daml-errors",
|
|
":ledger_api_proto_scala",
|
|
":pekko-stream-minus-patched-classes",
|
|
"//daml-lf/archive:daml_lf_archive_reader",
|
|
"//daml-lf/data",
|
|
"//daml-lf/interpreter",
|
|
"//daml-lf/language",
|
|
"//daml-lf/transaction",
|
|
"//libs-scala/concurrent",
|
|
"//libs-scala/contextualized-logging",
|
|
"//libs-scala/executors",
|
|
"//libs-scala/nameof",
|
|
"//libs-scala/nonempty",
|
|
"//observability/metrics",
|
|
"//observability/tracing",
|
|
"@maven//:ch_qos_logback_logback_classic",
|
|
"@maven//:ch_qos_logback_logback_core",
|
|
"@maven//:com_github_pathikrit_better_files_2_13",
|
|
"@maven//:com_github_pureconfig_pureconfig_core_2_13",
|
|
"@maven//:com_github_pureconfig_pureconfig_generic_2_13",
|
|
"@maven//:com_google_crypto_tink_tink",
|
|
"@maven//:com_google_guava_guava",
|
|
"@maven//:com_google_protobuf_protobuf_java",
|
|
"@maven//:com_lihaoyi_pprint_2_13",
|
|
"@maven//:com_thesamet_scalapb_scalapb_runtime_2_13",
|
|
"@maven//:com_typesafe_config",
|
|
"@maven//:com_typesafe_scala_logging_scala_logging_2_13",
|
|
"@maven//:com_typesafe_slick_slick_2_13",
|
|
"@maven//:dev_optics_monocle_core_2_13",
|
|
"@maven//:dev_optics_monocle_macro_2_13",
|
|
"@maven//:io_circe_circe_core_2_13",
|
|
"@maven//:io_grpc_grpc_api",
|
|
"@maven//:io_grpc_grpc_netty",
|
|
"@maven//:io_grpc_grpc_services",
|
|
"@maven//:io_grpc_grpc_stub",
|
|
"@maven//:io_netty_netty_handler",
|
|
"@maven//:io_opentelemetry_opentelemetry_api",
|
|
"@maven//:io_scalaland_chimney_2_13",
|
|
"@maven//:junit_junit",
|
|
"@maven//:net_logstash_logback_logstash_logback_encoder",
|
|
"@maven//:org_apache_logging_log4j_log4j_core",
|
|
"@maven//:org_apache_pekko_pekko_actor_2_13",
|
|
"@maven//:org_apache_pekko_pekko_http_2_13",
|
|
"@maven//:org_apache_pekko_pekko_http_core_2_13",
|
|
"@maven//:org_bouncycastle_bcprov_jdk15on",
|
|
"@maven//:org_scala_lang_scala_reflect",
|
|
"@maven//:org_scalaz_scalaz_core_2_13",
|
|
"@maven//:org_slf4j_slf4j_api",
|
|
"@maven//:org_typelevel_cats_core_2_13",
|
|
"@maven//:org_typelevel_cats_kernel_2_13",
|
|
],
|
|
)
|
|
|
|
### community/ledger/ledger-api-core ###
|
|
|
|
proto_library(
|
|
name = "community_ledger_ledger-api-core_proto",
|
|
srcs = glob(["community/ledger/ledger-api-core/src/main/protobuf/**/*.proto"]),
|
|
strip_import_prefix = "community/ledger/ledger-api-core/src/main/protobuf",
|
|
deps = [
|
|
"@com_google_protobuf//:any_proto",
|
|
"@com_google_protobuf//:duration_proto",
|
|
"@com_google_protobuf//:empty_proto",
|
|
"@com_google_protobuf//:timestamp_proto",
|
|
"@com_google_protobuf//:wrappers_proto",
|
|
"@go_googleapis//google/rpc:status_proto",
|
|
"@scalapb//:scalapb_proto",
|
|
],
|
|
)
|
|
|
|
proto_gen(
|
|
name = "community_ledger_ledger-api-core_proto_scala",
|
|
srcs = [":community_ledger_ledger-api-core_proto"],
|
|
plugin_exec = "//scala-protoc-plugins/scalapb:protoc-gen-scalapb",
|
|
plugin_name = "scalapb",
|
|
plugin_options = [
|
|
"grpc",
|
|
],
|
|
)
|
|
|
|
scala_library(
|
|
name = "community_ledger_ledger-api-core",
|
|
srcs = glob([
|
|
"community/ledger/ledger-api-core/src/main/scala/**/*.scala",
|
|
"community/ledger/ledger-api-core/src/main/scala/**/*.java",
|
|
]) + [":community_ledger_ledger-api-core_proto_scala"],
|
|
resource_strip_prefix = "canton/community/ledger/ledger-api-core/src/main/resources",
|
|
resources = glob(["community/ledger/ledger-api-core/src/main/resources/**"]),
|
|
scalacopts = [
|
|
"-Xsource:3",
|
|
"-language:postfixOps",
|
|
],
|
|
unused_dependency_checker_mode = "error",
|
|
visibility = [
|
|
"//daml-lf:__subpackages__",
|
|
"//daml-script:__subpackages__",
|
|
"//language-support/java:__subpackages__",
|
|
],
|
|
deps = [
|
|
":bindings-java",
|
|
":community_base",
|
|
":community_common",
|
|
":community_ledger_ledger-common",
|
|
":community_util-external",
|
|
":community_util-logging",
|
|
":daml-common-staging_daml-errors",
|
|
":ledger_api_proto_scala",
|
|
":pekko-stream-minus-patched-classes",
|
|
"//daml-lf/archive:daml_lf_archive_reader",
|
|
"//daml-lf/archive:daml_lf_dev_archive_proto_java",
|
|
"//daml-lf/data",
|
|
"//daml-lf/engine",
|
|
"//daml-lf/language",
|
|
"//daml-lf/transaction",
|
|
"//daml-lf/validation",
|
|
"//libs-scala/concurrent",
|
|
"//libs-scala/contextualized-logging",
|
|
"//libs-scala/crypto",
|
|
"//libs-scala/executors",
|
|
"//libs-scala/jwt",
|
|
"//libs-scala/ledger-resources",
|
|
"//libs-scala/logging-entries",
|
|
"//libs-scala/nameof",
|
|
"//libs-scala/nonempty",
|
|
"//libs-scala/ports",
|
|
"//libs-scala/resources",
|
|
"//libs-scala/resources-grpc",
|
|
"//libs-scala/resources-pekko",
|
|
"//libs-scala/rs-grpc-bridge",
|
|
"//libs-scala/rs-grpc-pekko",
|
|
"//libs-scala/scala-utils",
|
|
"//libs-scala/struct-json/struct-spray-json",
|
|
"//libs-scala/timer-utils",
|
|
"//observability/metrics",
|
|
"//observability/tracing",
|
|
"@canton_maven//:org_flywaydb_flyway_core",
|
|
"@maven//:com_auth0_java_jwt",
|
|
"@maven//:com_auth0_jwks_rsa",
|
|
"@maven//:com_chuusai_shapeless_2_13",
|
|
"@maven//:com_github_ben_manes_caffeine_caffeine",
|
|
"@maven//:com_github_pureconfig_pureconfig_core_2_13",
|
|
"@maven//:com_github_pureconfig_pureconfig_generic_2_13",
|
|
"@maven//:com_github_scopt_scopt_2_13",
|
|
"@maven//:com_google_guava_guava",
|
|
"@maven//:com_google_protobuf_protobuf_java",
|
|
"@maven//:com_h2database_h2",
|
|
"@maven//:com_lihaoyi_pprint_2_13",
|
|
"@maven//:com_oracle_database_jdbc_ojdbc8",
|
|
"@maven//:com_thesamet_scalapb_scalapb_runtime_2_13",
|
|
"@maven//:com_typesafe_config",
|
|
"@maven//:com_typesafe_scala_logging_scala_logging_2_13",
|
|
"@maven//:com_typesafe_slick_slick_2_13",
|
|
"@maven//:com_zaxxer_HikariCP",
|
|
"@maven//:io_circe_circe_core_2_13",
|
|
"@maven//:io_grpc_grpc_api",
|
|
"@maven//:io_grpc_grpc_netty",
|
|
"@maven//:io_grpc_grpc_protobuf",
|
|
"@maven//:io_grpc_grpc_services",
|
|
"@maven//:io_grpc_grpc_stub",
|
|
"@maven//:io_netty_netty_handler",
|
|
"@maven//:io_netty_netty_transport",
|
|
"@maven//:io_opentelemetry_opentelemetry_api",
|
|
"@maven//:io_opentelemetry_opentelemetry_context",
|
|
"@maven//:io_scalaland_chimney_2_13",
|
|
"@maven//:io_spray_spray_json_2_13",
|
|
"@maven//:junit_junit",
|
|
"@maven//:org_apache_pekko_pekko_actor_2_13",
|
|
"@maven//:org_playframework_anorm_anorm_2_13",
|
|
"@maven//:org_playframework_anorm_anorm_tokenizer_2_13",
|
|
"@maven//:org_postgresql_postgresql",
|
|
"@maven//:org_reflections_reflections",
|
|
"@maven//:org_scalaz_scalaz_core_2_13",
|
|
"@maven//:org_slf4j_slf4j_api",
|
|
"@maven//:org_typelevel_cats_core_2_13",
|
|
"@maven//:org_typelevel_cats_kernel_2_13",
|
|
],
|
|
)
|
|
|
|
### community/ledger/ledger-json-api ###
|
|
|
|
scala_library(
|
|
name = "community_ledger_ledger-json-api",
|
|
srcs = glob(["community/ledger/ledger-json-api/src/main/scala/**/*.scala"]),
|
|
plugins = [kind_projector_plugin],
|
|
resource_strip_prefix = "canton/community/ledger/ledger-json-api/src/main/resources",
|
|
resources = glob(["community/ledger/ledger-json-api/src/main/resources/**"]),
|
|
scalacopts = [
|
|
"-Xsource:3",
|
|
"-language:postfixOps",
|
|
],
|
|
unused_dependency_checker_mode = "error",
|
|
deps = [
|
|
":bindings-java",
|
|
":community_base",
|
|
":community_ledger_ledger-common",
|
|
":community_util-logging",
|
|
":daml-common-staging_daml-errors",
|
|
":ledger_api_proto_scala",
|
|
":pekko-stream-minus-patched-classes",
|
|
"//daml-lf/api-type-signature",
|
|
"//daml-lf/archive:daml_lf_archive_reader",
|
|
"//daml-lf/archive:daml_lf_dev_archive_proto_java",
|
|
"//daml-lf/data",
|
|
"//daml-lf/language",
|
|
"//daml-lf/transaction",
|
|
"//libs-scala/concurrent",
|
|
"//libs-scala/contextualized-logging",
|
|
"//libs-scala/jwt",
|
|
"//libs-scala/ledger-resources",
|
|
"//libs-scala/logging-entries",
|
|
"//libs-scala/nonempty",
|
|
"//libs-scala/ports",
|
|
"//libs-scala/resources",
|
|
"//libs-scala/resources-grpc",
|
|
"//libs-scala/resources-pekko",
|
|
"//libs-scala/rs-grpc-bridge",
|
|
"//libs-scala/rs-grpc-pekko",
|
|
"//libs-scala/scala-utils",
|
|
"//libs-scala/struct-json/struct-spray-json",
|
|
"//libs-scala/timer-utils",
|
|
"//observability/metrics",
|
|
"//observability/pekko-http-metrics",
|
|
"@maven//:ch_qos_logback_logback_classic",
|
|
"@maven//:ch_qos_logback_logback_core",
|
|
"@maven//:com_chuusai_shapeless_2_13",
|
|
"@maven//:com_github_ben_manes_caffeine_caffeine",
|
|
"@maven//:com_github_pureconfig_pureconfig_core_2_13",
|
|
"@maven//:com_google_guava_guava",
|
|
"@maven//:com_google_protobuf_protobuf_java",
|
|
"@maven//:com_thesamet_scalapb_scalapb_runtime_2_13",
|
|
"@maven//:com_typesafe_config",
|
|
"@maven//:com_typesafe_scala_logging_scala_logging_2_13",
|
|
"@maven//:io_github_paoloboni_spray_json_derived_codecs_2_13",
|
|
"@maven//:io_grpc_grpc_api",
|
|
"@maven//:io_grpc_grpc_stub",
|
|
"@maven//:io_spray_spray_json_2_13",
|
|
"@maven//:junit_junit",
|
|
"@maven//:org_apache_pekko_pekko_actor_2_13",
|
|
"@maven//:org_apache_pekko_pekko_http_2_13",
|
|
"@maven//:org_apache_pekko_pekko_http_core_2_13",
|
|
"@maven//:org_scala_lang_scala_reflect",
|
|
"@maven//:org_scalaz_scalaz_core_2_13",
|
|
"@maven//:org_slf4j_slf4j_api",
|
|
"@maven//:org_typelevel_cats_core_2_13",
|
|
],
|
|
)
|
|
|
|
### community/domain ###
|
|
|
|
proto_library(
|
|
name = "community_domain_proto",
|
|
srcs = glob(["community/domain/src/main/protobuf/**/*.proto"]),
|
|
strip_import_prefix = "community/domain/src/main/protobuf",
|
|
deps = [
|
|
":community_admin-api_proto",
|
|
":community_base_proto",
|
|
"@com_google_protobuf//:duration_proto",
|
|
"@com_google_protobuf//:empty_proto",
|
|
"@com_google_protobuf//:timestamp_proto",
|
|
"@com_google_protobuf//:wrappers_proto",
|
|
"@go_googleapis//google/rpc:status_proto",
|
|
"@scalapb//:scalapb_proto",
|
|
],
|
|
)
|
|
|
|
proto_gen(
|
|
name = "community_domain_proto_scala",
|
|
srcs = [":community_domain_proto"],
|
|
plugin_exec = "//scala-protoc-plugins/scalapb:protoc-gen-scalapb",
|
|
plugin_name = "scalapb",
|
|
plugin_options = [
|
|
"flat_package",
|
|
"grpc",
|
|
],
|
|
)
|
|
|
|
scala_library(
|
|
name = "community_domain",
|
|
srcs = glob(["community/domain/src/main/scala/**/*.scala"]) + [":community_domain_proto_scala"],
|
|
plugins = [kind_projector_plugin],
|
|
scalacopts = [
|
|
"-Xsource:3",
|
|
"-language:postfixOps",
|
|
],
|
|
unused_dependency_checker_mode = "error",
|
|
deps = [
|
|
":bindings-java",
|
|
":community_admin-api",
|
|
":community_base",
|
|
":community_common",
|
|
":community_ledger_ledger-common",
|
|
":community_lib_slick_slick-fork",
|
|
":community_lib_wartremover",
|
|
":community_reference-driver",
|
|
":community_sequencer-driver",
|
|
":community_util-external",
|
|
":community_util-logging",
|
|
":daml-common-staging_daml-errors",
|
|
":ledger_api_proto_scala",
|
|
":pekko-stream-minus-patched-classes",
|
|
":pekko-stream-patch",
|
|
"//daml-lf/data",
|
|
"//daml-lf/transaction",
|
|
"//libs-scala/executors",
|
|
"//libs-scala/nameof",
|
|
"//libs-scala/nonempty",
|
|
"//libs-scala/nonempty-cats",
|
|
"//libs-scala/rs-grpc-bridge",
|
|
"//libs-scala/scala-utils",
|
|
"//observability/metrics",
|
|
"@maven//:com_github_ben_manes_caffeine_caffeine",
|
|
"@maven//:com_github_blemale_scaffeine_2_13",
|
|
"@maven//:com_github_pureconfig_pureconfig_core_2_13",
|
|
"@maven//:com_google_guava_guava",
|
|
"@maven//:com_google_protobuf_protobuf_java",
|
|
"@maven//:com_h2database_h2",
|
|
"@maven//:com_lihaoyi_pprint_2_13",
|
|
"@maven//:com_oracle_database_jdbc_ojdbc8",
|
|
"@maven//:com_thesamet_scalapb_scalapb_runtime_2_13",
|
|
"@maven//:com_typesafe_config",
|
|
"@maven//:com_typesafe_scala_logging_scala_logging_2_13",
|
|
"@maven//:com_typesafe_slick_slick_2_13",
|
|
"@maven//:com_zaxxer_HikariCP",
|
|
"@maven//:dev_optics_monocle_core_2_13",
|
|
"@maven//:dev_optics_monocle_macro_2_13",
|
|
"@maven//:io_circe_circe_core_2_13",
|
|
"@maven//:io_grpc_grpc_api",
|
|
"@maven//:io_grpc_grpc_services",
|
|
"@maven//:io_grpc_grpc_stub",
|
|
"@maven//:io_netty_netty_handler",
|
|
"@maven//:io_opentelemetry_opentelemetry_api",
|
|
"@maven//:junit_junit",
|
|
"@maven//:org_apache_pekko_pekko_actor_2_13",
|
|
"@maven//:org_postgresql_postgresql",
|
|
"@maven//:org_scala_lang_modules_scala_java8_compat_2_13",
|
|
"@maven//:org_scala_lang_scala_reflect",
|
|
"@maven//:org_scalaz_scalaz_core_2_13",
|
|
"@maven//:org_slf4j_slf4j_api",
|
|
"@maven//:org_typelevel_cats_core_2_13",
|
|
"@maven//:org_typelevel_cats_kernel_2_13",
|
|
],
|
|
)
|
|
|
|
### community/participant/ ###
|
|
|
|
proto_library(
|
|
name = "community_participant_proto",
|
|
srcs = glob(["community/participant/src/main/protobuf/**/*.proto"]),
|
|
strip_import_prefix = "community/participant/src/main/protobuf",
|
|
deps = [
|
|
":community_admin-api_proto",
|
|
":community_base_proto",
|
|
"@com_google_protobuf//:duration_proto",
|
|
"@com_google_protobuf//:empty_proto",
|
|
"@com_google_protobuf//:timestamp_proto",
|
|
"@com_google_protobuf//:wrappers_proto",
|
|
"@go_googleapis//google/rpc:status_proto",
|
|
"@scalapb//:scalapb_proto",
|
|
],
|
|
)
|
|
|
|
proto_gen(
|
|
name = "community_participant_proto_scala",
|
|
srcs = [":community_participant_proto"],
|
|
plugin_exec = "//scala-protoc-plugins/scalapb:protoc-gen-scalapb",
|
|
plugin_name = "scalapb",
|
|
plugin_options = [
|
|
"flat_package",
|
|
"grpc",
|
|
],
|
|
)
|
|
|
|
genrule(
|
|
name = "community_participant_admin-workflows_dar",
|
|
srcs = glob(["community/participant/src/main/daml/**/*"]) + [
|
|
"//daml-script/daml3:daml3-script-2.1.dar",
|
|
],
|
|
outs = ["AdminWorkflows.dar"],
|
|
cmd = """
|
|
set -euo pipefail
|
|
project_dir=$$(dirname $(location community/participant/src/main/daml/daml.yaml))
|
|
tmpdir=$$(mktemp -d)
|
|
trap "rm -rf $$tmpdir" EXIT
|
|
cp -r $$project_dir/* $$tmpdir
|
|
cp $(location //daml-script/daml3:daml3-script-2.1.dar) $$tmpdir
|
|
sed -i 's/sdk-version:.*/sdk-version: {sdk_version}/' $$tmpdir/daml.yaml
|
|
sed -i 's/daml3-script/daml3-script-2.1.dar/' $$tmpdir/daml.yaml
|
|
$(location //compiler/damlc) build --project-root=$$tmpdir --ghc-option=-Werror -o $$PWD/$@
|
|
""".format(sdk_version = sdk_version),
|
|
tools = ["//compiler/damlc"],
|
|
visibility = ["//visibility:public"],
|
|
)
|
|
|
|
dar_to_java(
|
|
name = "community_participant_admin-workflows_java",
|
|
src = ":community_participant_admin-workflows_dar",
|
|
package_prefix = "com.digitalasset.canton.participant.admin.workflows.java",
|
|
)
|
|
|
|
copy_file(
|
|
name = "ledger-api-version-file",
|
|
src = ":api-version-files",
|
|
out = "VERSION",
|
|
)
|
|
|
|
scala_library(
|
|
name = "community_participant",
|
|
srcs = glob(["community/participant/src/main/scala/**/*.scala"]) + [
|
|
":community_participant_proto_scala",
|
|
],
|
|
plugins = [kind_projector_plugin],
|
|
resource_strip_prefix = "canton",
|
|
resources = [
|
|
":community_participant_admin-workflows_dar",
|
|
":ledger-api-version-file",
|
|
],
|
|
scalacopts = [
|
|
"-Xsource:3",
|
|
"-language:postfixOps",
|
|
],
|
|
unused_dependency_checker_mode = "error",
|
|
exports = [
|
|
"@maven//:io_netty_netty_handler",
|
|
],
|
|
deps = [
|
|
":bindings-java",
|
|
":community_admin-api",
|
|
":community_base",
|
|
":community_common",
|
|
":community_ledger_ledger-api-core",
|
|
":community_ledger_ledger-common",
|
|
":community_ledger_ledger-json-api",
|
|
":community_lib_slick_slick-fork",
|
|
":community_lib_wartremover",
|
|
":community_participant_admin-workflows_java",
|
|
":community_util-external",
|
|
":community_util-logging",
|
|
":daml-common-staging_daml-errors",
|
|
":ledger_api_proto_scala",
|
|
":pekko-stream-minus-patched-classes",
|
|
"//daml-lf/archive:daml_lf_archive_reader",
|
|
"//daml-lf/archive:daml_lf_dev_archive_proto_java",
|
|
"//daml-lf/data",
|
|
"//daml-lf/engine",
|
|
"//daml-lf/language",
|
|
"//daml-lf/transaction",
|
|
"//libs-scala/contextualized-logging",
|
|
"//libs-scala/executors",
|
|
"//libs-scala/jwt",
|
|
"//libs-scala/ledger-resources",
|
|
"//libs-scala/logging-entries",
|
|
"//libs-scala/nameof",
|
|
"//libs-scala/nonempty",
|
|
"//libs-scala/nonempty-cats",
|
|
"//libs-scala/resources",
|
|
"//libs-scala/resources-grpc",
|
|
"//libs-scala/resources-pekko",
|
|
"//libs-scala/rs-grpc-bridge",
|
|
"//libs-scala/scala-utils",
|
|
"//observability/metrics",
|
|
"//observability/tracing",
|
|
"@maven//:com_auth0_java_jwt",
|
|
"@maven//:com_github_ben_manes_caffeine_caffeine",
|
|
"@maven//:com_github_blemale_scaffeine_2_13",
|
|
"@maven//:com_github_pathikrit_better_files_2_13",
|
|
"@maven//:com_github_pureconfig_pureconfig_core_2_13",
|
|
"@maven//:com_google_guava_guava",
|
|
"@maven//:com_google_protobuf_protobuf_java",
|
|
"@maven//:com_lihaoyi_pprint_2_13",
|
|
"@maven//:com_thesamet_scalapb_scalapb_runtime_2_13",
|
|
"@maven//:com_typesafe_config",
|
|
"@maven//:com_typesafe_scala_logging_scala_logging_2_13",
|
|
"@maven//:com_typesafe_slick_slick_2_13",
|
|
"@maven//:dev_optics_monocle_core_2_13",
|
|
"@maven//:dev_optics_monocle_macro_2_13",
|
|
"@maven//:io_circe_circe_core_2_13",
|
|
"@maven//:io_grpc_grpc_api",
|
|
"@maven//:io_grpc_grpc_netty",
|
|
"@maven//:io_grpc_grpc_services",
|
|
"@maven//:io_grpc_grpc_stub",
|
|
"@maven//:io_netty_netty_handler",
|
|
"@maven//:io_opentelemetry_instrumentation_opentelemetry_grpc_1_6",
|
|
"@maven//:io_opentelemetry_opentelemetry_api",
|
|
"@maven//:io_opentelemetry_opentelemetry_context",
|
|
"@maven//:io_scalaland_chimney_2_13",
|
|
"@maven//:junit_junit",
|
|
"@maven//:org_apache_pekko_pekko_actor_2_13",
|
|
"@maven//:org_scala_lang_modules_scala_collection_compat_2_13",
|
|
"@maven//:org_scala_lang_scala_reflect",
|
|
"@maven//:org_scalaz_scalaz_core_2_13",
|
|
"@maven//:org_slf4j_slf4j_api",
|
|
"@maven//:org_typelevel_cats_core_2_13",
|
|
"@maven//:org_typelevel_cats_kernel_2_13",
|
|
],
|
|
)
|
|
|
|
### community/drivers/reference
|
|
|
|
scala_library(
|
|
name = "community_reference-driver",
|
|
srcs = glob(["community/drivers/reference/src/main/scala/**/*.scala"]) + [":community_reference-driver_proto_scala"],
|
|
resource_strip_prefix = "/canton/community/drivers/reference/src/main/resources",
|
|
resources = glob(["community/drivers/reference/src/main/resources/**"]),
|
|
scalacopts = [
|
|
"-Xsource:3",
|
|
"-language:postfixOps",
|
|
],
|
|
unused_dependency_checker_mode = "error",
|
|
deps = [
|
|
":community_base",
|
|
":community_common",
|
|
":community_lib_slick_slick-fork",
|
|
":community_sequencer-driver",
|
|
":community_util-external",
|
|
":community_util-logging",
|
|
":daml-common-staging_daml-errors",
|
|
":pekko-stream-minus-patched-classes",
|
|
"//daml-lf/data",
|
|
"//observability/metrics",
|
|
"@maven//:com_chuusai_shapeless_2_13",
|
|
"@maven//:com_github_pureconfig_pureconfig_core_2_13",
|
|
"@maven//:com_github_pureconfig_pureconfig_generic_2_13",
|
|
"@maven//:com_google_guava_guava",
|
|
"@maven//:com_google_protobuf_protobuf_java",
|
|
"@maven//:com_thesamet_scalapb_lenses_2_13",
|
|
"@maven//:com_thesamet_scalapb_scalapb_runtime_2_13",
|
|
"@maven//:com_typesafe_config",
|
|
"@maven//:com_typesafe_scala_logging_scala_logging_2_13",
|
|
"@maven//:com_typesafe_slick_slick_2_13",
|
|
"@maven//:dev_optics_monocle_core_2_13",
|
|
"@maven//:dev_optics_monocle_macro_2_13",
|
|
"@maven//:io_circe_circe_core_2_13",
|
|
"@maven//:io_grpc_grpc_api",
|
|
"@maven//:io_scalaland_chimney_2_13",
|
|
"@maven//:org_apache_pekko_pekko_actor_2_13",
|
|
"@maven//:org_postgresql_postgresql",
|
|
"@maven//:org_slf4j_slf4j_api",
|
|
"@maven//:org_typelevel_cats_core_2_13",
|
|
"@maven//:org_typelevel_cats_kernel_2_13",
|
|
],
|
|
)
|
|
|
|
proto_library(
|
|
name = "community_reference-driver_proto",
|
|
srcs = glob(["community/drivers/reference/src/main/protobuf/**/*.proto"]),
|
|
strip_import_prefix = "community/drivers/reference/src/main/protobuf",
|
|
deps = [
|
|
"@com_google_protobuf//:duration_proto",
|
|
"@com_google_protobuf//:empty_proto",
|
|
"@com_google_protobuf//:timestamp_proto",
|
|
"@com_google_protobuf//:wrappers_proto",
|
|
"@go_googleapis//google/rpc:status_proto",
|
|
"@scalapb//:scalapb_proto",
|
|
],
|
|
)
|
|
|
|
proto_gen(
|
|
name = "community_reference-driver_proto_scala",
|
|
srcs = [":community_reference-driver_proto"],
|
|
plugin_exec = "//scala-protoc-plugins/scalapb:protoc-gen-scalapb",
|
|
plugin_name = "scalapb",
|
|
plugin_options = [
|
|
"flat_package",
|
|
],
|
|
)
|
|
|
|
### community/sequencer-driver
|
|
|
|
scala_library(
|
|
name = "community_sequencer-driver",
|
|
srcs = glob(["community/sequencer-driver/src/main/scala/**/*.scala"]),
|
|
resource_strip_prefix = "/canton/community/sequencer-driver/src/main/resources",
|
|
resources = glob(["community/sequencer-driver/src/main/resources/**"]),
|
|
scalacopts = [
|
|
"-Xsource:3",
|
|
"-language:postfixOps",
|
|
],
|
|
unused_dependency_checker_mode = "error",
|
|
deps = [
|
|
":community_util-external",
|
|
":community_util-logging",
|
|
":pekko-stream-minus-patched-classes",
|
|
"//daml-lf/data",
|
|
"@maven//:com_github_pureconfig_pureconfig_core_2_13",
|
|
"@maven//:com_google_protobuf_protobuf_java",
|
|
"@maven//:com_typesafe_scala_logging_scala_logging_2_13",
|
|
"@maven//:io_grpc_grpc_api",
|
|
"@maven//:org_slf4j_slf4j_api",
|
|
],
|
|
)
|
|
|
|
### community/app-base ###
|
|
|
|
scala_library(
|
|
name = "community_app-base",
|
|
srcs = glob(["community/app-base/src/main/scala/**/*.scala"]),
|
|
resource_strip_prefix = "/canton/community/app-base/src/main/resources",
|
|
resources = glob(["community/app-base/src/main/resources/**"]),
|
|
scalacopts = [
|
|
"-Xsource:3",
|
|
"-language:postfixOps",
|
|
],
|
|
unused_dependency_checker_mode = "error",
|
|
runtime_deps = [":community_reference-driver"],
|
|
deps = [
|
|
":bindings-java",
|
|
":community_base",
|
|
":community_common",
|
|
":community_domain",
|
|
":community_ledger_ledger-api-core",
|
|
":community_ledger_ledger-common",
|
|
":community_ledger_ledger-json-api",
|
|
":community_lib_wartremover",
|
|
":community_participant",
|
|
":community_sequencer-driver",
|
|
":community_util-external",
|
|
":community_util-logging",
|
|
":daml-common-staging_daml-errors",
|
|
":ledger_api_proto_scala",
|
|
":pekko-stream-minus-patched-classes",
|
|
"//daml-lf/data",
|
|
"//daml-lf/transaction",
|
|
"//libs-scala/contextualized-logging",
|
|
"//libs-scala/executors",
|
|
"//libs-scala/jwt",
|
|
"//libs-scala/logging-entries",
|
|
"//libs-scala/nameof",
|
|
"//libs-scala/nonempty",
|
|
"//libs-scala/nonempty-cats",
|
|
"//libs-scala/rs-grpc-bridge",
|
|
"//libs-scala/scala-utils",
|
|
"//observability/metrics",
|
|
"@maven//:ch_qos_logback_logback_classic",
|
|
"@maven//:ch_qos_logback_logback_core",
|
|
"@maven//:com_chuusai_shapeless_2_13",
|
|
"@maven//:com_fasterxml_jackson_core_jackson_core",
|
|
"@maven//:com_github_pathikrit_better_files_2_13",
|
|
"@maven//:com_github_pureconfig_pureconfig_cats_2_13",
|
|
"@maven//:com_github_pureconfig_pureconfig_core_2_13",
|
|
"@maven//:com_github_pureconfig_pureconfig_generic_2_13",
|
|
"@maven//:com_google_api_grpc_proto_google_common_protos",
|
|
"@maven//:com_google_guava_guava",
|
|
"@maven//:com_google_protobuf_protobuf_java",
|
|
"@maven//:com_lihaoyi_ammonite_2_13_11",
|
|
"@maven//:com_lihaoyi_ammonite_compiler_interface_2_13_11",
|
|
"@maven//:com_lihaoyi_ammonite_repl_2_13_11",
|
|
"@maven//:com_lihaoyi_ammonite_runtime_2_13_11",
|
|
"@maven//:com_lihaoyi_ammonite_util_2_13",
|
|
"@maven//:com_lihaoyi_os_lib_2_13",
|
|
"@maven//:com_lihaoyi_pprint_2_13",
|
|
"@maven//:com_thesamet_scalapb_scalapb_runtime_2_13",
|
|
"@maven//:com_typesafe_config",
|
|
"@maven//:com_typesafe_scala_logging_scala_logging_2_13",
|
|
"@maven//:com_typesafe_slick_slick_2_13",
|
|
"@maven//:dev_optics_monocle_core_2_13",
|
|
"@maven//:dev_optics_monocle_macro_2_13",
|
|
"@maven//:io_circe_circe_core_2_13",
|
|
"@maven//:io_circe_circe_generic_2_13",
|
|
"@maven//:io_circe_circe_jawn_2_13",
|
|
"@maven//:io_grpc_grpc_api",
|
|
"@maven//:io_grpc_grpc_services",
|
|
"@maven//:io_grpc_grpc_stub",
|
|
"@maven//:io_opentelemetry_instrumentation_opentelemetry_runtime_telemetry_java8",
|
|
"@maven//:io_opentelemetry_opentelemetry_api",
|
|
"@maven//:io_opentelemetry_opentelemetry_exporter_common",
|
|
"@maven//:io_opentelemetry_opentelemetry_exporter_otlp_common",
|
|
"@maven//:io_opentelemetry_opentelemetry_exporter_prometheus",
|
|
"@maven//:io_opentelemetry_opentelemetry_sdk",
|
|
"@maven//:io_opentelemetry_opentelemetry_sdk_common",
|
|
"@maven//:io_opentelemetry_opentelemetry_sdk_metrics",
|
|
"@maven//:io_scalaland_chimney_2_13",
|
|
"@maven//:junit_junit",
|
|
"@maven//:org_apache_pekko_pekko_actor_2_13",
|
|
"@maven//:org_scalaz_scalaz_core_2_13",
|
|
"@maven//:org_slf4j_jul_to_slf4j",
|
|
"@maven//:org_slf4j_slf4j_api",
|
|
"@maven//:org_typelevel_cats_core_2_13",
|
|
"@maven//:org_typelevel_cats_kernel_2_13",
|
|
],
|
|
)
|
|
|
|
### community/app ###
|
|
|
|
scala_library(
|
|
name = "community_app-lib",
|
|
srcs = glob(["community/app/src/main/scala/**/*.scala"]),
|
|
resource_strip_prefix = "/canton/community/app/src/main/resources",
|
|
resources = glob(["community/app/src/main/resources/**"]),
|
|
scalacopts = [
|
|
"-Xsource:3",
|
|
"-language:postfixOps",
|
|
],
|
|
unused_dependency_checker_mode = "error",
|
|
visibility = ["//visibility:public"],
|
|
runtime_deps = [
|
|
"@maven//:org_codehaus_janino_janino", # for parsing conditionals in logback configuration
|
|
],
|
|
deps = [
|
|
":community_app-base",
|
|
":community_base",
|
|
":community_buildinfo",
|
|
":community_common",
|
|
":community_domain",
|
|
":community_ledger_ledger-api-core",
|
|
":community_ledger_ledger-json-api",
|
|
":community_participant",
|
|
":community_util-external",
|
|
":community_util-logging",
|
|
":daml-common-staging_daml-errors",
|
|
":pekko-stream-minus-patched-classes",
|
|
"//daml-lf/data",
|
|
"//libs-scala/jwt",
|
|
"//libs-scala/nonempty",
|
|
"//libs-scala/rs-grpc-bridge",
|
|
"//observability/metrics",
|
|
"@maven//:ch_qos_logback_logback_classic",
|
|
"@maven//:ch_qos_logback_logback_core",
|
|
"@maven//:com_github_pathikrit_better_files_2_13",
|
|
"@maven//:com_github_pureconfig_pureconfig_core_2_13",
|
|
"@maven//:com_github_scopt_scopt_2_13",
|
|
"@maven//:com_lihaoyi_ammonite_2_13_11",
|
|
"@maven//:com_lihaoyi_ammonite_compiler_2_13_11",
|
|
"@maven//:com_lihaoyi_ammonite_compiler_interface_2_13_11",
|
|
"@maven//:com_lihaoyi_ammonite_interp_2_13_11",
|
|
"@maven//:com_lihaoyi_ammonite_interp_api_2_13_11",
|
|
"@maven//:com_lihaoyi_ammonite_repl_2_13_11",
|
|
"@maven//:com_lihaoyi_ammonite_runtime_2_13_11",
|
|
"@maven//:com_lihaoyi_ammonite_util_2_13",
|
|
"@maven//:com_lihaoyi_os_lib_2_13",
|
|
"@maven//:com_typesafe_config",
|
|
"@maven//:com_typesafe_scala_logging_scala_logging_2_13",
|
|
"@maven//:io_get_coursier_interface",
|
|
"@maven//:io_opentelemetry_opentelemetry_api",
|
|
"@maven//:junit_junit",
|
|
"@maven//:org_apache_pekko_pekko_actor_2_13",
|
|
"@maven//:org_scalaz_scalaz_core_2_13",
|
|
"@maven//:org_slf4j_slf4j_api",
|
|
"@maven//:org_typelevel_cats_core_2_13",
|
|
],
|
|
)
|
|
|
|
scala_binary(
|
|
name = "community_app",
|
|
main_class = "com.digitalasset.canton.CantonCommunityApp",
|
|
visibility = ["//visibility:public"],
|
|
deps = [":community_app-lib"],
|
|
)
|
|
|
|
proto_gen(
|
|
name = "ledger-api-java",
|
|
srcs = [":ledger_api_proto"],
|
|
plugin_name = "java",
|
|
visibility = [
|
|
"//visibility:public",
|
|
],
|
|
)
|
|
|
|
# this is only needed for the uber-javadoc in //language-support/java:javadoc
|
|
java_library(
|
|
name = "ledger-api-java-lib-for-javadocs",
|
|
srcs = [
|
|
":ledger-api-java",
|
|
":ledger-api-java-grpc",
|
|
],
|
|
visibility = [
|
|
"//visibility:public",
|
|
],
|
|
deps = [
|
|
"@maven//:com_google_api_grpc_proto_google_common_protos",
|
|
"@maven//:com_google_guava_guava",
|
|
"@maven//:com_google_protobuf_protobuf_java",
|
|
"@maven//:io_grpc_grpc_api",
|
|
"@maven//:io_grpc_grpc_core",
|
|
"@maven//:io_grpc_grpc_netty",
|
|
"@maven//:io_grpc_grpc_protobuf",
|
|
"@maven//:io_grpc_grpc_stub",
|
|
"@maven//:javax_annotation_javax_annotation_api",
|
|
],
|
|
)
|
|
|
|
proto_gen(
|
|
name = "ledger-api-java-grpc",
|
|
srcs = [":ledger_api_proto"],
|
|
plugin_exec = "@io_grpc_grpc_java//compiler:grpc_java_plugin",
|
|
plugin_name = "java-grpc",
|
|
visibility = [
|
|
"//visibility:public",
|
|
],
|
|
)
|
|
|
|
da_java_library(
|
|
name = "bindings-java",
|
|
srcs = glob(["community/bindings-java/src/main/java/**/*.java"]) + [
|
|
":ledger-api-java",
|
|
":ledger-api-java-grpc",
|
|
],
|
|
javacopts = da_java_bindings_javacopts,
|
|
tags = [
|
|
"javadoc_root_packages=com.daml.ledger.javaapi.data",
|
|
"maven_coordinates=com.daml:bindings-java:__VERSION__",
|
|
],
|
|
visibility = [
|
|
"//visibility:public",
|
|
],
|
|
deps = [
|
|
"@maven//:com_fasterxml_jackson_core_jackson_core",
|
|
"@maven//:com_google_api_grpc_proto_google_common_protos",
|
|
"@maven//:com_google_code_findbugs_jsr305",
|
|
"@maven//:com_google_guava_guava",
|
|
"@maven//:com_google_protobuf_protobuf_java",
|
|
"@maven//:io_grpc_grpc_api",
|
|
"@maven//:io_grpc_grpc_core",
|
|
"@maven//:io_grpc_grpc_netty",
|
|
"@maven//:io_grpc_grpc_protobuf",
|
|
"@maven//:io_grpc_grpc_stub",
|
|
"@maven//:javax_annotation_javax_annotation_api",
|
|
"@maven//:org_checkerframework_checker_qual",
|
|
"@maven//:org_slf4j_slf4j_api",
|
|
],
|
|
)
|
|
|
|
java_test_suite(
|
|
name = "bindings-java-java-tests",
|
|
srcs = glob(["community/bindings-java/src/test/java/**/*Test.java"]),
|
|
strip = "src/test/java/",
|
|
use_short_names = is_windows,
|
|
deps = [
|
|
":bindings-java",
|
|
":bindings-java-test-helpers",
|
|
"@maven//:com_google_protobuf_protobuf_java",
|
|
"@maven//:org_junit_jupiter_junit_jupiter_api",
|
|
"@maven//:org_junit_jupiter_junit_jupiter_engine",
|
|
"@maven//:org_junit_platform_junit_platform_runner",
|
|
],
|
|
)
|
|
|
|
java_library(
|
|
name = "bindings-java-test-helpers",
|
|
testonly = True,
|
|
srcs = glob(["community/bindings-java/src/test/java/**/TestHelpers.java"]),
|
|
deps = [":bindings-java"],
|
|
)
|
|
|
|
da_scala_library(
|
|
name = "bindings-java-tests-lib",
|
|
srcs = glob(
|
|
["community/bindings-java/src/test/**/*.scala"],
|
|
exclude = [
|
|
"community/bindings-java/src/test/**/*Spec.scala",
|
|
"community/bindings-java/src/test/**/*Test.scala",
|
|
],
|
|
),
|
|
scala_deps = [
|
|
"@maven//:org_scalacheck_scalacheck",
|
|
],
|
|
scalacopts = [
|
|
"-Xsource:3",
|
|
"-language:postfixOps",
|
|
],
|
|
deps = [
|
|
":bindings-java",
|
|
"@maven//:com_google_api_grpc_proto_google_common_protos",
|
|
"@maven//:com_google_protobuf_protobuf_java",
|
|
],
|
|
)
|
|
|
|
da_scala_test_suite(
|
|
name = "bindings-java-tests",
|
|
srcs = glob([
|
|
"community/bindings-java/src/test/**/*Spec.scala",
|
|
"community/bindings-java/src/test/**/*Test.scala",
|
|
]),
|
|
scala_deps = [
|
|
"@maven//:org_scalacheck_scalacheck",
|
|
"@maven//:org_scalatest_scalatest_core",
|
|
"@maven//:org_scalatest_scalatest_matchers_core",
|
|
"@maven//:org_scalatest_scalatest_shouldmatchers",
|
|
"@maven//:org_scalatestplus_scalacheck_1_15",
|
|
],
|
|
scalacopts = [
|
|
"-Xsource:3",
|
|
"-language:postfixOps",
|
|
],
|
|
deps = [
|
|
":bindings-java",
|
|
":bindings-java-tests-lib",
|
|
"@maven//:com_google_api_grpc_proto_google_common_protos",
|
|
"@maven//:com_google_protobuf_protobuf_java",
|
|
"@maven//:org_scalatest_scalatest_compatible",
|
|
],
|
|
)
|
|
|
|
filegroup(
|
|
name = "bindings-java-sources",
|
|
srcs = glob(["community/bindings-java/src/main/java/**/*.java"]),
|
|
visibility = ["//visibility:public"],
|
|
)
|
|
|
|
filegroup(
|
|
name = "api-version-files",
|
|
srcs = [
|
|
"community/ledger-api/VERSION",
|
|
],
|
|
visibility = [
|
|
"//visibility:public",
|
|
],
|
|
)
|
|
|
|
ledger_api_root = "canton/community/ledger-api"
|
|
|
|
ledger_api_proto_source_root = "canton/community/ledger-api/src/main/protobuf"
|
|
|
|
proto_jars(
|
|
name = "ledger_api_proto",
|
|
srcs = glob(["community/ledger-api/src/main/protobuf/com/daml/ledger/api/v*/**/*.proto"]),
|
|
grpc = True,
|
|
java_conversions = True,
|
|
maven_artifact_prefix = "ledger-api",
|
|
maven_artifact_scala_suffix = "scalapb",
|
|
maven_group = "com.daml",
|
|
strip_import_prefix = "community/ledger-api/src/main/protobuf",
|
|
visibility = ["//visibility:public"],
|
|
deps = [
|
|
"@com_google_protobuf//:any_proto",
|
|
"@com_google_protobuf//:descriptor_proto",
|
|
"@com_google_protobuf//:duration_proto",
|
|
"@com_google_protobuf//:empty_proto",
|
|
"@com_google_protobuf//:field_mask_proto",
|
|
"@com_google_protobuf//:struct_proto",
|
|
"@com_google_protobuf//:timestamp_proto",
|
|
"@com_google_protobuf//:wrappers_proto",
|
|
"@go_googleapis//google/rpc:errdetails_proto",
|
|
"@go_googleapis//google/rpc:status_proto",
|
|
],
|
|
)
|
|
|
|
google_protobuf_src = "external/com_google_protobuf/src"
|
|
|
|
genrule(
|
|
name = "google-protobuf-haskellpb-sources",
|
|
srcs = ["@com_google_protobuf//:well_known_type_protos"],
|
|
outs = ["Google/Protobuf/" + b for b in [
|
|
"Any.hs",
|
|
"Duration.hs",
|
|
"Empty.hs",
|
|
"Wrappers.hs",
|
|
"Struct.hs",
|
|
"FieldMask.hs",
|
|
]],
|
|
cmd = """
|
|
for src in \
|
|
external/com_google_protobuf/src/google/protobuf/any.proto \
|
|
external/com_google_protobuf/src/google/protobuf/duration.proto \
|
|
external/com_google_protobuf/src/google/protobuf/empty.proto \
|
|
external/com_google_protobuf/src/google/protobuf/wrappers.proto \
|
|
external/com_google_protobuf/src/google/protobuf/struct.proto \
|
|
external/com_google_protobuf/src/google/protobuf/field_mask.proto \
|
|
; do
|
|
$(location @proto3-suite//:compile-proto-file) \
|
|
--includeDir """ + google_protobuf_src + """ \
|
|
--proto google/protobuf/$$(basename $$src) \
|
|
--out $(@D)
|
|
done
|
|
""",
|
|
tools = [
|
|
"@proto3-suite//:compile-proto-file",
|
|
],
|
|
visibility = ["//visibility:public"],
|
|
)
|
|
|
|
google_rpc_src = "external/go_googleapis"
|
|
|
|
genrule(
|
|
name = "google-rpc-haskellpb-sources",
|
|
srcs = [
|
|
"@go_googleapis//google/rpc:status.proto",
|
|
"@com_google_protobuf//:well_known_type_protos",
|
|
],
|
|
outs = ["Google/Rpc/Status.hs"],
|
|
cmd = """
|
|
$(location @proto3-suite//:compile-proto-file) \
|
|
--includeDir """ + google_protobuf_src + """ \
|
|
--includeDir """ + google_rpc_src + """ \
|
|
--proto google/rpc/status.proto \
|
|
--out $$(dirname $$(dirname $(@D)))
|
|
#2x dirname because @D works differently for a single output
|
|
""",
|
|
tools = [
|
|
"@proto3-suite//:compile-proto-file",
|
|
],
|
|
visibility = ["//visibility:public"],
|
|
)
|
|
|
|
filegroup(
|
|
name = "ledger-api-protos-fg",
|
|
srcs = glob(
|
|
[
|
|
"community/ledger-api/src/main/protobuf/com/daml/ledger/api/v2/*.proto",
|
|
],
|
|
),
|
|
visibility = ["//visibility:private"],
|
|
)
|
|
|
|
# Minimal set of ledger-api services we need for hs-bindings
|
|
ledger_api_haskellpb_sources = [
|
|
"V2/PackageService.hs",
|
|
]
|
|
|
|
genrule(
|
|
name = "ledger-api-haskellpb-sources",
|
|
srcs = [
|
|
"@com_google_protobuf//:well_known_type_protos",
|
|
"@go_googleapis//google/rpc:status.proto",
|
|
":ledger-api-protos-fg",
|
|
],
|
|
outs = ["Com/Daml/Ledger/Api/V2/PackageService.hs"],
|
|
cmd = """
|
|
for src in $(locations :ledger-api-protos-fg); do
|
|
$(location @proto3-suite//:compile-proto-file) \
|
|
--includeDir """ + google_protobuf_src + """ \
|
|
--includeDir """ + google_rpc_src + """ \
|
|
--includeDir """ + ledger_api_proto_source_root + """ \
|
|
--proto com/daml/ledger/api/v2/$$(basename $$src) \
|
|
--out $(@D)
|
|
cp -ruv $(@D)/Com/Daml/Ledger/Api/V2/* $(@D)
|
|
done
|
|
""",
|
|
tools = [
|
|
"@proto3-suite//:compile-proto-file",
|
|
],
|
|
)
|
|
|
|
filegroup(
|
|
name = "ledger-api-protos-fg-admin",
|
|
srcs = glob(
|
|
["community/ledger-api/src/main/protobuf/com/daml/ledger/api/v2/admin/*.proto"],
|
|
exclude = ["community/ledger-api/src/main/protobuf/com/daml/ledger/api/v2/admin/participant_pruning_service.proto"], # TODO: haskell grpc client for participant pruning
|
|
),
|
|
visibility = ["//visibility:private"],
|
|
)
|
|
|
|
ledger_api_haskellpb_sources_admin = [
|
|
"PackageManagementService.hs",
|
|
"PartyManagementService.hs",
|
|
"MeteringReportService.hs",
|
|
"ObjectMeta.hs",
|
|
"UserManagementService.hs",
|
|
]
|
|
|
|
genrule(
|
|
name = "ledger-api-haskellpb-sources-admin",
|
|
srcs = [
|
|
"@com_google_protobuf//:well_known_type_protos",
|
|
"@go_googleapis//google/rpc:status.proto",
|
|
":ledger-api-protos-fg-admin",
|
|
],
|
|
outs = ["Com/Daml/Ledger/Api/V2/Admin/" + b for b in ledger_api_haskellpb_sources_admin],
|
|
cmd = """
|
|
for src in $(locations :ledger-api-protos-fg-admin); do
|
|
$(location @proto3-suite//:compile-proto-file) \
|
|
--includeDir """ + google_protobuf_src + """ \
|
|
--includeDir """ + google_rpc_src + """ \
|
|
--includeDir """ + ledger_api_proto_source_root + """ \
|
|
--proto com/daml/ledger/api/v2/admin/$$(basename $$src) \
|
|
--out $(@D)
|
|
done
|
|
""",
|
|
tools = [
|
|
"@proto3-suite//:compile-proto-file",
|
|
],
|
|
)
|
|
|
|
filegroup(
|
|
name = "all-ledger-api-haskellpb-sources",
|
|
srcs = [
|
|
":google-protobuf-haskellpb-sources",
|
|
":google-rpc-haskellpb-sources",
|
|
":ledger-api-haskellpb-sources",
|
|
":ledger-api-haskellpb-sources-admin",
|
|
],
|
|
visibility = ["//visibility:public"],
|
|
)
|
|
|
|
da_haskell_library(
|
|
name = "ledger-api-haskellpb",
|
|
srcs = [
|
|
":all-ledger-api-haskellpb-sources",
|
|
],
|
|
compiler_flags = [
|
|
"-O0",
|
|
],
|
|
hackage_deps = [
|
|
"base",
|
|
"bytestring",
|
|
"containers",
|
|
"deepseq",
|
|
"grpc-haskell",
|
|
"grpc-haskell-core",
|
|
"proto3-suite",
|
|
"proto3-wire",
|
|
"text",
|
|
"vector",
|
|
],
|
|
visibility = ["//visibility:public"],
|
|
)
|
|
|
|
proto_gen(
|
|
name = "ledger-api-docs-proto",
|
|
srcs = [":ledger_api_proto"],
|
|
plugin_exec = "@com_github_pseudomuto_protoc_gen_doc//cmd/protoc-gen-doc:protoc-gen-doc",
|
|
plugin_name = "doc",
|
|
plugin_options = [
|
|
ledger_api_root + "/docs/rst_mmd.tmpl",
|
|
"docs.rst",
|
|
],
|
|
# this is _slightly_ hacky. we need to include the markdown template in the plugin_runfiles
|
|
# and refer to the file with a workspace relative path in plugin_options
|
|
plugin_runfiles = ["community/ledger-api/docs/rst_mmd.tmpl"],
|
|
visibility = [
|
|
"//visibility:public",
|
|
],
|
|
)
|
|
|
|
genrule(
|
|
name = "ledger-api-docs",
|
|
srcs = [":ledger-api-docs-proto"],
|
|
outs = ["proto-docs.rst"],
|
|
cmd = """
|
|
unzip -q $(location :ledger-api-docs-proto)
|
|
$(location community/ledger-api/docs/post-process.sh)
|
|
mv docs.rst '$@'
|
|
""",
|
|
tools = ["community/ledger-api/docs/post-process.sh"],
|
|
visibility = ["//visibility:public"],
|
|
)
|