Revert "Remove unused bootstrap.json and references."

Seems like the "unused" bootstrap.json file is actually still used.

This reverts commit 47c594bc8253e2bc298fad562577cf55ab485b2f.
diff --git a/jenkins/jobs/BUILD b/jenkins/jobs/BUILD
index 0f4150d..68d2fc7 100644
--- a/jenkins/jobs/BUILD
+++ b/jenkins/jobs/BUILD
@@ -12,6 +12,9 @@
 [jenkins_job(
     name = "bazel/" + job,
     config = "global/%s.xml.tpl" % job,
+    deps = [
+        ":configs/bootstrap.json",
+    ],
 ) for job in [
     "nightly",
     "presubmit",
diff --git a/jenkins/jobs/configs/bootstrap.json b/jenkins/jobs/configs/bootstrap.json
new file mode 100644
index 0000000..80b8fa1
--- /dev/null
+++ b/jenkins/jobs/configs/bootstrap.json
@@ -0,0 +1,64 @@
+// DO NOT MODIFY!
+// This file is used only for older tree of Bazel, new tree includes it.
+// Please modify https://github.com/bazelbuild/bazel/blob/master/scripts/ci/bootstrap.json
+[
+    {
+        "node": "linux-x86_64",
+        "parameters": {
+            "archive": {
+                "bazel-bin/src/bazel": "bazel",
+                "bazel-bin/scripts/packages/with-jdk/install.sh": "bazel-%{release_name}-installer-linux-x86_64.sh",
+                "bazel-bin/scripts/packages/without-jdk/install.sh": "bazel-%{release_name}-without-jdk-installer-linux-x86_64.sh",
+                "bazel-bin/scripts/packages/debian/bazel-debian.deb": "bazel_%{release_name}-linux-x86_64.deb",
+                "bazel-genfiles/bazel-distfile.zip": "bazel-%{release_name}-dist.zip"
+            },
+            "stash": {
+                "bazel-genfiles/scripts/packages/debian/bazel.dsc": "bazel.dsc",
+                "bazel-genfiles/scripts/packages/debian/bazel.tar.gz": "bazel.tar.gz",
+                "bazel-genfiles/site/jekyll-tree.tar": "docs.bazel.build.tar",
+            },
+            "targets": [
+                "//scripts/packages",
+                "//site:jekyll-tree",
+            ]
+        }
+    },
+    { "node": "ubuntu_16.04-x86_64" },
+    {
+        "node": "darwin-x86_64",
+        "parameters": {
+            "archive": {
+                "bazel-bin/src/bazel": "bazel",
+                "bazel-bin/scripts/packages/with-jdk/install.sh": "bazel-%{release_name}-installer-darwin-x86_64.sh",
+                "bazel-bin/scripts/packages/without-jdk/install.sh": "bazel-%{release_name}-without-jdk-installer-darwin-x86_64.sh"
+            },
+            "targets": [
+                "//scripts/packages"
+            ],
+            // TODO(dmarting): Do we still needs that? this could be done as an external repo
+            // instead.
+            "opts": ["--define IPHONE_SDK=1"]
+        }
+    },
+    {
+        "node": "windows-x86_64",
+        "parameters": {
+            "archive": {
+                "bazel-bin/src/bazel": ["bazel.exe", "bazel-%{release_name}-without-jdk-windows-x86_64.exe"],
+                "bazel-bin/src/bazel_with_jdk": "bazel-%{release_name}-windows-x86_64.exe",
+                "bazel-genfiles/scripts/packages/bazel.zip": "bazel-%{release_name}-without-jdk-windows-x86_64.zip",
+                "bazel-genfiles/scripts/packages/bazel_with_jdk.zip": "bazel-%{release_name}-windows-x86_64.zip"
+            },
+            "targets": [
+                "//scripts/packages"
+            ],
+            "opts": [
+                "--copt=-w",
+                "--host_copt=-w",
+                // TODO(pcloudy):
+                // Remove it after wrapper-less CROSSTOOL becomes default
+                "--action_env=NO_MSVC_WRAPPER=1"
+            ]
+        }
+    }
+]
diff --git a/jenkins/jobs/global/nightly.xml.tpl b/jenkins/jobs/global/nightly.xml.tpl
index a7bcae7..1ec4c55 100644
--- a/jenkins/jobs/global/nightly.xml.tpl
+++ b/jenkins/jobs/global/nightly.xml.tpl
@@ -40,7 +40,8 @@
       repository: "https://bazel.googlesource.com/bazel",
       branch: "master",
       extra_bazelrc: params.EXTRA_BAZELRC,
-      refspec: "+refs/heads/*:refs/remotes/origin/*")
+      refspec: "+refs/heads/*:refs/remotes/origin/*",
+      configuration: '''{{ raw_imports['//jenkins/jobs:configs/bootstrap.json'].replace('\\', '\\\\').replace("'", "\\'") }}''')
   </script>
     <sandbox>true</sandbox>
   </definition>
diff --git a/jenkins/jobs/global/presubmit.xml.tpl b/jenkins/jobs/global/presubmit.xml.tpl
index b81d4eb..6e26601 100644
--- a/jenkins/jobs/global/presubmit.xml.tpl
+++ b/jenkins/jobs/global/presubmit.xml.tpl
@@ -61,7 +61,8 @@
       repository: params.REPOSITORY,
       branch: params.BRANCH,
       extra_bazelrc: params.EXTRA_BAZELRC,
-      refspec: params.REFSPEC)
+      refspec: params.REFSPEC,
+      configuration: '''{{ raw_imports['//jenkins/jobs:configs/bootstrap.json'].replace('\\', '\\\\').replace("'", "\\'") }}''')
   delegate.reportUrl = "${currentBuild.getAbsoluteUrl()}Downstream_projects/"
 }</script>
     <sandbox>true</sandbox>
diff --git a/jenkins/jobs/global/release.xml.tpl b/jenkins/jobs/global/release.xml.tpl
index 0109d16..62b766f 100644
--- a/jenkins/jobs/global/release.xml.tpl
+++ b/jenkins/jobs/global/release.xml.tpl
@@ -40,7 +40,8 @@
       repository: delegate.url,
       branch: delegate.branch,
       extra_bazelrc: params.EXTRA_BAZELRC,
-      refspec: "+refs/heads/*:refs/remotes/origin/* +refs/notes/*:refs/notes/*")
+      refspec: "+refs/heads/*:refs/remotes/origin/* +refs/notes/*:refs/notes/*",
+      configuration: '''{{ raw_imports['//jenkins/jobs:configs/bootstrap.json'].replace('\\', '\\\\').replace("'", "\\'") }}''')
 }
   </script>
     <sandbox>true</sandbox>
diff --git a/jenkins/lib/vars/bootstrapBazelAll.groovy b/jenkins/lib/vars/bootstrapBazelAll.groovy
index b6d4151..c975cee 100644
--- a/jenkins/lib/vars/bootstrapBazelAll.groovy
+++ b/jenkins/lib/vars/bootstrapBazelAll.groovy
@@ -15,13 +15,15 @@
   def repository = config.get("repository", "https://bazel.googlesource.com/bazel")
   def branch = config.get("branch", "master")
   def refspec = config.get("refspec", "+refs/heads/*:refs/remotes/origin/*")
+  def configuration = config.get("configuration", "")
 
   def jobs = [:]
   // Convert to an array to avoid serialization issue with Jenkins
   def entrySet = readConfiguration(files: ["scripts/ci/bootstrap.json"],
                                    repository: config.repository,
                                    branch: config.branch,
-                                   refspec: config.refspec
+                                   refspec: config.refspec,
+                                   default_configuration: config.get("configuration", null)
                                   ).entrySet().toArray()
   def values = []
   def keys = []
diff --git a/jenkins/lib/vars/globalBazelTest.groovy b/jenkins/lib/vars/globalBazelTest.groovy
index da0cb10..357f370 100644
--- a/jenkins/lib/vars/globalBazelTest.groovy
+++ b/jenkins/lib/vars/globalBazelTest.groovy
@@ -35,6 +35,7 @@
                       configuration: json_config)
   }
 
+
   // Deployment steps
   def is_master = branch.matches('^(.*/)?master$')
   def is_rc = branch.matches('^(refs/heads/)?release-.*$')