daml/daml-lf/transaction/BUILD.bazel
nickchapman-da 5458aa890c
Switch on NonUnitStatements warning in daml-lf/transaction (#11048)
* Add NonUnitStatements warning in daml-lf/transaction & fix using discard or similar.

CHANGELOG_BEGIN
CHANGELOG_END

* address comment

* prefer parens to braces for single statement map/foreach bodies
2021-09-28 15:34:31 +00:00

128 lines
3.3 KiB
Python

# Copyright (c) 2021 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",
"silencer_plugin",
)
lf_scalacopts_stricter = lf_scalacopts + [
"-P:wartremover:traverser:org.wartremover.warts.NonUnitStatements",
]
#
# 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"]),
plugins = [
silencer_plugin,
],
scala_deps = [
"@maven//:org_scalaz_scalaz_core",
"@maven//:org_scala_lang_modules_scala_collection_compat",
],
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/nameof",
"//libs-scala/scala-utils",
"@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/**/value/*.scala",
"src/test/**/transaction/*.scala",
]),
plugins = [
silencer_plugin,
],
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",
"@maven//:org_scala_lang_modules_scala_collection_compat",
],
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",
]),
plugins = [
silencer_plugin,
],
scalacopts = lf_scalacopts,
versioned_scala_deps = {
"2.12": [
"@maven//:org_scalaz_scalaz_core",
],
},
deps = [
":transaction",
"//daml-lf/data",
"//daml-lf/language",
],
)