Delete legacy container targets. (#288)

* Delete legacy container targets.

These targets have been migrated to either
https://github.com/GoogleCloudPlatform/layer-definitions or
https://github.com/GoogleCloudPlatform/container-definitions.

* Enable sibling docker on RBE.

* Remove some legacy debian based tests.

Turned off --all_incompatible_changes in some tests due to https://github.com/bazelbuild/bazel/issues/6861. Need to keep an
eye on that for Bazel 0.23.0 and 0.24.0.
diff --git a/.bazelci/presubmit.yml b/.bazelci/presubmit.yml
index 3d7b701..d17bf01 100644
--- a/.bazelci/presubmit.yml
+++ b/.bazelci/presubmit.yml
@@ -2,26 +2,15 @@
 platforms:
   rbe_ubuntu1604:
     test_targets:
-    - "//tests/config:debian-jessie-autoconfig_test"
-    # TODO(nlopezgi): reenable this test once bazel 0.19.2 is out
-    #- "//tests/config:debian-jessie-bazel-head-autoconfig_test"
-    - "//tests/config:debian-jessie-custom-bazel-rc-version-autoconfig_test"
     - "//tests/config:ubuntu-xenial-autoconfig_test"
+    # TODO(nlopezgi): reenable this test once bazel 0.19.2 is out
     #- "//tests/config:ubuntu-xenial-bazel-head-autoconfig_test"
     - "//tests/config:ubuntu-xenial-custom-bazel-rc-version-autoconfig_test"
     - "//tests/config:debian8_clang_autoconfig_test"
     - "//tests/config:external-repo-autoconfig_test"
     - "//tests/config:this-project-repo-autoconfig"
-    - "//configs/debian8_clang:default-debian8-clang-0.4.0-bazel_0.18.0-autoconfig_test"
-    - "//configs/debian8_clang:msan-debian8-clang-0.4.0-bazel_0.18.0-autoconfig_test"
     - "//configs/ubuntu16_04_clang:default-ubuntu16_04-clang-1.1-bazel_0.18.0-autoconfig_test"
     - "//configs/ubuntu16_04_clang:msan-ubuntu16_04-clang-1.1-bazel_0.18.0-autoconfig_test"
-    - "//container/debian8/builders/rbe-debian8:toolchain-test"
-    - "//container/ubuntu16_04/builders/rbe-ubuntu16_04:toolchain-test"
-    - "//container/ubuntu16_04/builders/bazel:bazel_0.18.0-test"
-    - "//container/ubuntu16_04/builders/bazel_docker_gcloud:bazel_0.18.0_docker_gcloud-test"
-    - "//container/debian8/builders/bazel:bazel_0.18.0-test"
-    - "//container/ubuntu14_04/builders/bazel:bazel_0.18.0-test"
     test_flags:
     - "--test_output=errors"
     - "--verbose_failures"
diff --git a/README.md b/README.md
index a0cfaad..eedabd5 100644
--- a/README.md
+++ b/README.md
@@ -18,3 +18,8 @@
 https://releases.bazel.build/bazel-toolchains.html.
 
 This repository also hosts the skylark rule used to generate toolchain configs.
+
+This repo previously contained Bazel targets that are used to generate toolchain
+containers. Note that they have been migrated to the following two repos:
+* [layer-definitions](https://github.com/GoogleCloudPlatform/layer-definitions)
+* [container-definitions](https://github.com/GoogleCloudPlatform/container-definitions)
\ No newline at end of file
diff --git a/configs/debian8_clang/0.3.0/BUILD b/configs/debian8_clang/0.3.0/BUILD
index bf91d10..6aee1fa 100644
--- a/configs/debian8_clang/0.3.0/BUILD
+++ b/configs/debian8_clang/0.3.0/BUILD
@@ -14,11 +14,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-load(
-    "//third_party/openjdk:revision.bzl",
-    JDK_VERSION = "JDK_VERSION_DECODED",
-)
-
 java_runtime(
     name = "jdk8",
     srcs = [],
@@ -28,7 +23,7 @@
 java_runtime(
     name = "jdk10",
     srcs = [],
-    java_home = "/usr/lib/jvm/zulu" + JDK_VERSION + "-linux_x64-allmodules",
+    java_home = "/usr/lib/jvm/zulu10.2+3-jdk10.0.1-linux_x64-allmodules",
 )
 
 # Update every time when a new container is available publically.
diff --git a/configs/debian8_clang/0.4.0/BUILD b/configs/debian8_clang/0.4.0/BUILD
index 2fe53a5..f5a4b9e 100644
--- a/configs/debian8_clang/0.4.0/BUILD
+++ b/configs/debian8_clang/0.4.0/BUILD
@@ -14,11 +14,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-load(
-    "//third_party/openjdk:revision.bzl",
-    JDK_VERSION = "JDK_VERSION_DECODED",
-)
-
 java_runtime(
     name = "jdk8",
     srcs = [],
@@ -28,7 +23,7 @@
 java_runtime(
     name = "jdk10",
     srcs = [],
-    java_home = "/usr/lib/jvm/zulu" + JDK_VERSION + "-linux_x64-allmodules",
+    java_home = "/usr/lib/jvm/zulu10.2+3-jdk10.0.1-linux_x64-allmodules",
 )
 
 # Update every time when a new container is available publically.
diff --git a/configs/ubuntu16_04_clang/1.0/BUILD b/configs/ubuntu16_04_clang/1.0/BUILD
index 9d2a98b..0d6e2ac 100644
--- a/configs/ubuntu16_04_clang/1.0/BUILD
+++ b/configs/ubuntu16_04_clang/1.0/BUILD
@@ -14,11 +14,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-load(
-    "//third_party/openjdk:revision.bzl",
-    JDK_VERSION = "JDK_VERSION_DECODED",
-)
-
 java_runtime(
     name = "jdk8",
     srcs = [],
@@ -28,7 +23,7 @@
 java_runtime(
     name = "jdk10",
     srcs = [],
-    java_home = "/usr/lib/jvm/zulu" + JDK_VERSION + "-linux_x64-allmodules",
+    java_home = "/usr/lib/jvm/zulu10.2+3-jdk10.0.1-linux_x64-allmodules",
 )
 
 # Update every time when a new container is available publically.
@@ -155,5 +150,9 @@
           name: "container-image"
           value:"docker://gcr.io/asci-toolchain/nosla-xenial-docker@sha256:780a96ba94b7666e31ba9a184e5a1742c3398250d47f5b87b1b4a60f8c41f164"
         }
+        properties: {
+          name: "dockerSiblingContainers"
+          value: "true"
+        }
         """,
 )
diff --git a/configs/ubuntu16_04_clang/1.1/BUILD b/configs/ubuntu16_04_clang/1.1/BUILD
index 770cba9..33b1f9a 100644
--- a/configs/ubuntu16_04_clang/1.1/BUILD
+++ b/configs/ubuntu16_04_clang/1.1/BUILD
@@ -14,11 +14,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-load(
-    "//third_party/openjdk:revision.bzl",
-    JDK_VERSION = "JDK_VERSION_DECODED",
-)
-
 java_runtime(
     name = "jdk8",
     srcs = [],
@@ -28,7 +23,7 @@
 java_runtime(
     name = "jdk10",
     srcs = [],
-    java_home = "/usr/lib/jvm/zulu" + JDK_VERSION + "-linux_x64-allmodules",
+    java_home = "/usr/lib/jvm/zulu10.2+3-jdk10.0.1-linux_x64-allmodules",
 )
 
 # Update every time when a new container is available publically.
@@ -136,6 +131,10 @@
           name: "container-image"
           value:"docker://gcr.io/asci-toolchain/nosla-xenial-docker@sha256:b4f34255823ae7f95f38712b85013ec26926c8c5b565b0d3f1d32e1295394e9d"
         }
+        properties: {
+          name: "dockerSiblingContainers"
+          value: "true"
+        }
         """,
 )
 
diff --git a/container/README.md b/container/README.md
deleted file mode 100644
index 5501489..0000000
--- a/container/README.md
+++ /dev/null
@@ -1,73 +0,0 @@
-## Toolchain Containers
-
-This folder contains artifacts for building a docker container which includes
-all necessary language toolchains (C++, Java, Python, Go and libraries). This
-container is the recommended toolchain container for [Remote caching and
-execution with
-Bazel](https://github.com/bazelbuild/bazel/tree/master/src/main/java/com/google/devtools/build/lib/remote).
-
-## Before you begin
-
-1.  Download and install the [Google Cloud
-    SDK](https://cloud.google.com/sdk/docs/), which includes the
-    [gcloud](https://cloud.google.com/sdk/gcloud/) command-line tool.
-
-1.  Create a [new Google Cloud Platform project from the Cloud
-    Console](https://console.cloud.google.com/project) or use an existing one.
-
-1.  Initialize the Cloud SDK.
-
-        gcloud init
-
-1.  Authenticate `docker` to talk to `gcr.io` by following the instructions [here](https://cloud.google.com/sdk/gcloud/reference/auth/configure-docker).
-
-## Usage
-
-### Build with [Google Cloud Container Builder](https://cloud.google.com/container-builder/)
-
-**Note: currently, this process can only be executed by users who have
-read access to asci-toolchains's GCR. We publish it here to make the build
-process for our containers publicly available. You can still build the
-containers locally. See instructions in the next section.**
-
-You will need a valid project ID to build the toolchain-container.
-
-You can build a toolchain-container with
-[ubuntu16-04](https://console.cloud.google.com/gcr/images/cloud-marketplace/GLOBAL/google/ubuntu16_04) as
-the base container by running:
-
-``` shell
-python container/build.py -p my-project-id -d rbe-ubuntu16_04 -c test-rbe-ubuntu16_04 -t latest -b my-gcs-bucket -v 0.15.2
-```
-
-Congratulations! Your docker container is now available in [Container
-Registry](https://cloud.google.com/container-registry/)
-
-```shell
-gcr.io/my-project-id/test-rbe-ubuntu16_04:latest
-```
-
-You can pull the built container to local
-
-```shell
-gcloud docker -- pull gcr.io/my-project-id/test-rbe-ubuntu16_04:latest
-```
-
-### Build locally
-
-You can also build rbe-ubuntu16-04 container locally to for a quick
-test. You would need
-[Bazel](https://docs.bazel.build/versions/master/install.html) and
-[Docker](https://docs.docker.com/engine/installation/) installed.
-
-Run the following command:
-
-```shell
-python container/build.py -l -d rbe-ubuntu16_04
-```
-
-You docker container is now available locally and you can try it out by running:
-
-```shell
-docker run -it rbe-ubuntu16_04:latest /bin/bash
-```
diff --git a/container/build.py b/container/build.py
deleted file mode 100644
index 0ad4d75..0000000
--- a/container/build.py
+++ /dev/null
@@ -1,419 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright 2017 The Bazel Authors. All rights reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-"""usage: build.py -d TYPE [-p PROJECT] [-c CONTAINER] [-t TAG]
-                   -v BAZEL_VERSION [-a] [-b BUCKET] [-h] [-m MAP] [-l]
-
-Builds a toolchain container, with Google Cloud Container Builder or locally.
-
-IF THIS SCRIPT IS CALLED FROM OUTSIDE OF THE BAZEL-TOOLCHAINS REPO, THE
-BAZEL-TOOLCHAINS REPO MUST BE A SUBDIRECTORY OF THE OUTER PROJECT. OUTER PROJECT
-MUST ALSO HAVE bazel_toolchains AS A DEPENDENCY
-Ex:
-cd <your project with your own build targets>
-git clone https://github.com/bazelbuild/bazel-toolchains.git
-python bazel-toolchains/container/build.py [args]
-
-Note: a file path passed to the -m param must point to a file in the form
-descibed below
-(except TYPE_TARBALL_MAP is not required if the -b arg is not used)
-
-To build with Google Cloud Container Builder:
-$ python build.py -p my-gcp-project -d {container_type} -c {container_name} -t
-latest -b my_bucket
-will produce docker images in Google Container Registry:
-    gcr.io/my-gcp-project/{container_type}:latest
-and the debian packages installed will be packed as a tarball and stored in
-gs://my_bucket for future reference, if -b is specified.
-To build locally:
-$ python build.py -d {container_type} -l
-will produce docker locally as {container_type}:latest
-
-required arguments:
-  -d TYPE, --type TYPE  Type of the container: see SUPPORTED_TYPES
-required arguments (for cloud build):
-  -p PROJECT, --project PROJECT
-                        GCP project ID
-  -c CONTAINER, --container CONTAINER
-                        Docker container name
-  -t TAG, --tag TAG     Docker tag for the image
-  -v BAZEL_VERSION, --bazel_version BAZEL_VERSION
-                        The version of Bazel to build the image with on Google
-                        Cloud Container Builder, e.g. 0.15.1 (supported
-                        versions can be seen at
-                        //container/ubuntu16_04/layers/bazel/version.bzl)
-
-optional arguments:
-  -h, --help            print this help text and exit
-
-optional arguments (for cloud build):
-  -a, --async           Asynchronous execute Cloud Container Builder
-  -b BUCKET, --bucket BUCKET
-                        GCS bucket to store the tarball of debian packages
-  -m MAP, --map MAP     path (can be absolute or relative) to file containing
-                        3 maps to override the default ones defined below
-                        (TYPE_PACKAGE_MAP, TYPE_TARGET_MAP, and
-                        TYPE_TARBALL_MAP)
-
-
-standalone arguments:
-  -l, --local           Build container locally
-"""
-
-from __future__ import print_function
-import argparse
-import imp
-import os
-import shlex
-import subprocess
-import sys
-
-LATEST_BAZEL_VERSION = "0.21.0"
-
-SUPPORTED_TYPES = [
-    "rbe-debian8", "rbe-ubuntu16_04", "ubuntu16_04-bazel",
-    "ubuntu16_04-bazel-docker-gcloud", "debian8-bazel", "ubuntu14_04-bazel"
-]
-
-# File passed in -m must include the following 3 maps
-# (all 3 with the same keys, and corresponding values):
-# =========== STARTING HERE ===========
-
-# Map to store all supported container type and
-# the package of target to build it.
-TYPE_PACKAGE_MAP = {
-    "rbe-debian8": "container/debian8/builders/rbe-debian8",
-    "rbe-ubuntu16_04": "container/ubuntu16_04/builders/rbe-ubuntu16_04",
-    "ubuntu16_04-bazel": "container/ubuntu16_04/builders/bazel",
-    "ubuntu16_04-bazel-docker-gcloud":
-        "container/ubuntu16_04/builders/bazel_docker_gcloud",
-    "debian8-bazel": "container/debian8/builders/bazel",
-    "ubuntu14_04-bazel": "container/ubuntu14_04/builders/bazel",
-}
-
-# Map to store all supported container type and the name of target to build it.
-TYPE_TARGET_MAP = {
-    "rbe-debian8": "toolchain",
-    "rbe-ubuntu16_04": "toolchain",
-    "ubuntu16_04-bazel": "bazel_{}".format(LATEST_BAZEL_VERSION),
-    "ubuntu16_04-bazel-docker-gcloud":
-        "bazel_{}_docker_gcloud".format(LATEST_BAZEL_VERSION),
-    "debian8-bazel": "bazel_{}".format(LATEST_BAZEL_VERSION),
-    "ubuntu14_04-bazel": "bazel_{}".format(LATEST_BAZEL_VERSION),
-}
-
-# Map to store all supported container type and the name of target to build it.
-TYPE_TARBALL_MAP = {
-    "rbe-debian8":
-        "toolchain-packages.tar",
-    "rbe-ubuntu16_04":
-        "toolchain-packages.tar",
-    "ubuntu16_04-bazel":
-        "bazel_{}_intermediate-packages.tar".format(LATEST_BAZEL_VERSION),
-    "ubuntu16_04-bazel-docker-gcloud":
-        "bazel_{}_docker_gcloud-packages.tar".format(LATEST_BAZEL_VERSION),
-    "debian8-bazel":
-         "bazel_{}_intermediate-packages.tar".format(LATEST_BAZEL_VERSION),
-    "ubuntu14_04-bazel":
-        "bazel_{}_intermediate-packages.tar".format(LATEST_BAZEL_VERSION),
-}
-
-# =========== ENDING HERE ===========
-assert set(SUPPORTED_TYPES) \
-        == set(TYPE_PACKAGE_MAP.keys()) \
-        == set(TYPE_TARGET_MAP.keys()) \
-        == set(TYPE_TARBALL_MAP.keys()), \
-            "TYPES ARE OUT OF SYNC"
-
-
-def main(type_,
-         project,
-         container,
-         tag,
-         async_,
-         bucket,
-         local,
-         bazel_version,
-         map=None):
-  """Runs the build. More info in module docstring at the top.
-  """
-  type_package_map = TYPE_PACKAGE_MAP
-  type_target_map = TYPE_TARGET_MAP
-  type_tarball_map = TYPE_TARBALL_MAP
-
-  if map:  # Override the map values
-    try:
-      map_module = imp.load_source("map", map)
-    except IOError as e:
-      print("Error reading map file.\n", e)
-
-    try:
-      type_package_map = map_module.TYPE_PACKAGE_MAP
-      type_target_map = map_module.TYPE_TARGET_MAP
-      if bucket:
-        type_tarball_map = map_module.TYPE_TARBALL_MAP
-    except AttributeError as e:
-      print("Error getting attributes from map file.\n", e)
-
-  # Gets the project root (for calling bazel targets)
-  project_root = subprocess.check_output(
-      shlex.split("git rev-parse --show-toplevel")).strip()
-  package = type_package_map[type_]
-  target = type_target_map[type_]
-  tarball = None
-  if bucket:
-    tarball = type_tarball_map[type_]
-
-  # Gets the base directory of the bazel-toolchains repo (relative to project_root)
-  # This is for referencing yaml files and mounting the project to gcloud.
-  # Allows the bazel-toolchains repo to be cloned in any subdirectory
-  # of another project and bazel_toolchains_base_dir will store the relative path
-  # from the root of that git project to the root of the bazel-toolchains git project.
-  # Ex. If we are in folder foo and the structure looks like this:
-  # foo/
-  #     subdir/
-  #         bazel-toolchains
-  #     ...
-  #
-  # Then if we call build.py with the terminal running in foo,
-  # bazel_toolchains_base_dir == "subdir/bazel-toolchains"
-  # (This also allows for renaming of the bazel-toolchains folder as the variable
-  # will store the path regardless of the directory names)
-  os.chdir(os.path.dirname(__file__))
-  bazel_toolchains_base_dir = os.path.relpath(
-      subprocess.check_output(
-          shlex.split("git rev-parse --show-toplevel")).strip(), project_root)
-
-  # We need to start the build from the root of the project, so that we can
-  # mount the full root directory (to use bazel builder properly).
-  os.chdir(project_root)
-  # We need to run clean to make sure we don't mount local build outputs
-  subprocess.check_call(["bazel", "clean"])
-
-  if local:
-    local_build(type_, package, target)
-  else:
-
-    cloud_build(project, container, tag, async_, package, target, bazel_version,
-                bazel_toolchains_base_dir, bucket, tarball)
-
-
-def local_build(type_, package, target):
-  """Runs the build locally. More info in module docstring at the top.
-  """
-  print("Building container locally.")
-  subprocess.check_call(
-      shlex.split("bazel run //{}:{}".format(package, target)))
-  print("Testing container locally.")
-  subprocess.check_call("bazel test //{}:{}-test".format(package,
-                                                         target).split())
-  print("Tagging container.")
-  subprocess.check_call(
-      shlex.split("docker tag bazel/{}:{} {}:latest".format(
-          package, target, type_)))
-  print(("\n{TYPE}:lastest container is now available to use.\n"
-         "To try it: docker run -it {TYPE}:latest \n").format(TYPE=type_))
-
-
-def cloud_build(project,
-                container,
-                tag,
-                async_,
-                package,
-                target,
-                bazel_version,
-                bazel_toolchains_base_dir,
-                bucket=None,
-                tarball=None):
-  """Runs the build in the cloud. More info in module docstring at the top.
-  """
-
-  print("Building container in Google Cloud Container Builder.")
-
-  # Setup GCP project id for the build
-  subprocess.check_call(
-      shlex.split("gcloud config set project {}".format(project)))
-  # Ensure all BUILD files under /third_party have the right permission.
-  # This is because in some systems the BUILD files under /third_party
-  # (after git clone) will be with permission 640 and the build will
-  # fail in Container Builder.
-  for dirpath, _, files in os.walk(
-      os.path.join(bazel_toolchains_base_dir, "third_party")):
-    for f in files:
-      full_path = os.path.join(dirpath, f)
-      os.chmod(full_path, 0o644)
-
-  # Gets the yaml relative to the bazel-toolchains root, regardless of what directory it was called from
-  # MUST BE UPDATED IF THE YAML FILE IS MOVED
-  config_file = "{}/container/cloudbuild.yaml".format(bazel_toolchains_base_dir)
-  extra_substitution = ",_BUCKET={},_TARBALL={}".format(bucket, tarball)
-  if not bucket:
-    # Gets the yaml relative to the bazel-toolchains root, regardless of what directory it was called from
-    # MUST BE UPDATED IF THE YAML FILE IS MOVED
-    config_file = "{}/container/cloudbuild_no_bucket.yaml".format(
-        bazel_toolchains_base_dir)
-    extra_substitution = ""
-
-  async_arg = ""
-  if async_:
-    async_arg = "--async"
-  subprocess.check_call(
-      shlex.split(
-          ("gcloud builds submit . "
-           "--config={CONFIG} "
-           "--substitutions _PROJECT={PROJECT},_CONTAINER={CONTAINER},"
-           "_BAZEL_VERSION={BAZEL_VERSION},"
-           "_TAG={TAG},_PACKAGE={PACKAGE},_TARGET={TARGET}{EXTRA_SUBSTITUTION} "
-           "--machine-type=n1-highcpu-32 "
-           "{ASYNC}").format(
-               CONFIG=config_file,
-               PROJECT=project,
-               CONTAINER=container,
-               TAG=tag,
-               PACKAGE=package,
-               TARGET=target,
-               EXTRA_SUBSTITUTION=extra_substitution,
-               ASYNC=async_arg,
-               BAZEL_VERSION=bazel_version)))
-
-
-def parse_arguments():
-  """Parses command line arguments for the script.
-
-  Returns:
-    args object containing the arguments
-  """
-  parser = argparse.ArgumentParser(
-      add_help=False,
-      formatter_class=argparse.RawDescriptionHelpFormatter,
-      description="""
-Builds a toolchain container, with Google Cloud Container Builder or locally.
-
-IF THIS SCRIPT IS CALLED FROM OUTSIDE OF THE BAZEL-TOOLCHAINS REPO, THE BAZEL-TOOLCHAINS REPO
-MUST BE A SUBDIRECTORY OF THE OUTER PROJECT. OUTER PROJECT MUST ALSO HAVE bazel_toolchains AS
-A DEPENDENCY
-Ex:
-cd <your project with your own build targets>
-git clone https://github.com/bazelbuild/bazel-toolchains.git
-python bazel-toolchains/container/build.py [args]
-
-Note: a file path passed to the -m param must point to a file in the form descibed above
-(except TYPE_TARBALL_MAP is not required if the -b arg is not used)
-
-To build with Google Cloud Container Builder:
-$ python build.py -p my-gcp-project -d {container_type} -c {container_name} -t latest -b my_bucket
-will produce docker images in Google Container Registry:
-    gcr.io/my-gcp-project/{container_type}:latest
-and the debian packages installed will be packed as a tarball and stored in
-gs://my_bucket for future reference, if -b is specified.
-To build locally:
-$ python build.py -d {container_type} -l
-will produce docker locally as {container_type}:latest
-
-""",
-  )
-
-  required = parser.add_argument_group("required arguments")
-
-  required.add_argument(
-      "-d,",
-      "--type",
-      help="Type of the container: see SUPPORTED_TYPES",
-      type=str,
-      choices=TYPE_PACKAGE_MAP.keys(),
-      required=True)
-
-  required_cloud = parser.add_argument_group(
-      "required arguments (for cloud build)")
-  required_cloud.add_argument(
-      "-p", "--project", help="GCP project ID", type=str)
-  required_cloud.add_argument(
-      "-c", "--container", help="Docker container name", type=str)
-  required_cloud.add_argument(
-      "-t", "--tag", help="Docker tag for the image", type=str)
-
-  required_cloud.add_argument(
-      "-v",
-      "--bazel_version",
-      help=
-      "The version of Bazel to build the image with on Google Cloud Container Builder, e.g. 0.15.1 "
-      "(supported versions can be seen at //container/ubuntu16_04/layers/bazel/version.bzl)",
-      type=str)
-
-  optional = parser.add_argument_group("optional arguments")
-  optional.add_argument(
-      "-h", "--help", help="print this help text and exit", action="help")
-
-  optional_cloud = parser.add_argument_group(
-      "optional arguments (for cloud build)")
-
-  optional_cloud.add_argument(
-      "-a",
-      "--async",
-      help="Asynchronous execute Cloud Container Builder",
-      required=False,
-      default=False,
-      action="store_true")
-  optional_cloud.add_argument(
-      "-b",
-      "--bucket",
-      help="GCS bucket to store the tarball of debian packages",
-      type=str,
-      required=False,
-      default="")
-  optional_cloud.add_argument(
-      "-m",
-      "--map",
-      help=
-      "path (can be absolute or relative) to file containing 3 maps to "
-      "override the default ones defined below "
-      "(TYPE_PACKAGE_MAP, TYPE_TARGET_MAP, and TYPE_TARBALL_MAP)",
-      type=str,
-      default=None)
-
-  standalone = parser.add_argument_group("standalone arguments")
-
-  standalone.add_argument(
-      "-l",
-      "--local",
-      help="Build container locally",
-      default=False,
-      action="store_true")
-
-  arguments = parser.parse_args()
-
-  # Check arguments
-  if not arguments.local and not \
-    (arguments.tag and arguments.project and arguments.container and arguments.bazel_version):
-    print(
-        "error: If build is not local (-l), then -p, -c, -t, and -v are required",
-        file=sys.stderr)
-    exit(1)
-
-  if arguments.local and (arguments.tag or arguments.map or arguments.project or
-                          arguments.bazel_version or arguments.container or
-                          arguments.bucket or arguments.async):
-    print(
-        "error: If build is local (-l), then only -d is allowed (and required)",
-        file=sys.stderr)
-    exit(1)
-
-  return arguments
-
-
-if __name__ == "__main__":
-  args = parse_arguments()
-  main(args.type, args.project, args.container, args.tag, args.async,
-       args.bucket, args.local, args.bazel_version, args.map)
diff --git a/container/cloudbuild.yaml b/container/cloudbuild.yaml
deleted file mode 100644
index 7715690..0000000
--- a/container/cloudbuild.yaml
+++ /dev/null
@@ -1,86 +0,0 @@
-# Copyright 2017 The Bazel Authors. All rights reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# ====================================================================
-# This yaml file should be kept synced with cloudbuild_no_bucket.yaml.
-# ====================================================================
-
-timeout: 21600s
-
-steps:
-# Step: print the bazel version for confirmation
-  - name: 'gcr.io/asci-toolchain/nosla-ubuntu16_04-bazel-docker-gcloud:${_BAZEL_VERSION}'
-    args:
-    - 'bazel'
-    - 'version'
-    id: 'version'
-    waitFor:
-    - "-" # wait for nothing - start immediately
-
-# Step: build the fully loaded container using rules_docker
-  - name: 'gcr.io/asci-toolchain/nosla-ubuntu16_04-bazel-docker-gcloud:${_BAZEL_VERSION}'
-    # Set Bazel output_base to /workspace, which is a mounted directory on Google Cloud Builder.
-    # This is to make sure Bazel generated files can be accessed by multiple containers.
-    args: [
-      'bazel',
-      '--output_base=/workspace',
-      'run' ,
-      '--verbose_failures',
-      '--spawn_strategy=standalone',
-      '--genrule_strategy=standalone',
-      '//${_PACKAGE}:${_TARGET}'
-    ]
-    id: 'container-build'
-    waitFor:
-    - 'version'
-
-# Step: re-tag the image
-  - name: 'gcr.io/asci-toolchain/nosla-ubuntu16_04-bazel-docker-gcloud:${_BAZEL_VERSION}'
-    args: ['docker', 'tag', 'bazel/${_PACKAGE}:${_TARGET}', 'gcr.io/${_PROJECT}/${_CONTAINER}:${_TAG}']
-    id: 'container-tag'
-    waitFor: # wait for all artifacts to be ready
-    - 'container-build'
-
-# Step: test the image
-# We use container_test rule, which is a Bazel wrapper of container_structure_test.
-# https://github.com/bazelbuild/rules_docker/blob/master/contrib/test.bzl
-  - name: 'gcr.io/asci-toolchain/nosla-ubuntu16_04-bazel-docker-gcloud:${_BAZEL_VERSION}'
-    args: [
-      'bazel',
-      '--output_base=/workspace',
-      'test',
-      '--test_output=all',
-      '--verbose_failures',
-      '--spawn_strategy=standalone',
-      '--genrule_strategy=standalone',
-      '//${_PACKAGE}:${_TARGET}-test'
-    ]
-    id: 'image-test'
-    waitFor:
-    - 'container-build'
-
-# Step: store the tarball of debian packages in GCS
-  - name: 'gcr.io/asci-toolchain/nosla-ubuntu16_04-bazel-docker-gcloud:${_BAZEL_VERSION}'
-    args: ['gsutil',
-           'cp',
-           '/workspace/bazel-out/k8-fastbuild/bin/${_PACKAGE}/${_TARBALL}',
-           'gs://${_BUCKET}/${_CONTAINER}-${_TAG}-${BUILD_ID}.tar'
-    ]
-    id: 'upload-debs'
-    waitFor:
-    - 'image-test'
-
-# Build the release-container
-images:
-  - 'gcr.io/${_PROJECT}/${_CONTAINER}:${_TAG}'
diff --git a/container/cloudbuild_no_bucket.yaml b/container/cloudbuild_no_bucket.yaml
deleted file mode 100644
index 696378b..0000000
--- a/container/cloudbuild_no_bucket.yaml
+++ /dev/null
@@ -1,75 +0,0 @@
-# Copyright 2017 The Bazel Authors. All rights reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# ==========================================================
-# This yaml file should be kept synced with cloudbuild.yaml.
-# ==========================================================
-
-timeout: 21600s
-
-steps:
-# Step: print the bazel version for confirmation
-  - name: 'gcr.io/asci-toolchain/nosla-ubuntu16_04-bazel-docker-gcloud:${_BAZEL_VERSION}'
-    args:
-    - 'bazel'
-    - 'version'
-    id: 'version'
-    waitFor:
-    - "-" # wait for nothing - start immediately
-
-# Step: build the fully loaded container using rules_docker
-  - name: 'gcr.io/asci-toolchain/nosla-ubuntu16_04-bazel-docker-gcloud:${_BAZEL_VERSION}'
-    # Set Bazel output_base to /workspace, which is a mounted directory on Google Cloud Builder.
-    # This is to make sure Bazel generated files can be accessed by multiple containers.
-    args: [
-      'bazel',
-      '--output_base=/workspace',
-      'run' ,
-      '--verbose_failures',
-      '--spawn_strategy=standalone',
-      '--genrule_strategy=standalone',
-      '//${_PACKAGE}:${_TARGET}'
-    ]
-    id: 'container-build'
-    waitFor:
-    - 'version'
-
-# Step: re-tag the image
-  - name: 'gcr.io/asci-toolchain/nosla-ubuntu16_04-bazel-docker-gcloud:${_BAZEL_VERSION}'
-    args: ['docker', 'tag', 'bazel/${_PACKAGE}:${_TARGET}', 'gcr.io/${_PROJECT}/${_CONTAINER}:${_TAG}']
-    id: 'container-tag'
-    waitFor: # wait for all artifacts to be ready
-    - 'container-build'
-
-# Step: test the image
-# We use container_test rule, which is a Bazel wrapper of container_structure_test.
-# https://github.com/bazelbuild/rules_docker/blob/master/contrib/test.bzl
-  - name: 'gcr.io/asci-toolchain/nosla-ubuntu16_04-bazel-docker-gcloud:${_BAZEL_VERSION}'
-    args: [
-      'bazel',
-      '--output_base=/workspace',
-      'test',
-      '--test_output=all',
-      '--verbose_failures',
-      '--spawn_strategy=standalone',
-      '--genrule_strategy=standalone',
-      '//${_PACKAGE}:${_TARGET}-test'
-    ]
-    id: 'image-test'
-    waitFor:
-    - 'container-build'
-
-# Build the release-container
-images:
-  - 'gcr.io/${_PROJECT}/${_CONTAINER}:${_TAG}'
diff --git a/container/common/BUILD b/container/common/BUILD
deleted file mode 100644
index c19ce8b..0000000
--- a/container/common/BUILD
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 2017 The Bazel Authors. All rights reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-licenses(["notice"])  # Apache 2.0
-
-package(default_visibility = ["//visibility:public"])
-
-exports_files(glob(["*.yaml"]))
-
-load(
-    "//third_party/golang:revision.bzl",
-    "GOLANG_REVISION",
-)
-load(
-    "//third_party/openjdk:revision.bzl",
-    "JDK_VERSION",
-    "JDK_VERSION_DECODED",
-)
-
-genrule(
-    name = "generate_go_yaml",
-    srcs = ["go.yaml.tpl"],
-    outs = ["go.yaml"],
-    cmd = "sed 's|{_GOLANG_REVISION}|" + GOLANG_REVISION + "|' <$< >$@",
-)
-
-genrule(
-    name = "generate_java_yaml",
-    srcs = ["java.yaml.tpl"],
-    outs = ["java.yaml"],
-    cmd = (
-        "sed 's|{_JDK_VERSION}|" + JDK_VERSION + "|g; s|{_JDK_VERSION_DECODED}|" + JDK_VERSION_DECODED + "|g' <$< >$@"
-    ),
-)
diff --git a/container/common/bazel/BUILD b/container/common/bazel/BUILD
deleted file mode 100644
index caa7089..0000000
--- a/container/common/bazel/BUILD
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 2017 The Bazel Authors. All rights reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-licenses(["notice"])  # Apache 2.0
-
-package(default_visibility = ["//visibility:public"])
-
-load("//container/common/bazel:version.bzl", "BAZEL_VERSION_SHA256S")
-
-exports_files(glob(["**"]))
-
-# Generate Bazel container testing yaml files with all supported Bazel versions.
-[genrule(
-    name = "generate_bazel_%s_yaml" % bazel_version,
-    srcs = [":bazel.yaml.tpl"],
-    outs = ["bazel_%s.yaml" % bazel_version],
-    cmd = "sed 's|{_BAZEL_VERSION}|" + bazel_version + "|' <$< >$@",
-) for bazel_version, _ in BAZEL_VERSION_SHA256S.items()]
diff --git a/container/common/bazel/bazel.bazelrc b/container/common/bazel/bazel.bazelrc
deleted file mode 100644
index f0b41e6..0000000
--- a/container/common/bazel/bazel.bazelrc
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 2016 The Bazel Authors. All rights reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Experimental configs for sanitizers, use --config=<asan/tsan/msan>
-# See https://github.com/bazelbuild/bazel/issues/5291.
-build:xxsan --copt=-gmlt
-build:xxsan --strip=never
-
-build:asan --config=xxsan
-build:asan --copt=-fsanitize=address
-build:asan --linkopt=-fsanitize=address
-
-build:tsan --config=xxsan
-build:tsan --copt=-fsanitize=thread
-build:tsan --linkopt=-fsanitize=thread
-
-build:msan --config=xxsan
-build:msan --copt=-fsanitize=memory
-build:msan --linkopt=-fsanitize=memory
-build:msan --cxxopt=--stdlib=libc++
-build:msan --copt=-fsanitize-memory-track-origins
-build:msan --action_env=BAZEL_LINKOPTS=-lc++:-lc++abi:-lm
diff --git a/container/common/bazel/bazel.yaml.tpl b/container/common/bazel/bazel.yaml.tpl
deleted file mode 100644
index ccac4b4..0000000
--- a/container/common/bazel/bazel.yaml.tpl
+++ /dev/null
@@ -1,12 +0,0 @@
-schemaVersion: "2.0.0"
-
-commandTests:
-- name: 'check-bazel'
-  command: 'bazel'
-  args: ['version']
-  expectedOutput: ['Build label: {_BAZEL_VERSION}']
-
-fileExistenceTests:
-- name: 'bazelrc'
-  path: '/etc/bazel.bazelrc'
-  shouldExist: true
diff --git a/container/common/bazel/bazel_tools.yaml b/container/common/bazel/bazel_tools.yaml
deleted file mode 100644
index ea2aea3..0000000
--- a/container/common/bazel/bazel_tools.yaml
+++ /dev/null
@@ -1,19 +0,0 @@
-schemaVersion: "2.0.0"
-
-commandTests:
-# 'check-ar' is used to test binutils.
-- name: 'check-ar'
-  command: 'ar'
-  args: ['--version']
-  expectedOutput: ['GNU ar .*']
-- name: 'check-patch'
-  command: 'patch'
-  args: ['--version']
-  expectedOutput: ['GNU patch .*']
-- name: 'check-unzip'
-  command: 'unzip'
-  expectedOutput: ['.*Usage: unzip .*']
-- name: 'check-zip'
-  command: 'zip'
-  args: ['--version']
-  expectedOutput: ['.*This is Zip.*']
diff --git a/container/common/bazel/extra_tools.yaml b/container/common/bazel/extra_tools.yaml
deleted file mode 100644
index f48e0a5..0000000
--- a/container/common/bazel/extra_tools.yaml
+++ /dev/null
@@ -1,11 +0,0 @@
-schemaVersion: "2.0.0"
-
-commandTests:
-- name: 'check-git'
-  command: 'git'
-  args: ['--version']
-  expectedOutput: ['git version .*']
-- name: 'check-wget'
-  command: 'wget'
-  args: ['--version']
-  expectedOutput: ['GNU Wget.* built on linux-gnu.*']
diff --git a/container/common/bazel/version.bzl b/container/common/bazel/version.bzl
deleted file mode 100644
index 4258fbb..0000000
--- a/container/common/bazel/version.bzl
+++ /dev/null
@@ -1,14 +0,0 @@
-BAZEL_VERSION_SHA256S = {
-    "0.14.1": "7b14e4fc76bf85c4abf805833e99f560f124a3b96d56e0712c693e94e19d1376",
-    "0.15.0": "7f6748b48a7ea6bdf00b0e1967909ce2181ebe6f377638aa454a7d09a0e3ea7b",
-    "0.15.2": "13eae0f09565cf17fc1c9ce1053b9eac14c11e726a2215a79ebaf5bdbf435241",
-    "0.16.1": "17ab70344645359fd4178002f367885e9019ae7507c9c1ade8220f3628383444",
-    "0.17.1": "feedbe02c81142ed95ef8d380472f0a0d88e1b9a4b1fb6e21728701032b68e02",
-    "0.17.2": "31fac8b2edcc6d95f1afb21725f604479eb440596e7fc7554fd47e293020ced9",
-    "0.18.0": "48ddaa9c9fef73dbe68517f274f09b33c3c8fdf3410638808b609f82b177d397",
-    "0.18.1": "8073657ced2bb323dd2e7ba6e39011ca56b856cae475b476e9b77d30123582e5",
-    "0.19.0": "b9e988643b10444d6d8eb04461418b7b80e3d171e12d1c8b6e2a50f541e739e7",
-    "0.19.2": "42ba631103011594cdf5591ef07658a9e9a5d73c5ee98a9f09651ac4ac535d8c",
-    "0.20.0": "44aed3bd8e58a889ee36f187a4b1cb573a2b4cc7a3d7c0cf0696205764e45dec",
-    "0.21.0": "328d5fa87a61e1f6e674a8f88c5ae54b8987eaf5a6c944257600c5029c8feef8",
-}
diff --git a/container/common/clang/BUILD b/container/common/clang/BUILD
deleted file mode 100644
index 5fce108..0000000
--- a/container/common/clang/BUILD
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 2016 The Bazel Authors. All rights reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-licenses(["notice"])  # Apache 2.0
-
-package(default_visibility = ["//visibility:public"])
-
-load(
-    "//third_party/clang:revision.bzl",
-    "CLANG_REVISION",
-)
-
-genrule(
-    name = "generate_clang_yaml",
-    srcs = ["clang.yaml.tpl"],
-    outs = ["clang.yaml"],
-    cmd = "sed 's|{_CLANG_REVISION}|" + CLANG_REVISION.lstrip("r") + "|' <$< >$@",
-)
diff --git a/container/common/clang/clang.bzl b/container/common/clang/clang.bzl
deleted file mode 100644
index 85d956a..0000000
--- a/container/common/clang/clang.bzl
+++ /dev/null
@@ -1,9 +0,0 @@
-clang_env = {
-    "CC": "/usr/local/bin/clang",
-    "GCOV": "/dev/null",
-    "ASAN_SYMBOLIZER_PATH": "/usr/local/bin/llvm-symbolizer",
-    "MSAN_SYMBOLIZER_PATH": "/usr/local/bin/llvm-symbolizer",
-    "TSAN_SYMBOLIZER_PATH": "/usr/local/bin/llvm-symbolizer",
-    "UBSAN_SYMBOLIZER_PATH": "/usr/local/bin/llvm-symbolizer",
-    "LD_LIBRARY_PATH": "/usr/local/lib",
-}
diff --git a/container/common/clang/clang.yaml.tpl b/container/common/clang/clang.yaml.tpl
deleted file mode 100644
index 8be334e..0000000
--- a/container/common/clang/clang.yaml.tpl
+++ /dev/null
@@ -1,64 +0,0 @@
-schemaVersion: "2.0.0"
-
-commandTests:
-- name: 'clang-version'
-  command: 'clang'
-  args: ['--version']
-  expectedOutput: ['clang version 8.0.0 [(]trunk {_CLANG_REVISION}[)]']
-
-fileExistenceTests:
-- name: 'Clang'
-  path: '/usr/local/bin/clang'
-  shouldExist: true
-- name: 'libcxx-header'
-  path: '/usr/local/include/c++/v1'
-  shouldExist: true
-- name: 'libcxx-lib'
-  path: '/usr/local/lib/libc++.a'
-  shouldExist: true
-- name: 'llvm-symbolizer'
-  path: '/usr/local/bin/llvm-symbolizer'
-  shouldExist: true
-- name: 'sanitizer'
-  path: '/usr/local/lib/clang/8.0.0/include/sanitizer'
-  shouldExist: true
-- name: 'sanitizer-allocator'
-  path: '/usr/local/lib/clang/8.0.0/include/sanitizer/allocator_interface.h'
-  shouldExist: true
-- name: 'sanitizer-asan'
-  path: '/usr/local/lib/clang/8.0.0/include/sanitizer/asan_interface.h'
-  shouldExist: true
-- name: 'sanitizer-common_defs'
-  path: '/usr/local/lib/clang/8.0.0/include/sanitizer/common_interface_defs.h'
-  shouldExist: true
-- name: 'sanitizer-coverage'
-  path: '/usr/local/lib/clang/8.0.0/include/sanitizer/coverage_interface.h'
-  shouldExist: true
-- name: 'sanitizer-dfsan'
-  path: '/usr/local/lib/clang/8.0.0/include/sanitizer/dfsan_interface.h'
-  shouldExist: true
-- name: 'sanitizer-esan'
-  path: '/usr/local/lib/clang/8.0.0/include/sanitizer/esan_interface.h'
-  shouldExist: true
-- name: 'sanitizer-linux_syscall_hooks'
-  path: '/usr/local/lib/clang/8.0.0/include/sanitizer/linux_syscall_hooks.h'
-  shouldExist: true
-- name: 'sanitizer-lsan'
-  path: '/usr/local/lib/clang/8.0.0/include/sanitizer/lsan_interface.h'
-  shouldExist: true
-- name: 'sanitizer-msan'
-  path: '/usr/local/lib/clang/8.0.0/include/sanitizer/msan_interface.h'
-  shouldExist: true
-- name: 'sanitizer-tsan_atomic'
-  path: '/usr/local/lib/clang/8.0.0/include/sanitizer/tsan_interface_atomic.h'
-  shouldExist: true
-- name: 'sanitizer-tsan'
-  path: '/usr/local/lib/clang/8.0.0/include/sanitizer/tsan_interface.h'
-  shouldExist: true
-
-metadataTest:
-  env:
-    - key: 'CC'
-      value: '/usr/local/bin/clang'
-    - key: 'GCOV'
-      value: '/dev/null'
diff --git a/container/common/docker-17.12.0.yaml b/container/common/docker-17.12.0.yaml
deleted file mode 100644
index 37477d7..0000000
--- a/container/common/docker-17.12.0.yaml
+++ /dev/null
@@ -1,7 +0,0 @@
-schemaVersion: "2.0.0"
-
-commandTests:
-- name: 'check-docker'
-  command: 'docker'
-  args: ['--version']
-  expectedOutput: ['Docker version 17.12.0.*']
diff --git a/container/common/gcloud/BUILD b/container/common/gcloud/BUILD
deleted file mode 100644
index dfcedc7..0000000
--- a/container/common/gcloud/BUILD
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 2017 The Bazel Authors. All rights reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-licenses(["notice"])  # Apache 2.0
-
-package(default_visibility = ["//visibility:public"])
-
-load(
-    "//container/common/gcloud:version.bzl",
-    "GCLOUD_VERSION",
-)
-
-genrule(
-    name = "generate_gcloud_yaml",
-    srcs = ["gcloud.yaml.tpl"],
-    outs = ["gcloud.yaml"],
-    cmd = "sed 's|{_GCLOUD_VERSION}|" + GCLOUD_VERSION.rpartition("-")[0] + "|' <$< >$@",
-)
diff --git a/container/common/gcloud/gcloud.yaml.tpl b/container/common/gcloud/gcloud.yaml.tpl
deleted file mode 100644
index d1bf41f..0000000
--- a/container/common/gcloud/gcloud.yaml.tpl
+++ /dev/null
@@ -1,7 +0,0 @@
-schemaVersion: "2.0.0"
-
-commandTests:
-- name: 'check-gcloud'
-  command: 'gcloud'
-  args: ['version']
-  expectedOutput: ['Google Cloud SDK {_GCLOUD_VERSION}.*']
diff --git a/container/common/gcloud/version.bzl b/container/common/gcloud/version.bzl
deleted file mode 100644
index 5a58da2..0000000
--- a/container/common/gcloud/version.bzl
+++ /dev/null
@@ -1 +0,0 @@
-GCLOUD_VERSION = "210.0.0-0"
diff --git a/container/common/go.yaml.tpl b/container/common/go.yaml.tpl
deleted file mode 100644
index f51e964..0000000
--- a/container/common/go.yaml.tpl
+++ /dev/null
@@ -1,17 +0,0 @@
-schemaVersion: "2.0.0"
-
-commandTests:
-- name: 'go-version'
-  command: 'go'
-  args: ['version']
-  expectedOutput: ['go version go{_GOLANG_REVISION} linux/amd64']
-
-fileExistenceTests:
-- name: 'Golang'
-  path: '/usr/local/go/bin/go'
-  shouldExist: true
-
-metadataTest:
-  env:
-    - key: 'GOPATH'
-      value: '/go'
diff --git a/container/common/java.yaml.tpl b/container/common/java.yaml.tpl
deleted file mode 100644
index cfff8b6..0000000
--- a/container/common/java.yaml.tpl
+++ /dev/null
@@ -1,33 +0,0 @@
-schemaVersion: "2.0.0"
-
-commandTests:
-- name: 'java-version'
-  command: 'java'
-  args: ['-version']
-  # java outputs to stderr.
-  expectedError: ["openjdk version \"1.8.*"]
-- name: 'java10-version'
-  command: '/usr/lib/jvm/zulu{_JDK_VERSION_DECODED}-linux_x64-allmodules/bin/java'
-  args: ['-version']
-  # java outputs to stderr.
-  expectedError: ["openjdk version \"10.*"]
-- name: 'check-openssl'
-  command: 'openssl'
-  args: ['version']
-  expectedOutput: ['OpenSSL .*']
-
-fileExistenceTests:
-- name: 'OpenJDK'
-  path: '/usr/lib/jvm/java-8-openjdk-amd64'
-  shouldExist: true
-- name: 'OpenJDK 10'
-  path: '/usr/lib/jvm/zulu{_JDK_VERSION_DECODED}-linux_x64-allmodules'
-  shouldExist: true
-- name: 'OpenJDK 10 srcs'
-  path: '/usr/src/jdk/zsrc{_JDK_VERSION}.zip'
-  shouldExist: true
-
-metadataTest:
-  env:
-    - key: 'JAVA_HOME'
-      value: '/usr/lib/jvm/java-8-openjdk-amd64'
diff --git a/container/common/python2.yaml b/container/common/python2.yaml
deleted file mode 100644
index 8582e44..0000000
--- a/container/common/python2.yaml
+++ /dev/null
@@ -1,13 +0,0 @@
-schemaVersion: "2.0.0"
-
-commandTests:
-- name: 'python2-version'
-  command: 'python'
-  args: ['-V']
-  # python outputs to stderr.
-  expectedError: ['Python 2.7.*']
-
-fileExistenceTests:
-- name: 'Python2'
-  path: '/usr/bin/python2.7'
-  shouldExist: true
diff --git a/container/common/python3.yaml b/container/common/python3.yaml
deleted file mode 100644
index 1c0dbd4..0000000
--- a/container/common/python3.yaml
+++ /dev/null
@@ -1,22 +0,0 @@
-schemaVersion: "2.0.0"
-
-fileExistenceTests:
-- name: 'python3'
-  path: '/usr/bin/python3'
-  shouldExist: true
-- name: 'pycache3.5'
-  path: '/usr/lib/python3.5/__pycache__'
-  shouldExist: false
-- name: 'pycache3.5-test'
-  path: '/usr/lib/python3.5/test/__pycache__'
-  shouldExist: false
-
-commandTests:
-- name: 'python3-version'
-  command: 'python3'
-  args: ['-V']
-  expectedOutput: ['Python 3.*.*']
-- name: 'apt-add-repo-check'
-  command: 'apt-add-repository'
-  args: ['-h']
-  expectedOutput: ['Usage: apt-add-repository']
diff --git a/container/common/python3_rbe.yaml b/container/common/python3_rbe.yaml
deleted file mode 100644
index f0877fc..0000000
--- a/container/common/python3_rbe.yaml
+++ /dev/null
@@ -1,18 +0,0 @@
-schemaVersion: "2.0.0"
-
-fileExistenceTests:
-- name: 'python3'
-  path: '/opt/python3.6/bin/python3'
-  shouldExist: true
-- name: 'pycache3.5'
-  path: '/usr/lib/python3.5/__pycache__'
-  shouldExist: false
-- name: 'pycache3.5-test'
-  path: '/usr/lib/python3.5/test/__pycache__'
-  shouldExist: false
-
-commandTests:
-- name: 'python3-version'
-  command: 'python3'
-  args: ['-V']
-  expectedOutput: ['Python 3.6.*']
diff --git a/container/common/rbe-base.yaml b/container/common/rbe-base.yaml
deleted file mode 100644
index e63d44b..0000000
--- a/container/common/rbe-base.yaml
+++ /dev/null
@@ -1,55 +0,0 @@
-schemaVersion: "2.0.0"
-
-commandTests:
-# 'check-ar' is used to test binutils.
-- name: 'check-ar'
-  command: 'ar'
-  args: ['--version']
-  expectedOutput: ['GNU ar .*']
-- name: 'check-curl'
-  command: 'curl'
-  args: ['--version']
-  expectedOutput: ['curl .* \(x86_64-pc-linux-gnu\).*']
-- name: 'check-ed'
-  command: 'ed'
-  args: ['--version']
-  expectedOutput: ['GNU [eE]d .*']
-- name: 'check-file'
-  command: 'file'
-  args: ['--version']
-  expectedOutput: ['file-.*']
-- name: 'check-git'
-  command: 'git'
-  args: ['--version']
-  expectedOutput: ['git version .*']
-- name: 'check-less'
-  command: 'less'
-  args: ['--version']
-  expectedOutput: ['less .*']
-- name: 'check-netcat'
-  command: 'nc'
-  args: ['-h']
-  # nc outputs to stderr.
-  expectedError: ['\[v.*']
-- name: 'check-patch'
-  command: 'patch'
-  args: ['--version']
-  expectedOutput: ['GNU patch .*']
-- name: 'check-wget'
-  command: 'wget'
-  args: ['--version']
-  expectedOutput: ['GNU Wget.* built on linux-gnu.*']
-- name: 'check-zip'
-  command: 'zip'
-  args: ['--version']
-  expectedOutput: ['.*This is Zip.*']
-
-fileExistenceTests:
-- name: 'Root'
-  path: '/'
-  shouldExist: true
-
-metadataTest:
-  env:
-    - key: 'LC_ALL'
-      value: 'C.UTF-8'
diff --git a/container/debian8/BUILD b/container/debian8/BUILD
deleted file mode 100644
index 8ece167..0000000
--- a/container/debian8/BUILD
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright 2017 The Bazel Authors. All rights reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-licenses(["notice"])  # Apache 2.0
-
-package(default_visibility = ["//visibility:public"])
-
-exports_files(glob(["*.yaml"]))
diff --git a/container/debian8/builders/bazel/BUILD b/container/debian8/builders/bazel/BUILD
deleted file mode 100644
index b9c7c93..0000000
--- a/container/debian8/builders/bazel/BUILD
+++ /dev/null
@@ -1,90 +0,0 @@
-# Copyright 2017 The Bazel Authors. All rights reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-licenses(["notice"])  # Apache 2.0
-
-package(default_visibility = ["//visibility:public"])
-
-load(
-    "//rules/container:docker_toolchains.bzl",
-    "language_tool_layer",
-    "toolchain_container",
-)
-load("@io_bazel_rules_docker//container:container.bzl", "container_image")
-load("@io_bazel_rules_docker//contrib:test.bzl", "container_test")
-load("//container/common/bazel:version.bzl", "BAZEL_VERSION_SHA256S")
-
-# Tools that are needed in most builds, but not strictly required by bazel.
-language_tool_layer(
-    name = "extra-tools-ltl",
-    base = "@debian8//image",
-    packages = [
-        "git",
-        "wget",
-    ],
-)
-
-# Generate the Bazel container for all supported versions using the
-# corresponding Bazel language_tool_layer targets.
-[toolchain_container(
-    name = "bazel_%s_intermediate" % bazel_version,
-    base = "@debian8//image",
-    # TODO(xingao) Fix this. We should not remove /etc/ssl/certs/java/cacerts
-    # file in the java-ltl, but instead, archive it for future container
-    # reproduction.
-    installation_cleanup_commands = "update-ca-certificates -f",
-    language_layers = [
-        ":extra-tools-ltl",
-        "//container/debian8/layers/clang:clang-ltl",
-        "//container/debian8/layers/java:java-ltl",
-        "//container/debian8/layers/java:java10-ltl",
-        "//container/debian8/layers/python:python-ltl",
-        "//container/debian8/layers/bazel:bazel-tools",
-        "//container/debian8/layers/bazel:bazel_%s-ltl" % bazel_version,
-        "//container/debian8/layers/docker-17.12.0:docker-ltl",
-        "//container/debian8/layers/gcloud:gcloud-ltl",
-    ],
-) for bazel_version, _ in BAZEL_VERSION_SHA256S.items()]
-
-# Set up `entrypoint` and cmd in the container. These cannot be down in the
-# `toolchain_container` rule as they would be consumed by intermediate
-# `container_image` rule in its implementation.
-# TODO(xingao): enable setting things like `entrypoint` and `cmd` in
-# `toolchain_container`.
-[container_image(
-    name = "bazel_%s" % bazel_version,
-    base = ":bazel_%s_intermediate" % bazel_version,
-    cmd = None,
-    entrypoint = ["/usr/local/bin/bazel"],
-) for bazel_version, _ in BAZEL_VERSION_SHA256S.items()]
-
-# container_test targets for all supported Bazel versions.
-[container_test(
-    name = "bazel_%s-test" % bazel_version,
-    configs = [
-        ":container.yaml",
-        "//container/common:docker-17.12.0.yaml",
-        "//container/common:java.yaml",
-        "//container/common:python2.yaml",
-        "//container/common:python3.yaml",
-        "//container/common/clang:clang.yaml",
-        "//container/common/gcloud:gcloud.yaml",
-        "//container/common/bazel:bazel_%s.yaml" % bazel_version,
-        "//container/common/bazel:bazel_tools.yaml",
-        "//container/common/bazel:extra_tools.yaml",
-        "//container/debian8:debian8.yaml",
-    ],
-    image = ":bazel_%s" % bazel_version,
-    verbose = True,
-) for bazel_version, _ in BAZEL_VERSION_SHA256S.items()]
diff --git a/container/debian8/builders/bazel/container.yaml b/container/debian8/builders/bazel/container.yaml
deleted file mode 100644
index 2f67509..0000000
--- a/container/debian8/builders/bazel/container.yaml
+++ /dev/null
@@ -1,8 +0,0 @@
-schemaVersion: "2.0.0"
-
-metadataTest:
-  env:
-    - key: 'PATH'
-      value: '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin'
-  entrypoint: ["/usr/local/bin/bazel"]
-  cmd: []
diff --git a/container/debian8/builders/rbe-debian8/BUILD b/container/debian8/builders/rbe-debian8/BUILD
deleted file mode 100644
index 9a6b0ed..0000000
--- a/container/debian8/builders/rbe-debian8/BUILD
+++ /dev/null
@@ -1,86 +0,0 @@
-# Copyright 2017 The Bazel Authors. All rights reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-licenses(["notice"])  # Apache 2.0
-
-package(default_visibility = ["//visibility:public"])
-
-load(
-    "//rules/container:docker_toolchains.bzl",
-    "language_tool_layer",
-    "toolchain_container",
-)
-load("@io_bazel_rules_docker//contrib:test.bzl", "container_test")
-
-language_tool_layer(
-    name = "base-ltl",
-    base = "@debian8//image",
-    packages = [
-        "binutils",
-        "ca-certificates",
-        "curl",
-        "ed",
-        "file",
-        "git",
-        "less",
-        "netcat",
-        "openssh-client",
-        "patch",
-        "unzip",
-        "wget",
-        "zip",
-    ],
-)
-
-toolchain_container(
-    name = "toolchain",
-    base = "@debian8//image",
-    cmd = [
-        "/bin/sh",
-        "-c",
-        "/bin/bash",
-    ],
-    env = {
-        # PATH envvar is a special case, and currently only the one in the
-        # topmost layer is set. So that we override it here to include all.
-        "PATH": "$PATH:/opt/python3.6/bin:/usr/local/go/bin",
-        "LANG": "C.UTF-8",
-        "LANGUAGE": "C.UTF-8",
-        "LC_ALL": "C.UTF-8",
-    },
-    language_layers = [
-        "base-ltl",
-        "//container/debian8/layers/clang:clang-ltl",
-        "//container/debian8/layers/go:go-ltl",
-        "//container/debian8/layers/java:java-ltl",
-        "//container/debian8/layers/java:java10-ltl",
-        "//container/debian8/layers/python:python-rbe-ltl",
-    ],
-)
-
-container_test(
-    name = "toolchain-test",
-    configs = [
-        ":rbe-debian8.yaml",
-        "//container/common:go.yaml",
-        "//container/common:java.yaml",
-        "//container/common:python2.yaml",
-        "//container/common:python3_rbe.yaml",
-        "//container/common:rbe-base.yaml",
-        "//container/common/clang:clang.yaml",
-        "//container/debian8:debian8.yaml",
-    ],
-    image = ":toolchain",
-    verbose = True,
-)
diff --git a/container/debian8/builders/rbe-debian8/rbe-debian8.yaml b/container/debian8/builders/rbe-debian8/rbe-debian8.yaml
deleted file mode 100644
index 9e9547c..0000000
--- a/container/debian8/builders/rbe-debian8/rbe-debian8.yaml
+++ /dev/null
@@ -1,6 +0,0 @@
-schemaVersion: "2.0.0"
-
-metadataTest:
-  env:
-    - key: 'PATH'
-      value: '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/python3.6/bin:/usr/local/go/bin'
diff --git a/container/debian8/debian8.yaml b/container/debian8/debian8.yaml
deleted file mode 100644
index 219d20b..0000000
--- a/container/debian8/debian8.yaml
+++ /dev/null
@@ -1,7 +0,0 @@
-schemaVersion: "2.0.0"
-
-# Distro-specific tests
-fileContentTests:
-- name: 'os-version'
-  expectedContents: ['Debian GNU/Linux 8']
-  path: '/etc/issue.net'
diff --git a/container/debian8/layers/bazel/BUILD b/container/debian8/layers/bazel/BUILD
deleted file mode 100644
index 67478ff..0000000
--- a/container/debian8/layers/bazel/BUILD
+++ /dev/null
@@ -1,69 +0,0 @@
-# Copyright 2017 The Bazel Authors. All rights reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-licenses(["notice"])  # Apache 2.0
-
-package(default_visibility = ["//visibility:public"])
-
-load("//rules/container:docker_toolchains.bzl", "language_tool_layer")
-load("//rules/container:docker_toolchains.bzl", "toolchain_container")
-load("@base_images_docker//util:run.bzl", "container_run_and_extract")
-load("//container/common/bazel:version.bzl", "BAZEL_VERSION_SHA256S")
-
-# Tools required by Bazel. Note that we do not add a CC complier here as we
-# will include that in the final container.
-language_tool_layer(
-    name = "bazel-tools",
-    base = "@debian8//image",
-    packages = [
-        "bash-completion",
-        "binutils",
-        "patch",
-        "unzip",
-        "zip",
-    ],
-)
-
-# Create image with Bazel installer for all supported versions.
-[toolchain_container(
-    name = "bazel_%s_installer_image" % bazel_version,
-    base = "@debian8//image",
-    files = [
-        "@bazel_%s_installer//file" % bazel_version.replace(".", ""),
-        "//container/common/bazel:bazel.bazelrc",
-    ],
-    packages = [
-        "unzip",
-    ],
-) for bazel_version, _ in BAZEL_VERSION_SHA256S.items()]
-
-# Extract Bazel binaries for all supported versions.
-[container_run_and_extract(
-    name = "bazel_%s_tar" % bazel_version,
-    commands = [
-        "mv /bazel.bazelrc /etc/bazel.bazelrc",
-        "chmod +x /bazel-%s-installer-linux-x86_64.sh" % bazel_version,
-        "/bazel-%s-installer-linux-x86_64.sh" % bazel_version,
-        "tar cvf /bazel.tar --mtime='1970-01-01' /usr/local/bin/bazel /usr/local/lib/bazel/* /etc/bazel.bazelrc",
-    ],
-    extract_file = "/bazel.tar",
-    image = ":bazel_%s_installer_image.tar" % bazel_version,
-) for bazel_version, _ in BAZEL_VERSION_SHA256S.items()]
-
-# Language_tool_layer targets for all supported Bazel versions.
-[language_tool_layer(
-    name = "bazel_%s-ltl" % bazel_version,
-    base = "@debian8//image",
-    tars = [":bazel_%s_tar/bazel.tar" % bazel_version],
-) for bazel_version, _ in BAZEL_VERSION_SHA256S.items()]
diff --git a/container/debian8/layers/clang/BUILD b/container/debian8/layers/clang/BUILD
deleted file mode 100644
index 3e0a248..0000000
--- a/container/debian8/layers/clang/BUILD
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 2017 The Bazel Authors. All rights reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-licenses(["notice"])  # Apache 2.0
-
-package(default_visibility = ["//visibility:public"])
-
-load(
-    "//rules/container:docker_toolchains.bzl",
-    "language_tool_layer",
-)
-load("//container/common/clang:clang.bzl", "clang_env")
-
-language_tool_layer(
-    name = "clang-ltl",
-    base = "@debian8//image",
-    env = clang_env,
-    packages = [
-        "libstdc++-4.9-dev",
-    ],
-    tars = [
-        "//third_party/clang:debian8_tar",
-        "//third_party/libcxx:debian8_tar",
-    ],
-)
diff --git a/container/debian8/layers/docker-17.12.0/BUILD b/container/debian8/layers/docker-17.12.0/BUILD
deleted file mode 100644
index 970991b..0000000
--- a/container/debian8/layers/docker-17.12.0/BUILD
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 2017 The Bazel Authors. All rights reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-licenses(["notice"])  # Apache 2.0
-
-package(default_visibility = ["//visibility:public"])
-
-load("//rules/container:docker_toolchains.bzl", "language_tool_layer", "toolchain_container")
-load("@base_images_docker//package_managers:apt_key.bzl", "add_apt_key")
-load("@base_images_docker//package_managers:download_pkgs.bzl", "download_pkgs")
-
-# Downloading "docker-ce" requires "apt-transport-https" to be installed
-# in the container. So create a prerequisite container first.
-toolchain_container(
-    name = "docker-prereq",
-    base = "@debian8//image",
-    packages = [
-        "apt-transport-https",
-    ],
-)
-
-add_apt_key(
-    name = "docker-key-image",
-    image = ":docker-prereq.tar",
-    keys = [
-        "@docker_gpg//file",
-    ],
-)
-
-download_pkgs(
-    name = "docker-packages",
-    additional_repos = [
-        "deb [arch=amd64] https://download.docker.com/linux/debian jessie stable edge",
-    ],
-    image_tar = ":docker-key-image.tar",
-    packages = [
-        "apt-transport-https",
-        "ca-certificates",
-        "curl",
-        "docker-ce=17.12.0~ce-0~debian",
-    ],
-)
-
-language_tool_layer(
-    name = "docker-ltl",
-    base = "@debian8//image",
-    installables_tar = ":docker-packages.tar",
-)
diff --git a/container/debian8/layers/gcloud/BUILD b/container/debian8/layers/gcloud/BUILD
deleted file mode 100644
index 5f90fb8..0000000
--- a/container/debian8/layers/gcloud/BUILD
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 2017 The Bazel Authors. All rights reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-licenses(["notice"])  # Apache 2.0
-
-package(default_visibility = ["//visibility:public"])
-
-load("//rules/container:docker_toolchains.bzl", "language_tool_layer")
-load(
-    "//container/common/gcloud:version.bzl",
-    "GCLOUD_VERSION",
-)
-
-language_tool_layer(
-    name = "gcloud-ltl",
-    additional_repos = [
-        "deb http://packages.cloud.google.com/apt cloud-sdk-jessie main",
-    ],
-    base = "@debian8//image",
-    keys = [
-        "@gcloud_gpg//file",
-    ],
-    packages = [
-        "google-cloud-sdk=%s" % GCLOUD_VERSION,
-    ],
-)
diff --git a/container/debian8/layers/go/BUILD b/container/debian8/layers/go/BUILD
deleted file mode 100644
index 9289e55..0000000
--- a/container/debian8/layers/go/BUILD
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 2017 The Bazel Authors. All rights reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-licenses(["notice"])  # Apache 2.0
-
-package(default_visibility = ["//visibility:public"])
-
-load(
-    "//rules/container:docker_toolchains.bzl",
-    "language_tool_layer",
-)
-
-language_tool_layer(
-    name = "go-ltl",
-    base = "@debian8//image",
-    env = {
-        "GOPATH": "/go",
-        "PATH": "$PATH:/usr/local/go/bin",
-    },
-    tars = ["//third_party/golang:tar"],
-)
diff --git a/container/debian8/layers/java/BUILD b/container/debian8/layers/java/BUILD
deleted file mode 100644
index dd5d98d..0000000
--- a/container/debian8/layers/java/BUILD
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 2017 The Bazel Authors. All rights reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-licenses(["notice"])  # Apache 2.0
-
-package(default_visibility = ["//visibility:public"])
-
-load(
-    "//rules/container:docker_toolchains.bzl",
-    "language_tool_layer",
-)
-
-JAVA_CLEANUP_COMMANDS = (
-    "rm -rf " +
-    "/etc/ssl/certs/java/cacerts " +
-    "/tmp/hsperfdata_root/* " +
-    "/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/server/classes.jsa"
-)
-
-language_tool_layer(
-    name = "java-ltl",
-    additional_repos = [
-        "deb http://deb.debian.org/debian jessie-backports main",
-    ],
-    base = "@debian8//image",
-    env = {
-        "JAVA_HOME": "/usr/lib/jvm/java-8-openjdk-amd64",
-    },
-    installation_cleanup_commands = JAVA_CLEANUP_COMMANDS,
-    packages = [
-        "ca-certificates-java=20161107'*'",
-        "openjdk-8-jdk-headless",
-        "openjdk-8-jre-headless",
-    ],
-    symlinks = {
-        "/usr/bin/java": "/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java",
-    },
-)
-
-language_tool_layer(
-    name = "java10-ltl",
-    base = "@debian8//image",
-    tars = [
-        "//third_party/openjdk:open_jdk_tar",
-        "//third_party/openjdk:open_jdk_src_tar",
-    ],
-)
diff --git a/container/debian8/layers/python/BUILD b/container/debian8/layers/python/BUILD
deleted file mode 100644
index 9b72f44..0000000
--- a/container/debian8/layers/python/BUILD
+++ /dev/null
@@ -1,63 +0,0 @@
-# Copyright 2017 The Bazel Authors. All rights reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-licenses(["notice"])  # Apache 2.0
-
-package(default_visibility = ["//visibility:public"])
-
-load(
-    "//rules/container:docker_toolchains.bzl",
-    "language_tool_layer",
-)
-
-PYTHON_CLEANUP_COMMANDS = (
-    "find /usr/lib/python* -name __pycache__ -exec rm -rf {} +"
-)
-
-language_tool_layer(
-    name = "python-rbe-ltl",
-    base = "@debian8//image",
-    env = {
-        "PATH": "$PATH:/opt/python3.6/bin",
-    },
-    installation_cleanup_commands = PYTHON_CLEANUP_COMMANDS,
-    packages = [
-        "python-dev",
-        "python-setuptools",
-        "python3-dev",
-    ],
-    symlinks = {
-        "/usr/bin/python": "/usr/bin/python2.7",
-        "/usr/bin/python3": "/opt/python3.6/bin/python3.6",
-        "/opt/python3.6/bin/python3": "/opt/python3.6/bin/python3.6",
-        "/opt/python3.6/bin/pip3": "/opt/python3.6/bin/pip3.6",
-        "/opt/python3.6/bin/easy_install3": "/opt/python3.6/bin/easy_install-3.6",
-    },
-    tars = ["//third_party/python:debian8_tar/python.tar"],
-)
-
-language_tool_layer(
-    name = "python-ltl",
-    base = "@debian8//image",
-    installation_cleanup_commands = PYTHON_CLEANUP_COMMANDS,
-    packages = [
-        "python-dev",
-        "python-setuptools",
-        "python3-dev",
-        "software-properties-common",
-    ],
-    symlinks = {
-        "/usr/bin/python": "/usr/bin/python2.7",
-    },
-)
diff --git a/container/ubuntu14_04/BUILD b/container/ubuntu14_04/BUILD
deleted file mode 100644
index 8ece167..0000000
--- a/container/ubuntu14_04/BUILD
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright 2017 The Bazel Authors. All rights reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-licenses(["notice"])  # Apache 2.0
-
-package(default_visibility = ["//visibility:public"])
-
-exports_files(glob(["*.yaml"]))
diff --git a/container/ubuntu14_04/builders/bazel/BUILD b/container/ubuntu14_04/builders/bazel/BUILD
deleted file mode 100644
index 30ca678..0000000
--- a/container/ubuntu14_04/builders/bazel/BUILD
+++ /dev/null
@@ -1,90 +0,0 @@
-# Copyright 2017 The Bazel Authors. All rights reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-licenses(["notice"])  # Apache 2.0
-
-package(default_visibility = ["//visibility:public"])
-
-load(
-    "//rules/container:docker_toolchains.bzl",
-    "language_tool_layer",
-    "toolchain_container",
-)
-load("@io_bazel_rules_docker//container:container.bzl", "container_image")
-load("@io_bazel_rules_docker//contrib:test.bzl", "container_test")
-load("//container/common/bazel:version.bzl", "BAZEL_VERSION_SHA256S")
-
-# Tools that are needed in most builds, but not strictly required by bazel.
-language_tool_layer(
-    name = "extra-tools-ltl",
-    base = "@trusty//image",
-    packages = [
-        "git",
-        "wget",
-    ],
-)
-
-# Generate the Bazel container for all supported versions using the
-# corresponding Bazel language_tool_layer targets.
-[toolchain_container(
-    name = "bazel_%s_intermediate" % bazel_version,
-    base = "@trusty//image",
-    # TODO(xingao) Fix this. We should not remove /etc/ssl/certs/java/cacerts
-    # file in the java-ltl, but instead, archive it for future container
-    # reproduction.
-    installation_cleanup_commands = "update-ca-certificates -f",
-    language_layers = [
-        ":extra-tools-ltl",
-        "//container/ubuntu14_04/layers/gcc:gcc-ltl",
-        "//container/ubuntu14_04/layers/java:java-ltl",
-        "//container/ubuntu14_04/layers/java:java10-ltl",
-        "//container/ubuntu14_04/layers/python:python-ltl",
-        "//container/ubuntu14_04/layers/bazel:bazel-tools",
-        "//container/ubuntu14_04/layers/bazel:bazel_%s-ltl" % bazel_version,
-        "//container/ubuntu14_04/layers/docker-17.12.0:docker-ltl",
-        "//container/ubuntu14_04/layers/gcloud:gcloud-ltl",
-    ],
-) for bazel_version, _ in BAZEL_VERSION_SHA256S.items()]
-
-# Set up `entrypoint` and cmd in the container. These cannot be down in the
-# `toolchain_container` rule as they would be consumed by intermediate
-# `container_image` rule in its implementation.
-# TODO(xingao): enable setting things like `entrypoint` and `cmd` in
-# `toolchain_container`.
-[container_image(
-    name = "bazel_%s" % bazel_version,
-    base = ":bazel_%s_intermediate" % bazel_version,
-    cmd = None,
-    entrypoint = ["/usr/local/bin/bazel"],
-) for bazel_version, _ in BAZEL_VERSION_SHA256S.items()]
-
-# container_test targets for all supported Bazel versions.
-[container_test(
-    name = "bazel_%s-test" % bazel_version,
-    configs = [
-        ":container.yaml",
-        "//container/common:docker-17.12.0.yaml",
-        "//container/common:java.yaml",
-        "//container/common:python2.yaml",
-        "//container/common:python3.yaml",
-        "//container/common/gcloud:gcloud.yaml",
-        "//container/common/bazel:bazel_%s.yaml" % bazel_version,
-        "//container/common/bazel:bazel_tools.yaml",
-        "//container/common/bazel:extra_tools.yaml",
-        "//container/ubuntu14_04:ubuntu14_04.yaml",
-        "//container/ubuntu14_04/layers/gcc:gcc.yaml",
-    ],
-    image = ":bazel_%s" % bazel_version,
-    verbose = True,
-) for bazel_version, _ in BAZEL_VERSION_SHA256S.items()]
diff --git a/container/ubuntu14_04/builders/bazel/container.yaml b/container/ubuntu14_04/builders/bazel/container.yaml
deleted file mode 100644
index 2f67509..0000000
--- a/container/ubuntu14_04/builders/bazel/container.yaml
+++ /dev/null
@@ -1,8 +0,0 @@
-schemaVersion: "2.0.0"
-
-metadataTest:
-  env:
-    - key: 'PATH'
-      value: '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin'
-  entrypoint: ["/usr/local/bin/bazel"]
-  cmd: []
diff --git a/container/ubuntu14_04/layers/bazel/BUILD b/container/ubuntu14_04/layers/bazel/BUILD
deleted file mode 100644
index 36bdac7..0000000
--- a/container/ubuntu14_04/layers/bazel/BUILD
+++ /dev/null
@@ -1,69 +0,0 @@
-# Copyright 2017 The Bazel Authors. All rights reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-licenses(["notice"])  # Apache 2.0
-
-package(default_visibility = ["//visibility:public"])
-
-load("//rules/container:docker_toolchains.bzl", "language_tool_layer")
-load("//rules/container:docker_toolchains.bzl", "toolchain_container")
-load("@base_images_docker//util:run.bzl", "container_run_and_extract")
-load("//container/common/bazel:version.bzl", "BAZEL_VERSION_SHA256S")
-
-# Tools required by Bazel. Note that we do not add a CC complier here as we
-# will include that in the final container.
-language_tool_layer(
-    name = "bazel-tools",
-    base = "@trusty//image",
-    packages = [
-        "bash-completion",
-        "binutils",
-        "patch",
-        "unzip",
-        "zip",
-    ],
-)
-
-# Create image with Bazel installer for all supported versions.
-[toolchain_container(
-    name = "bazel_%s_installer_image" % bazel_version,
-    base = "@trusty//image",
-    files = [
-        "@bazel_%s_installer//file" % bazel_version.replace(".", ""),
-        "//container/common/bazel:bazel.bazelrc",
-    ],
-    packages = [
-        "unzip",
-    ],
-) for bazel_version, _ in BAZEL_VERSION_SHA256S.items()]
-
-# Extract Bazel binaries for all supported versions.
-[container_run_and_extract(
-    name = "bazel_%s_tar" % bazel_version,
-    commands = [
-        "mv /bazel.bazelrc /etc/bazel.bazelrc",
-        "chmod +x /bazel-%s-installer-linux-x86_64.sh" % bazel_version,
-        "/bazel-%s-installer-linux-x86_64.sh" % bazel_version,
-        "tar cvf /bazel.tar --mtime='1970-01-01' /usr/local/bin/bazel /usr/local/lib/bazel/* /etc/bazel.bazelrc",
-    ],
-    extract_file = "/bazel.tar",
-    image = ":bazel_%s_installer_image.tar" % bazel_version,
-) for bazel_version, _ in BAZEL_VERSION_SHA256S.items()]
-
-# Language_tool_layer targets for all supported Bazel versions.
-[language_tool_layer(
-    name = "bazel_%s-ltl" % bazel_version,
-    base = "@trusty//image",
-    tars = [":bazel_%s_tar/bazel.tar" % bazel_version],
-) for bazel_version, _ in BAZEL_VERSION_SHA256S.items()]
diff --git a/container/ubuntu14_04/layers/docker-17.12.0/BUILD b/container/ubuntu14_04/layers/docker-17.12.0/BUILD
deleted file mode 100644
index c29b62e..0000000
--- a/container/ubuntu14_04/layers/docker-17.12.0/BUILD
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 2017 The Bazel Authors. All rights reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-licenses(["notice"])  # Apache 2.0
-
-package(default_visibility = ["//visibility:public"])
-
-load("//rules/container:docker_toolchains.bzl", "language_tool_layer", "toolchain_container")
-load("@base_images_docker//package_managers:apt_key.bzl", "add_apt_key")
-load("@base_images_docker//package_managers:download_pkgs.bzl", "download_pkgs")
-
-# Downloading "docker-ce" requires "apt-transport-https" to be installed
-# in the container. So create a prerequisite container first.
-toolchain_container(
-    name = "docker-prereq",
-    base = "@trusty//image",
-    packages = [
-        "apt-transport-https",
-        "ca-certificates",
-        "curl",
-    ],
-)
-
-add_apt_key(
-    name = "docker-key-image",
-    image = ":docker-prereq.tar",
-    keys = [
-        "@docker_gpg//file",
-    ],
-)
-
-download_pkgs(
-    name = "docker-packages",
-    additional_repos = [
-        "deb [arch=amd64] https://download.docker.com/linux/ubuntu trusty stable",
-    ],
-    image_tar = ":docker-key-image.tar",
-    packages = [
-        "docker-ce=17.12.0~ce-0~ubuntu",
-        "linux-image-extra-virtual",
-    ],
-)
-
-language_tool_layer(
-    name = "docker-ltl",
-    base = "@trusty//image",
-    installables_tar = ":docker-packages.tar",
-)
diff --git a/container/ubuntu14_04/layers/gcc/BUILD b/container/ubuntu14_04/layers/gcc/BUILD
deleted file mode 100644
index 642059b..0000000
--- a/container/ubuntu14_04/layers/gcc/BUILD
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 2017 The Bazel Authors. All rights reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-licenses(["notice"])  # Apache 2.0
-
-package(default_visibility = ["//visibility:public"])
-
-load(
-    "//rules/container:docker_toolchains.bzl",
-    "language_tool_layer",
-)
-
-exports_files(glob(["*.yaml"]))
-
-language_tool_layer(
-    name = "gcc-ltl",
-    base = "@trusty//image",
-    packages = [
-        "g++",
-    ],
-)
diff --git a/container/ubuntu14_04/layers/gcc/gcc.yaml b/container/ubuntu14_04/layers/gcc/gcc.yaml
deleted file mode 100644
index d8e02a0..0000000
--- a/container/ubuntu14_04/layers/gcc/gcc.yaml
+++ /dev/null
@@ -1,11 +0,0 @@
-schemaVersion: "2.0.0"
-
-commandTests:
-- name: 'check-g++'
-  command: 'g++'
-  args: ['--version']
-  expectedOutput: ['g[+][+] [(]Ubuntu .*']
-- name: 'check-gcov'
-  command: 'gcov'
-  args: ['--version']
-  expectedOutput: ['gcov [(]Ubuntu .*']
diff --git a/container/ubuntu14_04/layers/gcloud/BUILD b/container/ubuntu14_04/layers/gcloud/BUILD
deleted file mode 100644
index 855e7fa..0000000
--- a/container/ubuntu14_04/layers/gcloud/BUILD
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 2017 The Bazel Authors. All rights reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-licenses(["notice"])  # Apache 2.0
-
-package(default_visibility = ["//visibility:public"])
-
-load("//rules/container:docker_toolchains.bzl", "language_tool_layer")
-load(
-    "//container/common/gcloud:version.bzl",
-    "GCLOUD_VERSION",
-)
-
-language_tool_layer(
-    name = "gcloud-ltl",
-    additional_repos = [
-        "deb http://packages.cloud.google.com/apt cloud-sdk-trusty main",
-    ],
-    base = "@trusty//image",
-    keys = [
-        "@gcloud_gpg//file",
-    ],
-    packages = [
-        "google-cloud-sdk=%s" % GCLOUD_VERSION,
-    ],
-)
diff --git a/container/ubuntu14_04/layers/java/BUILD b/container/ubuntu14_04/layers/java/BUILD
deleted file mode 100644
index 5bbda68..0000000
--- a/container/ubuntu14_04/layers/java/BUILD
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright 2017 The Bazel Authors. All rights reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-licenses(["notice"])  # Apache 2.0
-
-package(default_visibility = ["//visibility:public"])
-
-load(
-    "//rules/container:docker_toolchains.bzl",
-    "language_tool_layer",
-)
-
-JAVA_CLEANUP_COMMANDS = (
-    "rm -rf " +
-    "/etc/ssl/certs/java/cacerts " +
-    "/tmp/hsperfdata_root/* " +
-    "/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/server/classes.jsa"
-)
-
-language_tool_layer(
-    name = "java-ltl",
-    additional_repos = [
-        "deb [arch=amd64] http://ppa.launchpad.net/openjdk-r/ppa/ubuntu/ trusty main",
-    ],
-    base = "@trusty//image",
-    env = {
-        "JAVA_HOME": "/usr/lib/jvm/java-8-openjdk-amd64",
-    },
-    installation_cleanup_commands = JAVA_CLEANUP_COMMANDS,
-    keys = [
-        "@launchpad_openjdk_gpg//file",
-    ],
-    packages = [
-        "ca-certificates-java",
-        "openjdk-8-jdk-headless",
-        "openjdk-8-jre-headless",
-    ],
-    symlinks = {
-        "/usr/bin/java": "/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java",
-    },
-)
-
-language_tool_layer(
-    name = "java10-ltl",
-    base = "@trusty//image",
-    tars = [
-        "//third_party/openjdk:open_jdk_tar",
-        "//third_party/openjdk:open_jdk_src_tar",
-    ],
-)
diff --git a/container/ubuntu14_04/layers/python/BUILD b/container/ubuntu14_04/layers/python/BUILD
deleted file mode 100644
index fef564e..0000000
--- a/container/ubuntu14_04/layers/python/BUILD
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 2017 The Bazel Authors. All rights reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-licenses(["notice"])  # Apache 2.0
-
-package(default_visibility = ["//visibility:public"])
-
-load(
-    "//rules/container:docker_toolchains.bzl",
-    "language_tool_layer",
-)
-
-PYTHON_CLEANUP_COMMANDS = (
-    "find /usr/lib/python* -name __pycache__ -exec rm -rf {} +"
-)
-
-language_tool_layer(
-    name = "python-ltl",
-    base = "@trusty//image",
-    installation_cleanup_commands = PYTHON_CLEANUP_COMMANDS,
-    packages = [
-        "python-dev",
-        "python-setuptools",
-        "python3-dev",
-        "software-properties-common",
-    ],
-    symlinks = {
-        "/usr/bin/python": "/usr/bin/python2.7",
-    },
-)
diff --git a/container/ubuntu14_04/ubuntu14_04.yaml b/container/ubuntu14_04/ubuntu14_04.yaml
deleted file mode 100644
index 9bbb8ca..0000000
--- a/container/ubuntu14_04/ubuntu14_04.yaml
+++ /dev/null
@@ -1,7 +0,0 @@
-schemaVersion: "2.0.0"
-
-# Distro-specific tests
-fileContentTests:
-- name: 'os-version'
-  expectedContents: ['Ubuntu 14.04.* LTS']
-  path: '/etc/issue.net'
diff --git a/container/ubuntu16_04/BUILD b/container/ubuntu16_04/BUILD
deleted file mode 100644
index 8ece167..0000000
--- a/container/ubuntu16_04/BUILD
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright 2017 The Bazel Authors. All rights reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-licenses(["notice"])  # Apache 2.0
-
-package(default_visibility = ["//visibility:public"])
-
-exports_files(glob(["*.yaml"]))
diff --git a/container/ubuntu16_04/builders/bazel/BUILD b/container/ubuntu16_04/builders/bazel/BUILD
deleted file mode 100644
index 0a75eed..0000000
--- a/container/ubuntu16_04/builders/bazel/BUILD
+++ /dev/null
@@ -1,86 +0,0 @@
-# Copyright 2017 The Bazel Authors. All rights reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-licenses(["notice"])  # Apache 2.0
-
-package(default_visibility = ["//visibility:public"])
-
-load(
-    "//rules/container:docker_toolchains.bzl",
-    "language_tool_layer",
-    "toolchain_container",
-)
-load("@io_bazel_rules_docker//container:container.bzl", "container_image")
-load("@io_bazel_rules_docker//contrib:test.bzl", "container_test")
-load("//container/common/bazel:version.bzl", "BAZEL_VERSION_SHA256S")
-
-# Tools that are needed in most builds, but not strictly required by bazel.
-language_tool_layer(
-    name = "extra-tools-ltl",
-    base = "@ubuntu16_04//image",
-    packages = [
-        "git",
-        "wget",
-    ],
-)
-
-# Generate the Bazel container for all supported versions using the
-# corresponding Bazel language_tool_layer targets.
-[toolchain_container(
-    name = "bazel_%s_intermediate" % bazel_version,
-    base = "@ubuntu16_04//image",
-    # TODO(xingao) Fix this. We should not remove /etc/ssl/certs/java/cacerts
-    # file in the java-ltl, but instead, archive it for future container
-    # reproduction.
-    installation_cleanup_commands = "update-ca-certificates -f",
-    language_layers = [
-        ":extra-tools-ltl",
-        "//container/ubuntu16_04/layers/clang:clang-ltl",
-        "//container/ubuntu16_04/layers/java:java-ltl",
-        "//container/ubuntu16_04/layers/java:java10-ltl",
-        "//container/ubuntu16_04/layers/python:python-ltl",
-        "//container/ubuntu16_04/layers/bazel:bazel-tools",
-        "//container/ubuntu16_04/layers/bazel:bazel_%s-ltl" % bazel_version,
-    ],
-) for bazel_version, _ in BAZEL_VERSION_SHA256S.items()]
-
-# Set up `entrypoint` and cmd in the container. These cannot be down in the
-# `toolchain_container` rule as they would be consumed by intermediate
-# `container_image` rule in its implementation.
-# TODO(xingao): enable setting things like `entrypoint` and `cmd` in
-# `toolchain_container`.
-[container_image(
-    name = "bazel_%s" % bazel_version,
-    base = ":bazel_%s_intermediate" % bazel_version,
-    cmd = None,
-    entrypoint = ["/usr/local/bin/bazel"],
-) for bazel_version, _ in BAZEL_VERSION_SHA256S.items()]
-
-# container_test targets for all supported Bazel versions.
-[container_test(
-    name = "bazel_%s-test" % bazel_version,
-    configs = [
-        ":container.yaml",
-        "//container/common:java.yaml",
-        "//container/common:python2.yaml",
-        "//container/common:python3.yaml",
-        "//container/common/clang:clang.yaml",
-        "//container/common/bazel:bazel_%s.yaml" % bazel_version,
-        "//container/common/bazel:bazel_tools.yaml",
-        "//container/common/bazel:extra_tools.yaml",
-        "//container/ubuntu16_04:ubuntu16_04.yaml",
-    ],
-    image = ":bazel_%s" % bazel_version,
-    verbose = True,
-) for bazel_version, _ in BAZEL_VERSION_SHA256S.items()]
diff --git a/container/ubuntu16_04/builders/bazel/container.yaml b/container/ubuntu16_04/builders/bazel/container.yaml
deleted file mode 100644
index 2f67509..0000000
--- a/container/ubuntu16_04/builders/bazel/container.yaml
+++ /dev/null
@@ -1,8 +0,0 @@
-schemaVersion: "2.0.0"
-
-metadataTest:
-  env:
-    - key: 'PATH'
-      value: '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin'
-  entrypoint: ["/usr/local/bin/bazel"]
-  cmd: []
diff --git a/container/ubuntu16_04/builders/bazel_docker_gcloud/BUILD b/container/ubuntu16_04/builders/bazel_docker_gcloud/BUILD
deleted file mode 100644
index 4bbe9a5..0000000
--- a/container/ubuntu16_04/builders/bazel_docker_gcloud/BUILD
+++ /dev/null
@@ -1,83 +0,0 @@
-# Copyright 2017 The Bazel Authors. All rights reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-licenses(["notice"])  # Apache 2.0
-
-package(default_visibility = ["//visibility:public"])
-
-load(
-    "//rules/container:docker_toolchains.bzl",
-    "language_tool_layer",
-    "toolchain_container",
-)
-load("@io_bazel_rules_docker//container:container.bzl", "container_image")
-load("@io_bazel_rules_docker//contrib:test.bzl", "container_test")
-load("//container/common/bazel:version.bzl", "BAZEL_VERSION_SHA256S")
-
-# Tools that are needed in most builds, but not strictly required by bazel.
-language_tool_layer(
-    name = "extra-tools-ltl",
-    base = "@ubuntu16_04//image",
-    packages = [
-        "git",
-        "wget",
-    ],
-)
-
-# Generate the container with Bazel and Docker for all supported versions of
-# Bazel.
-[toolchain_container(
-    name = "bazel_%s_docker_gcloud" % bazel_version,
-    base = "@ubuntu16_04//image",
-    cmd = [
-        "/bin/sh",
-        "-c",
-        "/bin/bash",
-    ],
-    # TODO(xingao) Fix this. We should not remove /etc/ssl/certs/java/cacerts
-    # file in the java-ltl, but instead, archive it for future container
-    # reproduction.
-    installation_cleanup_commands = "update-ca-certificates -f",
-    language_layers = [
-        ":extra-tools-ltl",
-        "//container/ubuntu16_04/layers/clang:clang-ltl",
-        "//container/ubuntu16_04/layers/java:java-ltl",
-        "//container/ubuntu16_04/layers/java:java10-ltl",
-        "//container/ubuntu16_04/layers/python:python-rbe-ltl",
-        "//container/ubuntu16_04/layers/bazel:bazel-tools",
-        "//container/ubuntu16_04/layers/bazel:bazel_%s-ltl" % bazel_version,
-        "//container/ubuntu16_04/layers/docker-17.12.0:docker-ltl",
-        "//container/ubuntu16_04/layers/gcloud:gcloud-ltl",
-    ],
-) for bazel_version, _ in BAZEL_VERSION_SHA256S.items()]
-
-# container_test targets for all supported bazel_docker containers..
-[container_test(
-    name = "bazel_%s_docker_gcloud-test" % bazel_version,
-    configs = [
-        ":container.yaml",
-        "//container/common:docker-17.12.0.yaml",
-        "//container/common:java.yaml",
-        "//container/common:python2.yaml",
-        "//container/common:python3_rbe.yaml",
-        "//container/common/clang:clang.yaml",
-        "//container/common/gcloud:gcloud.yaml",
-        "//container/common/bazel:bazel_%s.yaml" % bazel_version,
-        "//container/common/bazel:bazel_tools.yaml",
-        "//container/common/bazel:extra_tools.yaml",
-        "//container/ubuntu16_04:ubuntu16_04.yaml",
-    ],
-    image = ":bazel_%s_docker_gcloud" % bazel_version,
-    verbose = True,
-) for bazel_version, _ in BAZEL_VERSION_SHA256S.items()]
diff --git a/container/ubuntu16_04/builders/bazel_docker_gcloud/container.yaml b/container/ubuntu16_04/builders/bazel_docker_gcloud/container.yaml
deleted file mode 100644
index c27a43a..0000000
--- a/container/ubuntu16_04/builders/bazel_docker_gcloud/container.yaml
+++ /dev/null
@@ -1,6 +0,0 @@
-schemaVersion: "2.0.0"
-
-metadataTest:
-  env:
-    - key: 'PATH'
-      value: '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/python3.6/bin'
diff --git a/container/ubuntu16_04/builders/rbe-ubuntu16_04/BUILD b/container/ubuntu16_04/builders/rbe-ubuntu16_04/BUILD
deleted file mode 100644
index fb797b4..0000000
--- a/container/ubuntu16_04/builders/rbe-ubuntu16_04/BUILD
+++ /dev/null
@@ -1,88 +0,0 @@
-# Copyright 2017 The Bazel Authors. All rights reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-licenses(["notice"])  # Apache 2.0
-
-package(default_visibility = ["//visibility:public"])
-
-load(
-    "//rules/container:docker_toolchains.bzl",
-    "language_tool_layer",
-    "toolchain_container",
-)
-load("@io_bazel_rules_docker//contrib:test.bzl", "container_test")
-
-language_tool_layer(
-    name = "base-ltl",
-    base = "@ubuntu16_04//image",
-    packages = [
-        "binutils",
-        "ca-certificates",
-        "curl",
-        "ed",
-        "file",
-        "git",
-        "less",
-        "locales",
-        "locales-all",
-        "netcat",
-        "openssh-client",
-        "patch",
-        "unzip",
-        "wget",
-        "zip",
-    ],
-)
-
-toolchain_container(
-    name = "toolchain",
-    base = "@ubuntu16_04//image",
-    cmd = [
-        "/bin/sh",
-        "-c",
-        "/bin/bash",
-    ],
-    env = {
-        # PATH envvar is a special case, and currently only the one in the
-        # topmost layer is set. So that we override it here to include all.
-        "PATH": "$PATH:/opt/python3.6/bin:/usr/local/go/bin",
-        "LANG": "C.UTF-8",
-        "LANGUAGE": "C.UTF-8",
-        "LC_ALL": "C.UTF-8",
-    },
-    language_layers = [
-        "base-ltl",
-        "//container/ubuntu16_04/layers/clang:clang-ltl",
-        "//container/ubuntu16_04/layers/go:go-ltl",
-        "//container/ubuntu16_04/layers/java:java-ltl",
-        "//container/ubuntu16_04/layers/java:java10-ltl",
-        "//container/ubuntu16_04/layers/python:python-rbe-ltl",
-    ],
-)
-
-container_test(
-    name = "toolchain-test",
-    configs = [
-        ":rbe-ubuntu16_04.yaml",
-        "//container/common:go.yaml",
-        "//container/common:java.yaml",
-        "//container/common:python2.yaml",
-        "//container/common:python3_rbe.yaml",
-        "//container/common:rbe-base.yaml",
-        "//container/common/clang:clang.yaml",
-        "//container/ubuntu16_04:ubuntu16_04.yaml",
-    ],
-    image = ":toolchain",
-    verbose = True,
-)
diff --git a/container/ubuntu16_04/builders/rbe-ubuntu16_04/rbe-ubuntu16_04.yaml b/container/ubuntu16_04/builders/rbe-ubuntu16_04/rbe-ubuntu16_04.yaml
deleted file mode 100644
index 9e9547c..0000000
--- a/container/ubuntu16_04/builders/rbe-ubuntu16_04/rbe-ubuntu16_04.yaml
+++ /dev/null
@@ -1,6 +0,0 @@
-schemaVersion: "2.0.0"
-
-metadataTest:
-  env:
-    - key: 'PATH'
-      value: '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/python3.6/bin:/usr/local/go/bin'
diff --git a/container/ubuntu16_04/debian_pkgs/BUILD b/container/ubuntu16_04/debian_pkgs/BUILD
deleted file mode 100644
index 30a6224..0000000
--- a/container/ubuntu16_04/debian_pkgs/BUILD
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 2017 The Bazel Authors. All rights reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-licenses(["notice"])  # Apache 2.0
-
-package(default_visibility = ["//visibility:public"])
-
-load(
-    "//rules/container:debian_pkg_tar.bzl",
-    "aggregate_debian_pkgs",
-)
-
-aggregate_debian_pkgs(
-    name = "ubuntu16-04-debian_pkgs",
-    base = "@ubuntu16_04//image",
-    language_layers = [
-        "//container/ubuntu16_04/builders/rbe-ubuntu16_04:base-ltl",
-        "//container/ubuntu16_04/layers/clang:clang-ltl",
-        "//container/ubuntu16_04/layers/go:go-ltl",
-        "//container/ubuntu16_04/layers/java:java-ltl",
-        "//container/ubuntu16_04/layers/java:java10-ltl",
-        "//container/ubuntu16_04/layers/python:python-ltl",
-    ],
-)
diff --git a/container/ubuntu16_04/layers/bazel/BUILD b/container/ubuntu16_04/layers/bazel/BUILD
deleted file mode 100644
index 600a792..0000000
--- a/container/ubuntu16_04/layers/bazel/BUILD
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright 2017 The Bazel Authors. All rights reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-licenses(["notice"])  # Apache 2.0
-
-package(default_visibility = ["//visibility:public"])
-
-load("//rules/container:docker_toolchains.bzl", "language_tool_layer", "toolchain_container")
-load("@base_images_docker//util:run.bzl", "container_run_and_extract")
-load("//container/common/bazel:version.bzl", "BAZEL_VERSION_SHA256S")
-
-# Tools required by Bazel. Note that we do not add a CC complier here as we
-# will include that in the final container.
-language_tool_layer(
-    name = "bazel-tools",
-    base = "@ubuntu16_04//image",
-    packages = [
-        "bash-completion",
-        "binutils",
-        "patch",
-        "unzip",
-        "zip",
-    ],
-)
-
-# Create image with Bazel installer for all supported versions.
-[toolchain_container(
-    name = "bazel_%s_installer_image" % bazel_version,
-    base = "@ubuntu16_04//image",
-    files = [
-        "@bazel_%s_installer//file" % bazel_version.replace(".", ""),
-        "//container/common/bazel:bazel.bazelrc",
-    ],
-    packages = [
-        "unzip",
-    ],
-) for bazel_version, _ in BAZEL_VERSION_SHA256S.items()]
-
-# Extract Bazel binaries for all supported versions.
-[container_run_and_extract(
-    name = "bazel_%s_tar" % bazel_version,
-    commands = [
-        "mv /bazel.bazelrc /etc/bazel.bazelrc",
-        "chmod +x /bazel-%s-installer-linux-x86_64.sh" % bazel_version,
-        "/bazel-%s-installer-linux-x86_64.sh" % bazel_version,
-        "tar cvf /bazel.tar --mtime='1970-01-01' /usr/local/bin/bazel /usr/local/lib/bazel/* /etc/bazel.bazelrc",
-    ],
-    extract_file = "/bazel.tar",
-    image = ":bazel_%s_installer_image.tar" % bazel_version,
-) for bazel_version, _ in BAZEL_VERSION_SHA256S.items()]
-
-# Language_tool_layer targets for all supported Bazel versions.
-[language_tool_layer(
-    name = "bazel_%s-ltl" % bazel_version,
-    base = "@ubuntu16_04//image",
-    tars = [":bazel_%s_tar/bazel.tar" % bazel_version],
-) for bazel_version, _ in BAZEL_VERSION_SHA256S.items()]
diff --git a/container/ubuntu16_04/layers/clang/BUILD b/container/ubuntu16_04/layers/clang/BUILD
deleted file mode 100644
index d8aefa7..0000000
--- a/container/ubuntu16_04/layers/clang/BUILD
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 2017 The Bazel Authors. All rights reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-licenses(["notice"])  # Apache 2.0
-
-package(default_visibility = ["//visibility:public"])
-
-load(
-    "//rules/container:docker_toolchains.bzl",
-    "language_tool_layer",
-)
-load("//container/common/clang:clang.bzl", "clang_env")
-
-language_tool_layer(
-    name = "clang-ltl",
-    base = "@ubuntu16_04//image",
-    env = clang_env,
-    packages = [
-        "libstdc++-4.9-dev",
-    ],
-    tars = [
-        "//third_party/clang:ubuntu16_04_tar",
-        "//third_party/libcxx:ubuntu16_04_tar",
-    ],
-)
diff --git a/container/ubuntu16_04/layers/docker-17.12.0/BUILD b/container/ubuntu16_04/layers/docker-17.12.0/BUILD
deleted file mode 100644
index bb6b286..0000000
--- a/container/ubuntu16_04/layers/docker-17.12.0/BUILD
+++ /dev/null
@@ -1,60 +0,0 @@
-# Copyright 2017 The Bazel Authors. All rights reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-licenses(["notice"])  # Apache 2.0
-
-package(default_visibility = ["//visibility:public"])
-
-load("//rules/container:docker_toolchains.bzl", "language_tool_layer", "toolchain_container")
-load("@base_images_docker//package_managers:apt_key.bzl", "add_apt_key")
-load("@base_images_docker//package_managers:download_pkgs.bzl", "download_pkgs")
-
-# Downloading "docker-ce" requires "apt-transport-https" to be installed
-# in the container. So create a prerequisite container first.
-toolchain_container(
-    name = "docker-prereq",
-    base = "@ubuntu16_04//image",
-    packages = [
-        "apt-transport-https",
-    ],
-)
-
-add_apt_key(
-    name = "docker-key-image",
-    image = ":docker-prereq.tar",
-    keys = [
-        "@docker_gpg//file",
-    ],
-)
-
-download_pkgs(
-    name = "docker-packages",
-    additional_repos = [
-        "deb [arch=amd64] https://download.docker.com/linux/ubuntu xenial stable edge",
-    ],
-    image_tar = ":docker-key-image.tar",
-    packages = [
-        "apt-transport-https",
-        "ca-certificates",
-        "curl",
-        "docker-ce=17.12.0~ce-0~ubuntu",
-        "linux-image-extra-virtual",
-    ],
-)
-
-language_tool_layer(
-    name = "docker-ltl",
-    base = "@ubuntu16_04//image",
-    installables_tar = ":docker-packages.tar",
-)
diff --git a/container/ubuntu16_04/layers/gcloud/BUILD b/container/ubuntu16_04/layers/gcloud/BUILD
deleted file mode 100644
index ae23e01..0000000
--- a/container/ubuntu16_04/layers/gcloud/BUILD
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 2017 The Bazel Authors. All rights reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-licenses(["notice"])  # Apache 2.0
-
-package(default_visibility = ["//visibility:public"])
-
-load("//rules/container:docker_toolchains.bzl", "language_tool_layer")
-load(
-    "//container/common/gcloud:version.bzl",
-    "GCLOUD_VERSION",
-)
-
-language_tool_layer(
-    name = "gcloud-ltl",
-    additional_repos = [
-        "deb http://packages.cloud.google.com/apt cloud-sdk-xenial main",
-    ],
-    base = "@ubuntu16_04//image",
-    keys = [
-        "@gcloud_gpg//file",
-    ],
-    packages = [
-        "google-cloud-sdk=%s" % GCLOUD_VERSION,
-    ],
-)
diff --git a/container/ubuntu16_04/layers/go/BUILD b/container/ubuntu16_04/layers/go/BUILD
deleted file mode 100644
index 8a61de2..0000000
--- a/container/ubuntu16_04/layers/go/BUILD
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 2017 The Bazel Authors. All rights reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-licenses(["notice"])  # Apache 2.0
-
-package(default_visibility = ["//visibility:public"])
-
-load(
-    "//rules/container:docker_toolchains.bzl",
-    "language_tool_layer",
-)
-
-language_tool_layer(
-    name = "go-ltl",
-    base = "@ubuntu16_04//image",
-    env = {
-        "GOPATH": "/go",
-        "PATH": "$PATH:/usr/local/go/bin",
-    },
-    tars = ["//third_party/golang:tar"],
-)
diff --git a/container/ubuntu16_04/layers/java/BUILD b/container/ubuntu16_04/layers/java/BUILD
deleted file mode 100644
index 11b1a17..0000000
--- a/container/ubuntu16_04/layers/java/BUILD
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright 2017 The Bazel Authors. All rights reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-licenses(["notice"])  # Apache 2.0
-
-package(default_visibility = ["//visibility:public"])
-
-load(
-    "//rules/container:docker_toolchains.bzl",
-    "language_tool_layer",
-)
-
-JAVA_CLEANUP_COMMANDS = (
-    "rm -rf " +
-    "/etc/ssl/certs/java/cacerts " +
-    "/tmp/hsperfdata_root/* " +
-    "/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/server/classes.jsa"
-)
-
-language_tool_layer(
-    name = "java-ltl",
-    base = "@ubuntu16_04//image",
-    env = {
-        "JAVA_HOME": "/usr/lib/jvm/java-8-openjdk-amd64",
-    },
-    installation_cleanup_commands = JAVA_CLEANUP_COMMANDS,
-    packages = [
-        "ca-certificates-java",
-        "openjdk-8-jdk-headless",
-        "openjdk-8-jre-headless",
-    ],
-    symlinks = {
-        "/usr/bin/java": "/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java",
-    },
-)
-
-language_tool_layer(
-    name = "java10-ltl",
-    base = "@ubuntu16_04//image",
-    tars = [
-        "//third_party/openjdk:open_jdk_tar",
-        "//third_party/openjdk:open_jdk_src_tar",
-    ],
-)
diff --git a/container/ubuntu16_04/layers/python/BUILD b/container/ubuntu16_04/layers/python/BUILD
deleted file mode 100644
index a015af9..0000000
--- a/container/ubuntu16_04/layers/python/BUILD
+++ /dev/null
@@ -1,63 +0,0 @@
-# Copyright 2017 The Bazel Authors. All rights reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-licenses(["notice"])  # Apache 2.0
-
-package(default_visibility = ["//visibility:public"])
-
-load(
-    "//rules/container:docker_toolchains.bzl",
-    "language_tool_layer",
-)
-
-PYTHON_CLEANUP_COMMANDS = (
-    "find /usr/lib/python* -name __pycache__ -exec rm -rf {} +"
-)
-
-language_tool_layer(
-    name = "python-rbe-ltl",
-    base = "@ubuntu16_04//image",
-    env = {
-        "PATH": "$PATH:/opt/python3.6/bin",
-    },
-    installation_cleanup_commands = PYTHON_CLEANUP_COMMANDS,
-    packages = [
-        "python-dev",
-        "python-setuptools",
-        "python3-dev",
-    ],
-    symlinks = {
-        "/usr/bin/python": "/usr/bin/python2.7",
-        "/usr/bin/python3": "/opt/python3.6/bin/python3.6",
-        "/opt/python3.6/bin/python3": "/opt/python3.6/bin/python3.6",
-        "/opt/python3.6/bin/pip3": "/opt/python3.6/bin/pip3.6",
-        "/opt/python3.6/bin/easy_install3": "/opt/python3.6/bin/easy_install-3.6",
-    },
-    tars = ["//third_party/python:ubuntu16_04_tar/python.tar"],
-)
-
-language_tool_layer(
-    name = "python-ltl",
-    base = "@ubuntu16_04//image",
-    installation_cleanup_commands = PYTHON_CLEANUP_COMMANDS,
-    packages = [
-        "python-dev",
-        "python-setuptools",
-        "python3-dev",
-        "software-properties-common",
-    ],
-    symlinks = {
-        "/usr/bin/python": "/usr/bin/python2.7",
-    },
-)
diff --git a/container/ubuntu16_04/ubuntu16_04.yaml b/container/ubuntu16_04/ubuntu16_04.yaml
deleted file mode 100644
index 2bbb04b..0000000
--- a/container/ubuntu16_04/ubuntu16_04.yaml
+++ /dev/null
@@ -1,7 +0,0 @@
-schemaVersion: "2.0.0"
-
-# Distro-specific tests
-fileContentTests:
-- name: 'os-version'
-  expectedContents: ['Ubuntu 16.04.* LTS']
-  path: '/etc/issue.net'
diff --git a/repositories/images.bzl b/repositories/images.bzl
index aa56ac5..e944f8c 100644
--- a/repositories/images.bzl
+++ b/repositories/images.bzl
@@ -75,44 +75,6 @@
     """
     excludes = native.existing_rules().keys()
 
-    if "debian8" not in excludes:
-        container_pull(
-            name = "debian8",
-            digest = toolchain_container_sha256s()["debian8"],
-            registry = _REGISTRY,
-            repository = "google/debian8",
-        )
-
-    if "ubuntu16_04" not in excludes:
-        container_pull(
-            name = "ubuntu16_04",
-            digest = toolchain_container_sha256s()["ubuntu16_04"],
-            registry = _REGISTRY,
-            repository = "google/ubuntu16_04",
-        )
-
-    if "debian8_python3" not in excludes:
-        # Get debian8-built python3 interpreter from marketplace.gcr.io/google/python:latest.
-        # Base image: gcr.io/google-appengine/debian8:latest
-        # Base image ref: https://github.com/GoogleCloudPlatform/python-runtime/blob/a8a3e8b2d3239c184843db818e34a06f12dc1190/build.sh#L155
-        container_pull(
-            name = "debian8_python3",
-            digest = toolchain_container_sha256s()["debian8_python3"],
-            registry = _REGISTRY,
-            repository = "google/python",
-        )
-
-    if "ubuntu16_04_python3" not in excludes:
-        # Get ubuntu16_04-built python3 interpreter from gcr.io/google-appengine/python:latest.
-        # Base image: gcr.io/gcp-runtimes/ubuntu_16_0_4:latest
-        # Base image ref: https://github.com/GoogleCloudPlatform/python-runtime/blob/a8a3e8b2d3239c184843db818e34a06f12dc1190/build.sh#L153
-        container_pull(
-            name = "ubuntu16_04_python3",
-            digest = toolchain_container_sha256s()["ubuntu16_04_python3"],
-            registry = "gcr.io",
-            repository = "google-appengine/python",
-        )
-
     if "debian8-clang" not in excludes:
         container_pull(
             name = "debian8-clang",
@@ -128,13 +90,3 @@
             registry = _REGISTRY,
             repository = "google/clang-ubuntu",
         )
-
-    # Note that we pull trusty base from "index.docker.io" registry and not from
-    # "marketplace.gcr.io" as we do for other base images.
-    if "trusty" not in excludes:
-        container_pull(
-            name = "trusty",
-            registry = "index.docker.io",
-            repository = "library/ubuntu",
-            tag = "14.04",
-        )
diff --git a/repositories/repositories.bzl b/repositories/repositories.bzl
index f88f873..a64bdfa 100644
--- a/repositories/repositories.bzl
+++ b/repositories/repositories.bzl
@@ -20,33 +20,6 @@
     "http_archive",
     "http_file",
 )
-load(
-    "//third_party/golang:revision.bzl",
-    "GOLANG_REVISION",
-    "GOLANG_SHA256",
-)
-load(
-    "//third_party/clang:revision.bzl",
-    "CLANG_REVISION",
-    "DEBIAN8_CLANG_SHA256",
-    "UBUNTU16_04_CLANG_SHA256",
-)
-load(
-    "//third_party/libcxx:revision.bzl",
-    "DEBIAN8_LIBCXX_SHA256",
-    "LIBCXX_REVISION",
-    "UBUNTU16_04_LIBCXX_SHA256",
-)
-load(
-    "//third_party/openjdk:revision.bzl",
-    "JDK_VERSION",
-    "OPENJDK_SHA256",
-    "OPENJDK_SRC_SHA256",
-)
-load(
-    "//container/common/bazel:version.bzl",
-    "BAZEL_VERSION_SHA256S",
-)
 
 def repositories():
     """Download dependencies of bazel-toolchains."""
@@ -104,106 +77,3 @@
             sha256 = "30af2ca7abfb65987cd61802ca6e352aadc6129dfb5bfc9c81f16617bc3a4416",
             urls = ["https://bazel.build/bazel-release.pub.gpg"],
         )
-
-    # Docker gpg key necessary to install Docker in the containers.
-    if "docker_gpg" not in excludes:
-        http_file(
-            name = "docker_gpg",
-            downloaded_file_path = "docker_gpg",
-            sha256 = "1500c1f56fa9e26b9b8f42452a553675796ade0807cdce11975eb98170b3a570",
-            urls = ["https://download.docker.com/linux/ubuntu/gpg"],
-        )
-
-    # GCloud gpg key necessary to install GCloud in the containers.
-    if "gcloud_gpg" not in excludes:
-        http_file(
-            name = "gcloud_gpg",
-            downloaded_file_path = "gcloud_gpg",
-            sha256 = "226ba1072f20e4ff97ee4f94e87bf45538a900a6d9b25399a7ac3dc5a2f3af87",
-            urls = ["https://packages.cloud.google.com/apt/doc/apt-key.gpg"],
-        )
-
-    # Launchpad OpenJDK key used when install java in trusty.
-    if "launchpad_openjdk_gpg" not in excludes:
-        http_file(
-            name = "launchpad_openjdk_gpg",
-            downloaded_file_path = "launchpad_openjdk_gpg",
-            sha256 = "54b6274820df34a936ccc6f5cb725a9b7bb46075db7faf0ef7e2d86452fa09fd",
-            urls = ["http://keyserver.ubuntu.com/pks/lookup?op=get&fingerprint=on&search=0xEB9B1D8886F44E2A"],
-        )
-
-    # =============================== Toolchains ===============================
-    # Golang
-    if "golang_release" not in excludes:
-        http_file(
-            name = "golang_release",
-            downloaded_file_path = "go" + GOLANG_REVISION + ".linux-amd64.tar.gz",
-            sha256 = GOLANG_SHA256,
-            urls = ["https://storage.googleapis.com/golang/go" + GOLANG_REVISION + ".linux-amd64.tar.gz"],
-        )
-
-    # Clang
-    if "debian8_clang_release" not in excludes:
-        http_file(
-            name = "debian8_clang_release",
-            downloaded_file_path = "clang_" + CLANG_REVISION + ".tar.gz",
-            sha256 = DEBIAN8_CLANG_SHA256,
-            urls = ["https://storage.googleapis.com/clang-builds-stable/clang-debian8/clang_" + CLANG_REVISION + ".tar.gz"],
-        )
-
-    if "ubuntu16_04_clang_release" not in excludes:
-        http_file(
-            name = "ubuntu16_04_clang_release",
-            downloaded_file_path = "clang_" + CLANG_REVISION + ".tar.gz",
-            sha256 = UBUNTU16_04_CLANG_SHA256,
-            urls = ["https://storage.googleapis.com/clang-builds-stable/clang-ubuntu16_04/clang_" + CLANG_REVISION + ".tar.gz"],
-        )
-
-    # libcxx
-    if "debian8_libcxx_release" not in excludes:
-        http_file(
-            name = "debian8_libcxx_release",
-            downloaded_file_path = "libcxx-msan_" + LIBCXX_REVISION + ".tar.gz",
-            sha256 = DEBIAN8_LIBCXX_SHA256,
-            urls = ["https://storage.googleapis.com/clang-builds-stable/clang-debian8/libcxx-msan_" + LIBCXX_REVISION + ".tar.gz"],
-        )
-
-    if "ubuntu16_04_libcxx_release" not in excludes:
-        http_file(
-            name = "ubuntu16_04_libcxx_release",
-            downloaded_file_path = "libcxx-msan_" + LIBCXX_REVISION + ".tar.gz",
-            sha256 = UBUNTU16_04_LIBCXX_SHA256,
-            urls = ["https://storage.googleapis.com/clang-builds-stable/clang-ubuntu16_04/libcxx-msan_" + LIBCXX_REVISION + ".tar.gz"],
-        )
-
-    # ============================ Bazel installers ============================
-    # Official Bazel installer.sh for all supported versions.
-    for bazel_version, bazel_sha256 in BAZEL_VERSION_SHA256S.items():
-        name = "bazel_%s_installer" % (bazel_version.replace(".", ""))
-        if name not in excludes:
-            http_file(
-                name = name,
-                downloaded_file_path = "bazel-" + bazel_version + "-installer-linux-x86_64.sh",
-                sha256 = bazel_sha256,
-                urls = [
-                    "https://releases.bazel.build/" + bazel_version + "/release/bazel-" + bazel_version + "-installer-linux-x86_64.sh",
-                    "https://github.com/bazelbuild/bazel/releases/download/" + bazel_version + "/bazel-" + bazel_version + "-installer-linux-x86_64.sh",
-                ],
-            )
-
-    # ============================ Azul OpenJDK packages ============================
-    if "azul_open_jdk" not in excludes:
-        http_file(
-            name = "azul_open_jdk",
-            downloaded_file_path = "zulu" + JDK_VERSION + "-linux_x64-allmodules.tar.gz",
-            sha256 = OPENJDK_SHA256,
-            urls = ["https://mirror.bazel.build/openjdk/azul-zulu" + JDK_VERSION + "/zulu" + JDK_VERSION + "-linux_x64-allmodules.tar.gz"],
-        )
-
-    if "azul_open_jdk_src" not in excludes:
-        http_file(
-            name = "azul_open_jdk_src",
-            downloaded_file_path = "zsrc" + JDK_VERSION + ".zip",
-            sha256 = OPENJDK_SRC_SHA256,
-            urls = ["https://mirror.bazel.build/openjdk/azul-zulu" + JDK_VERSION + "/zsrc" + JDK_VERSION + ".zip"],
-        )
diff --git a/rules/toolchain_containers.bzl b/rules/toolchain_containers.bzl
index c3c312f..c0cb2d3 100644
--- a/rules/toolchain_containers.bzl
+++ b/rules/toolchain_containers.bzl
@@ -9,16 +9,6 @@
         "ubuntu16_04": "sha256:df51b5c52d71c9867cd9c1c88c81f67a85ff87f1defe7e9b7ac5fb7d652596bf",
 
         ###########################################################
-        # Python3 images                                          #
-        ###########################################################
-        # gcr.io/cloud-marketplace/google/python:latest
-        # Pinned to ace668f0f01e5e562ad09c3f128488ec33fa9126313f16505a86ae77865d1696 as it is the
-        # latest *debian8* based python3 image. Newer ones are ubuntu16_04 based.
-        "debian8_python3": "sha256:ace668f0f01e5e562ad09c3f128488ec33fa9126313f16505a86ae77865d1696",
-        # gcr.io/google-appengine/python:latest
-        "ubuntu16_04_python3": "sha256:1bbed7b5511bb582a2a8adf6a111defce8d184987c20d6281ce2bacaf2d4f71d",
-
-        ###########################################################
         # Clang images                                            #
         ###########################################################
         # gcr.io/cloud-marketplace/google/clang-debian8
diff --git a/tests/config/BUILD b/tests/config/BUILD
index 57f5f5f..b6fce02 100644
--- a/tests/config/BUILD
+++ b/tests/config/BUILD
@@ -16,7 +16,6 @@
 
 package(default_visibility = ["//visibility:public"])
 
-load("//rules/container:docker_toolchains.bzl", "toolchain_container")
 load("//rules:docker_config.bzl", "docker_toolchain_autoconfig")
 load(
     "//rules:environments.bzl",
@@ -31,87 +30,25 @@
 
 bazel_next_release_rc = "3"
 
-# Use "rbe-test-" prefix for easy identification of images to remove after the tests.
-toolchain_container(
-    name = "rbe-test-jessie-with-pkgs",
-    additional_repos = debian8_clang_default_repos(),
-    base = "@official_jessie//image",
-    keys = debian8_clang_default_keys(),
-    packages = debian8_clang_default_packages() + [
-        "gcc",
-    ],
-)
-
-# Targets here are for testing purposes, we do not actually
-# maintain these configs anywhere
-docker_toolchain_autoconfig(
-    name = "debian-jessie-autoconfig",
-    base = ":rbe-test-jessie-with-pkgs.tar",
-    env = gcc_env(),
-    tags = ["manual"],
-    test = True,
-)
-
-docker_toolchain_autoconfig(
-    name = "debian-jessie-bazel-head-autoconfig",
-    base = ":rbe-test-jessie-with-pkgs.tar",
-    env = gcc_env(),
-    tags = ["manual"],
-    test = True,
-    use_bazel_head = True,
-)
-
-# Note that we only support Bazel rc versions at 0.10.0 or above.
-docker_toolchain_autoconfig(
-    name = "debian-jessie-custom-bazel-rc-version-autoconfig",
-    base = ":rbe-test-jessie-with-pkgs.tar",
-    bazel_rc_version = bazel_next_release_rc,
-    bazel_version = bazel_next_release,
-    env = gcc_env(),
-    tags = ["manual"],
-    test = True,
-)
-
-# Use "rbe-test-" prefix for easy identification of images to remove after the tests.
-toolchain_container(
-    name = "rbe-test-xenial-with-pkgs",
-    additional_repos = [
-        "deb [arch=amd64] http://storage.googleapis.com/bazel-apt stable jdk1.8",
-    ],
-    base = "@official_xenial//image",
-    keys = [
-        "@bazel_gpg//file",
-    ],
-    packages = [
-        "bazel",
-        "curl",
-        "gcc",
-        "git",
-        "openjdk-8-jdk",
-        "python-dev",
-        "unzip",
-        "wget",
-        "zip",
-    ],
-)
-
 docker_toolchain_autoconfig(
     name = "ubuntu-xenial-autoconfig",
-    base = ":rbe-test-xenial-with-pkgs.tar",
+    base = "//tests/container:rbe-test-xenial-with-pkgs.tar",
     env = gcc_env(),
+    incompatible_changes_off = True,
     tags = ["manual"],
     test = True,
 )
 
 docker_toolchain_autoconfig(
     name = "external-repo-autoconfig",
-    base = ":rbe-test-xenial-with-pkgs.tar",
+    base = "//tests/container:rbe-test-xenial-with-pkgs.tar",
     config_repos = [
         "local_config_sh",
         "local_config_cc",
     ],
     env = gcc_env(),
     git_repo = "https://github.com/bazelbuild/bazel",
+    incompatible_changes_off = True,
     tags = ["manual"],
     test = True,
 )
@@ -122,7 +59,7 @@
 # bazel test //tests/config:this-project-repo-autoconfig_test --define mount_project=$(realpath .)
 docker_toolchain_autoconfig(
     name = "this-project-repo-autoconfig",
-    base = ":rbe-test-xenial-with-pkgs.tar",
+    base = "//tests/container:rbe-test-xenial-with-pkgs.tar",
     config_repos = [
         "local_config_sh",
         "local_config_cc",
@@ -136,7 +73,7 @@
 
 docker_toolchain_autoconfig(
     name = "ubuntu-xenial-bazel-head-autoconfig",
-    base = ":rbe-test-xenial-with-pkgs.tar",
+    base = "//tests/container:rbe-test-xenial-with-pkgs.tar",
     env = gcc_env(),
     tags = ["manual"],
     test = True,
@@ -146,7 +83,7 @@
 # Note that we only support Bazel rc versions at 0.10.0 or above.
 docker_toolchain_autoconfig(
     name = "ubuntu-xenial-custom-bazel-rc-version-autoconfig",
-    base = ":rbe-test-xenial-with-pkgs.tar",
+    base = "//tests/container:rbe-test-xenial-with-pkgs.tar",
     bazel_rc_version = bazel_next_release_rc,
     bazel_version = bazel_next_release,
     env = gcc_env(),
diff --git a/tests/container/BUILD b/tests/container/BUILD
index 006fbee..3a26384 100644
--- a/tests/container/BUILD
+++ b/tests/container/BUILD
@@ -16,21 +16,24 @@
 
 package(default_visibility = ["//visibility:public"])
 
-load("@base_images_docker//package_managers:download_pkgs.bzl", "download_pkgs")
-load("@base_images_docker//package_managers:install_pkgs.bzl", "install_pkgs")
-load("@base_images_docker//package_managers:apt_key.bzl", "add_apt_key")
 load("//rules/container:docker_toolchains.bzl", "toolchain_container")
 
 # This file contains some sample targets that excersise the container rules
 # We just keep these as examples that should not break (unless indicated)
 # with changes.
 
-# The two targets below test that toolchain_container can sequentially
-# install packages
+# Use "rbe-test-" prefix for easy identification of images to remove after the tests.
 toolchain_container(
-    name = "rbe-test-xenial-base",
+    name = "rbe-test-xenial-with-pkgs",
+    additional_repos = [
+        "deb [arch=amd64] http://storage.googleapis.com/bazel-apt stable jdk1.8",
+    ],
     base = "@official_xenial//image",
+    keys = [
+        "@bazel_gpg//file",
+    ],
     packages = [
+        "bazel",
         "curl",
         "gcc",
         "git",
@@ -41,80 +44,3 @@
         "zip",
     ],
 )
-
-toolchain_container(
-    name = "rbe-test-xenial-with-pkgs",
-    additional_repos = [
-        "deb [arch=amd64] http://storage.googleapis.com/bazel-apt stable jdk1.8",
-    ],
-    base = ":rbe-test-xenial-base.tar",
-    keys = [
-        "@bazel_gpg//file",
-    ],
-    packages = [
-        "bazel",
-    ],
-)
-
-# The target below (marked manual, should not be run by CI) shows a case of a
-# package that cannot be installed because downloading it requires an additional
-# package (apt-transport-https) not present in the base.
-toolchain_container(
-    name = "docker-noprereq-fails",
-    additional_repos = [
-        "deb [arch=amd64] https://download.docker.com/linux/debian jessie stable",
-    ],
-    base = "@debian8//image",
-    keys = [
-        "@debian_docker_gpg//file",
-    ],
-    packages = [
-        "apt-transport-https",
-        "docker-ce",
-    ],
-    tags = ["manual"],
-)
-
-# The targets below exemplify how to install a package whose download
-# has pre-requisites in a way that the final container in which the
-# package is installed does not need the pre-requisites
-download_pkgs(
-    name = "docker-prereq-packages",
-    image_tar = "@debian8//image",
-    packages = [
-        "apt-transport-https",
-    ],
-)
-
-install_pkgs(
-    name = "docker-prereq-test",
-    image_tar = "@debian8//image",
-    installables_tar = ":docker-prereq-packages.tar",
-    output_image_name = "docker-prereq-test:latest",
-)
-
-add_apt_key(
-    name = "test-docker-with-keys",
-    image = ":docker-prereq-test.tar",
-    keys = [
-        "@debian_docker_gpg//file",
-    ],
-)
-
-download_pkgs(
-    name = "test-docker-packages",
-    additional_repos = [
-        "deb [arch=amd64] https://download.docker.com/linux/debian jessie stable",
-    ],
-    image_tar = ":test-docker-with-keys.tar",
-    packages = [
-        "docker-ce",
-    ],
-)
-
-install_pkgs(
-    name = "docker",
-    image_tar = "@debian8//image",
-    installables_tar = ":test-docker-packages.tar",
-    output_image_name = "docker:latest",
-)
diff --git a/third_party/clang/BUILD b/third_party/clang/BUILD
deleted file mode 100644
index 2f186d6..0000000
--- a/third_party/clang/BUILD
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 2017 The Bazel Authors. All rights reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# This BUILD file is used for installing clang.tar.gz into /usr/local
-# of debian8-clang-fully-loaded container. The clang.tar.gz file was
-# downloaded by gsutil_cp rule in the WORKSPACE file, and contains
-# the same compiled clang binary as in
-# https://console.cloud.google.com/launcher/details/google/clang-debian8
-
-licenses(["notice"])  # Apache 2.0
-
-package(default_visibility = ["//visibility:public"])
-
-load("@bazel_tools//tools/build_defs/pkg:pkg.bzl", "pkg_tar")
-
-pkg_tar(
-    name = "debian8_tar",
-    package_dir = "/usr/local/",
-    strip_prefix = ".",
-    tags = ["manual"],
-    deps = [
-        "@debian8_clang_release//file",
-    ],
-)
-
-pkg_tar(
-    name = "ubuntu16_04_tar",
-    package_dir = "/usr/local/",
-    strip_prefix = ".",
-    tags = ["manual"],
-    deps = [
-        "@ubuntu16_04_clang_release//file",
-    ],
-)
diff --git a/third_party/clang/revision.bzl b/third_party/clang/revision.bzl
index 9e6d10f..35bb87e 100644
--- a/third_party/clang/revision.bzl
+++ b/third_party/clang/revision.bzl
@@ -1,5 +1 @@
 CLANG_REVISION = "r346485"
-
-DEBIAN8_CLANG_SHA256 = "cb23df8c63c40628bdb53de8dc3fdaaefd1ee5cdf36857f945a2ea0ec48def92"
-
-UBUNTU16_04_CLANG_SHA256 = "46953316d672669a22a5bca7ccec39b242687bf6bcac3db1d042731de2260844"
diff --git a/third_party/golang/BUILD b/third_party/golang/BUILD
deleted file mode 100644
index b9b956f..0000000
--- a/third_party/golang/BUILD
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 2017 The Bazel Authors. All rights reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-licenses(["notice"])  # Apache 2.0
-
-package(default_visibility = ["//visibility:public"])
-
-load("@bazel_tools//tools/build_defs/pkg:pkg.bzl", "pkg_tar")
-
-pkg_tar(
-    name = "tar",
-    package_dir = "/usr/local/",
-    strip_prefix = ".",
-    tags = ["manual"],
-    deps = ["@golang_release//file"],
-)
diff --git a/third_party/golang/revision.bzl b/third_party/golang/revision.bzl
deleted file mode 100644
index e18e823..0000000
--- a/third_party/golang/revision.bzl
+++ /dev/null
@@ -1,2 +0,0 @@
-GOLANG_REVISION = "1.11.2"
-GOLANG_SHA256 = "1dfe664fa3d8ad714bbd15a36627992effd150ddabd7523931f077b3926d736d"
diff --git a/third_party/libcxx/BUILD b/third_party/libcxx/BUILD
deleted file mode 100644
index 7b91a1b..0000000
--- a/third_party/libcxx/BUILD
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 2017 The Bazel Authors. All rights reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# This BUILD file is used for installing clang.tar.gz into /usr/local
-# of debian8-clang-fully-loaded container. The clang.tar.gz file was
-# downloaded by gsutil_cp rule in the WORKSPACE file, and contains
-# the same compiled clang binary as in
-# https://console.cloud.google.com/launcher/details/google/clang-debian8
-
-licenses(["notice"])  # Apache 2.0
-
-package(default_visibility = ["//visibility:public"])
-
-load("@bazel_tools//tools/build_defs/pkg:pkg.bzl", "pkg_tar")
-
-pkg_tar(
-    name = "debian8_tar",
-    package_dir = "/usr/local/",
-    strip_prefix = ".",
-    tags = ["manual"],
-    deps = [
-        "@debian8_libcxx_release//file",
-    ],
-)
-
-pkg_tar(
-    name = "ubuntu16_04_tar",
-    package_dir = "/usr/local/",
-    strip_prefix = ".",
-    tags = ["manual"],
-    deps = [
-        "@ubuntu16_04_libcxx_release//file",
-    ],
-)
diff --git a/third_party/libcxx/revision.bzl b/third_party/libcxx/revision.bzl
deleted file mode 100644
index 796901d..0000000
--- a/third_party/libcxx/revision.bzl
+++ /dev/null
@@ -1,5 +0,0 @@
-LIBCXX_REVISION = "r346485"
-
-DEBIAN8_LIBCXX_SHA256 = "ec93d2c85fc5a3bcd9d6d86461e7fb9c51d9296dde3e3e29b53ba50e7f758a66"
-
-UBUNTU16_04_LIBCXX_SHA256 = "9f494d7aa9ebb7416e585fd0172b3c0af2b56e72346fb120611f3c7497cddd58"
diff --git a/third_party/openjdk/BUILD b/third_party/openjdk/BUILD
deleted file mode 100644
index 5b5c0be..0000000
--- a/third_party/openjdk/BUILD
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 2017 The Bazel Authors. All rights reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# This BUILD file is used for installing clang.tar.gz into /usr/local
-# of debian8-clang-fully-loaded container. The clang.tar.gz file was
-# downloaded by gsutil_cp rule in the WORKSPACE file, and contains
-# the same compiled clang binary as in
-# https://console.cloud.google.com/launcher/details/google/clang-debian8
-
-licenses(["notice"])  # Apache 2.0
-
-package(default_visibility = ["//visibility:public"])
-
-load("@bazel_tools//tools/build_defs/pkg:pkg.bzl", "pkg_tar")
-
-pkg_tar(
-    name = "open_jdk_tar",
-    package_dir = "/usr/lib/jvm/",
-    strip_prefix = ".",
-    tags = ["manual"],
-    deps = [
-        "@azul_open_jdk//file",
-    ],
-)
-
-pkg_tar(
-    name = "open_jdk_src_tar",
-    srcs = [
-        "@azul_open_jdk_src//file",
-    ],
-    package_dir = "/usr/src/jdk/",
-    tags = ["manual"],
-)
diff --git a/third_party/openjdk/revision.bzl b/third_party/openjdk/revision.bzl
deleted file mode 100644
index bdefd5b..0000000
--- a/third_party/openjdk/revision.bzl
+++ /dev/null
@@ -1,10 +0,0 @@
-JDK_VERSION = "10.2%2B3-jdk10.0.1"
-
-# JDK version 10 includes a '+' sign, so we need to keep track of the
-# version with both encodings for the java.yaml test.
-# TODO: remove for future versions of Java that do not need it
-JDK_VERSION_DECODED = "10.2+3-jdk10.0.1"
-
-OPENJDK_SHA256 = "57fad3602e74c79587901d6966d3b54ef32cb811829a2552163185d5064fe9b5"
-
-OPENJDK_SRC_SHA256 = "0ab6c7a1a8fc32992bcec4d7c77a587c02b8816f67bcb7d16154a60de2dce8a4"
diff --git a/third_party/python/BUILD b/third_party/python/BUILD
deleted file mode 100644
index 9ab8efb..0000000
--- a/third_party/python/BUILD
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 2017 The Bazel Authors. All rights reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# This BUILD file is used for installing clang.tar.gz into /usr/local
-# of debian8-clang-fully-loaded container. The clang.tar.gz file was
-# downloaded by gsutil_cp rule in the WORKSPACE file, and contains
-# the same compiled clang binary as in
-# https://console.cloud.google.com/launcher/details/google/clang-debian8
-
-licenses(["notice"])  # Apache 2.0
-
-package(default_visibility = ["//visibility:public"])
-
-load("@base_images_docker//util:run.bzl", "container_run_and_extract")
-
-container_run_and_extract(
-    name = "debian8_tar",
-    commands = [
-        "tar cvf /python.tar --mtime='1970-01-01' /opt/python3.6",
-    ],
-    extract_file = "/python.tar",
-    image = "@debian8_python3//image",
-)
-
-container_run_and_extract(
-    name = "ubuntu16_04_tar",
-    commands = [
-        "tar cvf /python.tar --mtime='1970-01-01' /opt/python3.6",
-    ],
-    extract_file = "/python.tar",
-    image = "@ubuntu16_04_python3//image",
-)