# Copyright (c) 2023 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved. # SPDX-License-Identifier: Apache-2.0 load( "//bazel_tools:scala.bzl", "da_scala_library", ) load( "//language-support/scala/codegen:codegen.bzl", "dar_to_scala", ) load( "//daml-lf/language:daml-lf.bzl", "lf_version_configuration", "version_in", ) load("//ledger-test-tool:conformance.bzl", "testtool_lf_versions") load("//test-common:test-common.bzl", "da_scala_dar_resources_library") alias( name = "dar-files", actual = "dar-files-default", visibility = ["//visibility:public"], ) [ [ # alias model-tests-KEYWORD.dar, dar-files-KEYWORD, and dar-files-KEYWORD-lib # to model-tests-TAG.dar, dar-files-TAG, dar-files-TAG-lib, and test-common-TAG # where : KEYWORD is a keyword like default, latest, or dev # TAG is a (java friendly) version TAG like 1_8 # The mapping KEYWORD -> TAG is defined by test_common_configurations alias( name = "%s-%s%s" % (target_prefix, name, target_suffix), actual = ":%s-%s%s" % (target_prefix, lf_version, target_suffix), visibility = ["//visibility:public"], ), ] for (target_prefix, target_suffix) in [ ("benchtool-tests", ".dar"), ("model-tests", ".dar"), ("dar-files", ""), ("dar-files", "-lib"), ] for (name, lf_version) in lf_version_configuration.items() ] # Carbon tests helps to test upgrades when packages are dependent on each other carbon_test_names = [ "carbonv1", "carbonv2", #carbonv2 depends on carbon v1 "carbonv3", #carbonv3 depends on carbon v2 "modelext", #modelext depends on model ] general_test_names = [ "benchtool", "model", "semantic", "performance", "package_management", ] # Correspond to the directories under src/test/lib/daml test_names = { lf_version: general_test_names + (carbon_test_names if version_in( lf_version, v1_minor_version_range = ("15", "dev"), v2_minor_version_range = ("0", "dev"), ) else []) for lf_version in testtool_lf_versions } da_scala_dar_resources_library( add_maven_tag = True, daml_dir_names = test_names, daml_root_dir = "src/main/daml", data_dependencies = { "carbonv2": ["//test-common:carbonv1-tests-%s.build"], "carbonv3": ["//test-common:carbonv2-tests-%s.build"], "modelext": ["//test-common:model-tests-%s.build"], }, exclusions = { "1.8": [ "**/*Exception*.daml", "**/*Interface*daml", "**/Limits.daml", "**/Foo.daml", ], "1.14": [ "**/*Interface*daml", ], }, lf_versions = testtool_lf_versions, maven_name_prefix = "test", visibility = ["//visibility:public"], ) [ [ [ dar_to_scala( name = "%s-tests-%s.scala-codegen" % (test_name, target), srcs = [":%s-tests-%s.dar" % (test_name, target)], package_prefix = "com.daml.ledger.test.%s" % test_name, srcjar_out = "%s-%s.scala.srcjar" % (test_name, target), visibility = ["//visibility:public"], ), da_scala_library( name = "%s-tests-%s.scala" % (test_name, target), srcs = [ ":%s-tests-%s.scala-codegen" % (test_name, target), ], scalacopts = [ "-Wconf:cat=unused-imports&site=com\\.daml\\.ledger\\.test\\.%s\\..*:s" % test_name, ], tags = ["maven_coordinates=com.daml:test-common-%s-tests-scala-%s:__VERSION__" % ( test_name.replace("_", "-"), target, )], visibility = ["//visibility:public"], deps = [ "//language-support/scala/bindings", ], ), ] for test_name in test_names.get(target, []) ] for target in testtool_lf_versions ]