about summary refs log tree commit diff
path: root/pkgs/development/tools/build-managers/bazel
diff options
context:
space:
mode:
authorMatthieu Coudron <mcoudron@hotmail.com>2021-02-05 00:53:50 +0100
committerMatthieu Coudron <mcoudron@hotmail.com>2021-03-16 17:18:18 +0100
commit0b9f90ef5f2c5dabafa12e8d8a5e549ad901149e (patch)
tree48ed21c75468a1154cf6b99dbce2a34566479ab5 /pkgs/development/tools/build-managers/bazel
parent916ee862e87ac5ee2439f2fb7856386b4dc906ae (diff)
bazel: add execlog parser
This is a tool to help troubleshoot debug issues:
https://docs.bazel.build/versions/master/remote-execution-caching-debug.html
Diffstat (limited to 'pkgs/development/tools/build-managers/bazel')
-rw-r--r--pkgs/development/tools/build-managers/bazel/bazel_3/default.nix16
1 files changed, 16 insertions, 0 deletions
diff --git a/pkgs/development/tools/build-managers/bazel/bazel_3/default.nix b/pkgs/development/tools/build-managers/bazel/bazel_3/default.nix
index 41ae9ce211258..5b20ece76803d 100644
--- a/pkgs/development/tools/build-managers/bazel/bazel_3/default.nix
+++ b/pkgs/development/tools/build-managers/bazel/bazel_3/default.nix
@@ -62,6 +62,7 @@ let
       srcs.rules_cc
       srcs.rules_java
       srcs.rules_proto
+      srcs.com_google_protobuf
       ]);
 
   distDir = runCommand "bazel-deps" {} ''
@@ -527,6 +528,13 @@ stdenv.mkDerivation rec {
         --output=./bazel_src/output/bazel-complete.bash \
         --prepend=./bazel_src/scripts/bazel-complete-header.bash \
         --prepend=./bazel_src/scripts/bazel-complete-template.bash
+
+    # need to change directory for bazel to find the workspace
+    cd ./bazel_src
+    # build execlog tooling
+    export HOME=$(mktemp -d)
+    ./output/bazel build  src/tools/execlog:parser_deploy.jar
+    cd -
   '';
 
   installPhase = ''
@@ -537,7 +545,15 @@ stdenv.mkDerivation rec {
     # The binary _must_ exist with this naming if your project contains a .bazelversion
     # file.
     cp ./bazel_src/scripts/packages/bazel.sh $out/bin/bazel
+
+    mkdir $out/share
+    cp ./bazel_src/bazel-bin/src/tools/execlog/parser_deploy.jar $out/share/parser_deploy.jar
     mv ./bazel_src/output/bazel $out/bin/bazel-${version}-${system}-${arch}
+    cat <<EOF > $out/bin/bazel-execlog
+    #!${runtimeShell} -e
+    ${runJdk}/bin/java -jar $out/share/parser_deploy.jar \$@
+    EOF
+    chmod +x $out/bin/bazel-execlog
 
     # shell completion files
     installShellCompletion --bash \