daml/daml-lf/transaction/BUILD.bazel
Sergey Kisel 9a27edd656
Improve MessageDigest and Mac instance creation to solve lock contention [DPP-956] (#13221)
* Improve MessageDigest and Mac instance creation to solve lock contention problem [DPP-956]

changelog_begin
Scalability bottleneck in regard to hashing has been fixed in multiple places.
changelog_end
2022-03-09 22:15:32 +01:00

133 lines
3.4 KiB
Python

# Copyright (c) 2022 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
load("//bazel_tools:proto.bzl", "proto_jars")
load(
"//bazel_tools:scala.bzl",
"da_scala_library",
"da_scala_test",
"lf_scalacopts",
"lf_scalacopts_stricter",
)
#
# Transaction and value protocol buffers
#
proto_jars(
name = "value_proto",
srcs = ["src/main/protobuf/com/daml/lf/value.proto"],
maven_artifact_prefix = "daml-lf-value",
maven_group = "com.daml",
strip_import_prefix = "src/main/protobuf/",
visibility = ["//visibility:public"],
deps = [
"@com_google_protobuf//:empty_proto",
],
)
proto_jars(
name = "transaction_proto",
srcs = ["src/main/protobuf/com/daml/lf/transaction.proto"],
maven_artifact_prefix = "daml-lf-transaction",
maven_group = "com.daml",
proto_deps = [
":value_proto",
],
strip_import_prefix = "src/main/protobuf/",
visibility = ["//visibility:public"],
)
#
# Transaction library providing a high-level scala transaction
# data structure and associated utilities.
#
da_scala_library(
name = "transaction",
srcs = glob(["src/main/**/*.scala"]),
scala_deps = [
"@maven//:org_scalaz_scalaz_core",
],
scalacopts = lf_scalacopts_stricter,
tags = ["maven_coordinates=com.daml:daml-lf-transaction:__VERSION__"],
visibility = ["//visibility:public"],
deps = [
":transaction_proto_java",
":value_proto_java",
"//daml-lf/data",
"//daml-lf/language",
"//libs-scala/crypto",
"//libs-scala/nameof",
"//libs-scala/safe-proto",
"//libs-scala/scala-utils",
"@maven//:com_google_protobuf_protobuf_java",
],
)
da_scala_test(
name = "value-test",
srcs = glob([
"src/test/**/value/*.scala",
"src/test/**/EitherAssertions.scala",
]),
max_heap_size = "3g",
scala_deps = [
"@maven//:com_chuusai_shapeless",
"@maven//:org_scalacheck_scalacheck",
"@maven//:org_scalatestplus_scalacheck_1_15",
"@maven//:org_scalaz_scalaz_core",
"@maven//:org_scalaz_scalaz_scalacheck_binding",
],
scalacopts = lf_scalacopts,
deps = [
":transaction",
":value_proto_java",
"//daml-lf/data",
"//daml-lf/interface",
"//daml-lf/transaction-test-lib",
"@maven//:com_google_protobuf_protobuf_java",
],
)
da_scala_test(
name = "transaction-test",
size = "medium",
srcs = glob([
"src/test/**/EitherAssertions.scala",
"src/test/**/crypto/*.scala",
"src/test/**/transaction/*.scala",
]),
scala_deps = [
"@maven//:com_chuusai_shapeless",
"@maven//:org_scalacheck_scalacheck",
"@maven//:org_scalatestplus_scalacheck_1_15",
"@maven//:org_scalaz_scalaz_core",
],
scalacopts = lf_scalacopts,
deps = [
":transaction",
":transaction_proto_java",
":value_proto_java",
"//daml-lf/data",
"//daml-lf/interface",
"//daml-lf/language",
"//daml-lf/transaction-test-lib",
"@maven//:com_google_protobuf_protobuf_java",
],
)
da_scala_test(
name = "validation-test",
size = "medium",
srcs = glob([
"src/test/**/validation/*.scala",
]),
scalacopts = lf_scalacopts,
deps = [
":transaction",
"//daml-lf/data",
"//daml-lf/language",
],
)