Create a CoverageOutputGenerator zip archive and upload it to GCS.

Closes #7967.

PiperOrigin-RevId: 242444365
diff --git a/tools/test/CoverageOutputGenerator/java/com/google/devtools/coverageoutputgenerator/BUILD b/tools/test/CoverageOutputGenerator/java/com/google/devtools/coverageoutputgenerator/BUILD
index 2e93c25..8e5e10c 100644
--- a/tools/test/CoverageOutputGenerator/java/com/google/devtools/coverageoutputgenerator/BUILD
+++ b/tools/test/CoverageOutputGenerator/java/com/google/devtools/coverageoutputgenerator/BUILD
@@ -12,6 +12,36 @@
     runtime_deps = [":lcov_merger_lib"],
 )
 
+genrule(
+    name = "rename_build_tools",
+    srcs = ["BUILD.tools"],
+    outs = ["coverage/BUILD"],
+    cmd = "cp $< $@",
+)
+
+genrule(
+    name = "create_empty_workspace",
+    outs = ["WORKSPACE"],
+    cmd = "touch $@",
+)
+
+genrule(
+    name = "coverage_output_generator_zip",
+    srcs = [
+        ":all_lcov_merger_tools_deploy.jar",
+        "coverage/BUILD",
+        "WORKSPACE",
+    ],
+    outs = ["coverage_output_generator.zip"],
+    cmd = "zip -q -j $@ $(SRCS)",
+)
+
+sh_binary(
+    name = "build_and_upload",
+    srcs = ["build_and_upload.sh"],
+    data = [":coverage_output_generator.zip"],
+)
+
 java_library(
     name = "lcov_merger_lib",
     srcs = glob(["*.java"]),
diff --git a/tools/test/CoverageOutputGenerator/java/com/google/devtools/coverageoutputgenerator/build_and_upload.sh b/tools/test/CoverageOutputGenerator/java/com/google/devtools/coverageoutputgenerator/build_and_upload.sh
new file mode 100755
index 0000000..bb54e6c
--- /dev/null
+++ b/tools/test/CoverageOutputGenerator/java/com/google/devtools/coverageoutputgenerator/build_and_upload.sh
@@ -0,0 +1,18 @@
+#!/bin/bash
+#
+# Copyright 2019 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.
+
+gsutil cp "tools/test/CoverageOutputGenerator/java/com/google/devtools/coverageoutputgenerator/coverage_output_generator.zip" \
+  gs://bazel-mirror/bazel_coverage_output_generator/coverage_output_generator-$(git rev-parse HEAD)-$(date +%s).zip