| load("//src:release_archive.bzl", "release_archive") | 
 |  | 
 | # Description: | 
 | #   one version C++ implementation. | 
 | package(default_visibility = ["//src:__subpackages__"]) | 
 |  | 
 | filegroup( | 
 |     name = "srcs", | 
 |     srcs = glob(["**"]), | 
 |     visibility = ["//src:__pkg__"], | 
 | ) | 
 |  | 
 | SOURCES = [ | 
 |     # keep sorted | 
 |     "allowlist.cc", | 
 |     "allowlist.h", | 
 |     "duplicate_class_collector.cc", | 
 |     "duplicate_class_collector.h", | 
 |     "one_version.cc", | 
 |     "one_version.h", | 
 |     "one_version_main.cc", | 
 | ] | 
 |  | 
 | cc_library( | 
 |     name = "duplicate_class_collector", | 
 |     srcs = [ | 
 |         "duplicate_class_collector.cc", | 
 |     ], | 
 |     hdrs = [ | 
 |         "duplicate_class_collector.h", | 
 |     ], | 
 |     deps = [ | 
 |         "@abseil-cpp//absl/container:flat_hash_map", | 
 |         "@abseil-cpp//absl/strings", | 
 |     ], | 
 | ) | 
 |  | 
 | cc_test( | 
 |     name = "duplicate_class_collector_test", | 
 |     srcs = [ | 
 |         "duplicate_class_collector_test.cc", | 
 |     ], | 
 |     deps = [ | 
 |         ":duplicate_class_collector", | 
 |         "@com_google_googletest//:gtest_main", | 
 |     ], | 
 | ) | 
 |  | 
 | cc_library( | 
 |     name = "allowlist", | 
 |     srcs = ["allowlist.cc"], | 
 |     hdrs = ["allowlist.h"], | 
 |     deps = [ | 
 |         ":duplicate_class_collector", | 
 |         "@abseil-cpp//absl/container:flat_hash_map", | 
 |         "@abseil-cpp//absl/container:flat_hash_set", | 
 |         "@abseil-cpp//absl/strings", | 
 |         "@abseil-cpp//absl/types:span", | 
 |     ], | 
 | ) | 
 |  | 
 | cc_test( | 
 |     name = "allowlist_test", | 
 |     srcs = ["allowlist_test.cc"], | 
 |     deps = [ | 
 |         ":allowlist", | 
 |         ":duplicate_class_collector", | 
 |         "@abseil-cpp//absl/container:flat_hash_map", | 
 |         "@abseil-cpp//absl/container:flat_hash_set", | 
 |         "@com_google_googletest//:gtest_main", | 
 |     ], | 
 | ) | 
 |  | 
 | cc_library( | 
 |     name = "one_version", | 
 |     srcs = ["one_version.cc"], | 
 |     hdrs = ["one_version.h"], | 
 |     deps = [ | 
 |         ":allowlist", | 
 |         ":duplicate_class_collector", | 
 |         "//src/tools/singlejar:input_jar", | 
 |         "@abseil-cpp//absl/log:die_if_null", | 
 |         "@abseil-cpp//absl/memory", | 
 |         "@abseil-cpp//absl/strings", | 
 |     ], | 
 | ) | 
 |  | 
 | cc_binary( | 
 |     name = "one_version_main", | 
 |     srcs = [ | 
 |         "one_version_main.cc", | 
 |     ], | 
 |     deps = [ | 
 |         ":allowlist", | 
 |         ":duplicate_class_collector", | 
 |         ":one_version", | 
 |         "//src/tools/singlejar:input_jar", | 
 |         "//src/tools/singlejar:token_stream", | 
 |         "@abseil-cpp//absl/container:flat_hash_map", | 
 |         "@abseil-cpp//absl/container:flat_hash_set", | 
 |         "@abseil-cpp//absl/log:die_if_null", | 
 |         "@abseil-cpp//absl/strings", | 
 |     ], | 
 | ) | 
 |  | 
 | filegroup( | 
 |     name = "embedded_java_tools", | 
 |     srcs = SOURCES + [ | 
 |         "//src/tools/singlejar:embedded_java_tools", | 
 |     ], | 
 |     visibility = ["//src:__pkg__"], | 
 | ) | 
 |  | 
 | release_archive( | 
 |     name = "one_version_transitive_zip", | 
 |     package_dir = "java_tools", | 
 |     visibility = ["//src:__pkg__"], | 
 |     deps = [ | 
 |         ":one_version_zip", | 
 |         "//src/tools/singlejar:singlejar_transitive_zip", | 
 |     ], | 
 | ) | 
 |  | 
 | release_archive( | 
 |     name = "one_version_zip", | 
 |     srcs = SOURCES, | 
 |     package_dir = "src/tools/one_version", | 
 |     visibility = ["//visibility:private"], | 
 | ) | 
 |  | 
 | release_archive( | 
 |     name = "one_version_deploy_zip", | 
 |     srcs = [":one_version_main"], | 
 |     package_dir = "java_tools/src/tools/one_version", | 
 |     visibility = ["//src:__pkg__"], | 
 | ) |