0ce396bdab
There is a reoccuring problem in readTree-type repositories that use nix-shell, where evaluation of the full set of dependencies that should be made available to users takes a noticeable amount of time, slowing down operations when `direnv` is involved. In depot, we have so far fixed this by maintaining a manual `//bin` directory which contains a set of symlinks to a central dispatch script that can dispatch to various tools in depot lazily. This script can instead be generated ad-hoc by Nix (pretty fast if we can make assumptions like `git` and `nix-build` existing on user's machines already) and added to $PATH. The function introduced in this commit implements the logic for that. The structure of the script is based on the existing `//bin/__dispatch`. This does not yet switch depot's envrc to use this new method of installing dependencies lazily. Change-Id: I92efcd9bb6aa51aa2709ad910a464e9dac97ee89 Reviewed-on: https://cl.tvl.fyi/c/depot/+/5512 Tested-by: BuildkiteCI Reviewed-by: ezemtsov <eugene.zemtsov@gmail.com> |
||
---|---|---|
.. | ||
binify | ||
bufCheck | ||
buildGo | ||
buildkite | ||
buildLisp | ||
buildManPages | ||
drvSeqL | ||
emptyDerivation | ||
escapeExecline | ||
getBins | ||
lazy-deps | ||
mergePatch | ||
netstring | ||
nint | ||
readTree | ||
renderMarkdown | ||
runExecline | ||
runTestsuite | ||
sparseTree | ||
tag | ||
tailscale | ||
utils | ||
writeElispBin | ||
writeExecline | ||
writers | ||
writeScript | ||
writeScriptBin | ||
yants | ||
OWNERS |