daml/compatibility/WORKSPACE
Stephen Compall 7622862312
upgrade to Wartremover 2.4.9 (#6551)
* upgrade to wartremover 2.4.9

* simplify wart list and list JavaConversions as disabled

* no changelog

CHANGELOG_BEGIN
CHANGELOG_END

* delete long-obsolete, contradictory comment

* also upgrade wartremover in compatibility (leaving aside maven_install.json)

* update compatibility maven_install.json to match
2020-07-01 15:02:58 +00:00

311 lines
8.7 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

workspace(name = "compatibility")
# We import the main workspace for nix stuff and some shared Bazel rules.
# This is mainly so we dont have to symlink a bunch of files.
# Note that you should never depend on targets from @daml.
local_repository(
name = "daml",
path = "..",
)
load("@daml//bazel_tools:os_info.bzl", "os_info")
os_info(name = "os_info")
load("@os_info//:os_info.bzl", "is_darwin", "is_linux", "is_windows", "os_name")
load("@daml//bazel_tools:build_environment.bzl", "build_environment")
build_environment(name = "build_environment")
load("//:deps.bzl", "daml_deps")
daml_deps()
load("@rules_haskell//haskell:repositories.bzl", "rules_haskell_dependencies")
rules_haskell_dependencies()
load("@daml//bazel_tools/dev_env_tool:dev_env_tool.bzl", "dadew", "dev_env_tool")
dadew(name = "dadew")
load("@daml//bazel_tools/dev_env_tool:dev_env_tool.bzl", "dadew_sh_posix_configure")
dadew_sh_posix_configure() if is_windows else None
load("@build_bazel_rules_nodejs//:index.bzl", "node_repositories")
load(
"@rules_haskell//haskell:nixpkgs.bzl",
"haskell_register_ghc_nixpkgs",
)
load(
"@rules_haskell//haskell:ghc_bindist.bzl",
"haskell_register_ghc_bindists",
)
load(
"@io_tweag_rules_nixpkgs//nixpkgs:nixpkgs.bzl",
"nixpkgs_cc_configure_hermetic",
"nixpkgs_local_repository",
"nixpkgs_package",
"nixpkgs_python_configure",
)
load("//:versions.bzl", "latest_stable_version", "sdk_versions", "version_sha256s")
common_nix_file_deps = [
"@daml//nix:bazel.nix",
"@daml//nix:nixpkgs.nix",
"@daml//nix:nixpkgs/default.nix",
"@daml//nix:nixpkgs/default.src.json",
]
nix_ghc_deps = common_nix_file_deps + [
"@daml//nix:ghc.nix",
"@daml//nix:with-packages-wrapper.nix",
"@daml//nix:overrides/ghc-8.6.5.nix",
"@daml//nix:overrides/ghc-8.6.3-binary.nix",
]
dev_env_nix_repos = {
"nixpkgs": "@nixpkgs",
}
nixpkgs_local_repository(
name = "nixpkgs",
nix_file = "@daml//nix:nixpkgs.nix",
nix_file_deps = [
"@daml//nix:nixpkgs/default.nix",
"@daml//nix:nixpkgs/default.src.json",
],
)
nixpkgs_cc_configure_hermetic(
# We override the Bazel's autodetect toolchain to avoid accidentaly
# dependencies on the inhermetic autodetected builtin include paths or
# builds failing due to Bazel not finding `cc` in `$PATH` or `$CC`.
name = "local_config_cc",
nix_file = "@daml//nix:bazel-cc-toolchain.nix",
nix_file_deps = common_nix_file_deps + [
"@daml//nix:tools/bazel-cc-toolchain/default.nix",
],
repositories = dev_env_nix_repos,
) if not is_windows else None
nixpkgs_package(
name = "glibc_locales",
attribute_path = "glibcLocales",
build_file_content = """
package(default_visibility = ["//visibility:public"])
filegroup(
name = "locale-archive",
srcs = ["lib/locale/locale-archive"],
)
""",
nix_file = "@daml//nix:bazel.nix",
nix_file_deps = common_nix_file_deps,
repositories = dev_env_nix_repos,
) if is_linux else None
haskell_register_ghc_bindists(
compiler_flags = [],
version = "8.6.5",
) if is_windows else None
haskell_register_ghc_nixpkgs(
attribute_path = "ghcStatic",
build_file = "@io_tweag_rules_nixpkgs//nixpkgs:BUILD.pkg",
is_static = True,
locale_archive = "@glibc_locales//:locale-archive",
nix_file = "@daml//nix:bazel.nix",
nix_file_deps = nix_ghc_deps,
repositories = dev_env_nix_repos,
version = "8.6.5",
)
nixpkgs_python_configure(repository = "@nixpkgs")
nixpkgs_package(
name = "postgresql_nix",
attribute_path = "postgresql_9_6",
build_file_content = """
package(default_visibility = ["//visibility:public"])
filegroup(
name = "all",
srcs = glob(["**"]),
)
""",
fail_not_supported = False,
nix_file = "@daml//nix:bazel.nix",
nix_file_deps = common_nix_file_deps,
repositories = dev_env_nix_repos,
)
nixpkgs_package(
name = "openssl_nix",
attribute_path = "openssl",
fail_not_supported = False,
nix_file = "@daml//nix:bazel.nix",
nix_file_deps = common_nix_file_deps,
repositories = dev_env_nix_repos,
)
dev_env_tool(
name = "openssl_dev_env",
nix_include = ["bin/openssl"],
nix_label = "@openssl_nix",
nix_paths = ["bin/openssl"],
tools = ["openssl"],
win_include = [
"usr/bin",
"usr/ssl",
],
win_paths = ["usr/bin/openssl.exe"],
win_tool = "msys2",
)
nixpkgs_package(
name = "hlint_nix",
attribute_path = "hlint",
nix_file = "@daml//nix:bazel.nix",
nix_file_deps = nix_ghc_deps,
repositories = dev_env_nix_repos,
)
nixpkgs_package(
name = "node_nix",
attribute_path = "nodejsNested",
build_file_content = 'exports_files(glob(["node_nix/**"]))',
fail_not_supported = False,
nix_file = "@daml//nix:bazel.nix",
nix_file_deps = common_nix_file_deps,
repositories = dev_env_nix_repos,
)
dev_env_tool(
name = "nodejs_dev_env",
nix_include = [
"bin",
"include",
"lib",
"share",
],
nix_label = "@node_nix",
nix_paths = [],
prefix = "nodejs_dev_env",
tools = [],
win_include = [
".",
],
win_paths = [],
win_tool = "nodejs-12.17.0",
)
node_repositories(
vendored_node = "@nodejs_dev_env" if is_windows else "@node_nix",
yarn_version = "1.22.4",
)
nixpkgs_package(
name = "patch_nix",
attribute_path = "gnupatch",
fail_not_supported = False,
nix_file = "@daml//nix:bazel.nix",
nix_file_deps = common_nix_file_deps,
repositories = dev_env_nix_repos,
)
dev_env_tool(
name = "patch_dev_env",
nix_include = ["bin/patch"],
nix_label = "@patch_nix",
nix_paths = ["bin/patch"],
tools = ["patch"],
win_include = ["usr/bin/patch.exe"],
win_paths = ["usr/bin/patch.exe"],
win_tool = "msys2",
)
load("//:bazel-haskell-deps.bzl", "daml_haskell_deps")
daml_haskell_deps()
load("//bazel_tools:daml_sdk.bzl", "daml_sdk", "daml_sdk_head")
local_repository(
name = "head_sdk",
path = "head_sdk",
)
daml_sdk_head(
create_daml_app_patch = "@head_sdk//:messaging.patch",
daml_ledger_tarball = "@head_sdk//:daml-ledger-0.0.0.tgz",
daml_react_tarball = "@head_sdk//:daml-react-0.0.0.tgz",
daml_types_tarball = "@head_sdk//:daml-types-0.0.0.tgz",
ledger_api_test_tool = "@head_sdk//:ledger-api-test-tool_deploy.jar",
os_name = os_name,
sdk_tarball = "@head_sdk//:sdk-release-tarball.tar.gz",
)
[
daml_sdk(
# See the explanation in UpdateVersions.hs
create_daml_app_patch = None if version_sha256s.get(ver).get("create_daml_app_patch") else "@daml-sdk-1.1.1//:create_daml_app.patch",
create_daml_app_patch_sha256 = version_sha256s.get(ver).get("create_daml_app_patch"),
daml_ledger_sha256 = version_sha256s.get(ver).get("daml_ledger"),
daml_react_sha256 = version_sha256s.get(ver).get("daml_react"),
daml_types_sha256 = version_sha256s.get(ver).get("daml_types"),
os_name = os_name,
sdk_sha256 = version_sha256s.get(ver),
test_tool_sha256 = version_sha256s.get(ver).get("test_tool"),
version = ver,
)
for ver in sdk_versions
if ver != "0.0.0"
]
load("@rules_jvm_external//:defs.bzl", "maven_install")
# We base our Maven artifacts on the latest stable release
# for now. In principle, we could setup one Maven workspace
# per SDK version but that is a bit painful to setup and
# seems to bring little benefit.
maven_install(
name = "maven",
artifacts = [
"com.daml:bindings-akka_2.12:{}".format(latest_stable_version),
"com.daml:daml-lf-archive-reader_2.12:{}".format(latest_stable_version),
"com.daml:daml-lf-transaction_2.12:{}".format(latest_stable_version),
"com.daml:ledger-api-common_2.12:{}".format(latest_stable_version),
"com.daml:lf-value-json_2.12:{}".format(latest_stable_version),
"com.github.scopt:scopt_2.12:3.7.1",
"org.wartremover:wartremover_2.12.11:2.4.9",
"io.spray:spray-json_2.12:1.3.3",
],
maven_install_json = "@compatibility//:maven_install.json",
repositories = [
"https://repo1.maven.org/maven2",
],
version_conflict_policy = "pinned",
)
load("@maven//:defs.bzl", "pinned_maven_install")
pinned_maven_install()
load(
"@io_bazel_rules_scala//scala:scala.bzl",
"scala_repositories",
)
scala_repositories((
"2.12.11",
{
"scala_compiler": "e901937dbeeae1715b231a7cfcd547a10d5bbf0dfb9d52d2886eae18b4d62ab6",
"scala_library": "dbfe77a3fc7a16c0c7cb6cb2b91fecec5438f2803112a744cb1b187926a138be",
"scala_reflect": "5f9e156aeba45ef2c4d24b303405db259082739015190b3b334811843bd90d6a",
},
))
load("@io_bazel_rules_scala//scala:toolchains.bzl", "scala_register_toolchains")
scala_register_toolchains()