about summary refs log tree commit diff
path: root/pkgs/development/tools/build-managers
diff options
context:
space:
mode:
authorGuillaume Bouchard <guillaume.bouchard@tweag.io>2019-06-20 17:13:06 +0200
committerGuillaume Bouchard <guillaume.bouchard@tweag.io>2019-06-22 21:46:50 +0200
commit7fed6eabcf76bd3bec4d8e5d384cd162c68ebfce (patch)
tree06265c5f25eabf505c5bdcaf74af0a69784e3b8f /pkgs/development/tools/build-managers
parentba327a54b67732a715cc4237f5de20411b635319 (diff)
downloadnixlib-7fed6eabcf76bd3bec4d8e5d384cd162c68ebfce.tar
nixlib-7fed6eabcf76bd3bec4d8e5d384cd162c68ebfce.tar.gz
nixlib-7fed6eabcf76bd3bec4d8e5d384cd162c68ebfce.tar.bz2
nixlib-7fed6eabcf76bd3bec4d8e5d384cd162c68ebfce.tar.lz
nixlib-7fed6eabcf76bd3bec4d8e5d384cd162c68ebfce.tar.xz
nixlib-7fed6eabcf76bd3bec4d8e5d384cd162c68ebfce.tar.zst
nixlib-7fed6eabcf76bd3bec4d8e5d384cd162c68ebfce.zip
bazel: restore installCheckPhase
All the dependencies of this phase are prefetched and provided to the
bazel environment using --override_repository.
Diffstat (limited to 'pkgs/development/tools/build-managers')
-rw-r--r--pkgs/development/tools/build-managers/bazel/default.nix31
1 files changed, 23 insertions, 8 deletions
diff --git a/pkgs/development/tools/build-managers/bazel/default.nix b/pkgs/development/tools/build-managers/bazel/default.nix
index ec36ca3e6d3f..2cb00be63a90 100644
--- a/pkgs/development/tools/build-managers/bazel/default.nix
+++ b/pkgs/development/tools/build-managers/bazel/default.nix
@@ -28,15 +28,16 @@ let
 
   # Update with `eval $(nix-build -A bazel.updater)`,
   # then add new dependencies from the dict in ./src-deps.json as required.
-  srcDeps =
+  srcDeps = lib.attrsets.attrValues srcDepsSet;
+  srcDepsSet =
     let
       srcs = (builtins.fromJSON (builtins.readFile ./src-deps.json));
-      toFetchurl = d: fetchurl {
+      toFetchurl = d: lib.attrsets.nameValuePair d.name (fetchurl {
         name = d.name;
         urls = d.urls;
         sha256 = d.sha256;
-      };
-    in map toFetchurl [
+        });
+        in builtins.listToAttrs (map toFetchurl [
       srcs.desugar_jdk_libs
       srcs.io_bazel_skydoc
       srcs.bazel_skylib
@@ -47,7 +48,7 @@ let
       srcs.${"coverage_output_generator-v1.0.zip"}
       srcs.build_bazel_rules_nodejs
       srcs.${"android_tools_pkg-0.4.tar.gz"}
-      ];
+      ]);
 
   distDir = runCommand "bazel-deps" {} ''
     mkdir -p $out
@@ -433,14 +434,28 @@ stdenv.mkDerivation rec {
     cp ./bazel_src/scripts/zsh_completion/_bazel $out/share/zsh/site-functions/
   '';
 
-  # Temporarily disabling for now. A new approach is needed for this derivation as Bazel
-  # accesses the internet during the tests which fails in a sandbox.
-  doInstallCheck = false;
+  doInstallCheck = true;
   installCheckPhase = ''
     export TEST_TMPDIR=$(pwd)
 
+    tar xf ${srcDepsSet.io_bazel_skydoc} -C $TEST_TMPDIR
+    mv $(ls | grep skydoc-) io_bazel_skydoc
+
+    tar xf ${srcDepsSet.bazel_skylib} -C $TEST_TMPDIR
+    mv $(ls | grep bazel-skylib-) bazel_skylib
+
+    tar xf ${srcDepsSet.io_bazel_rules_sass} -C $TEST_TMPDIR
+    mv $(ls | grep rules_sass-) rules_sass
+
+    unzip ${srcDepsSet.build_bazel_rules_nodejs} -d $TEST_TMPDIR
+    mv rules_nodejs-0.16.2 build_bazel_rules_nodejs
+
     hello_test () {
       $out/bin/bazel test \
+        --override_repository=io_bazel_skydoc=$TEST_TMPDIR/io_bazel_skydoc \
+        --override_repository=bazel_skylib=$TEST_TMPDIR/bazel_skylib \
+        --override_repository=io_bazel_rules_sass=$TEST_TMPDIR/rules_sass \
+        --override_repository=build_bazel_rules_nodejs=$TEST_TMPDIR/build_bazel_rules_nodejs \
         --test_output=errors \
         --java_toolchain='${javaToolchain}' \
         examples/cpp:hello-success_test \