mirror of
https://github.com/digital-asset/daml.git
synced 2024-09-20 01:07:18 +03:00
f025dc3065
daml-sdk-head: add optional sha information This PR add an option, `--sha`, to `daml-sdk-head` so that it produces a more accurate version number including the current git sha. The main consequence is that calling `daml-sdk-head --sha` take significantly longer than calling `daml-sdk-head`, because it needs to recompile everything that depends on the version number. > ## Wait, but why?? I started this work in support of an internal project that needed to test against unreleased, and possibly unmerged, daml versions. However, after further discussion I believe there is a better option for their use-case. I've decided to still open this PR because the work was done and there is no downside to it. It may still be useful if one wanted to be able to maintain more than one non-released local version of daml. CHANGELOG_BEGIN CHANGELOG_END |
||
---|---|---|
.. | ||
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.
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-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
.