text: # This should match the schema defined in external_deps.bzl.
  REPOSITORY_LOCATIONS_SPEC = dict(
      bazel_compdb = dict(
          project_name = "bazel-compilation-database",
          project_desc = "Clang JSON compilation database support for Bazel",
          project_url = "https://github.com/grailbio/bazel-compilation-database",
          version = "0.4.5",
          sha256 = "bcecfd622c4ef272fd4ba42726a52e140b961c4eac23025f18b346c968a8cfb4",
          strip_prefix = "bazel-compilation-database-{version}",
          urls = ["https://github.com/grailbio/bazel-compilation-database/archive/{version}.tar.gz"],
          release_date = "2020-08-01",
          use_category = ["build"],
      ),
      bazel_gazelle = dict(
          project_name = "Gazelle",
          project_desc = "Bazel BUILD file generator for Go projects",
          project_url = "https://github.com/bazelbuild/bazel-gazelle",
          version = "0.21.1",
          sha256 = "cdb02a887a7187ea4d5a27452311a75ed8637379a1287d8eeb952138ea485f7d",
          urls = ["https://github.com/bazelbuild/bazel-gazelle/releases/download/v{version}/bazel-gazelle-v{version}.tar.gz"],
          release_date = "2020-05-28",
          use_category = ["build"],
      ),
      bazel_toolchains = dict(
          project_name = "bazel-toolchains",
          project_desc = "Bazel toolchain configs for RBE",
          project_url = "https://github.com/bazelbuild/bazel-toolchains",
          version = "3.6.0",
          sha256 = "4fb3ceea08101ec41208e3df9e56ec72b69f3d11c56629d6477c0ff88d711cf7",
          strip_prefix = "bazel-toolchains-{version}",
          urls = [
              "https://github.com/bazelbuild/bazel-toolchains/releases/download/{version}/bazel-toolchains-{version}.tar.gz",
              "https://mirror.bazel.build/github.com/bazelbuild/bazel-toolchains/archive/{version}.tar.gz",
          ],
          release_date = "2020-10-08",
          use_category = ["build"],
      ),
      build_bazel_rules_apple = dict(
          project_name = "Apple Rules for Bazel",
          project_desc = "Bazel rules for Apple platforms",
          project_url = "https://github.com/bazelbuild/rules_apple",
          version = "0.19.0",
          sha256 = "7a7afdd4869bb201c9352eed2daf37294d42b093579b70423490c1b4d4f6ce42",
          urls = ["https://github.com/bazelbuild/rules_apple/releases/download/{version}/rules_apple.{version}.tar.gz"],
          release_date = "2019-10-10",
          use_category = ["build"],
      ),
      envoy_build_tools = dict(
          project_name = "envoy-build-tools",
          project_desc = "Common build tools shared by the Envoy/UDPA ecosystem",
          project_url = "https://github.com/envoyproxy/envoy-build-tools",
          version = "b1a8b205f13ce52143bcb7283c6dd0a53bcd1c6c",
          sha256 = "afd67e399fa27fb703fb74dc39ed1f121dfcebc1556bbd1053fa8f22d8b24230",
          strip_prefix = "envoy-build-tools-{version}",
          urls = ["https://github.com/envoyproxy/envoy-build-tools/archive/{version}.tar.gz"],
          release_date = "2020-10-16",
          use_category = ["build"],
      ),
      boringssl = dict(
          project_name = "BoringSSL",
          project_desc = "Minimal OpenSSL fork",
          project_url = "https://github.com/google/boringssl",
          version = "2192bbc878822cf6ab5977d4257a1339453d9d39",
          sha256 = "bb55b0ed2f0cb548b5dce6a6b8307ce37f7f748eb9f1be6bfe2d266ff2b4d52b",
          strip_prefix = "boringssl-{version}",
          # To update BoringSSL, which tracks Chromium releases:
          # 1. Open https://omahaproxy.appspot.com/ and note <current_version> of linux/stable release.
          # 2. Open https://chromium.googlesource.com/chromium/src/+/refs/tags/<current_version>/DEPS and note <boringssl_revision>.
          # 3. Find a commit in BoringSSL's "master-with-bazel" branch that merges <boringssl_revision>.
          #
          # chromium-86.0.4240.80
          urls = ["https://github.com/google/boringssl/archive/{version}.tar.gz"],
          use_category = ["controlplane", "dataplane_core"],
          release_date = "2020-07-30",
          cpe = "cpe:2.3:a:google:boringssl:*",
      ),
      boringssl_fips = dict(
          project_name = "BoringSSL (FIPS)",
          project_desc = "FIPS compliant BoringSSL",
          project_url = "https://boringssl.googlesource.com/boringssl/+/master/crypto/fipsmodule/FIPS.md",
          version = "fips-20190808",
          sha256 = "3b5fdf23274d4179c2077b5e8fa625d9debd7a390aac1d165b7e47234f648bb8",
          urls = ["https://commondatastorage.googleapis.com/chromium-boringssl-fips/boringssl-ae223d6138807a13006342edfeef32e813246b39.tar.xz"],
          use_category = ["controlplane", "dataplane_core"],
          release_date = "2019-08-08",
          cpe = "cpe:2.3:a:google:boringssl:*",
      ),
      com_google_absl = dict(
          project_name = "Abseil",
          project_desc = "Open source collection of C++ libraries drawn from the most fundamental pieces of Google’s internal codebase",
          project_url = "https://abseil.io/",
          version = "8f1c34a77a2ba04512b7f9cbc6013d405e6a0b31",
          sha256 = "635367c5cac4bbab95d0485ba9e68fa422546b06ce050190c99be7e23aba3ce3",
          strip_prefix = "abseil-cpp-{version}",
          urls = ["https://github.com/abseil/abseil-cpp/archive/{version}.tar.gz"],
          use_category = ["dataplane_core", "controlplane"],
          release_date = "2020-10-17",
          cpe = "N/A",
      ),
      com_github_c_ares_c_ares = dict(
          project_name = "c-ares",
          project_desc = "C library for asynchronous DNS requests",
          project_url = "https://c-ares.haxx.se/",
          version = "c15f403875ababb1149215d49683d720b3d035c7",
          sha256 = "0ad4f9748752909b00a0ca8d2b6a075e0a7a06ee922d9dcf9625d2562d7c894a",
          strip_prefix = "c-ares-{version}",
          urls = ["https://github.com/c-ares/c-ares/archive/{version}.tar.gz"],
          use_category = ["dataplane_core", "controlplane"],
          release_date = "2020-10-21",
          cpe = "cpe:2.3:a:c-ares_project:c-ares:*",
      ),
      com_github_circonus_labs_libcircllhist = dict(
          project_name = "libcircllhist",
          project_desc = "An implementation of Circonus log-linear histograms",
          project_url = "https://github.com/circonus-labs/libcircllhist",
          version = "63a16dd6f2fc7bc841bb17ff92be8318df60e2e1",
          sha256 = "8165aa25e529d7d4b9ae849d3bf30371255a99d6db0421516abcff23214cdc2c",
          strip_prefix = "libcircllhist-{version}",
          urls = ["https://github.com/circonus-labs/libcircllhist/archive/{version}.tar.gz"],
          use_category = ["controlplane", "observability_core", "dataplane_core"],
          release_date = "2019-02-11",
          cpe = "N/A",
      ),
      com_github_cyan4973_xxhash = dict(
          project_name = "xxHash",
          project_desc = "Extremely fast hash algorithm",
          project_url = "https://github.com/Cyan4973/xxHash",
          version = "0.7.3",
          sha256 = "952ebbf5b11fbf59ae5d760a562d1e9112278f244340ad7714e8556cbe54f7f7",
          strip_prefix = "xxHash-{version}",
          urls = ["https://github.com/Cyan4973/xxHash/archive/v{version}.tar.gz"],
          use_category = ["dataplane_core", "controlplane"],
          release_date = "2020-03-05",
          cpe = "N/A",
      ),
      com_github_envoyproxy_sqlparser = dict(
          project_name = "C++ SQL Parser Library",
          project_desc = "Forked from Hyrise SQL Parser",
          project_url = "https://github.com/envoyproxy/sql-parser",
          version = "3b40ba2d106587bdf053a292f7e3bb17e818a57f",
          sha256 = "96c10c8e950a141a32034f19b19cdeb1da48fe859cf96ae5e19f894f36c62c71",
          strip_prefix = "sql-parser-{version}",
          urls = ["https://github.com/envoyproxy/sql-parser/archive/{version}.tar.gz"],
          use_category = ["dataplane_ext"],
          extensions = [
              "envoy.filters.network.mysql_proxy",
              "envoy.filters.network.postgres_proxy",
          ],
          release_date = "2020-06-10",
          cpe = "N/A",
      ),
      com_github_mirror_tclap = dict(
          project_name = "tclap",
          project_desc = "Small, flexible library that provides a simple interface for defining and accessing command line arguments",
          project_url = "http://tclap.sourceforge.net",
          version = "1-2-1",
          sha256 = "f0ede0721dddbb5eba3a47385a6e8681b14f155e1129dd39d1a959411935098f",
          strip_prefix = "tclap-tclap-{version}-release-final",
          urls = ["https://github.com/mirror/tclap/archive/tclap-{version}-release-final.tar.gz"],
          release_date = "2011-04-16",
          use_category = ["other"],
      ),
      com_github_fmtlib_fmt = dict(
          project_name = "fmt",
          project_desc = "{fmt} is an open-source formatting library providing a fast and safe alternative to C stdio and C++ iostreams",
          project_url = "https://fmt.dev",
          version = "7.0.3",
          sha256 = "decfdf9ad274070fa85f26407b816f5a4d82205ae86bac1990be658d0795ea4d",
          strip_prefix = "fmt-{version}",
          urls = ["https://github.com/fmtlib/fmt/releases/download/{version}/fmt-{version}.zip"],
          use_category = ["dataplane_core", "controlplane"],
          release_date = "2020-08-06",
          cpe = "cpe:2.3:a:fmt:fmt:*",
      ),
      com_github_gabime_spdlog = dict(
          project_name = "spdlog",
          project_desc = "Very fast, header-only/compiled, C++ logging library",
          project_url = "https://github.com/gabime/spdlog",
          version = "1.7.0",
          sha256 = "f0114a4d3c88be9e696762f37a7c379619443ce9d668546c61b21d41affe5b62",
          strip_prefix = "spdlog-{version}",
          urls = ["https://github.com/gabime/spdlog/archive/v{version}.tar.gz"],
          use_category = ["dataplane_core", "controlplane"],
          release_date = "2020-07-09",
          cpe = "N/A",
      ),
      com_github_google_libprotobuf_mutator = dict(
          project_name = "libprotobuf-mutator",
          project_desc = "Library to randomly mutate protobuffers",
          project_url = "https://github.com/google/libprotobuf-mutator",
          version = "8942a9ba43d8bb196230c321d46d6a137957a719",
          sha256 = "49a26dbe77c75f2eca1dd8a9fbdb31c4496d9af42df027ff57569c5a7a5d980d",
          strip_prefix = "libprotobuf-mutator-{version}",
          urls = ["https://github.com/google/libprotobuf-mutator/archive/{version}.tar.gz"],
          release_date = "2020-08-18",
          use_category = ["test_only"],
      ),
      com_github_google_tcmalloc = dict(
          project_name = "tcmalloc",
          project_desc = "Fast, multi-threaded malloc implementation",
          project_url = "https://github.com/google/tcmalloc",
          version = "9f385356c34d4fc11f76a000b609e2b446c20667",
          sha256 = "652e48e0b9ef645db04bff8a3d4841c60ce07275f5d98e18e698dc92bd111291",
          strip_prefix = "tcmalloc-{version}",
          urls = ["https://github.com/google/tcmalloc/archive/{version}.tar.gz"],
          use_category = ["dataplane_core", "controlplane"],
          release_date = "2020-11-04",
          cpe = "N/A",
      ),
      com_github_gperftools_gperftools = dict(
          project_name = "gperftools",
          project_desc = "tcmalloc and profiling libraries",
          project_url = "https://github.com/gperftools/gperftools",
          version = "2.8",
          sha256 = "240deacdd628b6459671b83eb0c4db8e97baadf659f25b92e9a078d536bd513e",
          strip_prefix = "gperftools-{version}",
          urls = ["https://github.com/gperftools/gperftools/releases/download/gperftools-{version}/gperftools-{version}.tar.gz"],
          release_date = "2020-07-06",
          use_category = ["dataplane_core", "controlplane"],
          cpe = "cpe:2.3:a:gperftools_project:gperftools:*",
      ),
      com_github_grpc_grpc = dict(
          project_name = "gRPC",
          project_desc = "gRPC C core library",
          project_url = "https://grpc.io",
          # TODO(JimmyCYJ): Bump to release 1.27
          # This sha on grpc:v1.25.x branch is specifically chosen to fix gRPC STS call credential options.
          version = "d8f4928fa779f6005a7fe55a176bdb373b0f910f",
          sha256 = "bbc8f020f4e85ec029b047fab939b8c81f3d67254b5c724e1003a2bc49ddd123",
          strip_prefix = "grpc-{version}",
          urls = ["https://github.com/grpc/grpc/archive/{version}.tar.gz"],
          use_category = ["dataplane_core", "controlplane"],
          release_date = "2020-02-11",
          cpe = "cpe:2.3:a:grpc:grpc:*",
      ),
      com_github_luajit_luajit = dict(
          project_name = "LuaJIT",
          project_desc = "Just-In-Time compiler for Lua",
          project_url = "https://luajit.org",
          # The last release version, 2.1.0-beta3 has a number of CVEs filed
          # against it. These may not impact correct non-malicious Lua code, but for prudence we bump.
          version = "1d8b747c161db457e032a023ebbff511f5de5ec2",
          sha256 = "20a159c38a98ecdb6368e8d655343b6036622a29a1621da9dc303f7ed9bf37f3",
          strip_prefix = "LuaJIT-{version}",
          urls = ["https://github.com/LuaJIT/LuaJIT/archive/{version}.tar.gz"],
          release_date = "2020-10-12",
          use_category = ["dataplane_ext"],
          extensions = ["envoy.filters.http.lua"],
          cpe = "cpe:2.3:a:luajit:luajit:*",
      ),
      com_github_moonjit_moonjit = dict(
          project_name = "Moonjit",
          project_desc = "LuaJIT fork with wider platform support",
          project_url = "https://github.com/moonjit/moonjit",
          version = "2.2.0",
          sha256 = "83deb2c880488dfe7dd8ebf09e3b1e7613ef4b8420de53de6f712f01aabca2b6",
          strip_prefix = "moonjit-{version}",
          urls = ["https://github.com/moonjit/moonjit/archive/{version}.tar.gz"],
          use_category = ["dataplane_ext"],
          extensions = ["envoy.filters.http.lua"],
          release_date = "2020-01-14",
          cpe = "cpe:2.3:a:moonjit_project:moonjit:*",
      ),
      com_github_nghttp2_nghttp2 = dict(
          project_name = "Nghttp2",
          project_desc = "Implementation of HTTP/2 and its header compression algorithm HPACK in Cimplementation of HTTP/2 and its header compression algorithm HPACK in C",
          project_url = "https://nghttp2.org",
          version = "1.41.0",
          sha256 = "eacc6f0f8543583ecd659faf0a3f906ed03826f1d4157b536b4b385fe47c5bb8",
          strip_prefix = "nghttp2-{version}",
          urls = ["https://github.com/nghttp2/nghttp2/releases/download/v{version}/nghttp2-{version}.tar.gz"],
          use_category = ["controlplane", "dataplane_core"],
          release_date = "2020-06-02",
          cpe = "cpe:2.3:a:nghttp2:nghttp2:*",
      ),
      io_opentracing_cpp = dict(
          project_name = "OpenTracing",
          project_desc = "Vendor-neutral APIs and instrumentation for distributed tracing",
          project_url = "https://opentracing.io",
          version = "1.5.1",
          sha256 = "015c4187f7a6426a2b5196f0ccd982aa87f010cf61f507ae3ce5c90523f92301",
          strip_prefix = "opentracing-cpp-{version}",
          urls = ["https://github.com/opentracing/opentracing-cpp/archive/v{version}.tar.gz"],
          use_category = ["observability_ext"],
          extensions = [
              "envoy.tracers.datadog",
              "envoy.tracers.dynamic_ot",
              "envoy.tracers.lightstep",
          ],
          release_date = "2019-01-16",
          cpe = "N/A",
      ),
      com_lightstep_tracer_cpp = dict(
          project_name = "lightstep-tracer-cpp",
          project_desc = "LightStep distributed tracing library for C++",
          project_url = "https://github.com/lightstep/lightstep-tracer-cpp",
          version = "1942b3f142e218ebc143a043f32e3278dafec9aa",
          sha256 = "3238921a8f578beb26c2215cd277e8f6752f3d29b020b881d60d96a240a38aed",
          strip_prefix = "lightstep-tracer-cpp-{version}",
          urls = ["https://github.com/lightstep/lightstep-tracer-cpp/archive/{version}.tar.gz"],
          use_category = ["observability_ext"],
          extensions = ["envoy.tracers.lightstep"],
          release_date = "2020-08-25",
          cpe = "N/A",
      ),
      com_github_datadog_dd_opentracing_cpp = dict(
          project_name = "Datadog OpenTracing C++ Client",
          project_desc = "Datadog OpenTracing C++ Client",
          project_url = "https://github.com/DataDog/dd-opentracing-cpp",
          version = "1.1.5",
          sha256 = "b84fd2fb0bb0578af4901db31d1c0ae909b532a1016fe6534cbe31a6c3ad6924",
          strip_prefix = "dd-opentracing-cpp-{version}",
          urls = ["https://github.com/DataDog/dd-opentracing-cpp/archive/v{version}.tar.gz"],
          use_category = ["observability_ext"],
          extensions = ["envoy.tracers.datadog"],
          release_date = "2020-05-15",
          cpe = "N/A",
      ),
      com_github_google_benchmark = dict(
          project_name = "Benchmark",
          project_desc = "Library to benchmark code snippets",
          project_url = "https://github.com/google/benchmark",
          version = "1.5.1",
          sha256 = "23082937d1663a53b90cb5b61df4bcc312f6dee7018da78ba00dd6bd669dfef2",
          strip_prefix = "benchmark-{version}",
          urls = ["https://github.com/google/benchmark/archive/v{version}.tar.gz"],
          use_category = ["test_only"],
          release_date = "2020-06-09",
      ),
      com_github_libevent_libevent = dict(
          project_name = "libevent",
          project_desc = "Event notification library",
          project_url = "https://libevent.org",
          # This SHA includes the new "prepare" and "check" watchers, used for event loop performance
          # stats (see https://github.com/libevent/libevent/pull/793) and the fix for a race condition
          # in the watchers (see https://github.com/libevent/libevent/pull/802).
          # This also includes the fixes for https://github.com/libevent/libevent/issues/806
          # and https://github.com/lyft/envoy-mobile/issues/215.
          # This also includes the fixes for Phantom events with EV_ET (see
          # https://github.com/libevent/libevent/issues/984).
          # This also includes the wepoll backend for Windows (see
          # https://github.com/libevent/libevent/pull/1006)
          # TODO(adip): Update to v2.2 when it is released.
          version = "62c152d9a7cd264b993dad730c4163c6ede2e0a3",
          sha256 = "4c80e5fe044ce5f8055b20a2f141ee32ec2614000f3e95d2aa81611a4c8f5213",
          strip_prefix = "libevent-{version}",
          urls = ["https://github.com/libevent/libevent/archive/{version}.tar.gz"],
          use_category = ["dataplane_core", "controlplane"],
          release_date = "2020-07-28",
          cpe = "cpe:2.3:a:libevent_project:libevent:*",
      ),
      # This should be removed, see https://github.com/envoyproxy/envoy/issues/13261.
      net_zlib = dict(
          project_name = "zlib",
          project_desc = "zlib compression library",
          project_url = "https://zlib.net",
          version = "79baebe50e4d6b73ae1f8b603f0ef41300110aa3",
          # Use the dev branch of zlib to resolve fuzz bugs and out of bound
          # errors resulting in crashes in zlib 1.2.11.
          # TODO(asraa): Remove when zlib > 1.2.11 is released.
          sha256 = "155a8f8c1a753fb05b16a1b0cc0a0a9f61a78e245f9e0da483d13043b3bcbf2e",
          strip_prefix = "zlib-{version}",
          urls = ["https://github.com/madler/zlib/archive/{version}.tar.gz"],
          use_category = ["controlplane", "dataplane_core"],
          release_date = "2019-04-14",
          cpe = "cpe:2.3:a:gnu:zlib:*",
      ),
      com_github_zlib_ng_zlib_ng = dict(
          project_name = "zlib-ng",
          project_desc = "zlib fork (higher performance)",
          project_url = "https://github.com/zlib-ng/zlib-ng",
          version = "b802a303ce8b6c86fbe3f93d59e0a82333768c0c",
          sha256 = "e051eade607ecbbfa2c7ed3087fe53e5d3a58325375e1e28209594138e4aa93d",
          strip_prefix = "zlib-ng-{version}",
          urls = ["https://github.com/zlib-ng/zlib-ng/archive/{version}.tar.gz"],
          use_category = ["controlplane", "dataplane_core"],
          release_date = "2020-10-18",
          cpe = "N/A",
      ),
      com_github_jbeder_yaml_cpp = dict(
          project_name = "yaml-cpp",
          project_desc = "YAML parser and emitter in C++ matching the YAML 1.2 spec",
          project_url = "https://github.com/jbeder/yaml-cpp",
          version = "98acc5a8874faab28b82c28936f4b400b389f5d6",
          sha256 = "79ab7069ef1c7c3632e7ffe095f7185d4c77b64d8035db3c085c239d4fe96d5f",
          strip_prefix = "yaml-cpp-{version}",
          urls = ["https://github.com/jbeder/yaml-cpp/archive/{version}.tar.gz"],
          # YAML is also used for runtime as well as controlplane. It shouldn't appear on the
          # dataplane but we can't verify this automatically due to code structure today.
          use_category = ["controlplane", "dataplane_core"],
          release_date = "2020-07-27",
          cpe = "cpe:2.3:a:yaml-cpp_project:yaml-cpp:*",
      ),
      com_github_msgpack_msgpack_c = dict(
          project_name = "msgpack for C/C++",
          project_desc = "MessagePack is an efficient binary serialization format",
          project_url = "https://github.com/msgpack/msgpack-c",
          version = "3.3.0",
          sha256 = "6e114d12a5ddb8cb11f669f83f32246e484a8addd0ce93f274996f1941c1f07b",
          strip_prefix = "msgpack-{version}",
          urls = ["https://github.com/msgpack/msgpack-c/releases/download/cpp-{version}/msgpack-{version}.tar.gz"],
          use_category = ["observability_ext"],
          extensions = ["envoy.tracers.datadog"],
          release_date = "2020-06-05",
          cpe = "N/A",
      ),
      com_github_google_jwt_verify = dict(
          project_name = "jwt_verify_lib",
          project_desc = "JWT verification library for C++",
          project_url = "https://github.com/google/jwt_verify_lib",
          version = "7276a339af8426724b744216f619c99152f8c141",
          sha256 = "f1fde4f3ebb3b2d841332c7a02a4b50e0529a19709934c63bc6208d1bbe28fb1",
          strip_prefix = "jwt_verify_lib-{version}",
          urls = ["https://github.com/google/jwt_verify_lib/archive/{version}.tar.gz"],
          use_category = ["dataplane_ext"],
          extensions = ["envoy.filters.http.jwt_authn"],
          release_date = "2020-07-10",
          cpe = "N/A",
      ),
      com_github_nodejs_http_parser = dict(
          project_name = "HTTP Parser",
          project_desc = "Parser for HTTP messages written in C",
          project_url = "https://github.com/nodejs/http-parser",
          # This SHA includes fix for https://github.com/nodejs/http-parser/issues/517 which allows (opt-in) to serve
          # requests with both Content-Legth and Transfer-Encoding: chunked headers set.
          version = "4f15b7d510dc7c6361a26a7c6d2f7c3a17f8d878",
          sha256 = "6a12896313ce1ca630cf516a0ee43a79b5f13f5a5d8143f56560ac0b21c98fac",
          strip_prefix = "http-parser-{version}",
          urls = ["https://github.com/nodejs/http-parser/archive/{version}.tar.gz"],
          use_category = ["controlplane", "dataplane_core"],
          release_date = "2020-07-10",
          cpe = "cpe:2.3:a:nodejs:node.js:*",
      ),
      com_github_tencent_rapidjson = dict(
          project_name = "RapidJSON",
          project_desc = "Fast JSON parser/generator for C++",
          project_url = "https://rapidjson.org",
          version = "dfbe1db9da455552f7a9ad5d2aea17dd9d832ac1",
          sha256 = "a2faafbc402394df0fa94602df4b5e4befd734aad6bb55dfef46f62fcaf1090b",
          strip_prefix = "rapidjson-{version}",
          urls = ["https://github.com/Tencent/rapidjson/archive/{version}.tar.gz"],
          # We're mostly using com_google_protobuf for JSON, but there are some extensions and hard to
          # disentangle uses on the dataplane, e.g. header_formatter, Squash filter.
          use_category = ["controlplane", "dataplane_core"],
          release_date = "2019-12-03",
          cpe = "cpe:2.3:a:tencent:rapidjson:*",
      ),
      com_github_twitter_common_lang = dict(
          project_name = "twitter.common.lang (Thrift)",
          project_desc = "twitter.common Python language and compatibility facilities",
          project_url = "https://pypi.org/project/twitter.common.lang",
          version = "0.3.9",
          sha256 = "56d1d266fd4767941d11c27061a57bc1266a3342e551bde3780f9e9eb5ad0ed1",
          strip_prefix = "twitter.common.lang-{version}/src",
          urls = ["https://files.pythonhosted.org/packages/08/bc/d6409a813a9dccd4920a6262eb6e5889e90381453a5f58938ba4cf1d9420/twitter.common.lang-{version}.tar.gz"],
          release_date = "2016-10-17",
          use_category = ["test_only"],
      ),
      com_github_twitter_common_rpc = dict(
          project_name = "twitter.common.rpc (Thrift)",
          project_desc = "twitter.common Thrift helpers including Finagle and SSL transports",
          project_url = "https://pypi.org/project/twitter.common.rpc",
          version = "0.3.9",
          sha256 = "0792b63fb2fb32d970c2e9a409d3d00633190a22eb185145fe3d9067fdaa4514",
          strip_prefix = "twitter.common.rpc-{version}/src",
          urls = ["https://files.pythonhosted.org/packages/be/97/f5f701b703d0f25fbf148992cd58d55b4d08d3db785aad209255ee67e2d0/twitter.common.rpc-{version}.tar.gz"],
          release_date = "2016-10-17",
          use_category = ["test_only"],
      ),
      com_github_twitter_common_finagle_thrift = dict(
          project_name = "twitter.common.finagle-thrift",
          project_desc = "twitter.common Thrift stubs for Zipkin RPC tracing support in Finagle",
          project_url = "https://pypi.org/project/twitter.common.finagle-thrift",
          version = "0.3.9",
          sha256 = "1e3a57d11f94f58745e6b83348ecd4fa74194618704f45444a15bc391fde497a",
          strip_prefix = "twitter.common.finagle-thrift-{version}/src",
          urls = ["https://files.pythonhosted.org/packages/f9/e7/4f80d582578f8489226370762d2cf6bc9381175d1929eba1754e03f70708/twitter.common.finagle-thrift-{version}.tar.gz"],
          release_date = "2016-10-17",
          use_category = ["test_only"],
      ),
      com_google_googletest = dict(
          project_name = "Google Test",
          project_desc = "Google's C++ test framework",
          project_url = "https://github.com/google/googletest",
          # Pick up fix for MOCK_METHOD compilation with clang-cl for Windows (resolved after 1.10.0)
          # see https://github.com/google/googletest/issues/2490
          version = "a4ab0abb93620ce26efad9de9296b73b16e88588",
          sha256 = "7897bfaa5ad39a479177cfb5c3ce010184dbaee22a7c3727b212282871918751",
          strip_prefix = "googletest-{version}",
          urls = ["https://github.com/google/googletest/archive/{version}.tar.gz"],
          release_date = "2020-09-10",
          use_category = ["test_only"],
      ),
      com_google_protobuf = dict(
          project_name = "Protocol Buffers",
          project_desc = "Language-neutral, platform-neutral extensible mechanism for serializing structured data",
          project_url = "https://developers.google.com/protocol-buffers",
          version = "3.13.0",
          sha256 = "465fd9367992a9b9c4fba34a549773735da200903678b81b25f367982e8df376",
          strip_prefix = "protobuf-{version}",
          urls = ["https://github.com/protocolbuffers/protobuf/releases/download/v{version}/protobuf-all-{version}.tar.gz"],
          use_category = ["dataplane_core", "controlplane"],
          release_date = "2020-08-14",
          cpe = "cpe:2.3:a:google:protobuf:*",
      ),
      grpc_httpjson_transcoding = dict(
          project_name = "grpc-httpjson-transcoding",
          project_desc = "Library that supports transcoding so that HTTP/JSON can be converted to gRPC",
          project_url = "https://github.com/grpc-ecosystem/grpc-httpjson-transcoding",
          version = "b48d8aa15b3825e146168146755475ab918e95b7",
          sha256 = "4147e992ec239fb78c435fdd9f68e8d93d89106f67278bf2995f3672dddba52b",
          strip_prefix = "grpc-httpjson-transcoding-{version}",
          urls = ["https://github.com/grpc-ecosystem/grpc-httpjson-transcoding/archive/{version}.tar.gz"],
          use_category = ["dataplane_ext"],
          extensions = ["envoy.filters.http.grpc_json_transcoder"],
          release_date = "2020-11-05",
          cpe = "N/A",
      ),
      io_bazel_rules_go = dict(
          project_name = "Go rules for Bazel",
          project_desc = "Bazel rules for the Go language",
          project_url = "https://github.com/bazelbuild/rules_go",
          version = "0.23.7",
          sha256 = "0310e837aed522875791750de44408ec91046c630374990edd51827cb169f616",
          urls = ["https://github.com/bazelbuild/rules_go/releases/download/v{version}/rules_go-v{version}.tar.gz"],
          use_category = ["build", "api"],
          release_date = "2020-08-06",
          implied_untracked_deps = [
              "com_github_golang_protobuf",
              "io_bazel_rules_nogo",
              "org_golang_google_protobuf",
              "org_golang_x_tools",
          ],
      ),
      rules_cc = dict(
          project_name = "C++ rules for Bazel",
          project_desc = "Bazel rules for the C++ language",
          project_url = "https://github.com/bazelbuild/rules_cc",
          # TODO(lizan): pin to a point releases when there's a released version.
          version = "818289e5613731ae410efb54218a4077fb9dbb03",
          sha256 = "9d48151ea71b3e225adfb6867e6d2c7d0dce46cbdc8710d9a9a628574dfd40a0",
          strip_prefix = "rules_cc-{version}",
          urls = ["https://github.com/bazelbuild/rules_cc/archive/{version}.tar.gz"],
          release_date = "2020-05-13",
          use_category = ["build"],
      ),
      rules_foreign_cc = dict(
          project_name = "Rules for using foreign build systems in Bazel",
          project_desc = "Rules for using foreign build systems in Bazel",
          project_url = "https://github.com/bazelbuild/rules_foreign_cc",
          version = "d54c78ab86b40770ee19f0949db9d74a831ab9f0",
          sha256 = "e7446144277c9578141821fc91c55a61df7ae01bda890902f7286f5fd2f6ae46",
          strip_prefix = "rules_foreign_cc-{version}",
          urls = ["https://github.com/bazelbuild/rules_foreign_cc/archive/{version}.tar.gz"],
          release_date = "2020-10-26",
          use_category = ["build"],
      ),
      rules_python = dict(
          project_name = "Python rules for Bazel",
          project_desc = "Bazel rules for the Python language",
          project_url = "https://github.com/bazelbuild/rules_python",
          # TODO(htuch): revert back to a point releases when pip3_import appears.
          version = "a0fbf98d4e3a232144df4d0d80b577c7a693b570",
          sha256 = "76a8fd4e7eca2a3590f816958faa0d83c9b2ce9c32634c5c375bcccf161d3bb5",
          strip_prefix = "rules_python-{version}",
          urls = ["https://github.com/bazelbuild/rules_python/archive/{version}.tar.gz"],
          release_date = "2020-04-09",
          use_category = ["build"],
      ),
      six = dict(
          project_name = "Six",
          project_desc = "Python 2 and 3 compatibility library",
          project_url = "https://pypi.org/project/six",
          version = "1.12.0",
          sha256 = "d16a0141ec1a18405cd4ce8b4613101da75da0e9a7aec5bdd4fa804d0e0eba73",
          urls = ["https://files.pythonhosted.org/packages/dd/bf/4138e7bfb757de47d1f4b6994648ec67a51efe58fa907c1e11e350cddfca/six-{version}.tar.gz"],
          release_date = "2018-12-09",
          use_category = ["other"],
      ),
      org_llvm_llvm = dict(
          project_name = "LLVM",
          project_desc = "LLVM Compiler Infrastructure",
          project_url = "https://llvm.org",
          version = "10.0.0",
          sha256 = "df83a44b3a9a71029049ec101fb0077ecbbdf5fe41e395215025779099a98fdf",
          strip_prefix = "llvm-{version}.src",
          urls = ["https://github.com/llvm/llvm-project/releases/download/llvmorg-{version}/llvm-{version}.src.tar.xz"],
          release_date = "2020-03-23",
          use_category = ["dataplane_ext"],
          extensions = [
              "envoy.access_loggers.wasm",
              "envoy.bootstrap.wasm",
              "envoy.filters.http.wasm",
              "envoy.filters.network.wasm",
              "envoy.stat_sinks.wasm",
          ],
          cpe = "cpe:2.3:a:llvm:*:*",
      ),
      com_github_wavm_wavm = dict(
          project_name = "WAVM",
          project_desc = "WebAssembly Virtual Machine",
          project_url = "https://wavm.github.io",
          version = "e289ba654fe51655ab080819fd85ed9c936aae6e",
          sha256 = "35e2bfa795c67ef70405470f85bd2a15565738fb5cc08dc9c1a9c4676ee51e60",
          strip_prefix = "WAVM-{version}",
          urls = ["https://github.com/WAVM/WAVM/archive/{version}.tar.gz"],
          release_date = "2020-09-17",
          use_category = ["dataplane_ext"],
          extensions = [
              "envoy.access_loggers.wasm",
              "envoy.bootstrap.wasm",
              "envoy.filters.http.wasm",
              "envoy.filters.network.wasm",
              "envoy.stat_sinks.wasm",
          ],
          cpe = "cpe:2.3:a:webassembly_virtual_machine_project:webassembly_virtual_machine:*",
      ),
      com_github_wasmtime = dict(
          project_name = "wasmtime",
          project_desc = "A standalone runtime for WebAssembly",
          project_url = "https://github.com/bytecodealliance/wasmtime",
          version = "0.21.0",
          sha256 = "7874feb1026bbef06796bd5ab80e73f15b8e83752bde8dc93994f5bc039a4952",
          strip_prefix = "wasmtime-{version}",
          urls = ["https://github.com/bytecodealliance/wasmtime/archive/v{version}.tar.gz"],
          release_date = "2020-11-05",
          use_category = ["dataplane_ext"],
          extensions = [
              "envoy.access_loggers.wasm",
              "envoy.bootstrap.wasm",
              "envoy.filters.http.wasm",
              "envoy.filters.network.wasm",
              "envoy.stat_sinks.wasm",
          ],
          cpe = "cpe:2.3:a:webassembly_virtual_machine_project:webassembly_virtual_machine:*",
      ),
      com_github_wasm_c_api = dict(
          project_name = "wasm-c-api",
          project_desc = "WebAssembly C and C++ API",
          project_url = "https://github.com/WebAssembly/wasm-c-api",
          # this is the submodule's specific commit used by wasmtime
          # https://github.com/bytecodealliance/wasmtime/tree/v0.21.0/crates/c-api
          version = "d9a80099d496b5cdba6f3fe8fc77586e0e505ddc",
          sha256 = "aea8cd095e9937f1e14f2c93e026317b197eb2345e7a817fe3932062eb7b792c",
          strip_prefix = "wasm-c-api-{version}",
          urls = ["https://github.com/WebAssembly/wasm-c-api/archive/{version}.tar.gz"],
          release_date = "2019-11-14",
          use_category = ["dataplane_ext"],
          extensions = [
              "envoy.access_loggers.wasm",
              "envoy.bootstrap.wasm",
              "envoy.filters.http.wasm",
              "envoy.filters.network.wasm",
              "envoy.stat_sinks.wasm",
          ],
          cpe = "N/A",
      ),
      io_opencensus_cpp = dict(
          project_name = "OpenCensus C++",
          project_desc = "OpenCensus tracing library",
          project_url = "https://github.com/census-instrumentation/opencensus-cpp",
          version = "ba631066779a534267fdb1321b19850eb2b0c000",
          sha256 = "f239a40803f6e2e42b57c9e68771b0990c4ca8b2d76b440073cdf14f4211ad26",
          strip_prefix = "opencensus-cpp-{version}",
          urls = ["https://github.com/census-instrumentation/opencensus-cpp/archive/{version}.tar.gz"],
          use_category = ["observability_ext"],
          extensions = ["envoy.tracers.opencensus"],
          release_date = "2020-10-08",
          cpe = "N/A",
      ),
      # This should be removed, see https://github.com/envoyproxy/envoy/issues/11816.
      com_github_curl = dict(
          project_name = "curl",
          project_desc = "Library for transferring data with URLs",
          project_url = "https://curl.haxx.se",
          version = "7.72.0",
          sha256 = "d4d5899a3868fbb6ae1856c3e55a32ce35913de3956d1973caccd37bd0174fa2",
          strip_prefix = "curl-{version}",
          urls = ["https://github.com/curl/curl/releases/download/curl-{underscore_version}/curl-{version}.tar.gz"],
          use_category = ["dataplane_ext", "observability_ext"],
          extensions = [
              "envoy.filters.http.aws_lambda",
              "envoy.filters.http.aws_request_signing",
              "envoy.grpc_credentials.aws_iam",
              "envoy.tracers.opencensus",
          ],
          release_date = "2020-08-19",
          cpe = "cpe:2.3:a:haxx:curl:*",
      ),
      com_googlesource_chromium_v8 = dict(
          project_name = "V8",
          project_desc = "Google’s open source high-performance JavaScript and WebAssembly engine, written in C++",
          project_url = "https://v8.dev",
          version = "8.7.220.10",
          # This archive was created using https://storage.googleapis.com/envoyproxy-wee8/wee8-archive.sh
          # and contains complete checkout of V8 with all dependencies necessary to build wee8.
          sha256 = "f22734640e0515bc34d1ca3772513aef24374fafa44d0489d3a9a57cadec69fb",
          urls = ["https://storage.googleapis.com/envoyproxy-wee8/wee8-{version}.tar.gz"],
          use_category = ["dataplane_ext"],
          extensions = [
              "envoy.access_loggers.wasm",
              "envoy.bootstrap.wasm",
              "envoy.filters.http.wasm",
              "envoy.filters.network.wasm",
              "envoy.stat_sinks.wasm",
          ],
          release_date = "2020-10-27",
          cpe = "cpe:2.3:a:google:v8:*",
      ),
      com_googlesource_quiche = dict(
          project_name = "QUICHE",
          project_desc = "QUICHE (QUIC, HTTP/2, Etc) is Google‘s implementation of QUIC and related protocols",
          project_url = "https://quiche.googlesource.com/quiche",
          # Static snapshot of https://quiche.googlesource.com/quiche/+archive/f555d99a084cdd086a349548c70fb558ac5847cf.tar.gz
          version = "f555d99a084cdd086a349548c70fb558ac5847cf",
          sha256 = "1833f08e7b0f18b49d7498b029b7f3e6559a82113ec82a98a9e945553756e351",
          urls = ["https://storage.googleapis.com/quiche-envoy-integration/{version}.tar.gz"],
          use_category = ["dataplane_ext"],
          extensions = ["envoy.transport_sockets.quic"],
          release_date = "2020-09-17",
          cpe = "N/A",
      ),
      com_googlesource_googleurl = dict(
          project_name = "Chrome URL parsing library",
          project_desc = "Chrome URL parsing library",
          project_url = "https://quiche.googlesource.com/googleurl",
          # Static snapshot of https://quiche.googlesource.com/quiche/+archive/ef0d23689e240e6c8de4c3a5296b209128c87373.tar.gz.
          version = "ef0d23689e240e6c8de4c3a5296b209128c87373",
          sha256 = "d769283fed1319bca68bae8bdd47fbc3a7933999329eee850eff1f1ea61ce176",
          urls = ["https://storage.googleapis.com/quiche-envoy-integration/googleurl_{version}.tar.gz"],
          use_category = ["dataplane_ext"],
          extensions = [],
          release_date = "2020-07-30",
          cpe = "N/A",
      ),
      com_google_cel_cpp = dict(
          project_name = "Common Expression Language (CEL) C++ library",
          project_desc = "Common Expression Language (CEL) C++ library",
          project_url = "https://opensource.google/projects/cel",
          version = "47244a458e7739ad38e178a3f3892d197de4a574",
          sha256 = "51b1af23cb703a94d18fe7a5e2696f96cde5bc35a279c6c844e6363aea3982fb",
          strip_prefix = "cel-cpp-{version}",
          urls = ["https://github.com/google/cel-cpp/archive/{version}.tar.gz"],
          use_category = ["dataplane_ext"],
          extensions = [
              "envoy.access_loggers.wasm",
              "envoy.bootstrap.wasm",
              "envoy.filters.http.rbac",
              "envoy.filters.http.wasm",
              "envoy.filters.network.rbac",
              "envoy.filters.network.wasm",
              "envoy.stat_sinks.wasm",
          ],
          release_date = "2020-10-25",
          cpe = "N/A",
      ),
      com_github_google_flatbuffers = dict(
          project_name = "FlatBuffers",
          project_desc = "Cross platform serialization library architected for maximum memory efficiency",
          project_url = "https://github.com/google/flatbuffers",
          version = "a83caf5910644ba1c421c002ef68e42f21c15f9f",
          sha256 = "b8efbc25721e76780752bad775a97c3f77a0250271e2db37fc747b20e8b0f24a",
          strip_prefix = "flatbuffers-{version}",
          urls = ["https://github.com/google/flatbuffers/archive/{version}.tar.gz"],
          use_category = ["dataplane_ext"],
          extensions = [
              "envoy.access_loggers.wasm",
              "envoy.bootstrap.wasm",
              "envoy.filters.http.wasm",
              "envoy.filters.network.wasm",
              "envoy.stat_sinks.wasm",
          ],
          release_date = "2020-04-02",
          cpe = "N/A",
      ),
      com_googlesource_code_re2 = dict(
          project_name = "RE2",
          project_desc = "RE2, a regular expression library",
          project_url = "https://github.com/google/re2",
          version = "2020-07-06",
          sha256 = "2e9489a31ae007c81e90e8ec8a15d62d58a9c18d4fd1603f6441ef248556b41f",
          strip_prefix = "re2-{version}",
          urls = ["https://github.com/google/re2/archive/{version}.tar.gz"],
          use_category = ["controlplane", "dataplane_core"],
          release_date = "2020-07-06",
          cpe = "N/A",
      ),
      # Included to access FuzzedDataProvider.h. This is compiler agnostic but
      # provided as part of the compiler-rt source distribution. We can't use the
      # Clang variant as we are not a Clang-LLVM only shop today.
      org_llvm_releases_compiler_rt = dict(
          project_name = "compiler-rt",
          project_desc = "LLVM compiler runtime library",
          project_url = "https://compiler-rt.llvm.org",
          version = "10.0.0",
          sha256 = "6a7da64d3a0a7320577b68b9ca4933bdcab676e898b759850e827333c3282c75",
          # Only allow peeking at fuzzer related files for now.
          strip_prefix = "compiler-rt-{version}.src",
          urls = ["https://github.com/llvm/llvm-project/releases/download/llvmorg-{version}/compiler-rt-{version}.src.tar.xz"],
          release_date = "2020-03-23",
          use_category = ["test_only"],
      ),
      upb = dict(
          project_name = "upb",
          project_desc = "A small protobuf implementation in C (gRPC dependency)",
          project_url = "https://github.com/protocolbuffers/upb",
          version = "8a3ae1ef3e3e3f26b45dec735c5776737fc7247f",
          sha256 = "e9f281c56ab1eb1f97a80ca8a83bb7ef73d230eabb8591f83876f4e7b85d9b47",
          strip_prefix = "upb-{version}",
          urls = ["https://github.com/protocolbuffers/upb/archive/{version}.tar.gz"],
          use_category = ["controlplane"],
          release_date = "2019-11-19",
          cpe = "N/A",
      ),
      kafka_source = dict(
          project_name = "Kafka (source)",
          project_desc = "Open-source distributed event streaming platform",
          project_url = "https://kafka.apache.org",
          version = "2.4.1",
          sha256 = "740236f44d66e33ea83382383b4fb7eabdab7093a644b525dd5ec90207f933bd",
          strip_prefix = "kafka-{version}/clients/src/main/resources/common/message",
          urls = ["https://github.com/apache/kafka/archive/{version}.zip"],
          use_category = ["dataplane_ext"],
          extensions = ["envoy.filters.network.kafka_broker"],
          release_date = "2020-03-03",
          cpe = "cpe:2.3:a:apache:kafka:*",
      ),
      kafka_server_binary = dict(
          project_name = "Kafka (server binary)",
          project_desc = "Open-source distributed event streaming platform",
          project_url = "https://kafka.apache.org",
          version = "2.4.1",
          sha256 = "2177cbd14118999e1d76fec628ca78ace7e6f841219dbc6035027c796bbe1a2a",
          strip_prefix = "kafka_2.12-{version}",
          urls = ["https://mirrors.gigenet.com/apache/kafka/{version}/kafka_2.12-{version}.tgz"],
          release_date = "2020-03-12",
          use_category = ["test_only"],
      ),
      kafka_python_client = dict(
          project_name = "Kafka (Python client)",
          project_desc = "Open-source distributed event streaming platform",
          project_url = "https://kafka.apache.org",
          version = "2.0.1",
          sha256 = "05f7c6eecb402f11fcb7e524c903f1ba1c38d3bdc9bf42bc8ec3cf7567b9f979",
          strip_prefix = "kafka-python-{version}",
          urls = ["https://github.com/dpkp/kafka-python/archive/{version}.tar.gz"],
          release_date = "2020-02-20",
          use_category = ["test_only"],
      ),
      proxy_wasm_cpp_sdk = dict(
          project_name = "WebAssembly for Proxies (C++ SDK)",
          project_desc = "WebAssembly for Proxies (C++ SDK)",
          project_url = "https://github.com/proxy-wasm/proxy-wasm-cpp-sdk",
          version = "b5ff880ed13d93dde9faf53d0aa05b216cc60b86",
          sha256 = "17a16355e4556ed8858e4d0be37a5cdf1a0d9cb0e96b3b5b8a52cf22b48ad094",
          strip_prefix = "proxy-wasm-cpp-sdk-{version}",
          urls = ["https://github.com/proxy-wasm/proxy-wasm-cpp-sdk/archive/{version}.tar.gz"],
          use_category = ["dataplane_ext"],
          extensions = [
              "envoy.access_loggers.wasm",
              "envoy.bootstrap.wasm",
              "envoy.filters.http.wasm",
              "envoy.filters.network.wasm",
              "envoy.stat_sinks.wasm",
          ],
          release_date = "2020-10-22",
          cpe = "N/A",
      ),
      proxy_wasm_cpp_host = dict(
          project_name = "WebAssembly for Proxies (C++ host implementation)",
          project_desc = "WebAssembly for Proxies (C++ host implementation)",
          project_url = "https://github.com/proxy-wasm/proxy-wasm-cpp-host",
          version = "15827110ac35fdac9abdb6b05d04ee7ee2044dae",
          sha256 = "77a2671205eb0973bee375a1bee4099edef991350433981f6e3508780318117d",
          strip_prefix = "proxy-wasm-cpp-host-{version}",
          urls = ["https://github.com/proxy-wasm/proxy-wasm-cpp-host/archive/{version}.tar.gz"],
          use_category = ["dataplane_ext"],
          extensions = [
              "envoy.access_loggers.wasm",
              "envoy.bootstrap.wasm",
              "envoy.filters.http.wasm",
              "envoy.filters.network.wasm",
              "envoy.stat_sinks.wasm",
          ],
          release_date = "2020-11-12",
          cpe = "N/A",
      ),
      emscripten_toolchain = dict(
          project_name = "Emscripten SDK",
          project_desc = "Emscripten SDK (use by Wasm)",
          project_url = "https://github.com/emscripten-core/emsdk",
          version = "2.0.7",
          sha256 = "ce7a5c76e8b425aca874cea329fd9ac44b203b777053453b6a37b4496c5ce34f",
          strip_prefix = "emsdk-{version}",
          urls = ["https://github.com/emscripten-core/emsdk/archive/{version}.tar.gz"],
          use_category = ["build"],
          release_date = "2020-10-13",
      ),
      io_bazel_rules_rust = dict(
          project_name = "Bazel rust rules",
          project_desc = "Bazel rust rules (used by Wasm)",
          project_url = "https://github.com/bazelbuild/rules_rust",
          version = "7b8219a1955ebd599c275bd292d8153e5616d6a4",
          sha256 = "426a7712af597d90301dcc29e63d62de5c2e09fb347692e89abb775ec97c74fe",
          strip_prefix = "rules_rust-{version}",
          urls = ["https://github.com/bazelbuild/rules_rust/archive/{version}.tar.gz"],
          use_category = ["dataplane_ext"],
          extensions = [
              "envoy.access_loggers.wasm",
              "envoy.bootstrap.wasm",
              "envoy.filters.http.wasm",
              "envoy.filters.network.wasm",
              "envoy.stat_sinks.wasm",
          ],
          release_date = "2020-10-21",
          cpe = "N/A",
      ),
      rules_antlr = dict(
          project_name = "ANTLR Rules for Bazel",
          project_desc = "Bazel rules for ANTLR",
          project_url = "https://github.com/marcohu/rules_antlr",
          version = "3cc2f9502a54ceb7b79b37383316b23c4da66f9a",
          sha256 = "7249d1569293d9b239e23c65f6b4c81a07da921738bde0dfeb231ed98be40429",
          strip_prefix = "rules_antlr-{version}",
          urls = ["https://github.com/marcohu/rules_antlr/archive/{version}.tar.gz"],
          # ANTLR has a runtime component, so is not purely build.
          use_category = ["dataplane_ext"],
          extensions = [
              "envoy.access_loggers.wasm",
              "envoy.bootstrap.wasm",
              "envoy.filters.http.wasm",
              "envoy.filters.network.wasm",
              "envoy.stat_sinks.wasm",
          ],
          release_date = "2019-06-21",
          cpe = "N/A",
      ),
      antlr4_runtimes = dict(
          project_name = "ANTLR v4",
          project_desc = "ANTLR (ANother Tool for Language Recognition) is a powerful parser generator for reading, processing, executing, or translating structured text or binary files",
          project_url = "https://github.com/antlr/antlr4",
          version = "4.7.2",
          sha256 = "46f5e1af5f4bd28ade55cb632f9a069656b31fc8c2408f9aa045f9b5f5caad64",
          strip_prefix = "antlr4-{version}",
          urls = ["https://github.com/antlr/antlr4/archive/{version}.tar.gz"],
          use_category = ["dataplane_ext"],
          extensions = [
              "envoy.access_loggers.wasm",
              "envoy.bootstrap.wasm",
              "envoy.filters.http.wasm",
              "envoy.filters.network.wasm",
              "envoy.stat_sinks.wasm",
          ],
          release_date = "2018-12-18",
          cpe = "N/A",
      ),
  )
  