This folder contains the development dependencies of this project.
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
.
Run your comment with DADE_DEBUG=1
as prefix, e.g.:
DADE_DEBUG=1 jq
Dev-env uses a common set of variables across it, here are they listed to be documented in future.
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.
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
.
We use Nix store paths as versions of dev-env. Briefly, this means
that non-da
repositories will have a dev-env/dev-env.version
file
with the Nix store path of the desired dev-env version. Please see the
[design doc of DEL-1294][design-doc] for details.
Notable changes to the dev-env should be added to UNRELEASED.md
.
From there, they can be move to CHANGELOG.md
with the
update-changelog
script from ledger. Run the script as:
$ ../ledger/scripts/update-changelog UNRELEASED.md CHANGELOG.md $(cat VERSION)
This will move the entries from UNRELEASED.md
to CHANGELOG.md
.
Pull request references in the form of [pr:1234]
and Jira references
in the form of [jira:ABC-1234]
are automatically turned into links
during this process.
Run dade-freeze
to generate a release of dev-env, suitable for consumption in
other repositories. Please note That this is not published by the command.
Hydra will build new dev-env version from master as soon as it's pushed at:
http://hydra.da-int.net/job/da/master/cached.x86_64-darwin.dev-env