daml/sdk-version/hs/BUILD.bazel
Moisés Ackerman 89cdb8d8a0
Haskell SdkVersion inversion (#18066)
* Remove //:sdk-version-hs-lib

* Add //sdk-version/hs:sdk-version-{class-,}lib

* Use //sdk-version/hs:sdk-version-{class-,}lib instead of //:sdk-version-hs-lib

* Fix //daml-assistant/daml-helper:test-deployment

* Fix da-hs-base.cabal

* Fix daml-project-config.cabal

* Move DA.Service.Logger.Impl.GCP out of da-hs-base

This means that da-hs-base no longer depends on sdk-version-class-lib, so users of the cabal file don't need to make any changes

* Move version data types out of daml-project-config

* Now //sdk-version/hs:sdk-version-class-lib depends on //libs-haskell/da-version-types

* back to the past (fmt.sh)

* yarn.lock changes to appease fmt.sh
2024-01-09 10:24:31 +01:00

62 lines
1.4 KiB
Python

# Copyright (c) 2023 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
load("//bazel_tools:haskell.bzl", "da_haskell_library")
load("@build_environment//:configuration.bzl", "ghc_version", "mvn_version", "sdk_version")
da_haskell_library(
name = "sdk-version-class-lib",
srcs = [":src/SdkVersion/Class.hs"],
hackage_deps = [
"base",
"text",
"ghc-lib-parser",
],
visibility = ["//visibility:public"],
deps = [
"//libs-haskell/da-version-types",
],
)
genrule(
name = "sdk-version-lib-file",
srcs = [],
outs = ["SdkVersion.hs"],
cmd = """
cat > $@ <<EOF
{{-# LANGUAGE RankNTypes #-}}
module SdkVersion
( module SdkVersion.Class
, withSdkVersions
) where
import SdkVersion.Class
withSdkVersions :: (SdkVersioned => r) -> r
withSdkVersions = withSdkVersions' SdkVersions
{{ _sdkVersion = "{sdk}"
, _mvnVersion = "{mvn}"
, _sdkPackageVersion = "{ghc}"
}}
EOF
""".format(
ghc = ghc_version,
mvn = mvn_version,
sdk = sdk_version,
),
)
da_haskell_library(
name = "sdk-version-lib",
srcs = [":sdk-version-lib-file"],
hackage_deps = [
"base",
"ghc-lib-parser",
],
visibility = ["//visibility:public"],
deps = [
":sdk-version-class-lib",
],
)