about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/tools/build-managers/bazel
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/tools/build-managers/bazel')
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/bazel/bazel-deps/default.nix51
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/bazel/bazel-remote/default.nix1
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/bazel/buildtools/default.nix14
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/bazel/buildtools/deps.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/bazel/default.nix67
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/bazel/nix-hacks.patch24
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/bazel/python-stub-path-fix.patch13
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/bazel/src-deps.json87
8 files changed, 130 insertions, 131 deletions
diff --git a/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel-deps/default.nix b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel-deps/default.nix
index 6fdb57345072..62a1329eca6a 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel-deps/default.nix
+++ b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel-deps/default.nix
@@ -2,7 +2,7 @@
 
 buildBazelPackage rec {
   name = "bazel-deps-${version}";
-  version = "2019-02-01";
+  version = "2019-07-11";
 
   meta = with stdenv.lib; {
     homepage = "https://github.com/johnynek/bazel-deps";
@@ -10,13 +10,14 @@ buildBazelPackage rec {
     license = licenses.mit;
     maintainers = [ maintainers.uri-canva ];
     platforms = platforms.all;
+    broken = true; # global variable '_common_attrs_for_plugin_bootstrapping' is referenced before assignment.
   };
 
   src = fetchFromGitHub {
     owner = "johnynek";
     repo = "bazel-deps";
-    rev = "6585033409e09028852403ec15ec0c77851234be";
-    sha256 = "0hypf7mcbpx2djqm92k82vn1k6pbnv564xbnazx8nw60f6ns0x87";
+    rev = "48fdf7f8bcf3aadfa07f9f7e6f0c9f4247cb0f58";
+    sha256 = "0wpn5anfgq5wfljfhpn8gbgdmgcp0claffjgqcnv5dh70ch7i0gi";
   };
 
   bazelTarget = "//src/scala/com/github/johnynek/bazel_deps:parseproject_deploy.jar";
@@ -24,49 +25,7 @@ buildBazelPackage rec {
   buildInputs = [ git makeWrapper ];
 
   fetchAttrs = {
-    preInstall = ''
-      # Remove all built in external workspaces, Bazel will recreate them when building
-      rm -rf $bazelOut/external/{bazel_tools,\@bazel_tools.marker,embedded_jdk,\@embedded_jdk.marker,local_*,\@local_*}
-      # For each external workspace, remove all files that aren't referenced by Bazel
-      # Many of these files are non-hermetic (for example .git/refs/remotes/origin/HEAD)
-      files_to_delete=()
-      for workspace in $(find $bazelOut/external -maxdepth 2 -name "WORKSPACE" -print0 | xargs -0L1 dirname); do
-        workspaceOut="$NIX_BUILD_TOP/workspaces/$(basename workspace)/output"
-        workspaceUserRoot="$NIX_BUILD_TOP/workspaces/$(basename workspace)/tmp"
-        rm -rf $workspace/.git
-        if ! targets_and_files=$(cd "$workspace" && bazel --output_base="$workspaceOut" --output_user_root="$workspaceUserRoot" query '//...:*' 2> /dev/null | sort -u); then
-          continue
-        fi
-        if ! targets=$(cd "$workspace" && bazel --output_base="$workspaceOut" --output_user_root="$workspaceUserRoot" query '//...:all' 2> /dev/null | sort -u); then
-          continue
-        fi
-        mapfile -t referenced_files < <(comm -23 <(printf '%s' "$targets_and_files") <(printf '%s' "$targets") | sed -e 's,^//:,,g' | sed -e 's,^//,,g' | sed -e 's,:,/,g')
-        referenced_files+=( "WORKSPACE" )
-        for referenced_file in "''${referenced_files[@]}"; do
-          # Some of the referenced files are symlinks to non-referenced files.
-          # The symlink targets have deterministic contents, but non-deterministic
-          # paths. Copy them to the referenced path, which is deterministic.
-          if target=$(readlink "$workspace/$referenced_file"); then
-            rm "$workspace/$referenced_file"
-            cp -a "$target" "$workspace/$referenced_file"
-          fi
-        done
-        mapfile -t workspace_files_to_delete < <(find "$workspace" -type f -or -type l | sort -u | comm -23 - <(printf "$workspace/%s\n" "''${referenced_files[@]}" | sort -u))
-        for workspace_file_to_delete in "''${workspace_files_to_delete[@]}"; do
-          files_to_delete+=("$workspace_file_to_delete")
-        done
-        # We're running bazel in many different workspaces in a loop. Letting the
-        # daemon shut down on its own would leave several daemons alive at the
-        # same time, using up a lot of memory. Shut them down explicitly instead.
-        bazel --output_base="$workspaceOut" --output_user_root="$workspaceUserRoot" shutdown 2> /dev/null
-      done
-      for file_to_delete in "''${files_to_delete[@]}"; do
-        rm "$file_to_delete"
-      done
-      find . -type d -empty -delete
-    '';
-
-    sha256 = "1yirrzhhrsmbgd27fg709plhrhyi8pzwqv84yg72sd3799kswh9m";
+    sha256 = "1r5qxsbw2cgww7vcg5psh7404l3jcxpvc0ndgl3k8vj1x8y93nkf";
   };
 
   buildAttrs = {
diff --git a/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel-remote/default.nix b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel-remote/default.nix
index 0d821fa61660..2eb5f772f890 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel-remote/default.nix
+++ b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel-remote/default.nix
@@ -76,5 +76,6 @@ buildBazelPackage rec {
     license = licenses.asl20;
     maintainers = [ maintainers.uri-canva ];
     platforms = platforms.darwin;
+    broken = true; # global variable '_layer' is referenced before assignment.
   };
 }
diff --git a/nixpkgs/pkgs/development/tools/build-managers/bazel/buildtools/default.nix b/nixpkgs/pkgs/development/tools/build-managers/bazel/buildtools/default.nix
index 2e8f806d53aa..f7b0184f8367 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/bazel/buildtools/default.nix
+++ b/nixpkgs/pkgs/development/tools/build-managers/bazel/buildtools/default.nix
@@ -1,16 +1,16 @@
-{ stdenv, buildGoPackage, fetchFromGitHub }:
+{ stdenv, buildGoPackage, fetchgit, fetchhg, fetchbzr, fetchsvn }:
 
 buildGoPackage rec {
   name = "bazel-buildtools-${version}";
-  version = "0.22.0";
+  version = "0.28.0";
+  rev = "d7ccc5507c6c16e04f5e362e558d70b8b179b052";
 
   goPackagePath = "github.com/bazelbuild/buildtools";
 
-  src = fetchFromGitHub {
-    owner = "bazelbuild";
-    repo = "buildtools";
-    rev = "55b64c3d2ddfb57f06477c1d94ef477419c96bd6";
-    sha256 = "0n6q8pkgy3vvmwyrxvkmjfbcxc31i31czg2bjdzq7awwrr4fdbwy";
+  src = fetchgit {
+    inherit rev;
+    url = "https://github.com/bazelbuild/buildtools";
+    sha256 = "1d8zjgbg77sk27cz9pjz1h6ajwxqmvdzqgwa2jbh6iykibhpadq0";
   };
 
   goDeps = ./deps.nix;
diff --git a/nixpkgs/pkgs/development/tools/build-managers/bazel/buildtools/deps.nix b/nixpkgs/pkgs/development/tools/build-managers/bazel/buildtools/deps.nix
index d7cd02c12b8b..5bae5b406535 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/bazel/buildtools/deps.nix
+++ b/nixpkgs/pkgs/development/tools/build-managers/bazel/buildtools/deps.nix
@@ -5,8 +5,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/golang/protobuf";
-      rev = "b5d812f8a3706043e23a9cd5babf2e5423744d30";
-      sha256 = "15am4s4646qy6iv0g3kkqq52rzykqjhm4bf08dk0fy2r58knpsyl";
+      rev = "6c65a5562fc06764971b7c5d05c76c75e84bdbf7";
+      sha256 = "1k1wb4zr0qbwgpvz9q5ws9zhlal8hq7dmq62pwxxriksayl6hzym";
     };
   }
   {
diff --git a/nixpkgs/pkgs/development/tools/build-managers/bazel/default.nix b/nixpkgs/pkgs/development/tools/build-managers/bazel/default.nix
index bad0023eef32..f67d8e761b43 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/bazel/default.nix
+++ b/nixpkgs/pkgs/development/tools/build-managers/bazel/default.nix
@@ -1,4 +1,5 @@
-{ stdenv, callPackage, lib, fetchurl, fetchFromGitHub, runCommand, runCommandCC, makeWrapper
+{ stdenv, callPackage, lib, fetchurl, fetchFromGitHub
+, runCommand, runCommandCC, makeWrapper, recurseIntoAttrs
 # this package (through the fixpoint glass)
 , bazel
 , lr, xe, zip, unzip, bash, writeCBin, coreutils
@@ -11,19 +12,21 @@
 , buildJdk, runJdk
 , buildJdkName
 , runtimeShell
-# Always assume all markers valid (don't redownload dependencies).
-# Also, don't clean up environment variables.
+# Downstream packages for tests
+, bazel-watcher
+# Always assume all markers valid (this is needed because we remove markers; they are non-deterministic).
+# Also, don't clean up environment variables (so that NIX_ environment variables are passed to compilers).
 , enableNixHacks ? false
 , gcc-unwrapped
 , autoPatchelfHook
 }:
 
 let
-  version = "0.27.0";
+  version = "0.28.1";
 
   src = fetchurl {
     url = "https://github.com/bazelbuild/bazel/releases/download/${version}/bazel-${version}-dist.zip";
-    sha256 = "0yn662dzgfr8ls4avfl12k5sr4f210bab12wml18bh4sjlxhs263";
+    sha256 = "0503fax70w7h6v00mkrrrgf1m5n0vkjqs76lyg95alhzc4yldsic";
   };
 
   # Update with `eval $(nix-build -A bazel.updater)`,
@@ -33,7 +36,6 @@ let
     let
       srcs = (builtins.fromJSON (builtins.readFile ./src-deps.json));
       toFetchurl = d: lib.attrsets.nameValuePair d.name (fetchurl {
-        name = d.name;
         urls = d.urls;
         sha256 = d.sha256;
         });
@@ -42,12 +44,13 @@ let
       srcs.io_bazel_skydoc
       srcs.bazel_skylib
       srcs.io_bazel_rules_sass
+      srcs.platforms
       (if stdenv.hostPlatform.isDarwin
        then srcs.${"java_tools_javac11_darwin-v2.0.zip"}
        else srcs.${"java_tools_javac11_linux-v2.0.zip"})
       srcs.${"coverage_output_generator-v1.0.zip"}
       srcs.build_bazel_rules_nodejs
-      srcs.${"android_tools_pkg-0.4.tar.gz"}
+      srcs.${"android_tools_pkg-0.7.tar.gz"}
       ]);
 
   distDir = runCommand "bazel-deps" {} ''
@@ -136,8 +139,6 @@ stdenv.mkDerivation rec {
     # This is breaking the build of any C target. This patch removes the last
     # argument if it's found to be an empty string.
     ./trim-last-argument-to-gcc-if-empty.patch
-
-    ./python-stub-path-fix.patch
   ] ++ lib.optional enableNixHacks ./nix-hacks.patch;
 
 
@@ -220,13 +221,25 @@ stdenv.mkDerivation rec {
       cpp = callPackage ./cpp-test.nix { inherit runLocal bazelTest bazel-examples; };
       java = callPackage ./java-test.nix { inherit runLocal bazelTest bazel-examples; };
       protobuf = callPackage ./protobuf-test.nix { inherit runLocal bazelTest; };
-      pythonBinPath = callPackage ./python-bin-path-test.nix{ inherit runLocal bazelTest; };
+      pythonBinPath = callPackage ./python-bin-path-test.nix { inherit runLocal bazelTest; };
 
       bashToolsWithNixHacks = callPackage ./bash-tools-test.nix { inherit runLocal bazelTest; bazel = bazelWithNixHacks; };
+
       cppWithNixHacks = callPackage ./cpp-test.nix { inherit runLocal bazelTest bazel-examples; bazel = bazelWithNixHacks; };
       javaWithNixHacks = callPackage ./java-test.nix { inherit runLocal bazelTest bazel-examples; bazel = bazelWithNixHacks; };
       protobufWithNixHacks = callPackage ./protobuf-test.nix { inherit runLocal bazelTest; bazel = bazelWithNixHacks; };
-      pythonBinPathWithNixHacks = callPackage ./python-bin-path-test.nix{ inherit runLocal bazelTest; bazel = bazelWithNixHacks; };
+      pythonBinPathWithNixHacks = callPackage ./python-bin-path-test.nix { inherit runLocal bazelTest; bazel = bazelWithNixHacks; };
+
+      # downstream packages using buildBazelPackage
+      # fixed-output hashes of the fetch phase need to be spot-checked manually
+      downstream = recurseIntoAttrs ({
+        inherit bazel-watcher;
+      }
+          # dm-sonnet is only packaged for linux
+      // (lib.optionalAttrs stdenv.isLinux {
+          # TODO(timokau) dm-sonnet is broken currently
+          # dm-sonnet-linux = python3.pkgs.dm-sonnet;
+      }));
     };
 
   # update the list of workspace dependencies
@@ -310,9 +323,8 @@ stdenv.mkDerivation rec {
     genericPatches = ''
       # Substitute python's stub shebang to plain python path. (see TODO add pr URL)
       # See also `postFixup` where python is added to $out/nix-support
-      substituteInPlace src/main/java/com/google/devtools/build/lib/bazel/rules/python/python_stub_template.txt\
-          --replace "/usr/bin/env python" "${python3}/bin/python" \
-          --replace "NIX_STORE_PYTHON_PATH" "${python3}/bin/python" \
+      patchShebangs src/main/java/com/google/devtools/build/lib/bazel/rules/python/python_stub_template.txt \
+          --replace "#!/usr/bin/env python" "#!${python3}/bin/python"
 
       # md5sum is part of coreutils
       sed -i 's|/sbin/md5|md5sum|' \
@@ -332,6 +344,11 @@ stdenv.mkDerivation rec {
       substituteInPlace tools/build_rules/test_rules.bzl \
         --replace /bin/bash ${customBash}/bin/bash
 
+      for i in $(find tools/cpp/ -type f)
+      do
+        substituteInPlace $i \
+          --replace /bin/bash ${customBash}/bin/bash
+      done
 
       # Fixup scripts that generate scripts. Not fixed up by patchShebangs below.
       substituteInPlace scripts/bootstrap/compile.sh \
@@ -339,8 +356,8 @@ stdenv.mkDerivation rec {
 
       # add nix environment vars to .bazelrc
       cat >> .bazelrc <<EOF
-      build --experimental_distdir=${distDir}
-      fetch --experimental_distdir=${distDir}
+      build --distdir=${distDir}
+      fetch --distdir=${distDir}
       build --copt="$(echo $NIX_CFLAGS_COMPILE | sed -e 's/ /" --copt="/g')"
       build --host_copt="$(echo $NIX_CFLAGS_COMPILE | sed -e 's/ /" --host_copt="/g')"
       build --linkopt="-Wl,$(echo $NIX_LDFLAGS | sed -e 's/ /" --linkopt="-Wl,/g')"
@@ -456,24 +473,8 @@ stdenv.mkDerivation rec {
   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 \
+      $out/bin/bazel test --distdir=${distDir} \
         --test_output=errors \
         --java_toolchain='${javaToolchain}' \
         examples/cpp:hello-success_test \
diff --git a/nixpkgs/pkgs/development/tools/build-managers/bazel/nix-hacks.patch b/nixpkgs/pkgs/development/tools/build-managers/bazel/nix-hacks.patch
index f58be89fabc1..95f07646802e 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/bazel/nix-hacks.patch
+++ b/nixpkgs/pkgs/development/tools/build-managers/bazel/nix-hacks.patch
@@ -1,10 +1,12 @@
-diff -Naur a/src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryDelegatorFunction.java b/src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryDelegatorFunction.java
---- a/src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryDelegatorFunction.java	2019-06-12 20:39:37.420705161 -0700
-+++ b/src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryDelegatorFunction.java	2019-06-12 20:44:18.894429744 -0700
-@@ -428,24 +428,7 @@
+diff --git a/src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryDelegatorFunction.java b/src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryDelegatorFunction.java
+index 8e772005cd..6ffa1c919c 100644
+--- a/src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryDelegatorFunction.java
++++ b/src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryDelegatorFunction.java
+@@ -432,25 +432,7 @@ public final class RepositoryDelegatorFunction implements SkyFunction {
+       String content;
        try {
          content = FileSystemUtils.readContent(markerPath, StandardCharsets.UTF_8);
-         String markerRuleKey = readMarkerFile(content, markerData);
+-        String markerRuleKey = readMarkerFile(content, markerData);
 -        boolean verified = false;
 -        if (Preconditions.checkNotNull(ruleKey).equals(markerRuleKey)
 -            && Objects.equals(
@@ -17,19 +19,21 @@ diff -Naur a/src/main/java/com/google/devtools/build/lib/rules/repository/Reposi
 -        }
 -
 -        if (verified) {
-           return new Fingerprint().addString(content).digestAndReset();
+-          return new Fingerprint().addString(content).digestAndReset();
 -        } else {
 -          // So that we are in a consistent state if something happens while fetching the repository
 -          markerPath.delete();
 -          return null;
 -        }
++        return new Fingerprint().addString(content).digestAndReset();
        } catch (IOException e) {
          throw new RepositoryFunctionException(e, Transience.TRANSIENT);
        }
-diff -Naur a/src/main/java/com/google/devtools/build/lib/shell/JavaSubprocessFactory.java b/src/main/java/com/google/devtools/build/lib/shell/JavaSubprocessFactory.java
---- a/src/main/java/com/google/devtools/build/lib/shell/JavaSubprocessFactory.java	2019-06-12 20:39:37.538708196 -0700
-+++ b/src/main/java/com/google/devtools/build/lib/shell/JavaSubprocessFactory.java	2019-06-12 20:44:18.863429602 -0700
-@@ -146,7 +146,6 @@
+diff --git a/src/main/java/com/google/devtools/build/lib/shell/JavaSubprocessFactory.java b/src/main/java/com/google/devtools/build/lib/shell/JavaSubprocessFactory.java
+index c282d57ab6..f9b0c08627 100644
+--- a/src/main/java/com/google/devtools/build/lib/shell/JavaSubprocessFactory.java
++++ b/src/main/java/com/google/devtools/build/lib/shell/JavaSubprocessFactory.java
+@@ -146,7 +146,6 @@ public class JavaSubprocessFactory implements SubprocessFactory {
      ProcessBuilder builder = new ProcessBuilder();
      builder.command(params.getArgv());
      if (params.getEnv() != null) {
diff --git a/nixpkgs/pkgs/development/tools/build-managers/bazel/python-stub-path-fix.patch b/nixpkgs/pkgs/development/tools/build-managers/bazel/python-stub-path-fix.patch
deleted file mode 100644
index cbc4192d2d9b..000000000000
--- a/nixpkgs/pkgs/development/tools/build-managers/bazel/python-stub-path-fix.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/python/python_stub_template.txt b/src/main/java/com/google/devtools/build/lib/bazel/rules/python/python_stub_template.txt
-index dac21c9a83..69b11c283f 100644
---- a/src/main/java/com/google/devtools/build/lib/bazel/rules/python/python_stub_template.txt
-+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/python/python_stub_template.txt
-@@ -67,7 +67,7 @@ def FindPythonBinary(module_space):
-     return os.path.join(module_space, PYTHON_BINARY)
-   else:
-     # Case 4: Path has to be looked up in the search path.
--    return SearchPath(PYTHON_BINARY)
-+    return "NIX_STORE_PYTHON_PATH"
- 
- def CreatePythonPathEntries(python_imports, module_space):
-   parts = python_imports.split(':');
diff --git a/nixpkgs/pkgs/development/tools/build-managers/bazel/src-deps.json b/nixpkgs/pkgs/development/tools/build-managers/bazel/src-deps.json
index a0d07f1a68d4..fc3fe13f5809 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/bazel/src-deps.json
+++ b/nixpkgs/pkgs/development/tools/build-managers/bazel/src-deps.json
@@ -7,12 +7,20 @@
             "https://github.com/bazelbuild/rules_nodejs/archive/0.16.2.zip"
         ]
     },
-    "2d9566b21fbe405acf5f7bf77eda30df72a4744c.tar.gz": {
-        "name": "2d9566b21fbe405acf5f7bf77eda30df72a4744c.tar.gz",
-        "sha256": "4a1318fed4831697b83ce879b3ab70ae09592b167e5bda8edaff45132d1c3b3f",
+    "1ca560df1cf6e280f987af2f8d08a5edc7ac6b54.tar.gz": {
+        "name": "1ca560df1cf6e280f987af2f8d08a5edc7ac6b54.tar.gz",
+        "sha256": "3ca1b3d453a977aeda60dd335feb812771addfd0d0c61751b34b9681aa4d6534",
         "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/skydoc/archive/2d9566b21fbe405acf5f7bf77eda30df72a4744c.tar.gz",
-            "https://github.com/bazelbuild/skydoc/archive/2d9566b21fbe405acf5f7bf77eda30df72a4744c.tar.gz"
+            "https://mirror.bazel.build/github.com/bazelbuild/skydoc/archive/1ca560df1cf6e280f987af2f8d08a5edc7ac6b54.tar.gz",
+            "https://github.com/bazelbuild/skydoc/archive/1ca560df1cf6e280f987af2f8d08a5edc7ac6b54.tar.gz"
+        ]
+    },
+    "441afe1bfdadd6236988e9cac159df6b5a9f5a98.zip": {
+        "name": "441afe1bfdadd6236988e9cac159df6b5a9f5a98.zip",
+        "sha256": "a07fe5e75964361885db725039c2ba673f0ee0313d971ae4f50c9b18cd28b0b5",
+        "urls": [
+            "https://mirror.bazel.build/github.com/bazelbuild/platforms/archive/441afe1bfdadd6236988e9cac159df6b5a9f5a98.zip",
+            "https://github.com/bazelbuild/platforms/archive/441afe1bfdadd6236988e9cac159df6b5a9f5a98.zip"
         ]
     },
     "8ccf4f1c351928b55d5dddf3672e3667f6978d60.tar.gz": {
@@ -23,11 +31,11 @@
             "https://github.com/bazelbuild/rules_sass/archive/8ccf4f1c351928b55d5dddf3672e3667f6978d60.tar.gz"
         ]
     },
-    "android_tools_pkg-0.4.tar.gz": {
-        "name": "android_tools_pkg-0.4.tar.gz",
-        "sha256": "331e7706f2bcae8a68057d8ddd3e3f1574bca26c67c65802fc4a8ac6164fa912",
+    "android_tools_pkg-0.7.tar.gz": {
+        "name": "android_tools_pkg-0.7.tar.gz",
+        "sha256": "a8e48f2fdee2c34b31f45bd47ce050a75ac774f19e0a1f6694fa49fc11d88718",
         "urls": [
-            "https://mirror.bazel.build/bazel_android_tools/android_tools_pkg-0.4.tar.gz"
+            "https://mirror.bazel.build/bazel_android_tools/android_tools_pkg-0.7.tar.gz"
         ]
     },
     "bazel_j2objc": {
@@ -41,11 +49,11 @@
     },
     "bazel_rbe_toolchains": {
         "name": "bazel_rbe_toolchains",
-        "sha256": "f575778fb1366718f5e1204200ecf35796c558998c15303945d351f0b42669e5",
-        "strip_prefix": "bazel_rbe_toolchains-f50471a57cd05a313a953fa54756db6e8fd93673",
+        "sha256": "e2b8644caa15235a488e831264e5dcb014e2cdf3b697319bc1e9d6b0fff0b4b9",
+        "strip_prefix": "bazel_rbe_toolchains-01529a65d21abdf71635ff0c2472043a567ecded",
         "urls": [
-            "https://mirror.bazel.build/github.com/buchgr/bazel_rbe_toolchains/archive/f50471a57cd05a313a953fa54756db6e8fd93673.tar.gz",
-            "https://github.com/buchgr/bazel_rbe_toolchains/archive/f50471a57cd05a313a953fa54756db6e8fd93673.tar.gz"
+            "https://mirror.bazel.build/github.com/buchgr/bazel_rbe_toolchains/archive/01529a65d21abdf71635ff0c2472043a567ecded.tar.gz",
+            "https://github.com/buchgr/bazel_rbe_toolchains/archive/01529a65d21abdf71635ff0c2472043a567ecded.tar.gz"
         ]
     },
     "bazel_skylib": {
@@ -127,11 +135,11 @@
     },
     "io_bazel_skydoc": {
         "name": "io_bazel_skydoc",
-        "sha256": "4a1318fed4831697b83ce879b3ab70ae09592b167e5bda8edaff45132d1c3b3f",
-        "strip_prefix": "skydoc-2d9566b21fbe405acf5f7bf77eda30df72a4744c",
+        "sha256": "3ca1b3d453a977aeda60dd335feb812771addfd0d0c61751b34b9681aa4d6534",
+        "strip_prefix": "skydoc-1ca560df1cf6e280f987af2f8d08a5edc7ac6b54",
         "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/skydoc/archive/2d9566b21fbe405acf5f7bf77eda30df72a4744c.tar.gz",
-            "https://github.com/bazelbuild/skydoc/archive/2d9566b21fbe405acf5f7bf77eda30df72a4744c.tar.gz"
+            "https://mirror.bazel.build/github.com/bazelbuild/skydoc/archive/1ca560df1cf6e280f987af2f8d08a5edc7ac6b54.tar.gz",
+            "https://github.com/bazelbuild/skydoc/archive/1ca560df1cf6e280f987af2f8d08a5edc7ac6b54.tar.gz"
         ]
     },
     "java_tools_javac11_darwin-v2.0.zip": {
@@ -169,6 +177,13 @@
             "https://mirror.bazel.build/bazel_java_tools/jdk_langtools/langtools_jdk11.zip"
         ]
     },
+    "java_tools_langtools_javac12": {
+        "name": "java_tools_langtools_javac12",
+        "sha256": "99b107105165a91df82cd7cf82a8efb930d803fb7de1663cf7f780142104cd14",
+        "urls": [
+            "https://mirror.bazel.build/bazel_java_tools/jdk_langtools/langtools_jdk12.zip"
+        ]
+    },
     "java_tools_langtools_javac9": {
         "name": "java_tools_langtools_javac9",
         "sha256": "3b6bbc47256acf2f61883901e2d4e3f9b292f5fe154a6912b928805de24cb864",
@@ -235,11 +250,27 @@
         ]
     },
     "openjdk_linux_aarch64": {
+        "downloaded_file_path": "zulu-linux-aarch64.tar.gz",
         "name": "openjdk_linux_aarch64",
-        "sha256": "72e7843902b0395e2d30e1e9ad2a5f05f36a4bc62529828bcbc698d54aec6022",
+        "sha256": "23c37c0c3a8fdcbc68e96e70ff5c5c020c14db76deaae9b547849afda4586e5e",
+        "urls": [
+            "https://mirror.bazel.build/openjdk/azul-zulu11.31.15-ca-jdk11.0.3/zulu11.31.15-ca-jdk11.0.3-linux_aarch64-allmodules-c82eb4878c7dc829455caeb915affe36c89df06f-1561630858.tar.gz"
+        ]
+    },
+    "openjdk_linux_aarch64_minimal": {
+        "downloaded_file_path": "zulu-linux-aarch64-minimal.tar.gz",
+        "name": "openjdk_linux_aarch64_minimal",
+        "sha256": "7af2583fe5ef0a781d4a9dca0c0160d42e7db1305ec1b66f98aa44c91cc875df",
         "urls": [
-            "https://mirror.bazel.build/openjdk.linaro.org/releases/jdk9-server-release-1708.tar.xz",
-            "http://openjdk.linaro.org/releases/jdk9-server-release-1708.tar.xz"
+            "https://mirror.bazel.build/openjdk/azul-zulu11.31.15-ca-jdk11.0.3/zulu11.31.15-ca-jdk11.0.3-linux_aarch64-minimal-c82eb4878c7dc829455caeb915affe36c89df06f-1561630858.tar.gz"
+        ]
+    },
+    "openjdk_linux_aarch64_vanilla": {
+        "downloaded_file_path": "zulu-linux-aarch64-vanilla.tar.gz",
+        "name": "openjdk_linux_aarch64_vanilla",
+        "sha256": "3b0d91611b1bdc4d409afcf9eab4f0e7f4ae09f88fc01bd9f2b48954882ae69b",
+        "urls": [
+            "https://mirror.bazel.build/openjdk/azul-zulu11.31.15-ca-jdk11.0.3/zulu11.31.15-ca-jdk11.0.3-linux_aarch64.tar.gz"
         ]
     },
     "openjdk_linux_minimal": {
@@ -306,6 +337,15 @@
             "https://mirror.bazel.build/openjdk/azul-zulu11.29.3-ca-jdk11.0.2/zulu11.29.3-ca-jdk11.0.2-win_x64.zip"
         ]
     },
+    "platforms": {
+        "name": "platforms",
+        "sha256": "a07fe5e75964361885db725039c2ba673f0ee0313d971ae4f50c9b18cd28b0b5",
+        "strip_prefix": "platforms-441afe1bfdadd6236988e9cac159df6b5a9f5a98",
+        "urls": [
+            "https://mirror.bazel.build/github.com/bazelbuild/platforms/archive/441afe1bfdadd6236988e9cac159df6b5a9f5a98.zip",
+            "https://github.com/bazelbuild/platforms/archive/441afe1bfdadd6236988e9cac159df6b5a9f5a98.zip"
+        ]
+    },
     "zulu10.2+3-jdk10.0.1-linux_x64-allmodules.tar.gz": {
         "name": "zulu10.2+3-jdk10.0.1-linux_x64-allmodules.tar.gz",
         "sha256": "57fad3602e74c79587901d6966d3b54ef32cb811829a2552163185d5064fe9b5",
@@ -369,6 +409,13 @@
             "https://mirror.bazel.build/openjdk/azul-zulu11.29.3-ca-jdk11.0.2/zulu11.29.3-ca-jdk11.0.2-win_x64.zip"
         ]
     },
+    "zulu11.31.15-ca-jdk11.0.3-linux_aarch64.tar.gz": {
+        "name": "zulu11.31.15-ca-jdk11.0.3-linux_aarch64.tar.gz",
+        "sha256": "3b0d91611b1bdc4d409afcf9eab4f0e7f4ae09f88fc01bd9f2b48954882ae69b",
+        "urls": [
+            "https://mirror.bazel.build/openjdk/azul-zulu11.31.15-ca-jdk11.0.3/zulu11.31.15-ca-jdk11.0.3-linux_aarch64.tar.gz"
+        ]
+    },
     "zulu9.0.7.1-jdk9.0.7-linux_x64-allmodules.tar.gz": {
         "name": "zulu9.0.7.1-jdk9.0.7-linux_x64-allmodules.tar.gz",
         "sha256": "f27cb933de4f9e7fe9a703486cf44c84bc8e9f138be0c270c9e5716a32367e87",