mirror of
https://github.com/digital-asset/daml.git
synced 2024-09-20 09:17:43 +03:00
7e05dc7932
This is necessary to at least attempt an upgrade to 2.13 and generally, I want to keep our rulesets up2date. rules-scala forces the version of scalatest so we have to bump that at the same time. This requires changes to basically all Scala test suites since the import structure has changed and a bunch of things (primarily scalacheck support) got split out. Apologies for the giant PR, I don’t see a way to keep it smaller. changelog_begin changelog_end
184 lines
6.0 KiB
Python
184 lines
6.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:haskell.bzl", "da_haskell_library")
|
|
load("//bazel_tools:javadoc_library.bzl", "javadoc_library")
|
|
load("//bazel_tools:pom_file.bzl", "pom_file")
|
|
load("//bazel_tools:proto.bzl", "proto_jars")
|
|
load(
|
|
"//bazel_tools:scala.bzl",
|
|
"da_scala_binary",
|
|
"da_scala_library",
|
|
"da_scala_test_suite",
|
|
"lf_scalacopts",
|
|
)
|
|
load("//daml-lf/language:daml-lf.bzl", "LF_MAJOR_VERSIONS", "LF_VERSIONS", "lf_version_package")
|
|
load(
|
|
"//rules_daml:daml.bzl",
|
|
"daml_compile",
|
|
"daml_compile_with_dalf",
|
|
)
|
|
load(":archive.bzl", "mangle_for_java")
|
|
load("@io_bazel_rules_scala//scala:scala.bzl", "scala_library")
|
|
load("@os_info//:os_info.bzl", "is_windows")
|
|
load("@rules_pkg//:pkg.bzl", "pkg_tar")
|
|
|
|
[
|
|
[
|
|
filegroup(
|
|
name = "daml_lf_%s_archive_proto_srcs" % version,
|
|
srcs = glob([
|
|
"src/main/protobuf/com/{package}/daml_lf_{version}/*.proto".format(
|
|
package = lf_version_package(version),
|
|
version = mangle_for_java(version),
|
|
),
|
|
]),
|
|
),
|
|
proto_jars(
|
|
name = "daml_lf_%s_archive_proto" % version,
|
|
srcs = [":daml_lf_%s_archive_proto_srcs" % version],
|
|
javadoc_root_packages = [
|
|
"com.{package}.daml_lf_{version}".format(
|
|
package = lf_version_package(version),
|
|
version = mangle_for_java(version),
|
|
),
|
|
],
|
|
maven_artifact_prefix = "daml-lf-%s-archive" % version,
|
|
maven_group = "com.daml",
|
|
strip_import_prefix = "src/main/protobuf",
|
|
visibility = ["//visibility:public"],
|
|
),
|
|
]
|
|
for version in LF_VERSIONS
|
|
]
|
|
|
|
# FIXME(JM): Clean this up
|
|
genrule(
|
|
name = "daml_lf_dev_archive_haskell_proto_src",
|
|
srcs = ["daml_lf_dev_archive_proto_srcs"],
|
|
outs = ["Com/Daml/DamlLfDev/DamlLf.hs"] +
|
|
["Com/Daml/DamlLfDev/DamlLf%s.hs" % v.title() for v in LF_MAJOR_VERSIONS],
|
|
cmd =
|
|
"\n".join(
|
|
[
|
|
"""
|
|
$(location @proto3_suite//:compile-proto-file) \
|
|
--includeDir daml-lf/archive/src/main/protobuf/ \
|
|
--proto com/daml/daml_lf_dev/daml_lf%s.proto \
|
|
--out $(@D)
|
|
""" % vx
|
|
for vx in [""] + ["_%s" % v for v in LF_MAJOR_VERSIONS]
|
|
],
|
|
),
|
|
tools = [
|
|
"@proto3_suite//:compile-proto-file",
|
|
],
|
|
)
|
|
|
|
da_haskell_library(
|
|
name = "daml_lf_dev_archive_haskell_proto",
|
|
srcs = [":daml_lf_dev_archive_haskell_proto_src"],
|
|
compiler_flags = ["-O0"], # disable optimization as this is otherwise way too slow to compile.
|
|
hackage_deps = [
|
|
"base",
|
|
"bytestring",
|
|
"containers",
|
|
"deepseq",
|
|
"proto3-suite",
|
|
"proto3-wire",
|
|
"text",
|
|
"vector",
|
|
],
|
|
visibility = ["//visibility:public"],
|
|
)
|
|
|
|
da_scala_library(
|
|
name = "daml_lf_archive_reader",
|
|
srcs = glob(["src/main/scala/**/*.scala"]),
|
|
scalacopts = lf_scalacopts,
|
|
tags = ["maven_coordinates=com.daml:daml-lf-archive-reader:__VERSION__"],
|
|
visibility = ["//visibility:public"],
|
|
deps = [
|
|
":daml_lf_dev_archive_proto_java",
|
|
"//daml-lf/data",
|
|
"//daml-lf/language",
|
|
"@maven//:com_google_protobuf_protobuf_java",
|
|
"@maven//:org_scalaz_scalaz_core_2_12",
|
|
],
|
|
)
|
|
|
|
da_scala_test_suite(
|
|
name = "daml_lf_archive_reader_tests",
|
|
size = "small",
|
|
srcs = glob(
|
|
["src/test/scala/**/*.scala"],
|
|
exclude = ["src/test/scala/com/digitalasset/daml/lf/archive/ZipBombDetectionSpec.scala"],
|
|
),
|
|
data = [
|
|
":DarReaderTest.dalf",
|
|
":DarReaderTest.dar",
|
|
":daml_lf_1.6_archive_proto_srcs",
|
|
":daml_lf_1.7_archive_proto_srcs",
|
|
":daml_lf_1.8_archive_proto_srcs",
|
|
],
|
|
scalacopts = lf_scalacopts,
|
|
deps = [
|
|
":daml_lf_1.6_archive_proto_java",
|
|
":daml_lf_1.7_archive_proto_java",
|
|
":daml_lf_1.8_archive_proto_java",
|
|
":daml_lf_archive_reader",
|
|
":daml_lf_dev_archive_proto_java",
|
|
"//bazel_tools/runfiles:scala_runfiles",
|
|
"//daml-lf/data",
|
|
"//daml-lf/language",
|
|
"//daml-lf/transaction",
|
|
"//libs-scala/scalatest-utils",
|
|
"@maven//:com_google_protobuf_protobuf_java",
|
|
"@maven//:org_scalacheck_scalacheck_2_12",
|
|
"@maven//:org_scalatest_scalatest_2_12",
|
|
"@maven//:org_scalatestplus_scalacheck_1_14_2_12",
|
|
"@maven//:org_scalaz_scalaz_core_2_12",
|
|
"@maven//:org_scalaz_scalaz_scalacheck_binding_2_12",
|
|
],
|
|
)
|
|
|
|
da_scala_test_suite(
|
|
name = "daml_lf_archive_reader_zipbomb_tests",
|
|
srcs = ["src/test/scala/com/digitalasset/daml/lf/archive/ZipBombDetectionSpec.scala"],
|
|
data = [
|
|
":DarReaderTest.dar",
|
|
],
|
|
scalacopts = lf_scalacopts,
|
|
deps = [
|
|
":daml_lf_1.6_archive_proto_java",
|
|
":daml_lf_1.7_archive_proto_java",
|
|
":daml_lf_1.8_archive_proto_java",
|
|
":daml_lf_archive_reader",
|
|
":daml_lf_dev_archive_proto_java",
|
|
"//bazel_tools/runfiles:scala_runfiles",
|
|
"//daml-lf/data",
|
|
"@maven//:com_google_protobuf_protobuf_java",
|
|
"@maven//:org_scalacheck_scalacheck_2_12",
|
|
"@maven//:org_scalatestplus_scalacheck_1_14_2_12",
|
|
],
|
|
)
|
|
|
|
daml_compile_with_dalf(
|
|
name = "DarReaderTest",
|
|
srcs = ["src/test/daml/DarReaderTest.daml"],
|
|
)
|
|
|
|
# An ad-hoc tool for testing, benchmarking and profiling package decoding performance in isolation.
|
|
da_scala_binary(
|
|
name = "decode-tester",
|
|
srcs = ["src/test/scala/com/digitalasset/daml/lf/archive/DecodeMain.scala"],
|
|
main_class = "com.daml.lf.archive.DecodeMain",
|
|
deps = [
|
|
":daml_lf_archive_reader",
|
|
":daml_lf_dev_archive_proto_java",
|
|
"//daml-lf/data",
|
|
"//daml-lf/language",
|
|
"@maven//:com_google_protobuf_protobuf_java",
|
|
],
|
|
)
|