mirror of
https://github.com/digital-asset/daml.git
synced 2024-09-20 01:07:18 +03:00
33e47828e3
* bazel: 0.28.1 --> 1.1.0 * bazel-watcher sha256 * Fix missing line in patch * proto_source_root --> strip_import_prefix See https://github.com/bazelbuild/bazel/issues/7153 for details. * Update rules_nixpkgs Required to avoid errors of the form ``` ERROR: An error occurred during the fetch of repository 'node_nix': parameter 'sep' may not be specified by name, for call to method split(sep, maxsplit = None) of 'string' ``` and ``` ERROR: An error occurred during the fetch of repository 'node_nix': Traceback (most recent call last): File "/private/var/tmp/_bazel_runner/17d2b3954f1c6dcf5414d5453467df9a/external/io_tweag_rules_nixpkgs/nixpkgs/nixpkgs.bzl", line 149 _execute_or_fail(repository_ctx, <3 more arguments>) File "/private/var/tmp/_bazel_runner/17d2b3954f1c6dcf5414d5453467df9a/external/io_tweag_rules_nixpkgs/nixpkgs/nixpkgs.bzl", line 318, in _execute_or_fail fail(<1 more arguments>) Cannot build Nix attribute 'nodejs'. Command: [/Users/runner/.nix-profile/bin/nix-build, /private/var/tmp/_bazel_runner/17d2b3954f1c6dcf5414d5453467df9a/external/node_nix/nix/bazel.nix, "-A", "nodejs", "--out-link", "bazel-support/nix-out-link", "-I", "nixpkgs=/private/var/tmp/_bazel_runner/17d2b3954f1c6dcf5414d5453467df9a/external/nixpkgs/nixpkgs"] Return code: 1 Error output: src/main/tools/process-tools.cc:173: "setitimer": Invalid argument ``` * Update rules_scala * .proto has been removed, use [ProtoInfo] instead See https://docs.bazel.build/versions/1.1.0/be/protocol-buffer.html#proto_library * python3_nix add nix_file attribute To avoid the following error ``` ERROR: /home/aj/tweag.io/da/da-bazel-1.1/BUILD:66:1: //:nix_python3_runtime depends on @python3_nix//:bin/python in repository @python3_nix which failed to fetch. no such package '@python3_nix//': Traceback (most recent call last): File "/home/aj/.cache/bazel/_bazel_aj/5f825ad28f8e070f999ba37395e46ee5/external/io_tweag_rules_nixpkgs/nixpkgs/nixpkgs.bzl", line 149 _execute_or_fail(repository_ctx, <3 more arguments>) File "/home/aj/.cache/bazel/_bazel_aj/5f825ad28f8e070f999ba37395e46ee5/external/io_tweag_rules_nixpkgs/nixpkgs/nixpkgs.bzl", line 318, in _execute_or_fail fail(<1 more arguments>) Cannot build Nix attribute 'python3'. Command: [/home/aj/.nix-profile/bin/nix-build, "-E", "import <nixpkgs> { config = {}; overlays = []; }", "-A", "python3", "--out-link", "bazel-support/nix-out-link", "-I", "nixpkgs=/home/aj/.cache/bazel/_bazel_aj/5f825ad28f8e070f999ba37395e46ee5/external/nixpkgs/nixpkgs"] Return code: 1 Error output: error: anonymous function at /home/aj/.cache/bazel/_bazel_aj/5f825ad28f8e070f999ba37395e46ee5/external/nixpkgs/nixpkgs.nix:3:1 called with unexpected argument 'config', at (string):1:1 ``` * rules_haskell unnamed string.split(_, maxsplit = _) The keyword argument may no longer be named. * string.replace(_, _, maxsplit = _) may not be named * Move proto sources from deps to data Fixes ``` ERROR: /home/aj/tweag.io/da/da-bazel-1.1/daml-lf/archive/BUILD.bazel:150:1: in deps attribute of scala_test rule //daml-lf/archive:daml_lf_archive_reader_tests_test_suite_src_test_scala_com_digitalasset_daml_lf_archive_DecodeV1Spec.scala: '//daml-lf/archive:daml_lf_1.6_archive_proto_srcs' does not have mandatory providers: 'JavaInfo'. Since this rule was created by the macro 'da_scala_test_suite', the error might have been caused by the macro implementation ``` * Define sha256 for haskell_ghc__paths Bazel 1.1.0 fails on missing hashes. * Disable --incompatible_windows_native_test_wrapper * //compiler/daml-extension don't modify sources Modifying sources in-place can cause issues on Windows, where build actions are not sandboxed and changes on sources can affect other build steps. * bazel-genfiles --> bazel-bin The bazel-genfiles symlink has been removed since Bazel 1.0. See https://github.com/bazelbuild/bazel/issues/8651 * Mark dev_env_tool repository rule as configure See https://docs.bazel.build/versions/1.1.0/skylark/lib/globals.html#repository_rule * Move data deps into data attribute * Mark dev_env_tool as local = True * Manually fetch @makensis_dev_env |
||
---|---|---|
.. | ||
bin | ||
dotfiles | ||
etc | ||
git-hooks | ||
lib | ||
t | ||
windows | ||
.gitignore | ||
profile_bash.sh | ||
profile_zsh.sh | ||
README.md | ||
VERSION |
Dev-env
This folder contains the development dependencies of this project.
Development
Structure
dev-env/lib/dade-common
is the script meant to be included into all wrappers for dev-env provided tools and other dev-env specific tools (e.g.dade-info
)dev-env/lib/dade-dump-profile
is a script which outputs - in porcelain mode - all environmental variables necessary for dev-env to function in a given shell.dev-env/lib/dade-base-profile
is a sourcable version ofdade-dump-profile
.
Debugging
Run your comment with DADE_DEBUG=1
as prefix, e.g.:
DADE_DEBUG=1 jq
Environmental variables
Dev-env uses a common set of variables across it, here are they listed to be documented in future.
Public interface:
These variables are either used for dev-env initialization or are exported by dev-env for external tools to consume.
DADE_REPO_ROOT
- root of a working directory where dev-env currently is executing; mutable content; input and output.DADE_VAR_DIR
- points to a directory which is meant for storing persistent and mutable data; mutable content; if not set, can be derived fromDADE_DEVENV_DIR
; input and output.DADE_DEVENV_DIR
- directory nameddev-env
under$DADE_BASE_ROOT
, assume to be immutable (not yet the case); has to be set beforedade-base-profile
is sourced ordade-dump-profile
is executed; input and output.DADE_DESIRED_NIX_VERSION
- user can provide this variable in their profile to silence the warning (in future, disable automatic installation of) the supported Nix version.
Private:
These variables are set in some of the dev-env tools and scripts and are not
guaranteed to be always present in the dev-env environment (e.g. not guaranteed
to be set by dade-common
).
DADE_BASE_ROOT
- root of the dev-env package; the directory which containsdev-env
andnix
directories, assume its immutable.DADE_BUILD_RESULT
- after a dev-env provided tool is built this variable is exported to point to a nix store where the tool was built.DADE_DEBUG
- sets-x
in shell environemnt where dev-env scripts are executed.DADE_CURRENT_SCRIPT_DIR
- current directory of the currently running/sourced script, corresponds to$BASH_SOURCE[0]
, assume its immutable.DADE_CURRENT_COMMAND
- the name of the current command executed bydade
DADE_GC_ROOTS
- points to a directory namedgc-roots
underDADE_VAR_DIR
which contains Nix garbage collection roots and hashes for each dev-env provided tool individually; always mutable.DADE_LIB_DIR
- points to a directorylib
underDADE_DEVENV_DIR
which contains libraries for dev-env usage, assume its immutable.DADE_NIXPKGS
- points to a GC root which is a symlink to a Nixpkgs snapshot used by dev-env, used only indade-dump-profile
.