2022-01-03 19:36:51 +03:00
|
|
|
# Copyright (c) 2022 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
|
2019-06-18 20:32:21 +03:00
|
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
|
|
|
|
load(
|
|
|
|
"//bazel_tools:scala.bzl",
|
|
|
|
"da_scala_binary",
|
|
|
|
"da_scala_library",
|
|
|
|
"da_scala_test_suite",
|
|
|
|
"lf_scalacopts",
|
|
|
|
)
|
2019-11-28 15:31:28 +03:00
|
|
|
load(
|
|
|
|
"//daml-lf/language:daml-lf.bzl",
|
2021-11-26 15:23:17 +03:00
|
|
|
"LF_VERSIONS",
|
2021-02-23 11:19:17 +03:00
|
|
|
"lf_version_configuration",
|
2021-02-24 23:17:33 +03:00
|
|
|
"mangle_for_java",
|
2019-11-28 15:31:28 +03:00
|
|
|
)
|
2019-06-18 20:32:21 +03:00
|
|
|
|
|
|
|
da_scala_library(
|
|
|
|
name = "encoder",
|
|
|
|
srcs = glob(
|
|
|
|
["src/main/**/*.scala"],
|
2019-07-12 22:06:44 +03:00
|
|
|
exclude = ["src/main/scala/com/digitalasset/daml/lf/archive/testing/DamlLfEncoder.scala"],
|
2019-06-18 20:32:21 +03:00
|
|
|
),
|
2021-01-08 12:38:17 +03:00
|
|
|
scala_deps = [
|
|
|
|
"@maven//:org_scalaz_scalaz_core",
|
|
|
|
],
|
2019-06-18 20:32:21 +03:00
|
|
|
scalacopts = lf_scalacopts,
|
2022-04-29 14:59:19 +03:00
|
|
|
tags = ["maven_coordinates=com.daml:daml-lf-encoder:__VERSION__"],
|
2021-02-24 23:17:33 +03:00
|
|
|
visibility = ["//visibility:public"],
|
2019-06-18 20:32:21 +03:00
|
|
|
deps = [
|
2021-11-26 15:23:17 +03:00
|
|
|
"//daml-lf/archive:daml_lf_1.dev_archive_proto_java",
|
2019-10-14 17:53:50 +03:00
|
|
|
"//daml-lf/archive:daml_lf_archive_reader",
|
2019-06-18 20:32:21 +03:00
|
|
|
"//daml-lf/data",
|
|
|
|
"//daml-lf/language",
|
2022-03-10 00:15:32 +03:00
|
|
|
"//libs-scala/crypto",
|
2022-02-01 17:45:17 +03:00
|
|
|
"//libs-scala/safe-proto",
|
2019-10-28 15:53:14 +03:00
|
|
|
"@maven//:com_google_protobuf_protobuf_java",
|
2019-06-18 20:32:21 +03:00
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
da_scala_test_suite(
|
|
|
|
name = "tests",
|
|
|
|
size = "small",
|
2019-12-06 13:37:03 +03:00
|
|
|
srcs = glob(["src/test/scala/**/*.scala"]),
|
2021-11-26 15:23:17 +03:00
|
|
|
data = [":testing-dar-%s" % target for target in LF_VERSIONS],
|
2021-01-08 12:38:17 +03:00
|
|
|
scala_deps = [
|
2021-08-13 02:19:35 +03:00
|
|
|
"@maven//:org_scalatest_scalatest_core",
|
|
|
|
"@maven//:org_scalatest_scalatest_matchers_core",
|
|
|
|
"@maven//:org_scalatest_scalatest_shouldmatchers",
|
|
|
|
"@maven//:org_scalatest_scalatest_wordspec",
|
2021-01-08 12:38:17 +03:00
|
|
|
"@maven//:org_scalaz_scalaz_core",
|
|
|
|
],
|
2019-06-18 20:32:21 +03:00
|
|
|
scalacopts = lf_scalacopts,
|
|
|
|
deps = [
|
|
|
|
":encoder",
|
|
|
|
"//bazel_tools/runfiles:scala_runfiles",
|
2021-11-26 15:23:17 +03:00
|
|
|
"//daml-lf/archive:daml_lf_1.dev_archive_proto_java",
|
2019-10-14 17:53:50 +03:00
|
|
|
"//daml-lf/archive:daml_lf_archive_reader",
|
2019-06-18 20:32:21 +03:00
|
|
|
"//daml-lf/data",
|
|
|
|
"//daml-lf/language",
|
|
|
|
"//daml-lf/parser",
|
|
|
|
"//daml-lf/validation",
|
2021-06-30 23:05:06 +03:00
|
|
|
"//libs-scala/logging-entries",
|
2019-10-28 15:53:14 +03:00
|
|
|
"@maven//:com_google_protobuf_protobuf_java",
|
2021-08-13 02:19:35 +03:00
|
|
|
"@maven//:org_scalatest_scalatest_compatible",
|
2019-06-18 20:32:21 +03:00
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
da_scala_binary(
|
|
|
|
name = "encoder_binary",
|
2019-07-12 22:06:44 +03:00
|
|
|
srcs = glob(["src/main/scala/com/digitalasset/daml/lf/archive/testing/DamlLfEncoder.scala"]),
|
2020-04-05 20:49:57 +03:00
|
|
|
main_class = "com.daml.lf.archive.testing.DamlLfEncoder",
|
2019-08-22 19:07:47 +03:00
|
|
|
scalacopts = lf_scalacopts,
|
2021-02-24 23:17:33 +03:00
|
|
|
visibility = ["//visibility:public"],
|
2022-03-16 19:24:16 +03:00
|
|
|
runtime_deps = [
|
|
|
|
"@maven//:ch_qos_logback_logback_classic",
|
|
|
|
],
|
2019-06-18 20:32:21 +03:00
|
|
|
deps = [
|
|
|
|
":encoder",
|
2021-02-09 16:53:46 +03:00
|
|
|
"//:sdk-version-scala-lib",
|
2021-11-26 15:23:17 +03:00
|
|
|
"//daml-lf/archive:daml_lf_1.dev_archive_proto_java",
|
2021-02-09 16:53:46 +03:00
|
|
|
"//daml-lf/archive:daml_lf_archive_reader",
|
|
|
|
"//daml-lf/archive/encoder",
|
2019-06-18 20:32:21 +03:00
|
|
|
"//daml-lf/data",
|
|
|
|
"//daml-lf/language",
|
|
|
|
"//daml-lf/parser",
|
|
|
|
"//daml-lf/validation",
|
2019-10-28 15:53:14 +03:00
|
|
|
"@maven//:com_google_protobuf_protobuf_java",
|
2019-06-18 20:32:21 +03:00
|
|
|
],
|
|
|
|
)
|
|
|
|
|
2019-06-21 21:15:39 +03:00
|
|
|
[
|
|
|
|
filegroup(
|
2019-09-02 11:02:56 +03:00
|
|
|
name = "lf_%s" % target,
|
|
|
|
srcs = glob([
|
|
|
|
"src/test/lf/*_all_*.lf",
|
|
|
|
"src/test/lf/*_%s_*.lf" % target,
|
2019-06-21 21:15:39 +03:00
|
|
|
]),
|
|
|
|
)
|
2021-11-26 15:23:17 +03:00
|
|
|
for target in LF_VERSIONS
|
2019-06-21 21:15:39 +03:00
|
|
|
]
|
|
|
|
|
|
|
|
[
|
2019-11-05 18:15:08 +03:00
|
|
|
[
|
|
|
|
genrule(
|
|
|
|
name = "testing-dar-%s" % target,
|
|
|
|
srcs = [":lf_%s" % target],
|
|
|
|
outs = ["test-%s.dar" % target],
|
|
|
|
cmd = "$(location :encoder_binary) $(SRCS) --output $@ --target %s" % target,
|
|
|
|
tools = [":encoder_binary"],
|
2021-02-24 23:17:33 +03:00
|
|
|
visibility = ["//visibility:public"],
|
2019-11-05 18:15:08 +03:00
|
|
|
),
|
|
|
|
sh_test(
|
|
|
|
name = "validate-dar-%s" % target,
|
|
|
|
srcs = ["src/validate.sh"],
|
|
|
|
args = [
|
|
|
|
"$(location //daml-lf/repl:repl)",
|
|
|
|
"$(location :testing-dar-%s)" % target,
|
2021-02-23 11:19:17 +03:00
|
|
|
"--dev" if (target == lf_version_configuration.get("dev") or target == lf_version_configuration.get("preview")) else "",
|
2019-11-05 18:15:08 +03:00
|
|
|
],
|
|
|
|
data = [
|
|
|
|
"//daml-lf/repl",
|
|
|
|
"testing-dar-%s" % target,
|
|
|
|
],
|
|
|
|
deps = [
|
|
|
|
"@bazel_tools//tools/bash/runfiles",
|
|
|
|
],
|
|
|
|
),
|
|
|
|
]
|
2021-11-26 15:23:17 +03:00
|
|
|
for target in LF_VERSIONS
|
2019-06-21 21:15:39 +03:00
|
|
|
]
|
2019-07-12 22:06:44 +03:00
|
|
|
|
2019-11-28 15:31:28 +03:00
|
|
|
[
|
2021-02-24 23:17:33 +03:00
|
|
|
[
|
|
|
|
genrule(
|
2021-08-02 20:43:37 +03:00
|
|
|
name = "testing-dar-lookup-scala-%s" % keyword,
|
|
|
|
outs = ["TestDars-%s.scala" % mangle_for_java(keyword)],
|
2021-02-24 23:17:33 +03:00
|
|
|
cmd = """
|
|
|
|
cat > $@ <<EOF
|
|
|
|
package com.daml.lf.archive.testing
|
|
|
|
object TestDar {
|
|
|
|
val fileName = \"daml-lf/encoder/test-%s.dar\"
|
|
|
|
}
|
|
|
|
EOF
|
2021-08-02 20:43:37 +03:00
|
|
|
""" % version,
|
2021-02-24 23:17:33 +03:00
|
|
|
),
|
|
|
|
da_scala_library(
|
2021-08-02 20:43:37 +03:00
|
|
|
name = "testing-dar-lookup-lib-%s" % keyword,
|
|
|
|
srcs = ["testing-dar-lookup-scala-%s" % keyword],
|
2021-02-24 23:17:33 +03:00
|
|
|
# generated_srcs is required for scaladocF
|
2021-08-02 20:43:37 +03:00
|
|
|
generated_srcs = ["testing-dar-lookup-scala-%s" % keyword],
|
2021-02-24 23:17:33 +03:00
|
|
|
visibility = ["//visibility:public"],
|
|
|
|
),
|
|
|
|
]
|
2021-08-02 20:43:37 +03:00
|
|
|
for (keyword, version) in lf_version_configuration.items()
|
|
|
|
if keyword in ["latest"]
|
2021-02-24 23:17:33 +03:00
|
|
|
]
|
|
|
|
|
|
|
|
[
|
|
|
|
alias(
|
2021-08-02 20:43:37 +03:00
|
|
|
name = "testing-dar-%s" % keyword,
|
|
|
|
actual = ":testing-dar-%s" % version,
|
2021-02-24 23:17:33 +03:00
|
|
|
visibility = ["//visibility:public"],
|
2019-11-28 15:31:28 +03:00
|
|
|
)
|
2021-02-24 23:17:33 +03:00
|
|
|
for (keyword, version) in lf_version_configuration.items()
|
2019-11-28 15:31:28 +03:00
|
|
|
]
|
2021-02-24 23:17:33 +03:00
|
|
|
|
|
|
|
filegroup(
|
|
|
|
name = "testing-dars",
|
2021-11-26 15:23:17 +03:00
|
|
|
srcs = ["testing-dar-%s" % version for version in LF_VERSIONS],
|
2021-02-24 23:17:33 +03:00
|
|
|
visibility = ["//visibility:public"],
|
|
|
|
)
|