daml/daml-lf/encoder/BUILD.bazel
Moritz Kiefer d68d3eb74a
Freeze DAML-LF 1.8 (#4770)
* Freeze DAML-LF 1.8

Two minor points that I did not mention in the previous PR:

We also include the renaming of structural records to `struct` and the
renaming of `Map` to `TextMap`.

There are some minor changes around the LF encoder tests which need to
be able to emit package metadata properly so I’ve added it to the
parser. Sorry for not splitting that out.

Following the process used for the DAML-LF 1.7 release, this does not
yet include the frozen proto file.

changelog_begin

- [DAML-LF] Release DAML-LF 1.8:

  * Rename structural records to ``Struct``. Note that
    structural records are not exposed in DAML.
  * Rename ``Map`` to ``TextMap``.
  * Add type synonyms. Note that type synonyms are not serializable.
  * Add package metadata, i.e., package names and versions.

  Note that the default output of ``damlc`` is stil DAML-LF 1.7. You
  can produce DAML-LF 1.8 by passing ``--target=1.8``.

changelog_end

* Update encoder

* Update java codegen tests

* Update comment in scala codegen

* Handle TSynApp in interface reader

* Bump lf_stable_version to 1.7

* Fix kvutils tests
2020-03-02 18:29:26 +01:00

150 lines
3.9 KiB
Python

# Copyright (c) 2020 The DAML Authors. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
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_dev_version",
"lf_latest_version",
"lf_stable_version",
)
lf_targets = [
"1.0",
"1.1",
"1.3",
"1.6",
"1.7",
"1.8",
"1.dev",
]
da_scala_library(
name = "encoder",
srcs = glob(
["src/main/**/*.scala"],
exclude = ["src/main/scala/com/digitalasset/daml/lf/archive/testing/DamlLfEncoder.scala"],
),
scalacopts = lf_scalacopts,
visibility = [
"//daml-lf:__subpackages__",
"//ledger:__subpackages__",
],
deps = [
"//daml-lf/archive:daml_lf_archive_reader",
"//daml-lf/archive:daml_lf_dev_archive_java_proto",
"//daml-lf/data",
"//daml-lf/language",
"@maven//:com_google_protobuf_protobuf_java",
"@maven//:org_scalaz_scalaz_core_2_12",
],
)
da_scala_test_suite(
name = "tests",
size = "small",
srcs = glob(["src/test/scala/**/*.scala"]),
data = [":testing-dar-%s" % target for target in lf_targets],
scalacopts = lf_scalacopts,
deps = [
":encoder",
"//bazel_tools/runfiles:scala_runfiles",
"//daml-lf/archive:daml_lf_archive_reader",
"//daml-lf/archive:daml_lf_dev_archive_java_proto",
"//daml-lf/data",
"//daml-lf/language",
"//daml-lf/parser",
"//daml-lf/validation",
"@maven//:com_google_protobuf_protobuf_java",
"@maven//:org_scalatest_scalatest_2_12",
"@maven//:org_scalaz_scalaz_core_2_12",
],
)
da_scala_binary(
name = "encoder_binary",
srcs = glob(["src/main/scala/com/digitalasset/daml/lf/archive/testing/DamlLfEncoder.scala"]),
main_class = "com.digitalasset.daml.lf.archive.testing.DamlLfEncoder",
scalacopts = lf_scalacopts,
visibility = [
"//daml-lf:__subpackages__",
"//language-support:__subpackages__",
],
deps = [
":encoder",
"//daml-lf/archive:daml_lf_dev_archive_java_proto",
"//daml-lf/data",
"//daml-lf/language",
"//daml-lf/parser",
"//daml-lf/validation",
"@maven//:com_google_protobuf_protobuf_java",
],
)
[
filegroup(
name = "lf_%s" % target,
srcs = glob([
"src/test/lf/*_all_*.lf",
"src/test/lf/*_%s_*.lf" % target,
]),
)
for target in lf_targets
]
[
[
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"],
visibility = [
"//daml-lf:__subpackages__",
"//extractor:__subpackages__",
"//language-support:__subpackages__",
],
),
sh_test(
name = "validate-dar-%s" % target,
srcs = ["src/validate.sh"],
args = [
"$(location //daml-lf/repl:repl)",
"$(location :testing-dar-%s)" % target,
],
data = [
"//daml-lf/repl",
"testing-dar-%s" % target,
],
deps = [
"@bazel_tools//tools/bash/runfiles",
],
),
]
for target in lf_targets
]
[
filegroup(
name = "testing-dar-%s" % alias,
srcs = [":testing-dar-%s" % version],
visibility = [
"//daml-lf:__subpackages__",
"//extractor:__subpackages__",
"//language-support:__subpackages__",
],
)
for (alias, version) in [
("stable", lf_stable_version),
("latest", lf_latest_version),
("dev", lf_dev_version),
]
]