mirror of
https://github.com/digital-asset/daml.git
synced 2024-09-20 09:17:43 +03:00
108 lines
3.9 KiB
Python
108 lines
3.9 KiB
Python
# Copyright (c) 2019 The DAML Authors. All rights reserved.
|
||
# SPDX-License-Identifier: Apache-2.0
|
||
load("//bazel_tools:haskell.bzl", "da_haskell_test")
|
||
load("@os_info//:os_info.bzl", "is_windows")
|
||
|
||
genrule(
|
||
name = "integration-tests-mvn",
|
||
srcs = [
|
||
"@mvn_dev_env//:mvn",
|
||
"//:component-version",
|
||
"//daml-lf/archive:daml_lf_archive_java.jar",
|
||
"//daml-lf/archive:daml_lf_archive_java_pom.xml",
|
||
"//language-support/java/bindings:libbindings-java.jar",
|
||
"//language-support/java/bindings:bindings-java_pom.xml",
|
||
"//language-support/java/bindings-rxjava:libbindings-rxjava.jar",
|
||
"//language-support/java/bindings-rxjava:bindings-rxjava_pom.xml",
|
||
"//language-support/java/codegen:shaded_binary.jar",
|
||
"//language-support/java/codegen:shaded_binary_pom.xml",
|
||
"//ledger-api/rs-grpc-bridge:librs-grpc-bridge.jar",
|
||
"//ledger-api/rs-grpc-bridge:rs-grpc-bridge_pom.xml",
|
||
"//docs:quickstart-java.tar.gz",
|
||
],
|
||
outs = ["integration-tests-mvn.tar"],
|
||
cmd = """
|
||
set -euo pipefail
|
||
TMP_DIR=$$(mktemp -d)
|
||
MVN_DB="$$TMP_DIR/m2"
|
||
VERSION=$$(cat $(location //:component-version))
|
||
install_mvn() {
|
||
$(location @mvn_dev_env//:mvn) -q install:install-file \
|
||
-Dmaven.repo.local=$$MVN_DB \
|
||
"-DgroupId=$$1" \
|
||
"-DartifactId=$$2" \
|
||
"-Dfile=$$3" \
|
||
"-DpomFile=$$4" \
|
||
-Dpackaging=jar \
|
||
-Dversion=$$VERSION
|
||
}
|
||
tar xf $(location //docs:quickstart-java.tar.gz) -C "$$TMP_DIR"
|
||
install_mvn \
|
||
"com.digitalasset" "daml-lf-archive" \
|
||
$(location //daml-lf/archive:daml_lf_archive_java.jar) \
|
||
$(location //daml-lf/archive:daml_lf_archive_java_pom.xml)
|
||
install_mvn \
|
||
"com.daml.ledger" "bindings-java" \
|
||
$(location //language-support/java/bindings:libbindings-java.jar) \
|
||
$(location //language-support/java/bindings:bindings-java_pom.xml)
|
||
install_mvn \
|
||
"com.daml.ledger" "bindings-rxjava" \
|
||
$(location //language-support/java/bindings-rxjava:libbindings-rxjava.jar) \
|
||
$(location //language-support/java/bindings-rxjava:bindings-rxjava_pom.xml)
|
||
install_mvn \
|
||
"com.daml.java" "codegen" \
|
||
$(location //language-support/java/codegen:shaded_binary.jar) \
|
||
$(location //language-support/java/codegen:shaded_binary_pom.xml)
|
||
install_mvn \
|
||
"com.digitalasset.ledger-api" "rs-grpc-bridge" \
|
||
$(location //ledger-api/rs-grpc-bridge:librs-grpc-bridge.jar) \
|
||
$(location //ledger-api/rs-grpc-bridge:rs-grpc-bridge_pom.xml)
|
||
$(location @mvn_dev_env//:mvn) -q -Dmaven.repo.local=$$MVN_DB -f "$$TMP_DIR/quickstart-java/pom.xml" dependency:resolve dependency:resolve-plugins
|
||
tar cf $(location integration-tests-mvn.tar) -C $$(dirname $$MVN_DB) $$(basename $$MVN_DB)
|
||
""",
|
||
)
|
||
|
||
da_haskell_test(
|
||
name = "integration-tests",
|
||
timeout = "long",
|
||
srcs = ["src/Main.hs"],
|
||
data = [
|
||
":integration-tests-mvn",
|
||
"//release:sdk-release-tarball",
|
||
"@local_jdk//:bin/java.exe" if is_windows else "@local_jdk//:bin/java",
|
||
"@mvn_dev_env//:mvn",
|
||
"@tar_dev_env//:tar",
|
||
],
|
||
# I’m sure the mvn stuff will be flaky.
|
||
flaky = True,
|
||
hackage_deps = [
|
||
"async",
|
||
"base",
|
||
"bytestring",
|
||
"conduit",
|
||
"conduit-extra",
|
||
"directory",
|
||
"extra",
|
||
"filepath",
|
||
"http-client",
|
||
"http-types",
|
||
"main-tester",
|
||
"network",
|
||
"unix-compat",
|
||
"process",
|
||
"tar",
|
||
"tar-conduit",
|
||
"tasty",
|
||
"tasty-hunit",
|
||
"text",
|
||
"zip-archive",
|
||
],
|
||
deps = [
|
||
"//:sdk-version-hs-lib",
|
||
"//compiler/damlc/daml-opts:daml-opts-types",
|
||
"//daml-assistant/daml-helper:daml-helper-lib",
|
||
"//libs-haskell/bazel-runfiles",
|
||
"//libs-haskell/da-hs-base",
|
||
],
|
||
)
|