Automated g4 rollback of changelist 449982178.

*** Reason for rollback ***

We've figured out how to make this work in Envoy.

*** Original change description ***

Automated g4 rollback of changelist 449624054.

*** Reason for rollback ***

This CL breaks Envoy:

ERROR: /usr/local/google/home/rch/.cache/bazel/_bazel_rch/1bcaf4376ad2a122efbb41b7f1024923/external/com_github_google_quiche/BUILD.bazel:239:22: Label '@com_github_google_quiche//:quiche/http2/adapter/mock_http2_visitor.h' is invalid because '@com_github_google_quiche//quiche' is a subpackage; perhaps you meant to put the colon here: '@com_github_google_quiche//quiche:http2/adapter/mock_http2_visi...

***

PiperOrigin-RevId: 450749239
diff --git a/build/BUILD.bazel b/build/BUILD.bazel
new file mode 100644
index 0000000..0ba41e4
--- /dev/null
+++ b/build/BUILD.bazel
@@ -0,0 +1,7 @@
+# Copyright 2022 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+licenses(["notice"])
+
+exports_files(["source_list.json"])
diff --git a/build/test.bzl b/build/test.bzl
new file mode 100644
index 0000000..9beb0ca
--- /dev/null
+++ b/build/test.bzl
@@ -0,0 +1,26 @@
+"""Tools for building QUICHE tests."""
+
+load("@bazel_skylib//lib:paths.bzl", "paths")
+
+def test_suite_from_source_list(name, srcs, **kwargs):
+    """
+    Generates a test target for every individual test source file specified.
+
+    Args:
+        name: the name of the resulting test_suite target.
+        srcs: the list of source files from which the test targets are generated.
+        **kwargs: other arguments that are passed to the cc_test rule directly.s
+    """
+
+    tests = []
+    for sourcefile in srcs:
+        if not sourcefile.endswith("_test.cc"):
+            fail("All source files passed to test_suite_from_source_list() must end with _test.cc")
+        test_name, _ = paths.split_extension(paths.basename(sourcefile))
+        native.cc_test(
+            name = test_name,
+            srcs = [sourcefile],
+            **kwargs
+        )
+        tests.append(test_name)
+    native.test_suite(name = name, tests = tests)
diff --git a/build/zlib.BUILD b/build/zlib.BUILD
new file mode 100644
index 0000000..61a5507
--- /dev/null
+++ b/build/zlib.BUILD
@@ -0,0 +1,25 @@
+# Copyright 2022 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+licenses(["notice"])
+
+cc_library(
+    name = "zlib",
+    srcs = glob(
+        include = [
+            "*.c",
+            "*.h",
+        ],
+        exclude = [
+            "zlib.h",
+            "zconf.h",
+        ],
+    ),
+    hdrs = [
+        "zconf.h",
+        "zlib.h",
+    ],
+    copts = ["-Wno-implicit-function-declaration"],
+    visibility = ["//visibility:public"],
+)