mirror of
https://github.com/digital-asset/daml.git
synced 2024-11-10 10:46:11 +03:00
a89cbb2036
* Update rules_haskell - rules_haskell now handles the global package db within Bazel https://github.com/tweag/rules_haskell/pull/859 - We no longer use the Nix provided c2hs. So, we drop it. - Rename `ghcWithC2hs` to `ghcStatic` to clarify that that's where the static linking patches are applied. - Extend package-db patches to align Nix store paths with the new $out. This works around a restriction in current rules_haskell, where the paths in the package config files must have the same prefix as the path to the package config files themselves. - Don't exclude haskell libraries from extra-libraries entries. * Drop redundant unix-compat override This is a left-over from when the package was patched. * Windows GHC bindist includes ffi header * Drop unused language-c Nix override
102 lines
4.8 KiB
Plaintext
102 lines
4.8 KiB
Plaintext
# Bazel distributed cache, can be temporarily disabled by passing the following
|
|
# flag: --noremote_accept_cached
|
|
build:darwin --remote_http_cache=https://bazel-cache.da-ext.net
|
|
build:linux --remote_http_cache=https://bazel-cache.da-ext.net
|
|
build:windows-ci --remote_http_cache=https://bazel-cache.da-ext.net
|
|
build --remote_upload_local_results=false
|
|
# Enable the disk cache in addition to the http cache.
|
|
# Requires nix/overrides/bazel/combined_cache.patch, so disabled for Windows!
|
|
build:linux --disk_cache=.bazel-cache
|
|
build:darwin --disk_cache=.bazel-cache
|
|
|
|
# Improve remote cache hit rate by exluding environment variables from the
|
|
# sandbox that are not whitelisted using --action_env.
|
|
# This will become the default in a future Bazel release.
|
|
build --experimental_strict_action_env
|
|
|
|
# Print test output of failed test.
|
|
# Set --test_output=streamed to get the output of all tests in real time.
|
|
# Note, this will force tests to run locally and sequentially.
|
|
test --test_output=errors
|
|
|
|
# print verbose failures
|
|
build --verbose_failures
|
|
|
|
# Enable persistent Scala workers to improve compilation times.
|
|
# Refer to https://github.com/bazelbuild/rules_scala#readme for details.
|
|
build --strategy=Scalac=worker
|
|
test --strategy=Scalac=worker
|
|
|
|
# Activate MacOS fix for "ld: illegal thread local variable reference
|
|
# to regular symbol". See
|
|
# https://github.com/grpc/grpc/pull/13929/files
|
|
build --copt -DGRPC_BAZEL_BUILD
|
|
|
|
# Bazel defaults to JDK9. This makes sure we run Nix provided JDK, and
|
|
# avoid dreaded "Unrecognized VM option 'CompactStrings'" error
|
|
build --host_javabase=@java_home//:javabase
|
|
build --java_toolchain=@bazel_tools//tools/jdk:toolchain_hostjdk8
|
|
build --host_java_toolchain=@bazel_tools//tools/jdk:toolchain_hostjdk8
|
|
|
|
# Do not use a distinct configuration for "host", that is, binaries used
|
|
# at build time should be the same as release binaries.
|
|
# Without this, we will end up building everything twice as we need "damlc"
|
|
# at build time to bootstrap itself (for compiling ghc-prim).
|
|
build --distinct_host_configuration=false
|
|
|
|
# Propagate locales and the java home to the test environment.
|
|
test --test_env=LANG=en_US.utf8 --test_env=LOCALE_ARCHIVE --test_env=JAVA_HOME
|
|
|
|
# Disable c-ares support in grpc. We don't need a faster DNS library
|
|
# since we're only connecting to localhost.
|
|
build --define=grpc_no_ares=true
|
|
|
|
# Pass through cacert information for git.
|
|
build --action_env=GIT_SSL_CAINFO
|
|
# Pass through locale archive to ensure that we can get a UTF-8 locale.
|
|
build:linux --action_env=LOCALE_ARCHIVE
|
|
build:windows --action_env=JAVA_HOME
|
|
|
|
|
|
# Pass workspace status for stamped actions
|
|
build:linux --workspace_status_command=bazel_tools/workspace_status.sh
|
|
build:darwin --workspace_status_command=bazel_tools/workspace_status.sh
|
|
build:windows --workspace_status_command=bazel_tools/workspace_status.cmd
|
|
|
|
# Tell bazel to use the nixpkgs Haskell toolchain on Linux and Darwin
|
|
build:linux --host_platform=@io_tweag_rules_haskell//haskell/platforms:linux_x86_64_nixpkgs
|
|
build:darwin --host_platform=@io_tweag_rules_haskell//haskell/platforms:darwin_x86_64_nixpkgs
|
|
# and GHC's gcc on Windows
|
|
build:windows --crosstool_top=@io_tweag_rules_haskell_ghc_windows_amd64//:cc_toolchain
|
|
|
|
# Caching is currently disabled on Windows.
|
|
# See: https://github.com/tweag/rules_haskell/issues/744 for details.
|
|
build:windows --noremote_accept_cached
|
|
|
|
# We use a special windows configuration on CI: cache is enabled. The caching
|
|
# is not totally reliable on Windows yet re. absolute paths, but it is not a
|
|
# problem on CI if all builds share a similar directory structure.
|
|
build:windows-ci --remote_accept_cached=true
|
|
|
|
# Instruct bazel to globally use this flag for compiling protobuf files.
|
|
# We need the source info for generating proto docs. By default proto_library strips
|
|
# source information and doesn't provide an option to turn this flag on.
|
|
# Ideally we would only set this option for the proto_library target we care about.
|
|
# See https://github.com/bazelbuild/rules_go/issues/1519#issuecomment-451622947
|
|
build:linux --protocopt=--include_source_info
|
|
build:darwin --protocopt=--include_source_info
|
|
#FIXME: it generates stderr, which is causing error in bazel on windows:
|
|
# https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/compiler/command_line_interface.cc#L1363
|
|
#build:windows --protocopt=--include_source_info
|
|
|
|
# Bazel 0.24 introduced the new flag --incompatible_windows_escape_jvm_flags
|
|
# and modified its Java launcher mechanism. rules_scala needs to be patched
|
|
# to support this. See `bazel_tools/scala-escape-jvmflags.patch`.
|
|
# Without this patch we get the following error on Windows:
|
|
# `LAUNCHER ERROR: Cannot find key "escape_jvmflags" from launch data.`
|
|
# This patch assumes `--noincompatible_windows_escape_jvm_flags`.
|
|
# See https://github.com/bazelbuild/bazel/pull/7490
|
|
build:windows --noincompatible_windows_escape_jvm_flags
|
|
|
|
try-import %workspace%/.bazelrc.local
|