| ################################################################################ | 
 | # Protocol Buffers: C++ Runtime | 
 | ################################################################################ | 
 |  | 
 | # Most rules are under google/protobuf. This package exists for convenience. | 
 | load("@rules_pkg//pkg:mappings.bzl", "pkg_filegroup", "pkg_files", "strip_prefix") | 
 | load("//conformance:defs.bzl", "conformance_test") | 
 | load("//upb/cmake:build_defs.bzl", "staleness_test") | 
 |  | 
 | pkg_files( | 
 |     name = "dist_files", | 
 |     srcs = glob(["**"]), | 
 |     strip_prefix = strip_prefix.from_root(""), | 
 |     visibility = ["//src:__pkg__"], | 
 | ) | 
 |  | 
 | pkg_filegroup( | 
 |     name = "all_dist_files", | 
 |     srcs = [ | 
 |         ":dist_files", | 
 |         "//src/google/protobuf:dist_files", | 
 |         "//src/google/protobuf/compiler:dist_files", | 
 |         "//src/google/protobuf/compiler/cpp:dist_files", | 
 |         "//src/google/protobuf/compiler/csharp:dist_files", | 
 |         "//src/google/protobuf/compiler/java:dist_files", | 
 |         "//src/google/protobuf/compiler/objectivec:dist_files", | 
 |         "//src/google/protobuf/compiler/php:dist_files", | 
 |         "//src/google/protobuf/compiler/python:dist_files", | 
 |         "//src/google/protobuf/compiler/ruby:dist_files", | 
 |         "//src/google/protobuf/io:dist_files", | 
 |         "//src/google/protobuf/stubs:dist_files", | 
 |         "//src/google/protobuf/testing:dist_files", | 
 |         "//src/google/protobuf/util:dist_files", | 
 |     ], | 
 |     visibility = ["//pkg:__pkg__"], | 
 | ) | 
 |  | 
 | conformance_test( | 
 |     name = "conformance_test", | 
 |     failure_list = "//conformance:failure_list_cpp.txt", | 
 |     maximum_edition = "2023", | 
 |     testee = "//conformance:conformance_cpp", | 
 |     text_format_failure_list = "//conformance:text_format_failure_list_cpp.txt", | 
 | ) | 
 |  | 
 | # Copy the generated file_lists.cmake into a place where the staleness test | 
 | # below can use it. | 
 | genrule( | 
 |     name = "copy_cmake_lists", | 
 |     srcs = ["//pkg:gen_src_file_lists"], | 
 |     outs = ["cmake_copy/file_lists.cmake"], | 
 |     cmd = "cp $< $@", | 
 |     tags = ["manual"], | 
 |     visibility = ["//visibility:private"], | 
 | ) | 
 |  | 
 | staleness_test( | 
 |     name = "cmake_lists_staleness_test", | 
 |     outs = ["file_lists.cmake"], | 
 |     generated_pattern = "cmake_copy/%s", | 
 |     # Only run this test if it is explicitly specified on the command line (not | 
 |     # via //src:all or ...). This file will be automatically updated in a | 
 |     # GitHub action, so developers should not worry about failures from this | 
 |     # test. | 
 |     tags = ["manual"], | 
 | ) | 
 |  | 
 | test_suite( | 
 |     name = "editions_tests", | 
 |     tests = ["//editions:all_tests"], | 
 | ) |