Refactor editions infrastructure to a top-level directory.

The only public target here is the edition defaults helper macro, which can be used by external runtimes and plugins.  None of this code is C++-specific though, and should be organized higher up.  Appropriate aliases are also placed at the top level for public targets

PiperOrigin-RevId: 625392504
pull/16517/head
Mike Kruskal 11 months ago committed by Copybara-Service
parent 57772cdae7
commit ea81024ddf
  1. 18
      BUILD.bazel
  2. 34
      cmake/conformance.cmake
  3. 29
      conformance/BUILD.bazel
  4. 4
      conformance/binary_json_conformance_suite.cc
  5. 4
      conformance/conformance_cpp.cc
  6. 4
      conformance/conformance_objc.m
  7. 4
      conformance/conformance_python.py
  8. 4
      conformance/conformance_ruby.rb
  9. 4
      conformance/text_format_conformance_suite.cc
  10. 4
      csharp/generate_protos.sh
  11. 32
      editions/BUILD
  12. 22
      editions/codegen_tests/BUILD
  13. 0
      editions/codegen_tests/proto2_enum.proto
  14. 0
      editions/codegen_tests/proto2_group.proto
  15. 0
      editions/codegen_tests/proto2_import.proto
  16. 0
      editions/codegen_tests/proto2_inline_comments.proto
  17. 0
      editions/codegen_tests/proto2_multiline_comments.proto
  18. 0
      editions/codegen_tests/proto2_optional.proto
  19. 0
      editions/codegen_tests/proto2_packed.proto
  20. 0
      editions/codegen_tests/proto2_proto3_enum.proto
  21. 0
      editions/codegen_tests/proto2_required.proto
  22. 0
      editions/codegen_tests/proto2_unpacked.proto
  23. 0
      editions/codegen_tests/proto2_utf8_disabled.proto
  24. 0
      editions/codegen_tests/proto2_utf8_lite.proto
  25. 0
      editions/codegen_tests/proto2_utf8_verify.proto
  26. 0
      editions/codegen_tests/proto3_enum.proto
  27. 0
      editions/codegen_tests/proto3_implicit.proto
  28. 0
      editions/codegen_tests/proto3_import.proto
  29. 0
      editions/codegen_tests/proto3_optional.proto
  30. 0
      editions/codegen_tests/proto3_packed.proto
  31. 0
      editions/codegen_tests/proto3_unpacked.proto
  32. 0
      editions/codegen_tests/proto3_utf8_strict.proto
  33. 0
      editions/codegen_tests/rust_bazel_crate_mapping.txt
  34. 2
      editions/defaults.bzl
  35. 6
      editions/defaults_test.cc
  36. 0
      editions/defaults_test_embedded.h.template
  37. 0
      editions/defaults_test_embedded_base64.h.template
  38. 6
      editions/generated_files_test.cc
  39. 2
      editions/generated_reflection_test.cc
  40. 0
      editions/golden/compare_cpp_codegen_failure.txt
  41. 0
      editions/golden/compare_cpp_codegen_failure.xml
  42. 0
      editions/golden/compare_cpp_codegen_multiple.txt
  43. 0
      editions/golden/compare_cpp_codegen_multiple.xml
  44. 0
      editions/golden/compare_cpp_codegen_success.txt
  45. 0
      editions/golden/compare_cpp_codegen_success.xml
  46. 0
      editions/golden/editions_transform_proto2.proto
  47. 0
      editions/golden/editions_transform_proto2_lite.proto
  48. 0
      editions/golden/editions_transform_proto2_utf8_disabled.proto
  49. 0
      editions/golden/editions_transform_proto3.proto
  50. 0
      editions/golden/editions_transform_proto3_utf8_disabled.proto
  51. 0
      editions/golden/simple_proto2.proto
  52. 0
      editions/golden/simple_proto2_import.proto
  53. 0
      editions/golden/simple_proto3.proto
  54. 0
      editions/golden/test_messages_proto2_editions.proto
  55. 0
      editions/golden/test_messages_proto3_editions.proto
  56. 0
      editions/internal_defaults_escape.cc
  57. 0
      editions/proto/editions_transform_proto2.proto
  58. 0
      editions/proto/editions_transform_proto2_lite.proto
  59. 0
      editions/proto/editions_transform_proto2_utf8_disabled.proto
  60. 0
      editions/proto/editions_transform_proto3.proto
  61. 0
      editions/proto/editions_transform_proto3_utf8_disabled.proto
  62. 0
      editions/proto/test_editions_default_features.proto
  63. 17
      java/core/BUILD.bazel
  64. 4
      java/kotlin-lite/BUILD.bazel
  65. 4
      java/kotlin/BUILD.bazel
  66. 2
      java/lite/BUILD.bazel
  67. 5
      python/build_targets.bzl
  68. 21
      ruby/BUILD.bazel
  69. 5
      src/BUILD.bazel
  70. 5
      src/google/protobuf/BUILD.bazel
  71. 8
      upb/conformance/BUILD
  72. 8
      upb/conformance/conformance_upb.c
  73. 2
      upb/reflection/BUILD

@ -168,12 +168,6 @@ alias(
# Built-in runtime protos: these are part of protobuf's internal # Built-in runtime protos: these are part of protobuf's internal
# implementation, but are not Well-Known Types. # implementation, but are not Well-Known Types.
alias(
name = "cpp_features_proto",
actual = "//src/google/protobuf:cpp_features_proto", # proto_library
visibility = ["//visibility:public"],
)
alias( alias(
name = "descriptor_proto", name = "descriptor_proto",
actual = "//src/google/protobuf:descriptor_proto", # proto_library actual = "//src/google/protobuf:descriptor_proto", # proto_library
@ -334,6 +328,12 @@ alias(
visibility = ["//visibility:public"], visibility = ["//visibility:public"],
) )
alias(
name = "cpp_features_proto",
actual = "//src/google/protobuf:cpp_features_proto", # proto_library
visibility = ["//visibility:public"],
)
################################################################################ ################################################################################
# Java support # Java support
################################################################################ ################################################################################
@ -368,6 +368,12 @@ alias(
visibility = ["//visibility:public"], visibility = ["//visibility:public"],
) )
alias(
name = "java_features_proto",
actual = "//java/core:java_features_proto", # proto_library
visibility = ["//visibility:public"],
)
################################################################################ ################################################################################
# Python support # Python support
################################################################################ ################################################################################

@ -30,6 +30,24 @@ add_custom_command(
--cpp_out=${protobuf_BINARY_DIR} --cpp_out=${protobuf_BINARY_DIR}
) )
add_custom_command(
OUTPUT
${protobuf_BINARY_DIR}/editions/golden/test_messages_proto3_editions.pb.h
${protobuf_BINARY_DIR}/editions/golden/test_messages_proto3_editions.pb.cc
${protobuf_BINARY_DIR}/editions/golden/test_messages_proto2_editions.pb.h
${protobuf_BINARY_DIR}/editions/golden/test_messages_proto2_editions.pb.cc
DEPENDS ${protobuf_PROTOC_EXE}
${protobuf_SOURCE_DIR}/editions/golden/test_messages_proto3_editions.proto
${protobuf_SOURCE_DIR}/editions/golden/test_messages_proto2_editions.proto
COMMAND ${protobuf_PROTOC_EXE}
${protobuf_SOURCE_DIR}/editions/golden/test_messages_proto3_editions.proto
${protobuf_SOURCE_DIR}/editions/golden/test_messages_proto2_editions.proto
--proto_path=${protobuf_SOURCE_DIR}
--proto_path=${protobuf_SOURCE_DIR}/src
--cpp_out=${protobuf_BINARY_DIR}
)
file(MAKE_DIRECTORY ${protobuf_BINARY_DIR}/src) file(MAKE_DIRECTORY ${protobuf_BINARY_DIR}/src)
add_custom_command( add_custom_command(
@ -38,20 +56,12 @@ add_custom_command(
${protobuf_BINARY_DIR}/src/google/protobuf/test_messages_proto3.pb.cc ${protobuf_BINARY_DIR}/src/google/protobuf/test_messages_proto3.pb.cc
${protobuf_BINARY_DIR}/src/google/protobuf/test_messages_proto2.pb.h ${protobuf_BINARY_DIR}/src/google/protobuf/test_messages_proto2.pb.h
${protobuf_BINARY_DIR}/src/google/protobuf/test_messages_proto2.pb.cc ${protobuf_BINARY_DIR}/src/google/protobuf/test_messages_proto2.pb.cc
${protobuf_BINARY_DIR}/src/google/protobuf/editions/golden/test_messages_proto3_editions.pb.h
${protobuf_BINARY_DIR}/src/google/protobuf/editions/golden/test_messages_proto3_editions.pb.cc
${protobuf_BINARY_DIR}/src/google/protobuf/editions/golden/test_messages_proto2_editions.pb.h
${protobuf_BINARY_DIR}/src/google/protobuf/editions/golden/test_messages_proto2_editions.pb.cc
DEPENDS ${protobuf_PROTOC_EXE} DEPENDS ${protobuf_PROTOC_EXE}
${protobuf_SOURCE_DIR}/src/google/protobuf/test_messages_proto3.proto ${protobuf_SOURCE_DIR}/src/google/protobuf/test_messages_proto3.proto
${protobuf_SOURCE_DIR}/src/google/protobuf/test_messages_proto2.proto ${protobuf_SOURCE_DIR}/src/google/protobuf/test_messages_proto2.proto
${protobuf_SOURCE_DIR}/src/google/protobuf/editions/golden/test_messages_proto3_editions.proto
${protobuf_SOURCE_DIR}/src/google/protobuf/editions/golden/test_messages_proto2_editions.proto
COMMAND ${protobuf_PROTOC_EXE} COMMAND ${protobuf_PROTOC_EXE}
${protobuf_SOURCE_DIR}/src/google/protobuf/test_messages_proto3.proto ${protobuf_SOURCE_DIR}/src/google/protobuf/test_messages_proto3.proto
${protobuf_SOURCE_DIR}/src/google/protobuf/test_messages_proto2.proto ${protobuf_SOURCE_DIR}/src/google/protobuf/test_messages_proto2.proto
${protobuf_SOURCE_DIR}/src/google/protobuf/editions/golden/test_messages_proto3_editions.proto
${protobuf_SOURCE_DIR}/src/google/protobuf/editions/golden/test_messages_proto2_editions.proto
--proto_path=${protobuf_SOURCE_DIR}/src --proto_path=${protobuf_SOURCE_DIR}/src
--cpp_out=${protobuf_BINARY_DIR}/src --cpp_out=${protobuf_BINARY_DIR}/src
) )
@ -61,14 +71,14 @@ add_library(libconformance_common STATIC
${protobuf_BINARY_DIR}/conformance/conformance.pb.cc ${protobuf_BINARY_DIR}/conformance/conformance.pb.cc
${protobuf_BINARY_DIR}/conformance/test_protos/test_messages_edition2023.pb.h ${protobuf_BINARY_DIR}/conformance/test_protos/test_messages_edition2023.pb.h
${protobuf_BINARY_DIR}/conformance/test_protos/test_messages_edition2023.pb.cc ${protobuf_BINARY_DIR}/conformance/test_protos/test_messages_edition2023.pb.cc
${protobuf_BINARY_DIR}/editions/golden/test_messages_proto3_editions.pb.h
${protobuf_BINARY_DIR}/editions/golden/test_messages_proto3_editions.pb.cc
${protobuf_BINARY_DIR}/editions/golden/test_messages_proto2_editions.pb.h
${protobuf_BINARY_DIR}/editions/golden/test_messages_proto2_editions.pb.cc
${protobuf_BINARY_DIR}/src/google/protobuf/test_messages_proto2.pb.h ${protobuf_BINARY_DIR}/src/google/protobuf/test_messages_proto2.pb.h
${protobuf_BINARY_DIR}/src/google/protobuf/test_messages_proto2.pb.cc ${protobuf_BINARY_DIR}/src/google/protobuf/test_messages_proto2.pb.cc
${protobuf_BINARY_DIR}/src/google/protobuf/test_messages_proto3.pb.h ${protobuf_BINARY_DIR}/src/google/protobuf/test_messages_proto3.pb.h
${protobuf_BINARY_DIR}/src/google/protobuf/test_messages_proto3.pb.cc ${protobuf_BINARY_DIR}/src/google/protobuf/test_messages_proto3.pb.cc
${protobuf_BINARY_DIR}/src/google/protobuf/editions/golden/test_messages_proto3_editions.pb.h
${protobuf_BINARY_DIR}/src/google/protobuf/editions/golden/test_messages_proto3_editions.pb.cc
${protobuf_BINARY_DIR}/src/google/protobuf/editions/golden/test_messages_proto2_editions.pb.h
${protobuf_BINARY_DIR}/src/google/protobuf/editions/golden/test_messages_proto2_editions.pb.cc
) )
target_link_libraries(libconformance_common target_link_libraries(libconformance_common
${protobuf_LIB_PROTOBUF} ${protobuf_LIB_PROTOBUF}

@ -8,7 +8,7 @@ load(
"strip_prefix", "strip_prefix",
) )
load("@rules_ruby//ruby:defs.bzl", "ruby_binary") load("@rules_ruby//ruby:defs.bzl", "ruby_binary")
load("//:protobuf.bzl", "internal_csharp_proto_library", "internal_objc_proto_library", "internal_php_proto_library", "internal_py_proto_library") load("//:protobuf.bzl", "internal_csharp_proto_library", "internal_objc_proto_library", "internal_php_proto_library", "internal_py_proto_library", "internal_ruby_proto_library")
load("//bazel:cc_proto_library.bzl", "cc_proto_library") load("//bazel:cc_proto_library.bzl", "cc_proto_library")
load("//build_defs:internal_shell.bzl", "inline_sh_binary") load("//build_defs:internal_shell.bzl", "inline_sh_binary")
load("//ruby:defs.bzl", "internal_ruby_proto_library") load("//ruby:defs.bzl", "internal_ruby_proto_library")
@ -167,10 +167,10 @@ cc_library(
":test_messages_proto2_proto_cc", ":test_messages_proto2_proto_cc",
":test_messages_proto3_proto_cc", ":test_messages_proto3_proto_cc",
"//conformance/test_protos:test_messages_edition2023_cc_proto", "//conformance/test_protos:test_messages_edition2023_cc_proto",
"//editions:test_messages_proto2_editions_cc_proto",
"//editions:test_messages_proto3_editions_cc_proto",
"//src/google/protobuf", "//src/google/protobuf",
"//src/google/protobuf:protobuf_lite", "//src/google/protobuf:protobuf_lite",
"//src/google/protobuf/editions:test_messages_proto2_editions_cc_proto",
"//src/google/protobuf/editions:test_messages_proto3_editions_cc_proto",
"//src/google/protobuf/json", "//src/google/protobuf/json",
"//src/google/protobuf/util:type_resolver", "//src/google/protobuf/util:type_resolver",
"@com_google_absl//absl/log:absl_check", "@com_google_absl//absl/log:absl_check",
@ -192,9 +192,9 @@ cc_library(
":test_messages_proto2_proto_cc", ":test_messages_proto2_proto_cc",
":test_messages_proto3_proto_cc", ":test_messages_proto3_proto_cc",
"//conformance/test_protos:test_messages_edition2023_cc_proto", "//conformance/test_protos:test_messages_edition2023_cc_proto",
"//editions:test_messages_proto2_editions_cc_proto",
"//editions:test_messages_proto3_editions_cc_proto",
"//src/google/protobuf", "//src/google/protobuf",
"//src/google/protobuf/editions:test_messages_proto2_editions_cc_proto",
"//src/google/protobuf/editions:test_messages_proto3_editions_cc_proto",
"@com_google_absl//absl/log:absl_log", "@com_google_absl//absl/log:absl_log",
"@com_google_absl//absl/log:die_if_null", "@com_google_absl//absl/log:die_if_null",
"@com_google_absl//absl/strings", "@com_google_absl//absl/strings",
@ -226,11 +226,11 @@ cc_binary(
"//:test_messages_proto2_cc_proto", "//:test_messages_proto2_cc_proto",
"//:test_messages_proto3_cc_proto", "//:test_messages_proto3_cc_proto",
"//conformance/test_protos:test_messages_edition2023_cc_proto", "//conformance/test_protos:test_messages_edition2023_cc_proto",
"//editions:test_messages_proto2_editions_cc_proto",
"//editions:test_messages_proto3_editions_cc_proto",
"//src/google/protobuf", "//src/google/protobuf",
"//src/google/protobuf:port", "//src/google/protobuf:port",
"//src/google/protobuf:protobuf_lite", "//src/google/protobuf:protobuf_lite",
"//src/google/protobuf/editions:test_messages_proto2_editions_cc_proto",
"//src/google/protobuf/editions:test_messages_proto3_editions_cc_proto",
"//src/google/protobuf/stubs", "//src/google/protobuf/stubs",
"//src/google/protobuf/util:json_util", "//src/google/protobuf/util:json_util",
"//src/google/protobuf/util:type_resolver", "//src/google/protobuf/util:type_resolver",
@ -257,8 +257,8 @@ java_binary(
"//:test_messages_proto2_java_proto", "//:test_messages_proto2_java_proto",
"//:test_messages_proto3_java_proto", "//:test_messages_proto3_java_proto",
"//conformance/test_protos:test_messages_edition2023_java_proto", "//conformance/test_protos:test_messages_edition2023_java_proto",
"//src/google/protobuf/editions:test_messages_proto2_editions_java_proto", "//editions:test_messages_proto2_editions_java_proto",
"//src/google/protobuf/editions:test_messages_proto3_editions_java_proto", "//editions:test_messages_proto3_editions_java_proto",
], ],
) )
@ -277,8 +277,8 @@ java_binary(
"//:test_messages_proto2_java_proto_lite", "//:test_messages_proto2_java_proto_lite",
"//:test_messages_proto3_java_proto_lite", "//:test_messages_proto3_java_proto_lite",
"//conformance/test_protos:test_messages_edition2023_java_proto_lite", "//conformance/test_protos:test_messages_edition2023_java_proto_lite",
"//src/google/protobuf/editions:test_messages_proto2_editions_java_proto_lite", "//editions:test_messages_proto2_editions_java_proto_lite",
"//src/google/protobuf/editions:test_messages_proto3_editions_java_proto_lite", "//editions:test_messages_proto3_editions_java_proto_lite",
], ],
) )
@ -296,6 +296,8 @@ py_binary(
":conformance_py_proto", ":conformance_py_proto",
"//:protobuf_python", "//:protobuf_python",
"//conformance/test_protos:test_messages_edition2023_py_proto", "//conformance/test_protos:test_messages_edition2023_py_proto",
"//editions:test_messages_proto2_editions_py_pb2",
"//editions:test_messages_proto3_editions_py_pb2",
"//python:_message", # Make upb visible if we need it. "//python:_message", # Make upb visible if we need it.
"//python:conformance_test_py_proto", "//python:conformance_test_py_proto",
], ],
@ -363,8 +365,8 @@ objc_library(
"//:test_messages_proto2_objc_proto", "//:test_messages_proto2_objc_proto",
"//:test_messages_proto3_objc_proto", "//:test_messages_proto3_objc_proto",
"//conformance/test_protos:test_messages_edition2023_objc_proto", "//conformance/test_protos:test_messages_edition2023_objc_proto",
"//src/google/protobuf/editions:test_messages_proto2_editions_objc_proto", "//editions:test_messages_proto2_editions_objc_proto",
"//src/google/protobuf/editions:test_messages_proto3_editions_objc_proto", "//editions:test_messages_proto3_editions_objc_proto",
], ],
) )
@ -385,6 +387,7 @@ ruby_binary(
deps = [ deps = [
":conformance_ruby_proto", ":conformance_ruby_proto",
"//conformance/test_protos:test_messages_edition2023_ruby_proto", "//conformance/test_protos:test_messages_edition2023_ruby_proto",
"//ruby:conformance_editions_test_ruby_proto",
"//ruby:conformance_test_ruby_proto", "//ruby:conformance_test_ruby_proto",
"//ruby:protobuf", "//ruby:protobuf",
], ],

@ -27,8 +27,8 @@
#include "conformance/conformance.pb.h" #include "conformance/conformance.pb.h"
#include "conformance_test.h" #include "conformance_test.h"
#include "conformance/test_protos/test_messages_edition2023.pb.h" #include "conformance/test_protos/test_messages_edition2023.pb.h"
#include "google/protobuf/editions/golden/test_messages_proto2_editions.pb.h" #include "editions/golden/test_messages_proto2_editions.pb.h"
#include "google/protobuf/editions/golden/test_messages_proto3_editions.pb.h" #include "editions/golden/test_messages_proto3_editions.pb.h"
#include "google/protobuf/endian.h" #include "google/protobuf/endian.h"
#include "google/protobuf/json/json.h" #include "google/protobuf/json/json.h"
#include "google/protobuf/test_messages_proto2.pb.h" #include "google/protobuf/test_messages_proto2.pb.h"

@ -24,8 +24,8 @@
#include "conformance/conformance.pb.h" #include "conformance/conformance.pb.h"
#include "conformance/conformance.pb.h" #include "conformance/conformance.pb.h"
#include "conformance/test_protos/test_messages_edition2023.pb.h" #include "conformance/test_protos/test_messages_edition2023.pb.h"
#include "google/protobuf/editions/golden/test_messages_proto2_editions.pb.h" #include "editions/golden/test_messages_proto2_editions.pb.h"
#include "google/protobuf/editions/golden/test_messages_proto3_editions.pb.h" #include "editions/golden/test_messages_proto3_editions.pb.h"
#include "google/protobuf/endian.h" #include "google/protobuf/endian.h"
#include "google/protobuf/message.h" #include "google/protobuf/message.h"
#include "google/protobuf/test_messages_proto2.pb.h" #include "google/protobuf/test_messages_proto2.pb.h"

@ -8,10 +8,10 @@
#import <Foundation/Foundation.h> #import <Foundation/Foundation.h>
#import "Conformance.pbobjc.h" #import "Conformance.pbobjc.h"
#import "editions/golden/TestMessagesProto2Editions.pbobjc.h"
#import "editions/golden/TestMessagesProto3Editions.pbobjc.h"
#import "google/protobuf/TestMessagesProto2.pbobjc.h" #import "google/protobuf/TestMessagesProto2.pbobjc.h"
#import "google/protobuf/TestMessagesProto3.pbobjc.h" #import "google/protobuf/TestMessagesProto3.pbobjc.h"
#import "google/protobuf/editions/golden/TestMessagesProto2Editions.pbobjc.h"
#import "google/protobuf/editions/golden/TestMessagesProto3Editions.pbobjc.h"
#import "test_protos/TestMessagesEdition2023.pbobjc.h" #import "test_protos/TestMessagesEdition2023.pbobjc.h"
static void Die(NSString *format, ...) __dead2; static void Die(NSString *format, ...) __dead2;

@ -20,8 +20,8 @@ from google.protobuf import test_messages_proto2_pb2
from google.protobuf import test_messages_proto3_pb2 from google.protobuf import test_messages_proto3_pb2
from conformance import conformance_pb2 from conformance import conformance_pb2
from conformance.test_protos import test_messages_edition2023_pb2 from conformance.test_protos import test_messages_edition2023_pb2
from google.protobuf.editions.golden import test_messages_proto2_editions_pb2 from editions.golden import test_messages_proto2_editions_pb2
from google.protobuf.editions.golden import test_messages_proto3_editions_pb2 from editions.golden import test_messages_proto3_editions_pb2
test_count = 0 test_count = 0
verbose = False verbose = False

@ -12,8 +12,8 @@ require 'conformance/test_protos/test_messages_edition2023_pb'
require 'google/protobuf' require 'google/protobuf'
require 'google/protobuf/test_messages_proto3_pb' require 'google/protobuf/test_messages_proto3_pb'
require 'google/protobuf/test_messages_proto2_pb' require 'google/protobuf/test_messages_proto2_pb'
require 'google/protobuf/editions/golden/test_messages_proto2_editions_pb' require 'test_messages_proto2_editions_pb'
require 'google/protobuf/editions/golden/test_messages_proto3_editions_pb' require 'test_messages_proto3_editions_pb'
$test_count = 0 $test_count = 0
$verbose = false $verbose = false

@ -17,8 +17,8 @@
#include "absl/strings/str_format.h" #include "absl/strings/str_format.h"
#include "conformance_test.h" #include "conformance_test.h"
#include "conformance/test_protos/test_messages_edition2023.pb.h" #include "conformance/test_protos/test_messages_edition2023.pb.h"
#include "google/protobuf/editions/golden/test_messages_proto2_editions.pb.h" #include "editions/golden/test_messages_proto2_editions.pb.h"
#include "google/protobuf/editions/golden/test_messages_proto3_editions.pb.h" #include "editions/golden/test_messages_proto3_editions.pb.h"
#include "google/protobuf/test_messages_proto2.pb.h" #include "google/protobuf/test_messages_proto2.pb.h"
#include "google/protobuf/test_messages_proto3.pb.h" #include "google/protobuf/test_messages_proto3.pb.h"
#include "google/protobuf/text_format.h" #include "google/protobuf/text_format.h"

@ -72,8 +72,8 @@ $PROTOC -Isrc -I. \
csharp/protos/unittest_issue6936_b.proto \ csharp/protos/unittest_issue6936_b.proto \
csharp/protos/unittest_issue6936_c.proto \ csharp/protos/unittest_issue6936_c.proto \
csharp/protos/unittest_selfreferential_options.proto \ csharp/protos/unittest_selfreferential_options.proto \
src/google/protobuf/editions/golden/test_messages_proto3_editions.proto \ editions/golden/test_messages_proto3_editions.proto \
src/google/protobuf/editions/golden/test_messages_proto2_editions.proto \ editions/golden/test_messages_proto2_editions.proto \
src/google/protobuf/unittest_well_known_types.proto \ src/google/protobuf/unittest_well_known_types.proto \
src/google/protobuf/test_messages_proto3.proto \ src/google/protobuf/test_messages_proto3.proto \
src/google/protobuf/test_messages_proto2.proto \ src/google/protobuf/test_messages_proto2.proto \

@ -1,6 +1,5 @@
load("@bazel_skylib//:bzl_library.bzl", "bzl_library") load("@bazel_skylib//:bzl_library.bzl", "bzl_library")
load("@rules_python//python:proto.bzl", "py_proto_library") load("//:protobuf.bzl", "internal_objc_proto_library", "internal_py_proto_library")
load("//:protobuf.bzl", "internal_objc_proto_library")
load("//bazel:cc_proto_library.bzl", "cc_proto_library") load("//bazel:cc_proto_library.bzl", "cc_proto_library")
load("//bazel:upb_proto_library.bzl", "upb_c_proto_library", "upb_proto_reflection_library") load("//bazel:upb_proto_library.bzl", "upb_c_proto_library", "upb_proto_reflection_library")
load(":defaults.bzl", "compile_edition_defaults", "embed_edition_defaults") load(":defaults.bzl", "compile_edition_defaults", "embed_edition_defaults")
@ -74,7 +73,6 @@ cc_library(
"defaults_test_embedded.h", "defaults_test_embedded.h",
"defaults_test_embedded_base64.h", "defaults_test_embedded_base64.h",
], ],
strip_include_prefix = "/src",
) )
cc_test( cc_test(
@ -108,7 +106,6 @@ proto_library(
name = "test_messages_proto2_editions_proto", name = "test_messages_proto2_editions_proto",
testonly = True, testonly = True,
srcs = ["golden/test_messages_proto2_editions.proto"], srcs = ["golden/test_messages_proto2_editions.proto"],
strip_import_prefix = "/src",
) )
cc_proto_library( cc_proto_library(
@ -139,11 +136,14 @@ java_lite_proto_library(
deps = [":test_messages_proto2_editions_proto"], deps = [":test_messages_proto2_editions_proto"],
) )
py_proto_library( internal_py_proto_library(
name = "test_messages_proto2_editions_py_pb2", name = "test_messages_proto2_editions_py_pb2",
testonly = True, testonly = True,
visibility = ["//conformance:__pkg__"], srcs = ["golden/test_messages_proto2_editions.proto"],
deps = [":test_messages_proto2_editions_proto"], srcs_version = "PY2AND3",
visibility = [
"//conformance:__pkg__",
],
) )
upb_c_proto_library( upb_c_proto_library(
@ -163,7 +163,6 @@ proto_library(
name = "test_messages_proto3_editions_proto", name = "test_messages_proto3_editions_proto",
testonly = True, testonly = True,
srcs = ["golden/test_messages_proto3_editions.proto"], srcs = ["golden/test_messages_proto3_editions.proto"],
strip_import_prefix = "/src",
deps = [ deps = [
"//:any_proto", "//:any_proto",
"//:duration_proto", "//:duration_proto",
@ -207,11 +206,15 @@ java_lite_proto_library(
deps = [":test_messages_proto3_editions_proto"], deps = [":test_messages_proto3_editions_proto"],
) )
py_proto_library( internal_py_proto_library(
name = "test_messages_proto3_editions_py_pb2", name = "test_messages_proto3_editions_py_pb2",
testonly = True, testonly = True,
visibility = ["//conformance:__pkg__"], srcs = ["golden/test_messages_proto3_editions.proto"],
deps = [":test_messages_proto3_editions_proto"], srcs_version = "PY2AND3",
visibility = [
"//conformance:__pkg__",
],
deps = ["//python:well_known_types_py_pb2"],
) )
upb_c_proto_library( upb_c_proto_library(
@ -227,14 +230,13 @@ upb_proto_reflection_library(
deps = ["test_messages_proto3_editions_proto"], deps = ["test_messages_proto3_editions_proto"],
) )
# Export these for conformance tests until we support py_proto_library. # Export these for conformance tests for ruby codegen.
exports_files( exports_files(
[ [
"golden/test_messages_proto2_editions.proto", "golden/test_messages_proto2_editions.proto",
"golden/test_messages_proto3_editions.proto", "golden/test_messages_proto3_editions.proto",
], ],
visibility = [ visibility = [
"//python:__pkg__",
"//ruby:__pkg__", "//ruby:__pkg__",
], ],
) )
@ -243,7 +245,6 @@ proto_library(
name = "test_editions_default_features_proto", name = "test_editions_default_features_proto",
testonly = True, testonly = True,
srcs = ["proto/test_editions_default_features.proto"], srcs = ["proto/test_editions_default_features.proto"],
strip_import_prefix = "/src",
) )
cc_proto_library( cc_proto_library(
@ -275,3 +276,6 @@ cc_test(
"@com_google_googletest//:gtest_main", "@com_google_googletest//:gtest_main",
], ],
) )
# Define a test suite to allow us to trigger these tests from //src expansions.
test_suite(name = "all_tests")

@ -3,105 +3,89 @@ load("//bazel:cc_proto_library.bzl", "cc_proto_library")
exports_files( exports_files(
glob(["*.proto"]) + ["rust_bazel_crate_mapping.txt"], glob(["*.proto"]) + ["rust_bazel_crate_mapping.txt"],
visibility = [ visibility = [
"//src/google/protobuf/editions:__pkg__", "//editions:__pkg__",
], ],
) )
proto_library( proto_library(
name = "proto2_inline_comments_proto", name = "proto2_inline_comments_proto",
srcs = ["proto2_inline_comments.proto"], srcs = ["proto2_inline_comments.proto"],
strip_import_prefix = "/src",
) )
proto_library( proto_library(
name = "proto2_multiline_comments_proto", name = "proto2_multiline_comments_proto",
srcs = ["proto2_multiline_comments.proto"], srcs = ["proto2_multiline_comments.proto"],
strip_import_prefix = "/src",
) )
proto_library( proto_library(
name = "proto2_required_proto", name = "proto2_required_proto",
srcs = ["proto2_required.proto"], srcs = ["proto2_required.proto"],
strip_import_prefix = "/src",
) )
proto_library( proto_library(
name = "proto3_optional_proto", name = "proto3_optional_proto",
srcs = ["proto3_optional.proto"], srcs = ["proto3_optional.proto"],
strip_import_prefix = "/src",
) )
proto_library( proto_library(
name = "proto3_implicit_proto", name = "proto3_implicit_proto",
srcs = ["proto3_implicit.proto"], srcs = ["proto3_implicit.proto"],
strip_import_prefix = "/src",
) )
proto_library( proto_library(
name = "proto2_optional_proto", name = "proto2_optional_proto",
srcs = ["proto2_optional.proto"], srcs = ["proto2_optional.proto"],
strip_import_prefix = "/src",
) )
proto_library( proto_library(
name = "proto2_enum_proto", name = "proto2_enum_proto",
srcs = ["proto2_enum.proto"], srcs = ["proto2_enum.proto"],
strip_import_prefix = "/src",
) )
proto_library( proto_library(
name = "proto3_enum_proto", name = "proto3_enum_proto",
srcs = ["proto3_enum.proto"], srcs = ["proto3_enum.proto"],
strip_import_prefix = "/src",
) )
proto_library( proto_library(
name = "proto2_packed_proto", name = "proto2_packed_proto",
srcs = ["proto2_packed.proto"], srcs = ["proto2_packed.proto"],
strip_import_prefix = "/src",
) )
proto_library( proto_library(
name = "proto3_packed_proto", name = "proto3_packed_proto",
srcs = ["proto3_packed.proto"], srcs = ["proto3_packed.proto"],
strip_import_prefix = "/src",
) )
proto_library( proto_library(
name = "proto2_group_proto", name = "proto2_group_proto",
srcs = ["proto2_group.proto"], srcs = ["proto2_group.proto"],
strip_import_prefix = "/src",
) )
proto_library( proto_library(
name = "proto2_unpacked_proto", name = "proto2_unpacked_proto",
srcs = ["proto2_unpacked.proto"], srcs = ["proto2_unpacked.proto"],
strip_import_prefix = "/src",
) )
proto_library( proto_library(
name = "proto3_unpacked_proto", name = "proto3_unpacked_proto",
srcs = ["proto3_unpacked.proto"], srcs = ["proto3_unpacked.proto"],
strip_import_prefix = "/src",
) )
proto_library( proto_library(
name = "proto2_utf8_verify_proto", name = "proto2_utf8_verify_proto",
srcs = ["proto2_utf8_verify.proto"], srcs = ["proto2_utf8_verify.proto"],
strip_import_prefix = "/src",
) )
proto_library( proto_library(
name = "proto2_import_proto", name = "proto2_import_proto",
srcs = ["proto2_import.proto"], srcs = ["proto2_import.proto"],
strip_import_prefix = "/src",
deps = [":proto2_optional_proto"], deps = [":proto2_optional_proto"],
) )
proto_library( proto_library(
name = "proto2_utf8_disabled_proto", name = "proto2_utf8_disabled_proto",
srcs = ["proto2_utf8_disabled.proto"], srcs = ["proto2_utf8_disabled.proto"],
strip_import_prefix = "/src",
) )
cc_proto_library( cc_proto_library(
@ -112,7 +96,6 @@ cc_proto_library(
proto_library( proto_library(
name = "proto2_utf8_lite_proto", name = "proto2_utf8_lite_proto",
srcs = ["proto2_utf8_lite.proto"], srcs = ["proto2_utf8_lite.proto"],
strip_import_prefix = "/src",
) )
cc_proto_library( cc_proto_library(
@ -123,20 +106,17 @@ cc_proto_library(
proto_library( proto_library(
name = "proto2_proto3_enum_proto", name = "proto2_proto3_enum_proto",
srcs = ["proto2_proto3_enum.proto"], srcs = ["proto2_proto3_enum.proto"],
strip_import_prefix = "/src",
deps = [":proto3_enum_proto"], deps = [":proto3_enum_proto"],
) )
proto_library( proto_library(
name = "proto3_utf8_strict_proto", name = "proto3_utf8_strict_proto",
srcs = ["proto3_utf8_strict.proto"], srcs = ["proto3_utf8_strict.proto"],
strip_import_prefix = "/src",
) )
proto_library( proto_library(
name = "proto3_import_proto", name = "proto3_import_proto",
srcs = ["proto3_import.proto"], srcs = ["proto3_import.proto"],
strip_import_prefix = "/src",
deps = [":proto3_implicit_proto"], deps = [":proto3_implicit_proto"],
) )

@ -120,7 +120,7 @@ embed_edition_defaults = rule(
doc = "The encoding format to use for the binary data (octal or base64)", doc = "The encoding format to use for the binary data (octal or base64)",
), ),
"_escape": attr.label( "_escape": attr.label(
default = "//src/google/protobuf/editions:internal_defaults_escape", default = "//editions:internal_defaults_escape",
executable = True, executable = True,
cfg = "exec", cfg = "exec",
), ),

@ -12,8 +12,8 @@
#include "absl/strings/escaping.h" #include "absl/strings/escaping.h"
#include "absl/strings/str_cat.h" #include "absl/strings/str_cat.h"
#include "absl/strings/string_view.h" #include "absl/strings/string_view.h"
#include "google/protobuf/editions/defaults_test_embedded.h" #include "editions/defaults_test_embedded.h"
#include "google/protobuf/editions/defaults_test_embedded_base64.h" #include "editions/defaults_test_embedded_base64.h"
#include "google/protobuf/unittest_features.pb.h" #include "google/protobuf/unittest_features.pb.h"
#include "google/protobuf/stubs/status_macros.h" #include "google/protobuf/stubs/status_macros.h"
@ -29,7 +29,7 @@ namespace {
absl::StatusOr<FeatureSetDefaults> ReadDefaults(absl::string_view name) { absl::StatusOr<FeatureSetDefaults> ReadDefaults(absl::string_view name) {
auto runfiles = absl::WrapUnique(bazel::tools::cpp::runfiles::Runfiles::CreateForTest()); auto runfiles = absl::WrapUnique(bazel::tools::cpp::runfiles::Runfiles::CreateForTest());
std::string file = runfiles->Rlocation(absl::StrCat( std::string file = runfiles->Rlocation(absl::StrCat(
"com_google_protobuf/src/google/protobuf/editions/", "com_google_protobuf/editions/",
name, ".binpb")); name, ".binpb"));
std::string data; std::string data;
RETURN_IF_ERROR(File::GetContents(file, &data, true)); RETURN_IF_ERROR(File::GetContents(file, &data, true));

@ -9,9 +9,9 @@
#include <gmock/gmock.h> #include <gmock/gmock.h>
#include <gtest/gtest.h> #include <gtest/gtest.h>
#include "google/protobuf/descriptor.h" #include "google/protobuf/descriptor.h"
#include "google/protobuf/editions/golden/test_messages_proto2_editions.pb.h" #include "editions/golden/test_messages_proto2_editions.pb.h"
#include "google/protobuf/editions/golden/test_messages_proto3_editions.pb.h" #include "editions/golden/test_messages_proto3_editions.pb.h"
#include "google/protobuf/editions/proto/test_editions_default_features.pb.h" #include "editions/proto/test_editions_default_features.pb.h"
#include "google/protobuf/test_textproto.h" #include "google/protobuf/test_textproto.h"
// These tests provide some basic minimal coverage that protos work as expected. // These tests provide some basic minimal coverage that protos work as expected.

@ -6,7 +6,7 @@
// https://developers.google.com/open-source/licenses/bsd // https://developers.google.com/open-source/licenses/bsd
#include <gtest/gtest.h> #include <gtest/gtest.h>
#include "google/protobuf/editions/golden/test_messages_proto2_editions.pb.h" #include "editions/golden/test_messages_proto2_editions.pb.h"
namespace google { namespace google {
namespace protobuf { namespace protobuf {

@ -8,8 +8,8 @@ load("//bazel:proto_library.bzl", "proto_library")
load("//bazel/toolchains:proto_lang_toolchain.bzl", "proto_lang_toolchain") load("//bazel/toolchains:proto_lang_toolchain.bzl", "proto_lang_toolchain")
load("//build_defs:java_opts.bzl", "protobuf_java_export", "protobuf_java_library", "protobuf_versioned_java_library") load("//build_defs:java_opts.bzl", "protobuf_java_export", "protobuf_java_library", "protobuf_versioned_java_library")
load("//conformance:defs.bzl", "conformance_test") load("//conformance:defs.bzl", "conformance_test")
load("//editions:defaults.bzl", "compile_edition_defaults", "embed_edition_defaults")
load("//java/internal:testing.bzl", "junit_tests") load("//java/internal:testing.bzl", "junit_tests")
load("//src/google/protobuf/editions:defaults.bzl", "compile_edition_defaults", "embed_edition_defaults")
load("//upb/cmake:build_defs.bzl", "staleness_test") load("//upb/cmake:build_defs.bzl", "staleness_test")
LITE_SRCS = [ LITE_SRCS = [
@ -120,13 +120,13 @@ internal_gen_well_known_protos_java(
name = "gen_well_known_protos_javalite", name = "gen_well_known_protos_javalite",
javalite = True, javalite = True,
deps = [ deps = [
":java_features_proto",
"//:any_proto", "//:any_proto",
"//:api_proto", "//:api_proto",
"//:descriptor_proto", "//:descriptor_proto",
"//:duration_proto", "//:duration_proto",
"//:empty_proto", "//:empty_proto",
"//:field_mask_proto", "//:field_mask_proto",
"//:java_features_proto",
"//:source_context_proto", "//:source_context_proto",
"//:struct_proto", "//:struct_proto",
"//:timestamp_proto", "//:timestamp_proto",
@ -168,7 +168,7 @@ protobuf_java_export(
maven_coordinates = "com.google.protobuf:protobuf-javalite:%s" % PROTOBUF_JAVA_VERSION, maven_coordinates = "com.google.protobuf:protobuf-javalite:%s" % PROTOBUF_JAVA_VERSION,
pom_template = "//java/lite:pom_template.xml", pom_template = "//java/lite:pom_template.xml",
resources = [ resources = [
":java_features_proto", "//:java_features_proto",
"//:lite_well_known_protos", "//:lite_well_known_protos",
"//src/google/protobuf:descriptor_proto_srcs", "//src/google/protobuf:descriptor_proto_srcs",
], ],
@ -186,9 +186,8 @@ proto_library(
srcs = ["src/main/resources/google/protobuf/java_features.proto"], srcs = ["src/main/resources/google/protobuf/java_features.proto"],
strip_import_prefix = "/java/core/src/main/resources", strip_import_prefix = "/java/core/src/main/resources",
visibility = [ visibility = [
"//java/kotlin:__pkg__", "//:__pkg__",
"//java/kotlin-lite:__pkg__", "//java/__subpackages__",
"//java/lite:__pkg__",
"//pkg:__pkg__", "//pkg:__pkg__",
], ],
deps = ["//:descriptor_proto"], deps = ["//:descriptor_proto"],
@ -204,7 +203,7 @@ compile_edition_defaults(
name = "java_edition_defaults", name = "java_edition_defaults",
srcs = [ srcs = [
"//:descriptor_proto", "//:descriptor_proto",
"//java/core:java_features_proto", "//:java_features_proto",
], ],
maximum_edition = "2023", maximum_edition = "2023",
minimum_edition = "PROTO2", minimum_edition = "PROTO2",
@ -229,7 +228,6 @@ staleness_test(
internal_gen_well_known_protos_java( internal_gen_well_known_protos_java(
name = "gen_well_known_protos_java", name = "gen_well_known_protos_java",
deps = [ deps = [
":java_features_proto",
"//:any_proto", "//:any_proto",
"//:api_proto", "//:api_proto",
"//:compiler_plugin_proto", "//:compiler_plugin_proto",
@ -237,6 +235,7 @@ internal_gen_well_known_protos_java(
"//:duration_proto", "//:duration_proto",
"//:empty_proto", "//:empty_proto",
"//:field_mask_proto", "//:field_mask_proto",
"//:java_features_proto",
"//:source_context_proto", "//:source_context_proto",
"//:struct_proto", "//:struct_proto",
"//:timestamp_proto", "//:timestamp_proto",
@ -308,7 +307,7 @@ proto_lang_toolchain(
name = "toolchain", name = "toolchain",
# keep this in sync w/ WELL_KNOWN_PROTO_MAP in //:BUILD # keep this in sync w/ WELL_KNOWN_PROTO_MAP in //:BUILD
blacklisted_protos = [ blacklisted_protos = [
":java_features_proto", "//:java_features_proto",
"//:any_proto", "//:any_proto",
"//:api_proto", "//:api_proto",
"//:compiler_plugin_proto", "//:compiler_plugin_proto",

@ -26,12 +26,12 @@ internal_gen_kt_protos(
"//:duration_proto", "//:duration_proto",
"//:empty_proto", "//:empty_proto",
"//:field_mask_proto", "//:field_mask_proto",
"//:java_features_proto",
"//:source_context_proto", "//:source_context_proto",
"//:struct_proto", "//:struct_proto",
"//:timestamp_proto", "//:timestamp_proto",
"//:type_proto", "//:type_proto",
"//:wrappers_proto", "//:wrappers_proto",
"//java/core:java_features_proto",
], ],
) )
@ -56,8 +56,8 @@ kt_jvm_export(
maven_coordinates = "com.google.protobuf:protobuf-kotlin-lite:%s" % PROTOBUF_JAVA_VERSION, maven_coordinates = "com.google.protobuf:protobuf-kotlin-lite:%s" % PROTOBUF_JAVA_VERSION,
pom_template = "//java/kotlin-lite:pom_template.xml", pom_template = "//java/kotlin-lite:pom_template.xml",
resources = [ resources = [
"//:java_features_proto",
"//:well_known_type_protos", "//:well_known_type_protos",
"//java/core:java_features_proto",
"//src/google/protobuf:descriptor_proto_srcs", "//src/google/protobuf:descriptor_proto_srcs",
], ],
tags = ["manual"], tags = ["manual"],

@ -59,8 +59,8 @@ kt_jvm_export(
maven_coordinates = "com.google.protobuf:protobuf-kotlin:%s" % PROTOBUF_JAVA_VERSION, maven_coordinates = "com.google.protobuf:protobuf-kotlin:%s" % PROTOBUF_JAVA_VERSION,
pom_template = "//java/kotlin:pom_template.xml", pom_template = "//java/kotlin:pom_template.xml",
resources = [ resources = [
"//:java_features_proto",
"//:well_known_type_protos", "//:well_known_type_protos",
"//java/core:java_features_proto",
"//src/google/protobuf:descriptor_proto_srcs", "//src/google/protobuf:descriptor_proto_srcs",
], ],
tags = ["manual"], tags = ["manual"],
@ -315,12 +315,12 @@ internal_gen_kt_protos(
"//:duration_proto", "//:duration_proto",
"//:empty_proto", "//:empty_proto",
"//:field_mask_proto", "//:field_mask_proto",
"//:java_features_proto",
"//:source_context_proto", "//:source_context_proto",
"//:struct_proto", "//:struct_proto",
"//:timestamp_proto", "//:timestamp_proto",
"//:type_proto", "//:type_proto",
"//:wrappers_proto", "//:wrappers_proto",
"//java/core:java_features_proto",
], ],
) )

@ -24,7 +24,7 @@ proto_lang_toolchain(
name = "toolchain", name = "toolchain",
# keep this in sync w/ LITE_WELL_KNOWN_PROTO_MAP in //:BUILD # keep this in sync w/ LITE_WELL_KNOWN_PROTO_MAP in //:BUILD
blacklisted_protos = [ blacklisted_protos = [
"//java/core:java_features_proto", "//:java_features_proto",
"//:any_proto", "//:any_proto",
"//:api_proto", "//:api_proto",
"//:duration_proto", "//:duration_proto",

@ -13,7 +13,7 @@ load("//bazel/toolchains:proto_lang_toolchain.bzl", "proto_lang_toolchain")
load("//build_defs:arch_tests.bzl", "aarch64_test", "x86_64_test") load("//build_defs:arch_tests.bzl", "aarch64_test", "x86_64_test")
load("//build_defs:cpp_opts.bzl", "COPTS") load("//build_defs:cpp_opts.bzl", "COPTS")
load("//conformance:defs.bzl", "conformance_test") load("//conformance:defs.bzl", "conformance_test")
load("//src/google/protobuf/editions:defaults.bzl", "compile_edition_defaults", "embed_edition_defaults") load("//editions:defaults.bzl", "compile_edition_defaults", "embed_edition_defaults")
load(":internal.bzl", "internal_copy_files", "internal_py_test") load(":internal.bzl", "internal_copy_files", "internal_py_test")
def build_targets(name): def build_targets(name):
@ -55,6 +55,7 @@ def build_targets(name):
srcs_version = "PY2AND3", srcs_version = "PY2AND3",
visibility = [ visibility = [
"//:__pkg__", "//:__pkg__",
"//editions:__pkg__",
"//upb:__subpackages__", "//upb:__subpackages__",
], ],
) )
@ -234,8 +235,6 @@ def build_targets(name):
srcs = [ srcs = [
"//src/google/protobuf:test_messages_proto2.proto", "//src/google/protobuf:test_messages_proto2.proto",
"//src/google/protobuf:test_messages_proto3.proto", "//src/google/protobuf:test_messages_proto3.proto",
"//src/google/protobuf/editions:golden/test_messages_proto2_editions.proto",
"//src/google/protobuf/editions:golden/test_messages_proto3_editions.proto",
], ],
strip_prefix = "src", strip_prefix = "src",
) )

@ -113,8 +113,6 @@ internal_copy_files(
srcs = [ srcs = [
"//src/google/protobuf:test_messages_proto2.proto", "//src/google/protobuf:test_messages_proto2.proto",
"//src/google/protobuf:test_messages_proto3.proto", "//src/google/protobuf:test_messages_proto3.proto",
"//src/google/protobuf/editions:golden/test_messages_proto2_editions.proto",
"//src/google/protobuf/editions:golden/test_messages_proto3_editions.proto",
], ],
strip_prefix = "src", strip_prefix = "src",
) )
@ -131,6 +129,25 @@ internal_ruby_proto_library(
deps = [":well_known_ruby_protos"], deps = [":well_known_ruby_protos"],
) )
internal_copy_files(
name = "copied_conformance_editions_test_files",
testonly = 1,
srcs = [
"//editions:golden/test_messages_proto2_editions.proto",
"//editions:golden/test_messages_proto3_editions.proto",
],
strip_prefix = "editions/golden/",
)
internal_ruby_proto_library(
name = "conformance_editions_test_ruby_proto",
testonly = 1,
srcs = [":copied_conformance_editions_test_files"],
includes = ["."],
visibility = ["//conformance:__pkg__"],
deps = [":well_known_ruby_protos"],
)
ruby_library( ruby_library(
name = "protobuf", name = "protobuf",
visibility = [ visibility = [

@ -64,3 +64,8 @@ staleness_test(
# test. # test.
tags = ["manual"], tags = ["manual"],
) )
test_suite(
name = "editions_tests",
tests = ["//editions:all_tests"],
)

@ -895,7 +895,7 @@ proto_library(
name = "unittest_features_proto", name = "unittest_features_proto",
srcs = ["unittest_features.proto"], srcs = ["unittest_features.proto"],
strip_import_prefix = "/src", strip_import_prefix = "/src",
visibility = ["//src/google/protobuf:__subpackages__"], visibility = ["//editions:__subpackages__"],
deps = [ deps = [
":descriptor_proto", ":descriptor_proto",
], ],
@ -903,7 +903,7 @@ proto_library(
cc_proto_library( cc_proto_library(
name = "unittest_features_cc_proto", name = "unittest_features_cc_proto",
visibility = ["//src/google/protobuf:__subpackages__"], visibility = ["//editions:__subpackages__"],
deps = [":unittest_features_proto"], deps = [":unittest_features_proto"],
) )
@ -1290,6 +1290,7 @@ cc_library(
hdrs = ["test_textproto.h"], hdrs = ["test_textproto.h"],
strip_include_prefix = "/src", strip_include_prefix = "/src",
visibility = [ visibility = [
"//editions:__pkg__",
"//pkg:__pkg__", "//pkg:__pkg__",
"//src/google/protobuf:__subpackages__", "//src/google/protobuf:__subpackages__",
], ],

@ -69,8 +69,8 @@ cc_binary(
":conformance_upb_proto_reflection", ":conformance_upb_proto_reflection",
":test_messages_proto2_upbdefs", ":test_messages_proto2_upbdefs",
":test_messages_proto3_upbdefs", ":test_messages_proto3_upbdefs",
"//src/google/protobuf/editions:test_messages_proto2_editions_upbdefs", "//editions:test_messages_proto2_editions_upbdefs",
"//src/google/protobuf/editions:test_messages_proto3_editions_upbdefs", "//editions:test_messages_proto3_editions_upbdefs",
"//upb:base", "//upb:base",
"//upb:json", "//upb:json",
"//upb:port", "//upb:port",
@ -123,8 +123,8 @@ cc_binary(
":conformance_upb_proto_reflection", ":conformance_upb_proto_reflection",
":test_messages_proto2_upbdefs", ":test_messages_proto2_upbdefs",
":test_messages_proto3_upbdefs", ":test_messages_proto3_upbdefs",
"//src/google/protobuf/editions:test_messages_proto2_editions_upbdefs", "//editions:test_messages_proto2_editions_upbdefs",
"//src/google/protobuf/editions:test_messages_proto3_editions_upbdefs", "//editions:test_messages_proto3_editions_upbdefs",
"//upb:base", "//upb:base",
"//upb:json", "//upb:json",
"//upb:port", "//upb:port",

@ -16,8 +16,8 @@
#include "conformance/conformance.upb.h" #include "conformance/conformance.upb.h"
#include "conformance/conformance.upbdefs.h" #include "conformance/conformance.upbdefs.h"
#include "google/protobuf/editions/golden/test_messages_proto2_editions.upbdefs.h" #include "editions/golden/test_messages_proto2_editions.upbdefs.h"
#include "google/protobuf/editions/golden/test_messages_proto3_editions.upbdefs.h" #include "editions/golden/test_messages_proto3_editions.upbdefs.h"
#include "google/protobuf/test_messages_proto2.upbdefs.h" #include "google/protobuf/test_messages_proto2.upbdefs.h"
#include "google/protobuf/test_messages_proto3.upbdefs.h" #include "google/protobuf/test_messages_proto3.upbdefs.h"
#include "upb/base/upcast.h" #include "upb/base/upcast.h"
@ -314,11 +314,11 @@ int main(void) {
symtab, &google_protobuf_test_messages_proto3_proto_upbdefinit, true); symtab, &google_protobuf_test_messages_proto3_proto_upbdefinit, true);
_upb_DefPool_LoadDefInitEx( _upb_DefPool_LoadDefInitEx(
symtab, symtab,
&google_protobuf_editions_golden_test_messages_proto2_editions_proto_upbdefinit, &editions_golden_test_messages_proto2_editions_proto_upbdefinit,
true); true);
_upb_DefPool_LoadDefInitEx( _upb_DefPool_LoadDefInitEx(
symtab, symtab,
&google_protobuf_editions_golden_test_messages_proto3_editions_proto_upbdefinit, &editions_golden_test_messages_proto3_editions_proto_upbdefinit,
true); true);
#else #else
protobuf_test_messages_proto2_TestAllTypesProto2_getmsgdef(symtab); protobuf_test_messages_proto2_TestAllTypesProto2_getmsgdef(symtab);

@ -10,7 +10,7 @@ load("//bazel:upb_proto_library.bzl", "upb_proto_reflection_library")
# end:github_only # end:github_only
load( load(
"//src/google/protobuf/editions:defaults.bzl", "//editions:defaults.bzl",
"compile_edition_defaults", "compile_edition_defaults",
"embed_edition_defaults", "embed_edition_defaults",
) )

Loading…
Cancel
Save