From 68ab0a0705ec08eea3259e957fbd4db5107ee6a6 Mon Sep 17 00:00:00 2001 From: edef Date: Wed, 5 Aug 2020 01:52:12 +0000 Subject: chore(edef/users/depot-scan): move to a subdir Change-Id: If202b466aa0874048e89e0dc270ff14883510131 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1652 Reviewed-by: edef Tested-by: BuildkiteCI --- users/edef/depot-scan-wrap.nix | 17 ----------------- users/edef/depot-scan.nix | 12 ------------ users/edef/depot-scan.pl | 11 ----------- users/edef/depot-scan/default.nix | 12 ++++++++++++ users/edef/depot-scan/depot-scan.pl | 11 +++++++++++ users/edef/depot-scan/wrap.nix | 15 +++++++++++++++ 6 files changed, 38 insertions(+), 40 deletions(-) delete mode 100644 users/edef/depot-scan-wrap.nix delete mode 100644 users/edef/depot-scan.nix delete mode 100755 users/edef/depot-scan.pl create mode 100644 users/edef/depot-scan/default.nix create mode 100755 users/edef/depot-scan/depot-scan.pl create mode 100644 users/edef/depot-scan/wrap.nix (limited to 'users') diff --git a/users/edef/depot-scan-wrap.nix b/users/edef/depot-scan-wrap.nix deleted file mode 100644 index 52ea5cc852..0000000000 --- a/users/edef/depot-scan-wrap.nix +++ /dev/null @@ -1,17 +0,0 @@ -# this wraps import to override readFile and readDir to trace the files it touches -# technique inspired by lorri -{ ... }: - -let - - global = { - import = global.scopedImport {}; - scopedImport = x: builtins.scopedImport (global // x); - builtins = builtins // { - inherit (global) import scopedImport; - readFile = path: builtins.trace "depot-scan '${toString path}'" (builtins.readFile path); - readDir = path: builtins.trace "depot-scan '${toString path}'" (builtins.readDir path); - }; - }; - -in global.import diff --git a/users/edef/depot-scan.nix b/users/edef/depot-scan.nix deleted file mode 100644 index f0654188c8..0000000000 --- a/users/edef/depot-scan.nix +++ /dev/null @@ -1,12 +0,0 @@ -{ pkgs, ... }: - -pkgs.writeShellScriptBin "depot-scan" '' - set -euo pipefail - - path="''${1:-$(git rev-parse --show-prefix)}" - path="''${path%%/}" - attr="''${path//\//.}" - root="$(git rev-parse --show-toplevel)" - echo "scanning //$path" >&2 - nix-instantiate -E "import ${./depot-scan-wrap.nix} {} $root" -A "$attr" -vv 2> >(${pkgs.perl}/bin/perl ${./depot-scan.pl}) >&2 -'' diff --git a/users/edef/depot-scan.pl b/users/edef/depot-scan.pl deleted file mode 100755 index 8808e2eb00..0000000000 --- a/users/edef/depot-scan.pl +++ /dev/null @@ -1,11 +0,0 @@ -#! /usr/bin/env -S perl -ln -use strict; - -if (/^evaluating file '(.*)'$/ or - /^copied source '(.*)' -> '.*'$/ or - /^trace: depot-scan '(.*)'$/) { - print $1; - next; -} - -print STDERR unless /^instantiated '.*' -> '.*'$/; diff --git a/users/edef/depot-scan/default.nix b/users/edef/depot-scan/default.nix new file mode 100644 index 0000000000..a9c0f382ff --- /dev/null +++ b/users/edef/depot-scan/default.nix @@ -0,0 +1,12 @@ +{ pkgs, ... }: + +pkgs.writeShellScriptBin "depot-scan" '' + set -euo pipefail + + path="''${1:-$(git rev-parse --show-prefix)}" + path="''${path%%/}" + attr="''${path//\//.}" + root="$(git rev-parse --show-toplevel)" + echo "scanning //$path" >&2 + nix-instantiate -E "import ${./wrap.nix} $root" -A "$attr" -vv 2> >(${pkgs.perl}/bin/perl ${./depot-scan.pl}) >&2 +'' diff --git a/users/edef/depot-scan/depot-scan.pl b/users/edef/depot-scan/depot-scan.pl new file mode 100755 index 0000000000..8808e2eb00 --- /dev/null +++ b/users/edef/depot-scan/depot-scan.pl @@ -0,0 +1,11 @@ +#! /usr/bin/env -S perl -ln +use strict; + +if (/^evaluating file '(.*)'$/ or + /^copied source '(.*)' -> '.*'$/ or + /^trace: depot-scan '(.*)'$/) { + print $1; + next; +} + +print STDERR unless /^instantiated '.*' -> '.*'$/; diff --git a/users/edef/depot-scan/wrap.nix b/users/edef/depot-scan/wrap.nix new file mode 100644 index 0000000000..dcb557a24b --- /dev/null +++ b/users/edef/depot-scan/wrap.nix @@ -0,0 +1,15 @@ +# this wraps import to override readFile and readDir to trace the files it touches +# technique inspired by lorri +let + + global = { + import = global.scopedImport {}; + scopedImport = x: builtins.scopedImport (global // x); + builtins = builtins // { + inherit (global) import scopedImport; + readFile = path: builtins.trace "depot-scan '${toString path}'" (builtins.readFile path); + readDir = path: builtins.trace "depot-scan '${toString path}'" (builtins.readDir path); + }; + }; + +in global.import -- cgit 1.4.1