diff --git a/BUILD.bazel b/BUILD.bazel
index aaff71a0cb..335261439c 100644
--- a/BUILD.bazel
+++ b/BUILD.bazel
@@ -1496,7 +1496,7 @@ pkg_files(
"protobuf*.pc.in",
"test-driver",
], allow_empty = True) + [
- "BUILD",
+ "BUILD.bazel",
"CHANGES.txt",
"CMakeLists.txt",
"CONTRIBUTORS.txt",
@@ -1512,7 +1512,7 @@ pkg_files(
"maven_install.json",
"update_file_lists.sh",
"//third_party:zlib.BUILD",
- "//util/python:BUILD",
+ "//util/python:BUILD.bazel",
],
strip_prefix = strip_prefix.from_root(""),
visibility = ["//pkg:__pkg__"],
diff --git a/Makefile.am b/Makefile.am
index 6c1bf316cf..98d45b6130 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -11,7 +11,7 @@ SUBDIRS = . src
# Always include third_party directories in distributions.
#
# Note that distribution artifacts will be produced by Bazel in the future.
-# See pkg/BUILD for overall definitions.
+# See pkg/BUILD.bazel for overall definitions.
DIST_SUBDIRS = src conformance benchmarks third_party/googletest
# Build gmock before we build protobuf tests. We don't add gmock to SUBDIRS
@@ -51,7 +51,7 @@ clean-local:
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = protobuf.pc protobuf-lite.pc
-# Note: please keep this in sync with the dist_files rule in csharp/BUILD.
+# Note: please keep this in sync with the dist_files rule in csharp/BUILD.bazel.
csharp_EXTRA_DIST= \
global.json \
csharp/.editorconfig \
@@ -283,11 +283,11 @@ csharp_EXTRA_DIST= \
csharp/src/Google.Protobuf/UnknownFieldSet.cs \
csharp/src/Google.Protobuf/UnsafeByteOperations.cs
-# Note: please keep this in sync with the dist_files rules under java/.../BUILD.
+# Note: please keep this in sync with the dist_files rules under java/.../BUILD.bazel.
java_EXTRA_DIST= \
java/README.md \
java/bom/pom.xml \
- java/core/BUILD \
+ java/core/BUILD.bazel \
java/core/generate-sources-build.xml \
java/core/generate-test-sources-build.xml \
java/core/pom.xml \
@@ -543,9 +543,9 @@ java_EXTRA_DIST=
java/core/src/test/proto/com/google/protobuf/test_check_utf8_size.proto \
java/core/src/test/proto/com/google/protobuf/test_custom_options.proto \
java/core/src/test/proto/com/google/protobuf/wrappers_test.proto \
- java/internal/BUILD \
+ java/internal/BUILD.bazel \
java/internal/testing.bzl \
- java/kotlin/BUILD \
+ java/kotlin/BUILD.bazel \
java/kotlin/generate-sources-build.xml \
java/kotlin/generate-test-sources-build.xml \
java/kotlin/pom.xml \
@@ -572,7 +572,7 @@ java_EXTRA_DIST=
java/kotlin/src/test/proto/com/google/protobuf/evil_names_proto3.proto \
java/kotlin/src/test/proto/com/google/protobuf/example_extensible_message.proto \
java/kotlin/src/test/proto/com/google/protobuf/multiple_files_proto3.proto \
- java/kotlin-lite/BUILD \
+ java/kotlin-lite/BUILD.bazel \
java/kotlin-lite/generate-sources-build.xml \
java/kotlin-lite/generate-test-sources-build.xml \
java/kotlin-lite/lite.awk \
@@ -583,7 +583,7 @@ java_EXTRA_DIST=
java/kotlin-lite/src/test/kotlin/com/google/protobuf/ExtendableMessageLiteExtensionsTest.kt\
java/kotlin-lite/src/test/kotlin/com/google/protobuf/Proto2LiteTest.kt \
java/lite.md \
- java/lite/BUILD \
+ java/lite/BUILD.bazel \
java/lite/generate-sources-build.xml \
java/lite/generate-test-sources-build.xml \
java/lite/lite.awk \
@@ -591,9 +591,9 @@ java_EXTRA_DIST=
java/lite/pom_template.xml \
java/lite/process-lite-sources-build.xml \
java/lite/src/test/java/com/google/protobuf/LiteTest.java \
- java/BUILD \
+ java/BUILD.bazel \
java/pom.xml \
- java/util/BUILD \
+ java/util/BUILD.bazel \
java/util/pom.xml \
java/util/pom_template.xml \
java/util/src/main/java/com/google/protobuf/util/Durations.java \
@@ -612,10 +612,10 @@ java_EXTRA_DIST=
java/util/src/test/java/com/google/protobuf/util/ValuesTest.java \
java/util/src/test/proto/com/google/protobuf/util/json_test.proto
-# Note: please keep this in sync with the dist_files rule in objectivec/BUILD.
+# Note: please keep this in sync with the dist_files rule in objectivec/BUILD.bazel.
objectivec_EXTRA_DIST= \
objectivec/.clang-format \
- objectivec/BUILD \
+ objectivec/BUILD.bazel \
objectivec/DevTools/check_version_stamps.sh \
objectivec/DevTools/compile_testing_protos.sh \
objectivec/DevTools/full_mac_build.sh \
@@ -714,33 +714,6 @@ objectivec_EXTRA_DIST= \
objectivec/ProtocolBuffers_tvOS.xcodeproj/xcshareddata/xcschemes/PerformanceTests.xcscheme \
objectivec/ProtocolBuffers_tvOS.xcodeproj/xcshareddata/xcschemes/ProtocolBuffers.xcscheme \
objectivec/README.md \
- objectivec/Tests/CocoaPods/OSXCocoaPodsTester/OSXCocoaPodsTester.xcodeproj/project.pbxproj \
- objectivec/Tests/CocoaPods/OSXCocoaPodsTester/OSXCocoaPodsTester.xcodeproj/project.xcworkspace/contents.xcworkspacedata \
- objectivec/Tests/CocoaPods/OSXCocoaPodsTester/OSXCocoaPodsTester.xcodeproj/xcshareddata/xcschemes/OSXCocoaPodsTester.xcscheme \
- objectivec/Tests/CocoaPods/OSXCocoaPodsTester/OSXCocoaPodsTester/AppDelegate.h \
- objectivec/Tests/CocoaPods/OSXCocoaPodsTester/OSXCocoaPodsTester/AppDelegate.m \
- objectivec/Tests/CocoaPods/OSXCocoaPodsTester/OSXCocoaPodsTester/Assets.xcassets/AppIcon.appiconset/Contents.json \
- objectivec/Tests/CocoaPods/OSXCocoaPodsTester/OSXCocoaPodsTester/Base.lproj/MainMenu.xib \
- objectivec/Tests/CocoaPods/OSXCocoaPodsTester/OSXCocoaPodsTester/Info.plist \
- objectivec/Tests/CocoaPods/OSXCocoaPodsTester/OSXCocoaPodsTester/main.m \
- objectivec/Tests/CocoaPods/OSXCocoaPodsTester/Podfile-framework \
- objectivec/Tests/CocoaPods/OSXCocoaPodsTester/Podfile-static \
- objectivec/Tests/CocoaPods/README.md \
- objectivec/Tests/CocoaPods/iOSCocoaPodsTester/Podfile-framework \
- objectivec/Tests/CocoaPods/iOSCocoaPodsTester/Podfile-static \
- objectivec/Tests/CocoaPods/iOSCocoaPodsTester/iOSCocoaPodsTester.xcodeproj/project.pbxproj \
- objectivec/Tests/CocoaPods/iOSCocoaPodsTester/iOSCocoaPodsTester.xcodeproj/project.xcworkspace/contents.xcworkspacedata \
- objectivec/Tests/CocoaPods/iOSCocoaPodsTester/iOSCocoaPodsTester.xcodeproj/xcshareddata/xcschemes/iOSCocoaPodsTester.xcscheme \
- objectivec/Tests/CocoaPods/iOSCocoaPodsTester/iOSCocoaPodsTester/AppDelegate.h \
- objectivec/Tests/CocoaPods/iOSCocoaPodsTester/iOSCocoaPodsTester/AppDelegate.m \
- objectivec/Tests/CocoaPods/iOSCocoaPodsTester/iOSCocoaPodsTester/Assets.xcassets/AppIcon.appiconset/Contents.json \
- objectivec/Tests/CocoaPods/iOSCocoaPodsTester/iOSCocoaPodsTester/Base.lproj/LaunchScreen.storyboard \
- objectivec/Tests/CocoaPods/iOSCocoaPodsTester/iOSCocoaPodsTester/Base.lproj/Main.storyboard \
- objectivec/Tests/CocoaPods/iOSCocoaPodsTester/iOSCocoaPodsTester/Info.plist \
- objectivec/Tests/CocoaPods/iOSCocoaPodsTester/iOSCocoaPodsTester/ViewController.h \
- objectivec/Tests/CocoaPods/iOSCocoaPodsTester/iOSCocoaPodsTester/ViewController.m \
- objectivec/Tests/CocoaPods/iOSCocoaPodsTester/iOSCocoaPodsTester/main.m \
- objectivec/Tests/CocoaPods/run_tests.sh \
objectivec/Tests/golden_message \
objectivec/Tests/golden_packed_fields_message \
objectivec/Tests/GPBARCUnittestProtos.m \
@@ -821,7 +794,7 @@ objectivec_EXTRA_DIST= \
objectivec/Tests/UnitTests-Info.plist \
Protobuf.podspec
-# Note: please keep this in sync with the dist_files rule in php/BUILD.
+# Note: please keep this in sync with the dist_files rule in php/BUILD.bazel.
php_EXTRA_DIST= \
php/README.md \
php/REFCOUNTING.md \
@@ -1018,7 +991,7 @@ php_EXTRA_DIST= \
php/tests/WellKnownTest.php \
php/tests/WrapperTypeSettersTest.php
-# Note: please keep this in sync with the python_dist_files rule in BUILD.
+# Note: please keep this in sync with the python_dist_files rule in BUILD.bazel.
python_EXTRA_DIST= \
python/MANIFEST.in \
python/google/__init__.py \
@@ -1142,7 +1115,7 @@ python_EXTRA_DIST= \
python/tox.ini \
python/README.md
-# Note: please keep this in sync with the dist_files rule in ruby/BUILD.
+# Note: please keep this in sync with the dist_files rule in ruby/BUILD.bazel.
ruby_EXTRA_DIST= \
ruby/Gemfile \
ruby/.gitignore \
@@ -1220,7 +1193,7 @@ ruby_EXTRA_DIST= \
all_EXTRA_DIST=$(csharp_EXTRA_DIST) $(java_EXTRA_DIST) $(objectivec_EXTRA_DIST) $(php_EXTRA_DIST) $(python_EXTRA_DIST) $(ruby_EXTRA_DIST)
-# Note: please keep this in sync with the common_dist_files rule in BUILD.
+# Note: please keep this in sync with the common_dist_files rule in BUILD.bazel.
EXTRA_DIST = $(@DIST_LANG@_EXTRA_DIST) \
autogen.sh \
generate_descriptor_proto.sh \
@@ -1229,7 +1202,7 @@ EXTRA_DIST = $(@DIST_LANG@_EXTRA_DIST) \
CONTRIBUTORS.txt \
CHANGES.txt \
update_file_lists.sh \
- BUILD \
+ BUILD.bazel \
WORKSPACE \
CMakeLists.txt \
cmake/abseil-cpp.cmake \
@@ -1254,12 +1227,12 @@ EXTRA_DIST = $(@DIST_LANG@_EXTRA_DIST) \
compiler_config_setting.bzl \
build_files_updated_unittest.sh \
cc_proto_blacklist_test.bzl \
- csharp/BUILD \
+ csharp/BUILD.bazel \
editors/README.txt \
editors/proto.vim \
editors/protobuf-mode.el \
examples/AddPerson.java \
- examples/BUILD \
+ examples/BUILD.bazel \
examples/CMakeLists.txt \
examples/ListPeople.java \
examples/Makefile \
@@ -1281,14 +1254,14 @@ EXTRA_DIST = $(@DIST_LANG@_EXTRA_DIST) \
examples/pubspec.yaml \
internal.bzl \
maven_install.json \
- php/BUILD \
+ php/BUILD.bazel \
protobuf.bzl \
protobuf_deps.bzl \
protobuf_release.bzl \
protobuf_version.bzl \
- ruby/BUILD \
+ ruby/BUILD.bazel \
third_party/zlib.BUILD \
- util/python/BUILD
+ util/python/BUILD.bazel
# Deletes all the files generated by autogen.sh.
MAINTAINERCLEANFILES = \
diff --git a/benchmarks/BUILD.bazel b/benchmarks/BUILD.bazel
index 2f7b4c749f..83b2c7ee59 100644
--- a/benchmarks/BUILD.bazel
+++ b/benchmarks/BUILD.bazel
@@ -75,7 +75,7 @@ pkg_files(
],
exclude = [
"__init__.py", # not in autotools dist
- "BUILD",
+ "BUILD.bazel",
"go/*",
],
),
diff --git a/benchmarks/datasets/BUILD.bazel b/benchmarks/datasets/BUILD.bazel
index 1cb11bddad..2a8b402668 100644
--- a/benchmarks/datasets/BUILD.bazel
+++ b/benchmarks/datasets/BUILD.bazel
@@ -61,7 +61,7 @@ java_library(
pkg_files(
name = "dist_files",
- srcs = ["BUILD"],
+ srcs = ["BUILD.bazel"],
strip_prefix = strip_prefix.from_root(""),
visibility = ["//benchmarks:__pkg__"],
)
diff --git a/cmake/extract_includes.bat.in b/cmake/extract_includes.bat.in
index 83058f3e1b..061b240aeb 100644
--- a/cmake/extract_includes.bat.in
+++ b/cmake/extract_includes.bat.in
@@ -22,6 +22,7 @@ copy "${PROTOBUF_SOURCE_WIN32_PATH}\..\src\google\protobuf\arenaz_sampler.h" inc
copy "${PROTOBUF_SOURCE_WIN32_PATH}\..\src\google\protobuf\compiler\code_generator.h" include\google\protobuf\compiler\code_generator.h
copy "${PROTOBUF_SOURCE_WIN32_PATH}\..\src\google\protobuf\compiler\command_line_interface.h" include\google\protobuf\compiler\command_line_interface.h
copy "${PROTOBUF_SOURCE_WIN32_PATH}\..\src\google\protobuf\compiler\cpp\file.h" include\google\protobuf\compiler\cpp\file.h
+copy "${PROTOBUF_SOURCE_WIN32_PATH}\..\src\google\protobuf\compiler\cpp\cpp_generator.h" include\google\protobuf\compiler\cpp\cpp_generator.h
copy "${PROTOBUF_SOURCE_WIN32_PATH}\..\src\google\protobuf\compiler\cpp\generator.h" include\google\protobuf\compiler\cpp\generator.h
copy "${PROTOBUF_SOURCE_WIN32_PATH}\..\src\google\protobuf\compiler\cpp\helpers.h" include\google\protobuf\compiler\cpp\helpers.h
copy "${PROTOBUF_SOURCE_WIN32_PATH}\..\src\google\protobuf\compiler\cpp\names.h" include\google\protobuf\compiler\cpp\names.h
@@ -31,6 +32,7 @@ copy "${PROTOBUF_SOURCE_WIN32_PATH}\..\src\google\protobuf\compiler\csharp\cshar
copy "${PROTOBUF_SOURCE_WIN32_PATH}\..\src\google\protobuf\compiler\csharp\csharp_options.h" include\google\protobuf\compiler\csharp\csharp_options.h
copy "${PROTOBUF_SOURCE_WIN32_PATH}\..\src\google\protobuf\compiler\importer.h" include\google\protobuf\compiler\importer.h
copy "${PROTOBUF_SOURCE_WIN32_PATH}\..\src\google\protobuf\compiler\java\generator.h" include\google\protobuf\compiler\java\generator.h
+copy "${PROTOBUF_SOURCE_WIN32_PATH}\..\src\google\protobuf\compiler\java\java_generator.h" include\google\protobuf\compiler\java\java_generator.h
copy "${PROTOBUF_SOURCE_WIN32_PATH}\..\src\google\protobuf\compiler\java\kotlin_generator.h" include\google\protobuf\compiler\java\kotlin_generator.h
copy "${PROTOBUF_SOURCE_WIN32_PATH}\..\src\google\protobuf\compiler\java\names.h" include\google\protobuf\compiler\java\names.h
copy "${PROTOBUF_SOURCE_WIN32_PATH}\..\src\google\protobuf\compiler\objectivec\objectivec_generator.h" include\google\protobuf\compiler\objectivec\objectivec_generator.h
@@ -41,6 +43,7 @@ copy "${PROTOBUF_SOURCE_WIN32_PATH}\..\src\google\protobuf\compiler\plugin.h" in
copy "${PROTOBUF_SOURCE_WIN32_PATH}\..\src\google\protobuf\compiler\plugin.pb.h" include\google\protobuf\compiler\plugin.pb.h
copy "${PROTOBUF_SOURCE_WIN32_PATH}\..\src\google\protobuf\compiler\python\generator.h" include\google\protobuf\compiler\python\generator.h
copy "${PROTOBUF_SOURCE_WIN32_PATH}\..\src\google\protobuf\compiler\python\pyi_generator.h" include\google\protobuf\compiler\python\pyi_generator.h
+copy "${PROTOBUF_SOURCE_WIN32_PATH}\..\src\google\protobuf\compiler\python\python_generator.h" include\google\protobuf\compiler\python\python_generator.h
copy "${PROTOBUF_SOURCE_WIN32_PATH}\..\src\google\protobuf\compiler\ruby\ruby_generator.h" include\google\protobuf\compiler\ruby\ruby_generator.h
copy "${PROTOBUF_SOURCE_WIN32_PATH}\..\src\google\protobuf\descriptor.h" include\google\protobuf\descriptor.h
copy "${PROTOBUF_SOURCE_WIN32_PATH}\..\src\google\protobuf\descriptor.pb.h" include\google\protobuf\descriptor.pb.h
diff --git a/cmake/libprotoc.cmake b/cmake/libprotoc.cmake
index 95fd04d8fc..5883e612a7 100644
--- a/cmake/libprotoc.cmake
+++ b/cmake/libprotoc.cmake
@@ -87,6 +87,7 @@ set(libprotoc_files
set(libprotoc_headers
${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/code_generator.h
${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/command_line_interface.h
+ ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/cpp/cpp_generator.h
${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/cpp/file.h
${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/cpp/generator.h
${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/cpp/helpers.h
@@ -96,6 +97,7 @@ set(libprotoc_headers
${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/csharp/csharp_names.h
${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/csharp/csharp_options.h
${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/java/generator.h
+ ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/java/java_generator.h
${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/java/kotlin_generator.h
${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/java/names.h
${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/objectivec/objectivec_generator.h
@@ -104,6 +106,7 @@ set(libprotoc_headers
${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/plugin.h
${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/python/generator.h
${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/python/pyi_generator.h
+ ${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/python/python_generator.h
${protobuf_SOURCE_DIR}/src/google/protobuf/compiler/ruby/ruby_generator.h
)
diff --git a/java/BUILD.bazel b/java/BUILD.bazel
index c084db6390..b3178c9f84 100644
--- a/java/BUILD.bazel
+++ b/java/BUILD.bazel
@@ -28,7 +28,7 @@ filegroup(
pkg_files(
name = "dist_files",
srcs = [
- "BUILD",
+ "BUILD.bazel",
"README.md",
"bom/pom.xml",
"lite.md",
diff --git a/java/core/BUILD.bazel b/java/core/BUILD.bazel
index 685ebd0981..60be807190 100644
--- a/java/core/BUILD.bazel
+++ b/java/core/BUILD.bazel
@@ -4,7 +4,7 @@ load("@rules_jvm_external//:defs.bzl", "java_export")
load("@rules_pkg//:mappings.bzl", "pkg_files", "strip_prefix")
load("@rules_proto//proto:defs.bzl", "proto_lang_toolchain", "proto_library")
load("//:internal.bzl", "conformance_test")
-load("//:protobuf_version.bzl", "PROTOBUF_VERSION")
+load("//:protobuf_version.bzl", "PROTOBUF_JAVA_VERSION")
load("//java/internal:testing.bzl", "junit_tests")
LITE_SRCS = [
@@ -116,7 +116,7 @@ java_library(
# Bazel users, don't depend on this target, use //java/lite.
java_export(
name = "lite_mvn",
- maven_coordinates = "com.google.protobuf:protobuf-javalite:%s" % PROTOBUF_VERSION,
+ maven_coordinates = "com.google.protobuf:protobuf-javalite:%s" % PROTOBUF_JAVA_VERSION,
pom_template = "//java/lite:pom_template.xml",
resources = [
"//:lite_well_known_protos",
@@ -151,7 +151,7 @@ java_library(
# Bazel users, don't depend on this target, use :core.
java_export(
name = "core_mvn",
- maven_coordinates = "com.google.protobuf:protobuf-java:%s" % PROTOBUF_VERSION,
+ maven_coordinates = "com.google.protobuf:protobuf-java:%s" % PROTOBUF_JAVA_VERSION,
pom_template = "pom_template.xml",
resources = [
"//:well_known_protos",
@@ -420,7 +420,7 @@ pkg_files(
"src/test/java/**/*.java",
"src/test/proto/**/*.proto",
]) + [
- "BUILD",
+ "BUILD.bazel",
"generate-sources-build.xml",
"generate-test-sources-build.xml",
"pom.xml",
diff --git a/java/internal/BUILD.bazel b/java/internal/BUILD.bazel
index d2e0b538ff..662dabd562 100644
--- a/java/internal/BUILD.bazel
+++ b/java/internal/BUILD.bazel
@@ -5,7 +5,7 @@ load("@rules_pkg//:mappings.bzl", "pkg_files", "strip_prefix")
pkg_files(
name = "dist_files",
srcs = [
- "BUILD",
+ "BUILD.bazel",
"testing.bzl",
],
strip_prefix = strip_prefix.from_root(""),
diff --git a/java/kotlin-lite/BUILD.bazel b/java/kotlin-lite/BUILD.bazel
index 18914441c9..47b02c2ae4 100644
--- a/java/kotlin-lite/BUILD.bazel
+++ b/java/kotlin-lite/BUILD.bazel
@@ -2,7 +2,7 @@ load("@io_bazel_rules_kotlin//kotlin:jvm.bzl", "kt_jvm_library")
load("@rules_java//java:defs.bzl", "java_lite_proto_library")
load("@rules_jvm_external//:kt_defs.bzl", "kt_jvm_export")
load("@rules_pkg//:mappings.bzl", "pkg_files", "strip_prefix")
-load("//:protobuf_version.bzl", "PROTOBUF_VERSION")
+load("//:protobuf_version.bzl", "PROTOBUF_JAVA_VERSION")
load("//:protobuf.bzl", "internal_gen_kt_protos")
java_lite_proto_library(
@@ -34,7 +34,7 @@ kt_jvm_export(
"@com_github_jetbrains_kotlin//:kotlin-stdlib",
"//java/lite",
],
- maven_coordinates = "com.google.protobuf:protobuf-kotlin-lite:%s" % PROTOBUF_VERSION,
+ maven_coordinates = "com.google.protobuf:protobuf-kotlin-lite:%s" % PROTOBUF_JAVA_VERSION,
pom_template = "//java/kotlin-lite:pom_template.xml",
resources = ["//:well_known_protos"],
runtime_deps = [
@@ -191,7 +191,7 @@ pkg_files(
"src/main/kotlin/com/google/protobuf/*.kt",
"src/test/kotlin/**/*.kt",
]) + [
- "BUILD",
+ "BUILD.bazel",
"generate-sources-build.xml",
"generate-test-sources-build.xml",
"lite.awk",
diff --git a/java/kotlin/BUILD.bazel b/java/kotlin/BUILD.bazel
index c8aae0a047..a3cf83d46b 100644
--- a/java/kotlin/BUILD.bazel
+++ b/java/kotlin/BUILD.bazel
@@ -3,7 +3,7 @@ load("@rules_java//java:defs.bzl", "java_proto_library")
load("@rules_jvm_external//:kt_defs.bzl", "kt_jvm_export")
load("@rules_pkg//:mappings.bzl", "pkg_files", "strip_prefix")
load("@rules_proto//proto:defs.bzl", "proto_library")
-load("//:protobuf_version.bzl", "PROTOBUF_VERSION")
+load("//:protobuf_version.bzl", "PROTOBUF_JAVA_VERSION")
load("//:protobuf.bzl", "internal_gen_kt_protos")
exports_files([
@@ -56,7 +56,7 @@ kt_jvm_export(
"@com_github_jetbrains_kotlin//:kotlin-stdlib",
"//java/core",
],
- maven_coordinates = "com.google.protobuf:protobuf-kotlin:%s" % PROTOBUF_VERSION,
+ maven_coordinates = "com.google.protobuf:protobuf-kotlin:%s" % PROTOBUF_JAVA_VERSION,
pom_template = "//java/kotlin:pom_template.xml",
resources = ["//:well_known_protos"],
runtime_deps = [
@@ -303,7 +303,7 @@ pkg_files(
"src/test/kotlin/**/*.kt",
"src/test/proto/**/*.proto",
]) + [
- "BUILD",
+ "BUILD.bazel",
"generate-sources-build.xml",
"generate-test-sources-build.xml",
"pom.xml",
diff --git a/java/kotlin/generate-sources-build.xml b/java/kotlin/generate-sources-build.xml
index b78bc0ba7a..6963f3717f 100644
--- a/java/kotlin/generate-sources-build.xml
+++ b/java/kotlin/generate-sources-build.xml
@@ -3,7 +3,6 @@
-
diff --git a/java/lite/BUILD.bazel b/java/lite/BUILD.bazel
index 6ff858e3f6..b492cdda7f 100644
--- a/java/lite/BUILD.bazel
+++ b/java/lite/BUILD.bazel
@@ -83,7 +83,7 @@ pkg_files(
srcs = glob([
"**/*.java",
]) + [
- "BUILD",
+ "BUILD.bazel",
"generate-sources-build.xml",
"generate-test-sources-build.xml",
"lite.awk",
diff --git a/java/util/BUILD.bazel b/java/util/BUILD.bazel
index 820adb9a01..bea3099daa 100644
--- a/java/util/BUILD.bazel
+++ b/java/util/BUILD.bazel
@@ -2,7 +2,7 @@ load("@rules_java//java:defs.bzl", "java_proto_library")
load("@rules_jvm_external//:defs.bzl", "java_export")
load("@rules_pkg//:mappings.bzl", "pkg_filegroup", "pkg_files", "strip_prefix")
load("@rules_proto//proto:defs.bzl", "proto_library")
-load("//:protobuf_version.bzl", "PROTOBUF_VERSION")
+load("//:protobuf_version.bzl", "PROTOBUF_JAVA_VERSION")
load("//java/internal:testing.bzl", "junit_tests")
java_library(
@@ -25,7 +25,7 @@ java_library(
java_export(
name = "util_mvn",
deploy_env = ["//java/core"],
- maven_coordinates = "com.google.protobuf:protobuf-java-util:%s" % PROTOBUF_VERSION,
+ maven_coordinates = "com.google.protobuf:protobuf-java-util:%s" % PROTOBUF_JAVA_VERSION,
pom_template = "pom_template.xml",
visibility = ["//java:__pkg__"],
runtime_deps = [":util"],
@@ -83,7 +83,7 @@ pkg_files(
"src/test/**/*.java",
"src/test/**/*.proto",
]) + [
- "BUILD",
+ "BUILD.bazel",
"pom.xml",
"pom_template.xml",
],
diff --git a/kokoro/macos/objectivec_cocoapods_integration/build.sh b/kokoro/macos/objectivec_cocoapods_integration/build.sh
deleted file mode 100755
index f96d2899d9..0000000000
--- a/kokoro/macos/objectivec_cocoapods_integration/build.sh
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/bin/bash
-#
-# Build file to set up and run tests
-
-# Change to repo root
-cd $(dirname $0)/../../..
-
-# Prepare worker environment to run tests
-source kokoro/macos/prepare_build_macos_rc
-
-./tests.sh objectivec_cocoapods_integration
diff --git a/kokoro/macos/objectivec_cocoapods_integration/continuous.cfg b/kokoro/macos/objectivec_cocoapods_integration/continuous.cfg
deleted file mode 100644
index 952874ed11..0000000000
--- a/kokoro/macos/objectivec_cocoapods_integration/continuous.cfg
+++ /dev/null
@@ -1,5 +0,0 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/macos/objectivec_cocoapods_integration/build.sh"
-timeout_mins: 1440
diff --git a/kokoro/macos/objectivec_cocoapods_integration/presubmit.cfg b/kokoro/macos/objectivec_cocoapods_integration/presubmit.cfg
deleted file mode 100644
index 952874ed11..0000000000
--- a/kokoro/macos/objectivec_cocoapods_integration/presubmit.cfg
+++ /dev/null
@@ -1,5 +0,0 @@
-# Config file for running tests in Kokoro
-
-# Location of the build script in repository
-build_file: "protobuf/kokoro/macos/objectivec_cocoapods_integration/build.sh"
-timeout_mins: 1440
diff --git a/objectivec/Tests/CocoaPods/OSXCocoaPodsTester/OSXCocoaPodsTester.xcodeproj/project.pbxproj b/objectivec/Tests/CocoaPods/OSXCocoaPodsTester/OSXCocoaPodsTester.xcodeproj/project.pbxproj
deleted file mode 100644
index b9df381a1c..0000000000
--- a/objectivec/Tests/CocoaPods/OSXCocoaPodsTester/OSXCocoaPodsTester.xcodeproj/project.pbxproj
+++ /dev/null
@@ -1,290 +0,0 @@
-// !$*UTF8*$!
-{
- archiveVersion = 1;
- classes = {
- };
- objectVersion = 46;
- objects = {
-
-/* Begin PBXBuildFile section */
- F4D5A0AE1CEE2D8F00562D79 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = F4D5A0AD1CEE2D8F00562D79 /* AppDelegate.m */; };
- F4D5A0B11CEE2D8F00562D79 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = F4D5A0B01CEE2D8F00562D79 /* main.m */; };
- F4D5A0B31CEE2D8F00562D79 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = F4D5A0B21CEE2D8F00562D79 /* Assets.xcassets */; };
- F4D5A0B61CEE2D8F00562D79 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = F4D5A0B41CEE2D8F00562D79 /* MainMenu.xib */; };
-/* End PBXBuildFile section */
-
-/* Begin PBXFileReference section */
- F4D5A0A91CEE2D8F00562D79 /* OSXCocoaPodsTester.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = OSXCocoaPodsTester.app; sourceTree = BUILT_PRODUCTS_DIR; };
- F4D5A0AC1CEE2D8F00562D79 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; };
- F4D5A0AD1CEE2D8F00562D79 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; };
- F4D5A0B01CEE2D8F00562D79 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; };
- F4D5A0B21CEE2D8F00562D79 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; };
- F4D5A0B51CEE2D8F00562D79 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = ""; };
- F4D5A0B71CEE2D8F00562D79 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
-/* End PBXFileReference section */
-
-/* Begin PBXFrameworksBuildPhase section */
- F4D5A0A61CEE2D8F00562D79 /* Frameworks */ = {
- isa = PBXFrameworksBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXFrameworksBuildPhase section */
-
-/* Begin PBXGroup section */
- F4D5A0A01CEE2D8F00562D79 = {
- isa = PBXGroup;
- children = (
- F4D5A0AB1CEE2D8F00562D79 /* OSXCocoaPodsTester */,
- F4D5A0AA1CEE2D8F00562D79 /* Products */,
- );
- sourceTree = "";
- };
- F4D5A0AA1CEE2D8F00562D79 /* Products */ = {
- isa = PBXGroup;
- children = (
- F4D5A0A91CEE2D8F00562D79 /* OSXCocoaPodsTester.app */,
- );
- name = Products;
- sourceTree = "";
- };
- F4D5A0AB1CEE2D8F00562D79 /* OSXCocoaPodsTester */ = {
- isa = PBXGroup;
- children = (
- F4D5A0AC1CEE2D8F00562D79 /* AppDelegate.h */,
- F4D5A0AD1CEE2D8F00562D79 /* AppDelegate.m */,
- F4D5A0B21CEE2D8F00562D79 /* Assets.xcassets */,
- F4D5A0B41CEE2D8F00562D79 /* MainMenu.xib */,
- F4D5A0B71CEE2D8F00562D79 /* Info.plist */,
- F4D5A0AF1CEE2D8F00562D79 /* Supporting Files */,
- );
- path = OSXCocoaPodsTester;
- sourceTree = "";
- };
- F4D5A0AF1CEE2D8F00562D79 /* Supporting Files */ = {
- isa = PBXGroup;
- children = (
- F4D5A0B01CEE2D8F00562D79 /* main.m */,
- );
- name = "Supporting Files";
- sourceTree = "";
- };
-/* End PBXGroup section */
-
-/* Begin PBXNativeTarget section */
- F4D5A0A81CEE2D8F00562D79 /* OSXCocoaPodsTester */ = {
- isa = PBXNativeTarget;
- buildConfigurationList = F4D5A0BA1CEE2D8F00562D79 /* Build configuration list for PBXNativeTarget "OSXCocoaPodsTester" */;
- buildPhases = (
- F4D5A0A51CEE2D8F00562D79 /* Sources */,
- F4D5A0A61CEE2D8F00562D79 /* Frameworks */,
- F4D5A0A71CEE2D8F00562D79 /* Resources */,
- );
- buildRules = (
- );
- dependencies = (
- );
- name = OSXCocoaPodsTester;
- productName = OSXCocoaPodsTester;
- productReference = F4D5A0A91CEE2D8F00562D79 /* OSXCocoaPodsTester.app */;
- productType = "com.apple.product-type.application";
- };
-/* End PBXNativeTarget section */
-
-/* Begin PBXProject section */
- F4D5A0A11CEE2D8F00562D79 /* Project object */ = {
- isa = PBXProject;
- attributes = {
- LastUpgradeCheck = 0730;
- ORGANIZATIONNAME = Google;
- TargetAttributes = {
- F4D5A0A81CEE2D8F00562D79 = {
- CreatedOnToolsVersion = 7.3.1;
- };
- };
- };
- buildConfigurationList = F4D5A0A41CEE2D8F00562D79 /* Build configuration list for PBXProject "OSXCocoaPodsTester" */;
- compatibilityVersion = "Xcode 3.2";
- developmentRegion = English;
- hasScannedForEncodings = 0;
- knownRegions = (
- en,
- Base,
- );
- mainGroup = F4D5A0A01CEE2D8F00562D79;
- productRefGroup = F4D5A0AA1CEE2D8F00562D79 /* Products */;
- projectDirPath = "";
- projectRoot = "";
- targets = (
- F4D5A0A81CEE2D8F00562D79 /* OSXCocoaPodsTester */,
- );
- };
-/* End PBXProject section */
-
-/* Begin PBXResourcesBuildPhase section */
- F4D5A0A71CEE2D8F00562D79 /* Resources */ = {
- isa = PBXResourcesBuildPhase;
- buildActionMask = 2147483647;
- files = (
- F4D5A0B31CEE2D8F00562D79 /* Assets.xcassets in Resources */,
- F4D5A0B61CEE2D8F00562D79 /* MainMenu.xib in Resources */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXResourcesBuildPhase section */
-
-/* Begin PBXSourcesBuildPhase section */
- F4D5A0A51CEE2D8F00562D79 /* Sources */ = {
- isa = PBXSourcesBuildPhase;
- buildActionMask = 2147483647;
- files = (
- F4D5A0B11CEE2D8F00562D79 /* main.m in Sources */,
- F4D5A0AE1CEE2D8F00562D79 /* AppDelegate.m in Sources */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXSourcesBuildPhase section */
-
-/* Begin PBXVariantGroup section */
- F4D5A0B41CEE2D8F00562D79 /* MainMenu.xib */ = {
- isa = PBXVariantGroup;
- children = (
- F4D5A0B51CEE2D8F00562D79 /* Base */,
- );
- name = MainMenu.xib;
- sourceTree = "";
- };
-/* End PBXVariantGroup section */
-
-/* Begin XCBuildConfiguration section */
- F4D5A0B81CEE2D8F00562D79 /* Debug */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ALWAYS_SEARCH_USER_PATHS = NO;
- CLANG_ANALYZER_NONNULL = YES;
- CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
- CLANG_CXX_LIBRARY = "libc++";
- CLANG_ENABLE_MODULES = YES;
- CLANG_ENABLE_OBJC_ARC = YES;
- CLANG_WARN_BOOL_CONVERSION = YES;
- CLANG_WARN_CONSTANT_CONVERSION = YES;
- CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
- CLANG_WARN_EMPTY_BODY = YES;
- CLANG_WARN_ENUM_CONVERSION = YES;
- CLANG_WARN_INT_CONVERSION = YES;
- CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
- CLANG_WARN_UNREACHABLE_CODE = YES;
- CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
- CODE_SIGN_IDENTITY = "-";
- COPY_PHASE_STRIP = NO;
- DEBUG_INFORMATION_FORMAT = dwarf;
- ENABLE_STRICT_OBJC_MSGSEND = YES;
- ENABLE_TESTABILITY = YES;
- GCC_C_LANGUAGE_STANDARD = gnu99;
- GCC_DYNAMIC_NO_PIC = NO;
- GCC_NO_COMMON_BLOCKS = YES;
- GCC_OPTIMIZATION_LEVEL = 0;
- GCC_PREPROCESSOR_DEFINITIONS = (
- "DEBUG=1",
- "$(inherited)",
- );
- GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
- GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
- GCC_WARN_UNDECLARED_SELECTOR = YES;
- GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
- GCC_WARN_UNUSED_FUNCTION = YES;
- GCC_WARN_UNUSED_VARIABLE = YES;
- MACOSX_DEPLOYMENT_TARGET = 10.11;
- MTL_ENABLE_DEBUG_INFO = YES;
- ONLY_ACTIVE_ARCH = YES;
- SDKROOT = macosx;
- };
- name = Debug;
- };
- F4D5A0B91CEE2D8F00562D79 /* Release */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ALWAYS_SEARCH_USER_PATHS = NO;
- CLANG_ANALYZER_NONNULL = YES;
- CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
- CLANG_CXX_LIBRARY = "libc++";
- CLANG_ENABLE_MODULES = YES;
- CLANG_ENABLE_OBJC_ARC = YES;
- CLANG_WARN_BOOL_CONVERSION = YES;
- CLANG_WARN_CONSTANT_CONVERSION = YES;
- CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
- CLANG_WARN_EMPTY_BODY = YES;
- CLANG_WARN_ENUM_CONVERSION = YES;
- CLANG_WARN_INT_CONVERSION = YES;
- CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
- CLANG_WARN_UNREACHABLE_CODE = YES;
- CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
- CODE_SIGN_IDENTITY = "-";
- COPY_PHASE_STRIP = NO;
- DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
- ENABLE_NS_ASSERTIONS = NO;
- ENABLE_STRICT_OBJC_MSGSEND = YES;
- GCC_C_LANGUAGE_STANDARD = gnu99;
- GCC_NO_COMMON_BLOCKS = YES;
- GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
- GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
- GCC_WARN_UNDECLARED_SELECTOR = YES;
- GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
- GCC_WARN_UNUSED_FUNCTION = YES;
- GCC_WARN_UNUSED_VARIABLE = YES;
- MACOSX_DEPLOYMENT_TARGET = 10.11;
- MTL_ENABLE_DEBUG_INFO = NO;
- SDKROOT = macosx;
- };
- name = Release;
- };
- F4D5A0BB1CEE2D8F00562D79 /* Debug */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
- COMBINE_HIDPI_IMAGES = YES;
- INFOPLIST_FILE = OSXCocoaPodsTester/Info.plist;
- LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks";
- PRODUCT_BUNDLE_IDENTIFIER = com.google.OSXCocoaPodsTester;
- PRODUCT_NAME = "$(TARGET_NAME)";
- };
- name = Debug;
- };
- F4D5A0BC1CEE2D8F00562D79 /* Release */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
- COMBINE_HIDPI_IMAGES = YES;
- INFOPLIST_FILE = OSXCocoaPodsTester/Info.plist;
- LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks";
- PRODUCT_BUNDLE_IDENTIFIER = com.google.OSXCocoaPodsTester;
- PRODUCT_NAME = "$(TARGET_NAME)";
- };
- name = Release;
- };
-/* End XCBuildConfiguration section */
-
-/* Begin XCConfigurationList section */
- F4D5A0A41CEE2D8F00562D79 /* Build configuration list for PBXProject "OSXCocoaPodsTester" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- F4D5A0B81CEE2D8F00562D79 /* Debug */,
- F4D5A0B91CEE2D8F00562D79 /* Release */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Release;
- };
- F4D5A0BA1CEE2D8F00562D79 /* Build configuration list for PBXNativeTarget "OSXCocoaPodsTester" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- F4D5A0BB1CEE2D8F00562D79 /* Debug */,
- F4D5A0BC1CEE2D8F00562D79 /* Release */,
- );
- defaultConfigurationIsVisible = 0;
- };
-/* End XCConfigurationList section */
- };
- rootObject = F4D5A0A11CEE2D8F00562D79 /* Project object */;
-}
diff --git a/objectivec/Tests/CocoaPods/OSXCocoaPodsTester/OSXCocoaPodsTester.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/objectivec/Tests/CocoaPods/OSXCocoaPodsTester/OSXCocoaPodsTester.xcodeproj/project.xcworkspace/contents.xcworkspacedata
deleted file mode 100644
index 6d874e28a5..0000000000
--- a/objectivec/Tests/CocoaPods/OSXCocoaPodsTester/OSXCocoaPodsTester.xcodeproj/project.xcworkspace/contents.xcworkspacedata
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
diff --git a/objectivec/Tests/CocoaPods/OSXCocoaPodsTester/OSXCocoaPodsTester.xcodeproj/xcshareddata/xcschemes/OSXCocoaPodsTester.xcscheme b/objectivec/Tests/CocoaPods/OSXCocoaPodsTester/OSXCocoaPodsTester.xcodeproj/xcshareddata/xcschemes/OSXCocoaPodsTester.xcscheme
deleted file mode 100644
index 56f8782eb8..0000000000
--- a/objectivec/Tests/CocoaPods/OSXCocoaPodsTester/OSXCocoaPodsTester.xcodeproj/xcshareddata/xcschemes/OSXCocoaPodsTester.xcscheme
+++ /dev/null
@@ -1,91 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/objectivec/Tests/CocoaPods/OSXCocoaPodsTester/OSXCocoaPodsTester/AppDelegate.h b/objectivec/Tests/CocoaPods/OSXCocoaPodsTester/OSXCocoaPodsTester/AppDelegate.h
deleted file mode 100644
index c7ab521d0f..0000000000
--- a/objectivec/Tests/CocoaPods/OSXCocoaPodsTester/OSXCocoaPodsTester/AppDelegate.h
+++ /dev/null
@@ -1,37 +0,0 @@
-// Protocol Buffers - Google's data interchange format
-// Copyright 2016 Google Inc. All rights reserved.
-// https://developers.google.com/protocol-buffers/
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-#import
-
-@interface AppDelegate : NSObject
-
-
-@end
-
diff --git a/objectivec/Tests/CocoaPods/OSXCocoaPodsTester/OSXCocoaPodsTester/AppDelegate.m b/objectivec/Tests/CocoaPods/OSXCocoaPodsTester/OSXCocoaPodsTester/AppDelegate.m
deleted file mode 100644
index 08735a0068..0000000000
--- a/objectivec/Tests/CocoaPods/OSXCocoaPodsTester/OSXCocoaPodsTester/AppDelegate.m
+++ /dev/null
@@ -1,48 +0,0 @@
-// Protocol Buffers - Google's data interchange format
-// Copyright 2016 Google Inc. All rights reserved.
-// https://developers.google.com/protocol-buffers/
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-#import "AppDelegate.h"
-
-@interface AppDelegate ()
-
-@property (weak) IBOutlet NSWindow *window;
-@end
-
-@implementation AppDelegate
-
-- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
- // Insert code here to initialize your application
-}
-
-- (void)applicationWillTerminate:(NSNotification *)aNotification {
- // Insert code here to tear down your application
-}
-
-@end
diff --git a/objectivec/Tests/CocoaPods/OSXCocoaPodsTester/OSXCocoaPodsTester/Assets.xcassets/AppIcon.appiconset/Contents.json b/objectivec/Tests/CocoaPods/OSXCocoaPodsTester/OSXCocoaPodsTester/Assets.xcassets/AppIcon.appiconset/Contents.json
deleted file mode 100644
index 2db2b1c7c6..0000000000
--- a/objectivec/Tests/CocoaPods/OSXCocoaPodsTester/OSXCocoaPodsTester/Assets.xcassets/AppIcon.appiconset/Contents.json
+++ /dev/null
@@ -1,58 +0,0 @@
-{
- "images" : [
- {
- "idiom" : "mac",
- "size" : "16x16",
- "scale" : "1x"
- },
- {
- "idiom" : "mac",
- "size" : "16x16",
- "scale" : "2x"
- },
- {
- "idiom" : "mac",
- "size" : "32x32",
- "scale" : "1x"
- },
- {
- "idiom" : "mac",
- "size" : "32x32",
- "scale" : "2x"
- },
- {
- "idiom" : "mac",
- "size" : "128x128",
- "scale" : "1x"
- },
- {
- "idiom" : "mac",
- "size" : "128x128",
- "scale" : "2x"
- },
- {
- "idiom" : "mac",
- "size" : "256x256",
- "scale" : "1x"
- },
- {
- "idiom" : "mac",
- "size" : "256x256",
- "scale" : "2x"
- },
- {
- "idiom" : "mac",
- "size" : "512x512",
- "scale" : "1x"
- },
- {
- "idiom" : "mac",
- "size" : "512x512",
- "scale" : "2x"
- }
- ],
- "info" : {
- "version" : 1,
- "author" : "xcode"
- }
-}
\ No newline at end of file
diff --git a/objectivec/Tests/CocoaPods/OSXCocoaPodsTester/OSXCocoaPodsTester/Base.lproj/MainMenu.xib b/objectivec/Tests/CocoaPods/OSXCocoaPodsTester/OSXCocoaPodsTester/Base.lproj/MainMenu.xib
deleted file mode 100644
index aa3547ca18..0000000000
--- a/objectivec/Tests/CocoaPods/OSXCocoaPodsTester/OSXCocoaPodsTester/Base.lproj/MainMenu.xib
+++ /dev/null
@@ -1,680 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/objectivec/Tests/CocoaPods/OSXCocoaPodsTester/OSXCocoaPodsTester/Info.plist b/objectivec/Tests/CocoaPods/OSXCocoaPodsTester/OSXCocoaPodsTester/Info.plist
deleted file mode 100644
index ed806e40d6..0000000000
--- a/objectivec/Tests/CocoaPods/OSXCocoaPodsTester/OSXCocoaPodsTester/Info.plist
+++ /dev/null
@@ -1,34 +0,0 @@
-
-
-
-
- CFBundleDevelopmentRegion
- en
- CFBundleExecutable
- $(EXECUTABLE_NAME)
- CFBundleIconFile
-
- CFBundleIdentifier
- $(PRODUCT_BUNDLE_IDENTIFIER)
- CFBundleInfoDictionaryVersion
- 6.0
- CFBundleName
- $(PRODUCT_NAME)
- CFBundlePackageType
- APPL
- CFBundleShortVersionString
- 1.0
- CFBundleSignature
- ????
- CFBundleVersion
- 1
- LSMinimumSystemVersion
- $(MACOSX_DEPLOYMENT_TARGET)
- NSHumanReadableCopyright
- Copyright © 2016 Google. All rights reserved.
- NSMainNibFile
- MainMenu
- NSPrincipalClass
- NSApplication
-
-
diff --git a/objectivec/Tests/CocoaPods/OSXCocoaPodsTester/OSXCocoaPodsTester/main.m b/objectivec/Tests/CocoaPods/OSXCocoaPodsTester/OSXCocoaPodsTester/main.m
deleted file mode 100644
index b230090e5e..0000000000
--- a/objectivec/Tests/CocoaPods/OSXCocoaPodsTester/OSXCocoaPodsTester/main.m
+++ /dev/null
@@ -1,35 +0,0 @@
-// Protocol Buffers - Google's data interchange format
-// Copyright 2016 Google Inc. All rights reserved.
-// https://developers.google.com/protocol-buffers/
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-#import
-
-int main(int argc, const char * argv[]) {
- return NSApplicationMain(argc, argv);
-}
diff --git a/objectivec/Tests/CocoaPods/OSXCocoaPodsTester/Podfile-framework b/objectivec/Tests/CocoaPods/OSXCocoaPodsTester/Podfile-framework
deleted file mode 100644
index 27eeafc9c8..0000000000
--- a/objectivec/Tests/CocoaPods/OSXCocoaPodsTester/Podfile-framework
+++ /dev/null
@@ -1,10 +0,0 @@
-source 'https://github.com/CocoaPods/Specs.git'
-platform :osx, '10.9'
-
-install! 'cocoapods', :deterministic_uuids => false
-
-use_frameworks!
-
-target 'OSXCocoaPodsTester' do
- pod 'Protobuf', :path => '../../../..'
-end
diff --git a/objectivec/Tests/CocoaPods/OSXCocoaPodsTester/Podfile-static b/objectivec/Tests/CocoaPods/OSXCocoaPodsTester/Podfile-static
deleted file mode 100644
index 5dfc8de578..0000000000
--- a/objectivec/Tests/CocoaPods/OSXCocoaPodsTester/Podfile-static
+++ /dev/null
@@ -1,8 +0,0 @@
-source 'https://github.com/CocoaPods/Specs.git'
-platform :osx, '10.9'
-
-install! 'cocoapods', :deterministic_uuids => false
-
-target 'OSXCocoaPodsTester' do
- pod 'Protobuf', :path => '../../../..'
-end
diff --git a/objectivec/Tests/CocoaPods/README.md b/objectivec/Tests/CocoaPods/README.md
deleted file mode 100644
index 0878591886..0000000000
--- a/objectivec/Tests/CocoaPods/README.md
+++ /dev/null
@@ -1,9 +0,0 @@
-CocoaPods Protocol Buffers Integration Tests
-============================================
-
-The sub directories are the basic projects as created by Xcode 6.3. They are
-used to then drive `pod` and `xcodebuild` to ensure things integrate/build
-as expected.
-
-`run_tests.sh` defaults to running all the tests, invoke it with `--help` to
-see the arguments to control what tests are run.
diff --git a/objectivec/Tests/CocoaPods/iOSCocoaPodsTester/Podfile-framework b/objectivec/Tests/CocoaPods/iOSCocoaPodsTester/Podfile-framework
deleted file mode 100644
index e0ee905514..0000000000
--- a/objectivec/Tests/CocoaPods/iOSCocoaPodsTester/Podfile-framework
+++ /dev/null
@@ -1,10 +0,0 @@
-source 'https://github.com/CocoaPods/Specs.git'
-platform :ios, '9.0'
-
-install! 'cocoapods', :deterministic_uuids => false
-
-use_frameworks!
-
-target 'iOSCocoaPodsTester' do
- pod 'Protobuf', :path => '../../../..'
-end
diff --git a/objectivec/Tests/CocoaPods/iOSCocoaPodsTester/Podfile-static b/objectivec/Tests/CocoaPods/iOSCocoaPodsTester/Podfile-static
deleted file mode 100644
index 1bb8cb2e1a..0000000000
--- a/objectivec/Tests/CocoaPods/iOSCocoaPodsTester/Podfile-static
+++ /dev/null
@@ -1,8 +0,0 @@
-source 'https://github.com/CocoaPods/Specs.git'
-platform :ios, '9.0'
-
-install! 'cocoapods', :deterministic_uuids => false
-
-target 'iOSCocoaPodsTester' do
- pod 'Protobuf', :path => '../../../..'
-end
diff --git a/objectivec/Tests/CocoaPods/iOSCocoaPodsTester/iOSCocoaPodsTester.xcodeproj/project.pbxproj b/objectivec/Tests/CocoaPods/iOSCocoaPodsTester/iOSCocoaPodsTester.xcodeproj/project.pbxproj
deleted file mode 100644
index 27fb553fd4..0000000000
--- a/objectivec/Tests/CocoaPods/iOSCocoaPodsTester/iOSCocoaPodsTester.xcodeproj/project.pbxproj
+++ /dev/null
@@ -1,309 +0,0 @@
-// !$*UTF8*$!
-{
- archiveVersion = 1;
- classes = {
- };
- objectVersion = 46;
- objects = {
-
-/* Begin PBXBuildFile section */
- F4D5A08B1CEE01E200562D79 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = F4D5A08A1CEE01E200562D79 /* main.m */; };
- F4D5A08E1CEE01E200562D79 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = F4D5A08D1CEE01E200562D79 /* AppDelegate.m */; };
- F4D5A0911CEE01E200562D79 /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = F4D5A0901CEE01E200562D79 /* ViewController.m */; };
- F4D5A0941CEE01E200562D79 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = F4D5A0921CEE01E200562D79 /* Main.storyboard */; };
- F4D5A0961CEE01E200562D79 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = F4D5A0951CEE01E200562D79 /* Assets.xcassets */; };
- F4D5A0991CEE01E200562D79 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = F4D5A0971CEE01E200562D79 /* LaunchScreen.storyboard */; };
-/* End PBXBuildFile section */
-
-/* Begin PBXFileReference section */
- F4D5A0861CEE01E200562D79 /* iOSCocoaPodsTester.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = iOSCocoaPodsTester.app; sourceTree = BUILT_PRODUCTS_DIR; };
- F4D5A08A1CEE01E200562D79 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; };
- F4D5A08C1CEE01E200562D79 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; };
- F4D5A08D1CEE01E200562D79 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; };
- F4D5A08F1CEE01E200562D79 /* ViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = ""; };
- F4D5A0901CEE01E200562D79 /* ViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = ""; };
- F4D5A0931CEE01E200562D79 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; };
- F4D5A0951CEE01E200562D79 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; };
- F4D5A0981CEE01E200562D79 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; };
- F4D5A09A1CEE01E200562D79 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
-/* End PBXFileReference section */
-
-/* Begin PBXFrameworksBuildPhase section */
- F4D5A0831CEE01E200562D79 /* Frameworks */ = {
- isa = PBXFrameworksBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXFrameworksBuildPhase section */
-
-/* Begin PBXGroup section */
- F4D5A07D1CEE01E200562D79 = {
- isa = PBXGroup;
- children = (
- F4D5A0881CEE01E200562D79 /* iOSCocoaPodsTester */,
- F4D5A0871CEE01E200562D79 /* Products */,
- );
- sourceTree = "";
- };
- F4D5A0871CEE01E200562D79 /* Products */ = {
- isa = PBXGroup;
- children = (
- F4D5A0861CEE01E200562D79 /* iOSCocoaPodsTester.app */,
- );
- name = Products;
- sourceTree = "";
- };
- F4D5A0881CEE01E200562D79 /* iOSCocoaPodsTester */ = {
- isa = PBXGroup;
- children = (
- F4D5A08C1CEE01E200562D79 /* AppDelegate.h */,
- F4D5A08D1CEE01E200562D79 /* AppDelegate.m */,
- F4D5A08F1CEE01E200562D79 /* ViewController.h */,
- F4D5A0901CEE01E200562D79 /* ViewController.m */,
- F4D5A0921CEE01E200562D79 /* Main.storyboard */,
- F4D5A0951CEE01E200562D79 /* Assets.xcassets */,
- F4D5A0971CEE01E200562D79 /* LaunchScreen.storyboard */,
- F4D5A09A1CEE01E200562D79 /* Info.plist */,
- F4D5A0891CEE01E200562D79 /* Supporting Files */,
- );
- path = iOSCocoaPodsTester;
- sourceTree = "";
- };
- F4D5A0891CEE01E200562D79 /* Supporting Files */ = {
- isa = PBXGroup;
- children = (
- F4D5A08A1CEE01E200562D79 /* main.m */,
- );
- name = "Supporting Files";
- sourceTree = "";
- };
-/* End PBXGroup section */
-
-/* Begin PBXNativeTarget section */
- F4D5A0851CEE01E200562D79 /* iOSCocoaPodsTester */ = {
- isa = PBXNativeTarget;
- buildConfigurationList = F4D5A09D1CEE01E200562D79 /* Build configuration list for PBXNativeTarget "iOSCocoaPodsTester" */;
- buildPhases = (
- F4D5A0821CEE01E200562D79 /* Sources */,
- F4D5A0831CEE01E200562D79 /* Frameworks */,
- F4D5A0841CEE01E200562D79 /* Resources */,
- );
- buildRules = (
- );
- dependencies = (
- );
- name = iOSCocoaPodsTester;
- productName = iOSCocoaPodsTester;
- productReference = F4D5A0861CEE01E200562D79 /* iOSCocoaPodsTester.app */;
- productType = "com.apple.product-type.application";
- };
-/* End PBXNativeTarget section */
-
-/* Begin PBXProject section */
- F4D5A07E1CEE01E200562D79 /* Project object */ = {
- isa = PBXProject;
- attributes = {
- LastUpgradeCheck = 0730;
- ORGANIZATIONNAME = Google;
- TargetAttributes = {
- F4D5A0851CEE01E200562D79 = {
- CreatedOnToolsVersion = 7.3.1;
- };
- };
- };
- buildConfigurationList = F4D5A0811CEE01E200562D79 /* Build configuration list for PBXProject "iOSCocoaPodsTester" */;
- compatibilityVersion = "Xcode 3.2";
- developmentRegion = English;
- hasScannedForEncodings = 0;
- knownRegions = (
- en,
- Base,
- );
- mainGroup = F4D5A07D1CEE01E200562D79;
- productRefGroup = F4D5A0871CEE01E200562D79 /* Products */;
- projectDirPath = "";
- projectRoot = "";
- targets = (
- F4D5A0851CEE01E200562D79 /* iOSCocoaPodsTester */,
- );
- };
-/* End PBXProject section */
-
-/* Begin PBXResourcesBuildPhase section */
- F4D5A0841CEE01E200562D79 /* Resources */ = {
- isa = PBXResourcesBuildPhase;
- buildActionMask = 2147483647;
- files = (
- F4D5A0991CEE01E200562D79 /* LaunchScreen.storyboard in Resources */,
- F4D5A0961CEE01E200562D79 /* Assets.xcassets in Resources */,
- F4D5A0941CEE01E200562D79 /* Main.storyboard in Resources */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXResourcesBuildPhase section */
-
-/* Begin PBXSourcesBuildPhase section */
- F4D5A0821CEE01E200562D79 /* Sources */ = {
- isa = PBXSourcesBuildPhase;
- buildActionMask = 2147483647;
- files = (
- F4D5A0911CEE01E200562D79 /* ViewController.m in Sources */,
- F4D5A08E1CEE01E200562D79 /* AppDelegate.m in Sources */,
- F4D5A08B1CEE01E200562D79 /* main.m in Sources */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXSourcesBuildPhase section */
-
-/* Begin PBXVariantGroup section */
- F4D5A0921CEE01E200562D79 /* Main.storyboard */ = {
- isa = PBXVariantGroup;
- children = (
- F4D5A0931CEE01E200562D79 /* Base */,
- );
- name = Main.storyboard;
- sourceTree = "";
- };
- F4D5A0971CEE01E200562D79 /* LaunchScreen.storyboard */ = {
- isa = PBXVariantGroup;
- children = (
- F4D5A0981CEE01E200562D79 /* Base */,
- );
- name = LaunchScreen.storyboard;
- sourceTree = "";
- };
-/* End PBXVariantGroup section */
-
-/* Begin XCBuildConfiguration section */
- F4D5A09B1CEE01E200562D79 /* Debug */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ALWAYS_SEARCH_USER_PATHS = NO;
- CLANG_ANALYZER_NONNULL = YES;
- CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
- CLANG_CXX_LIBRARY = "libc++";
- CLANG_ENABLE_MODULES = YES;
- CLANG_ENABLE_OBJC_ARC = YES;
- CLANG_WARN_BOOL_CONVERSION = YES;
- CLANG_WARN_CONSTANT_CONVERSION = YES;
- CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
- CLANG_WARN_EMPTY_BODY = YES;
- CLANG_WARN_ENUM_CONVERSION = YES;
- CLANG_WARN_INT_CONVERSION = YES;
- CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
- CLANG_WARN_UNREACHABLE_CODE = YES;
- CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
- "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
- COPY_PHASE_STRIP = NO;
- DEBUG_INFORMATION_FORMAT = dwarf;
- ENABLE_STRICT_OBJC_MSGSEND = YES;
- ENABLE_TESTABILITY = YES;
- GCC_C_LANGUAGE_STANDARD = gnu99;
- GCC_DYNAMIC_NO_PIC = NO;
- GCC_NO_COMMON_BLOCKS = YES;
- GCC_OPTIMIZATION_LEVEL = 0;
- GCC_PREPROCESSOR_DEFINITIONS = (
- "DEBUG=1",
- "$(inherited)",
- );
- GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
- GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
- GCC_WARN_UNDECLARED_SELECTOR = YES;
- GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
- GCC_WARN_UNUSED_FUNCTION = YES;
- GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 9.3;
- MTL_ENABLE_DEBUG_INFO = YES;
- ONLY_ACTIVE_ARCH = YES;
- SDKROOT = iphoneos;
- TARGETED_DEVICE_FAMILY = "1,2";
- };
- name = Debug;
- };
- F4D5A09C1CEE01E200562D79 /* Release */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ALWAYS_SEARCH_USER_PATHS = NO;
- CLANG_ANALYZER_NONNULL = YES;
- CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
- CLANG_CXX_LIBRARY = "libc++";
- CLANG_ENABLE_MODULES = YES;
- CLANG_ENABLE_OBJC_ARC = YES;
- CLANG_WARN_BOOL_CONVERSION = YES;
- CLANG_WARN_CONSTANT_CONVERSION = YES;
- CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
- CLANG_WARN_EMPTY_BODY = YES;
- CLANG_WARN_ENUM_CONVERSION = YES;
- CLANG_WARN_INT_CONVERSION = YES;
- CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
- CLANG_WARN_UNREACHABLE_CODE = YES;
- CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
- "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
- COPY_PHASE_STRIP = NO;
- DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
- ENABLE_NS_ASSERTIONS = NO;
- ENABLE_STRICT_OBJC_MSGSEND = YES;
- GCC_C_LANGUAGE_STANDARD = gnu99;
- GCC_NO_COMMON_BLOCKS = YES;
- GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
- GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
- GCC_WARN_UNDECLARED_SELECTOR = YES;
- GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
- GCC_WARN_UNUSED_FUNCTION = YES;
- GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 9.3;
- MTL_ENABLE_DEBUG_INFO = NO;
- SDKROOT = iphoneos;
- TARGETED_DEVICE_FAMILY = "1,2";
- VALIDATE_PRODUCT = YES;
- };
- name = Release;
- };
- F4D5A09E1CEE01E200562D79 /* Debug */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
- INFOPLIST_FILE = iOSCocoaPodsTester/Info.plist;
- LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
- PRODUCT_BUNDLE_IDENTIFIER = com.google.iOSCocoaPodsTester;
- PRODUCT_NAME = "$(TARGET_NAME)";
- };
- name = Debug;
- };
- F4D5A09F1CEE01E200562D79 /* Release */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
- INFOPLIST_FILE = iOSCocoaPodsTester/Info.plist;
- LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
- PRODUCT_BUNDLE_IDENTIFIER = com.google.iOSCocoaPodsTester;
- PRODUCT_NAME = "$(TARGET_NAME)";
- };
- name = Release;
- };
-/* End XCBuildConfiguration section */
-
-/* Begin XCConfigurationList section */
- F4D5A0811CEE01E200562D79 /* Build configuration list for PBXProject "iOSCocoaPodsTester" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- F4D5A09B1CEE01E200562D79 /* Debug */,
- F4D5A09C1CEE01E200562D79 /* Release */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Release;
- };
- F4D5A09D1CEE01E200562D79 /* Build configuration list for PBXNativeTarget "iOSCocoaPodsTester" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- F4D5A09E1CEE01E200562D79 /* Debug */,
- F4D5A09F1CEE01E200562D79 /* Release */,
- );
- defaultConfigurationIsVisible = 0;
- };
-/* End XCConfigurationList section */
- };
- rootObject = F4D5A07E1CEE01E200562D79 /* Project object */;
-}
diff --git a/objectivec/Tests/CocoaPods/iOSCocoaPodsTester/iOSCocoaPodsTester.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/objectivec/Tests/CocoaPods/iOSCocoaPodsTester/iOSCocoaPodsTester.xcodeproj/project.xcworkspace/contents.xcworkspacedata
deleted file mode 100644
index 008f7b4a6f..0000000000
--- a/objectivec/Tests/CocoaPods/iOSCocoaPodsTester/iOSCocoaPodsTester.xcodeproj/project.xcworkspace/contents.xcworkspacedata
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
diff --git a/objectivec/Tests/CocoaPods/iOSCocoaPodsTester/iOSCocoaPodsTester.xcodeproj/xcshareddata/xcschemes/iOSCocoaPodsTester.xcscheme b/objectivec/Tests/CocoaPods/iOSCocoaPodsTester/iOSCocoaPodsTester.xcodeproj/xcshareddata/xcschemes/iOSCocoaPodsTester.xcscheme
deleted file mode 100644
index 9558dd7a17..0000000000
--- a/objectivec/Tests/CocoaPods/iOSCocoaPodsTester/iOSCocoaPodsTester.xcodeproj/xcshareddata/xcschemes/iOSCocoaPodsTester.xcscheme
+++ /dev/null
@@ -1,91 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/objectivec/Tests/CocoaPods/iOSCocoaPodsTester/iOSCocoaPodsTester/AppDelegate.h b/objectivec/Tests/CocoaPods/iOSCocoaPodsTester/iOSCocoaPodsTester/AppDelegate.h
deleted file mode 100644
index 5eca690ca7..0000000000
--- a/objectivec/Tests/CocoaPods/iOSCocoaPodsTester/iOSCocoaPodsTester/AppDelegate.h
+++ /dev/null
@@ -1,39 +0,0 @@
-// Protocol Buffers - Google's data interchange format
-// Copyright 2016 Google Inc. All rights reserved.
-// https://developers.google.com/protocol-buffers/
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-#import
-
-@interface AppDelegate : UIResponder
-
-@property (strong, nonatomic) UIWindow *window;
-
-
-@end
-
diff --git a/objectivec/Tests/CocoaPods/iOSCocoaPodsTester/iOSCocoaPodsTester/AppDelegate.m b/objectivec/Tests/CocoaPods/iOSCocoaPodsTester/iOSCocoaPodsTester/AppDelegate.m
deleted file mode 100644
index dd7b969af8..0000000000
--- a/objectivec/Tests/CocoaPods/iOSCocoaPodsTester/iOSCocoaPodsTester/AppDelegate.m
+++ /dev/null
@@ -1,67 +0,0 @@
-// Protocol Buffers - Google's data interchange format
-// Copyright 2016 Google Inc. All rights reserved.
-// https://developers.google.com/protocol-buffers/
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-#import "AppDelegate.h"
-
-@interface AppDelegate ()
-
-@end
-
-@implementation AppDelegate
-
-
-- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
- // Override point for customization after application launch.
- return YES;
-}
-
-- (void)applicationWillResignActive:(UIApplication *)application {
- // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
- // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.
-}
-
-- (void)applicationDidEnterBackground:(UIApplication *)application {
- // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
- // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
-}
-
-- (void)applicationWillEnterForeground:(UIApplication *)application {
- // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.
-}
-
-- (void)applicationDidBecomeActive:(UIApplication *)application {
- // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
-}
-
-- (void)applicationWillTerminate:(UIApplication *)application {
- // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
-}
-
-@end
diff --git a/objectivec/Tests/CocoaPods/iOSCocoaPodsTester/iOSCocoaPodsTester/Assets.xcassets/AppIcon.appiconset/Contents.json b/objectivec/Tests/CocoaPods/iOSCocoaPodsTester/iOSCocoaPodsTester/Assets.xcassets/AppIcon.appiconset/Contents.json
deleted file mode 100644
index 36d2c80d88..0000000000
--- a/objectivec/Tests/CocoaPods/iOSCocoaPodsTester/iOSCocoaPodsTester/Assets.xcassets/AppIcon.appiconset/Contents.json
+++ /dev/null
@@ -1,68 +0,0 @@
-{
- "images" : [
- {
- "idiom" : "iphone",
- "size" : "29x29",
- "scale" : "2x"
- },
- {
- "idiom" : "iphone",
- "size" : "29x29",
- "scale" : "3x"
- },
- {
- "idiom" : "iphone",
- "size" : "40x40",
- "scale" : "2x"
- },
- {
- "idiom" : "iphone",
- "size" : "40x40",
- "scale" : "3x"
- },
- {
- "idiom" : "iphone",
- "size" : "60x60",
- "scale" : "2x"
- },
- {
- "idiom" : "iphone",
- "size" : "60x60",
- "scale" : "3x"
- },
- {
- "idiom" : "ipad",
- "size" : "29x29",
- "scale" : "1x"
- },
- {
- "idiom" : "ipad",
- "size" : "29x29",
- "scale" : "2x"
- },
- {
- "idiom" : "ipad",
- "size" : "40x40",
- "scale" : "1x"
- },
- {
- "idiom" : "ipad",
- "size" : "40x40",
- "scale" : "2x"
- },
- {
- "idiom" : "ipad",
- "size" : "76x76",
- "scale" : "1x"
- },
- {
- "idiom" : "ipad",
- "size" : "76x76",
- "scale" : "2x"
- }
- ],
- "info" : {
- "version" : 1,
- "author" : "xcode"
- }
-}
\ No newline at end of file
diff --git a/objectivec/Tests/CocoaPods/iOSCocoaPodsTester/iOSCocoaPodsTester/Base.lproj/LaunchScreen.storyboard b/objectivec/Tests/CocoaPods/iOSCocoaPodsTester/iOSCocoaPodsTester/Base.lproj/LaunchScreen.storyboard
deleted file mode 100644
index 2e721e1833..0000000000
--- a/objectivec/Tests/CocoaPods/iOSCocoaPodsTester/iOSCocoaPodsTester/Base.lproj/LaunchScreen.storyboard
+++ /dev/null
@@ -1,27 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/objectivec/Tests/CocoaPods/iOSCocoaPodsTester/iOSCocoaPodsTester/Base.lproj/Main.storyboard b/objectivec/Tests/CocoaPods/iOSCocoaPodsTester/iOSCocoaPodsTester/Base.lproj/Main.storyboard
deleted file mode 100644
index 82cd159ae3..0000000000
--- a/objectivec/Tests/CocoaPods/iOSCocoaPodsTester/iOSCocoaPodsTester/Base.lproj/Main.storyboard
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/objectivec/Tests/CocoaPods/iOSCocoaPodsTester/iOSCocoaPodsTester/Info.plist b/objectivec/Tests/CocoaPods/iOSCocoaPodsTester/iOSCocoaPodsTester/Info.plist
deleted file mode 100644
index 40c6215d90..0000000000
--- a/objectivec/Tests/CocoaPods/iOSCocoaPodsTester/iOSCocoaPodsTester/Info.plist
+++ /dev/null
@@ -1,47 +0,0 @@
-
-
-
-
- CFBundleDevelopmentRegion
- en
- CFBundleExecutable
- $(EXECUTABLE_NAME)
- CFBundleIdentifier
- $(PRODUCT_BUNDLE_IDENTIFIER)
- CFBundleInfoDictionaryVersion
- 6.0
- CFBundleName
- $(PRODUCT_NAME)
- CFBundlePackageType
- APPL
- CFBundleShortVersionString
- 1.0
- CFBundleSignature
- ????
- CFBundleVersion
- 1
- LSRequiresIPhoneOS
-
- UILaunchStoryboardName
- LaunchScreen
- UIMainStoryboardFile
- Main
- UIRequiredDeviceCapabilities
-
- armv7
-
- UISupportedInterfaceOrientations
-
- UIInterfaceOrientationPortrait
- UIInterfaceOrientationLandscapeLeft
- UIInterfaceOrientationLandscapeRight
-
- UISupportedInterfaceOrientations~ipad
-
- UIInterfaceOrientationPortrait
- UIInterfaceOrientationPortraitUpsideDown
- UIInterfaceOrientationLandscapeLeft
- UIInterfaceOrientationLandscapeRight
-
-
-
diff --git a/objectivec/Tests/CocoaPods/iOSCocoaPodsTester/iOSCocoaPodsTester/ViewController.h b/objectivec/Tests/CocoaPods/iOSCocoaPodsTester/iOSCocoaPodsTester/ViewController.h
deleted file mode 100644
index 777257b85a..0000000000
--- a/objectivec/Tests/CocoaPods/iOSCocoaPodsTester/iOSCocoaPodsTester/ViewController.h
+++ /dev/null
@@ -1,37 +0,0 @@
-// Protocol Buffers - Google's data interchange format
-// Copyright 2016 Google Inc. All rights reserved.
-// https://developers.google.com/protocol-buffers/
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-#import
-
-@interface ViewController : UIViewController
-
-
-@end
-
diff --git a/objectivec/Tests/CocoaPods/iOSCocoaPodsTester/iOSCocoaPodsTester/ViewController.m b/objectivec/Tests/CocoaPods/iOSCocoaPodsTester/iOSCocoaPodsTester/ViewController.m
deleted file mode 100644
index c3b7e6c0cc..0000000000
--- a/objectivec/Tests/CocoaPods/iOSCocoaPodsTester/iOSCocoaPodsTester/ViewController.m
+++ /dev/null
@@ -1,49 +0,0 @@
-// Protocol Buffers - Google's data interchange format
-// Copyright 2016 Google Inc. All rights reserved.
-// https://developers.google.com/protocol-buffers/
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-#import "ViewController.h"
-
-@interface ViewController ()
-
-@end
-
-@implementation ViewController
-
-- (void)viewDidLoad {
- [super viewDidLoad];
- // Do any additional setup after loading the view, typically from a nib.
-}
-
-- (void)didReceiveMemoryWarning {
- [super didReceiveMemoryWarning];
- // Dispose of any resources that can be recreated.
-}
-
-@end
diff --git a/objectivec/Tests/CocoaPods/iOSCocoaPodsTester/iOSCocoaPodsTester/main.m b/objectivec/Tests/CocoaPods/iOSCocoaPodsTester/iOSCocoaPodsTester/main.m
deleted file mode 100644
index 4df0b769cf..0000000000
--- a/objectivec/Tests/CocoaPods/iOSCocoaPodsTester/iOSCocoaPodsTester/main.m
+++ /dev/null
@@ -1,39 +0,0 @@
-//
-// Protocol Buffers - Google's data interchange format
-// Copyright 2016 Google Inc. All rights reserved.
-// https://developers.google.com/protocol-buffers/
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-#import
-#import "AppDelegate.h"
-
-int main(int argc, char * argv[]) {
- @autoreleasepool {
- return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
- }
-}
diff --git a/objectivec/Tests/CocoaPods/run_tests.sh b/objectivec/Tests/CocoaPods/run_tests.sh
deleted file mode 100755
index 35bcc18df7..0000000000
--- a/objectivec/Tests/CocoaPods/run_tests.sh
+++ /dev/null
@@ -1,150 +0,0 @@
-#!/bin/bash
-#
-# Helper to run the pods tests.
-
-set -eu
-
-readonly ScriptDir=$(dirname "$(echo $0 | sed -e "s,^\([^/]\),$(pwd)/\1,")")
-
-printUsage() {
- NAME=$(basename "${0}")
- cat << EOF
-usage: ${NAME} [OPTIONS]
-
-This script runs some test to check the CocoaPods integration.
-
-OPTIONS:
-
- General:
-
- -h, --help
- Show this message
- --skip-static
- Skip the static based pods tests.
- --skip-framework
- Skip the framework based pods tests.
- --skip-ios
- Skip the iOS pods tests.
- --skip-osx
- Skip the OS X pods tests.
-
-EOF
-}
-
-TEST_MODES=( "static" "framework" )
-TEST_NAMES=( "iOSCocoaPodsTester" "OSXCocoaPodsTester" )
-while [[ $# != 0 ]]; do
- case "${1}" in
- -h | --help )
- printUsage
- exit 0
- ;;
- --skip-static )
- TEST_MODES=(${TEST_MODES[@]/static})
- ;;
- --skip-framework )
- TEST_MODES=(${TEST_MODES[@]/framework})
- ;;
- --skip-ios )
- TEST_NAMES=(${TEST_NAMES[@]/iOSCocoaPodsTester})
- ;;
- --skip-osx )
- TEST_NAMES=(${TEST_NAMES[@]/OSXCocoaPodsTester})
- ;;
- -*)
- echo "ERROR: Unknown option: ${1}" 1>&2
- printUsage
- exit 1
- ;;
- *)
- echo "ERROR: Unknown argument: ${1}" 1>&2
- printUsage
- exit 1
- ;;
- esac
- shift
-done
-
-# Sanity check.
-if [[ "${#TEST_NAMES[@]}" == 0 ]] ; then
- echo "ERROR: Need to run at least iOS or OS X tests." 1>&2
- exit 2
-fi
-if [[ "${#TEST_MODES[@]}" == 0 ]] ; then
- echo "ERROR: Need to run at least static or frameworks tests." 1>&2
- exit 2
-fi
-
-header() {
- echo ""
- echo "========================================================================"
- echo " ${@}"
- echo "========================================================================"
- echo ""
-}
-
-# Cleanup hook for do_test, assumes directory is correct.
-cleanup() {
- local TEST_NAME="$1"
-
- echo "Cleaning up..."
-
- # Generally don't let things fail, and eat common stdout, but let stderr show
- # in case something does hiccup.
- xcodebuild -workspace "${TEST_NAME}.xcworkspace" -scheme "${TEST_NAME}" clean > /dev/null || true
- pod deintegrate > /dev/null || true
- # Flush the cache so nothing is left behind.
- pod cache clean --all || true
- # Delete the files left after pod deintegrate.
- rm -f Podfile.lock || true
- rm -rf "${TEST_NAME}.xcworkspace" || true
- git checkout -- "${TEST_NAME}.xcodeproj" || true
- # Remove the Podfile that was put in place.
- rm -f Podfile || true
-}
-
-do_test() {
- local TEST_NAME="$1"
- local TEST_MODE="$2"
-
- header "${TEST_NAME}" - Mode: "${TEST_MODE}"
- cd "${ScriptDir}/${TEST_NAME}"
-
- # Hook in cleanup for any failures.
- trap "cleanup ${TEST_NAME}" EXIT
-
- # Ensure nothing is cached by pods to start with that could throw things off.
- pod cache clean --all
-
- # Put the right Podfile in place.
- cp -f "Podfile-${TEST_MODE}" "Podfile"
-
- xcodebuild_args=( "-workspace" "${TEST_NAME}.xcworkspace" "-scheme" "${TEST_NAME}" )
-
- # For iOS, if the SDK is not provided it tries to use iphoneos, and the test
- # fail on Travis since those machines don't have a Code Signing identity.
- if [[ "${TEST_NAME}" == iOS* ]] ; then
- # Apparently the destination flag is required to avoid "Unsupported architecture"
- # errors.
- xcodebuild_args+=(
- -sdk iphonesimulator ONLY_ACTIVE_ARCH=NO
- -destination "platform=iOS Simulator,name=iPad 2,OS=9.3"
- )
- fi
-
- # Do the work!
- pod install --verbose
-
- xcodebuild "${xcodebuild_args[@]}" build
-
- # Clear the hook and manually run cleanup.
- trap - EXIT
- cleanup "${TEST_NAME}"
-}
-
-# Run the tests.
-for TEST_NAME in "${TEST_NAMES[@]}" ; do
- for TEST_MODE in "${TEST_MODES[@]}" ; do
- do_test "${TEST_NAME}" "${TEST_MODE}"
- done
-done
diff --git a/pkg/BUILD.bazel b/pkg/BUILD.bazel
index 2d398c0233..c5ed05e0f5 100644
--- a/pkg/BUILD.bazel
+++ b/pkg/BUILD.bazel
@@ -6,6 +6,7 @@ load(
"pkg_files",
)
load("//:protobuf_release.bzl", "package_naming")
+load(":build_systems.bzl", "gen_automake_file_lists", "gen_file_lists")
load(":cc_dist_library.bzl", "cc_dist_library")
package_naming(
@@ -308,6 +309,44 @@ pkg_zip(
package_variables = ":protobuf_pkg_naming",
)
+################################################################################
+# Generated file lists for build systems
+################################################################################
+
+gen_file_lists(
+ name = "gen_src_file_lists",
+ testonly = 1,
+ out_stem = "src_file_lists",
+ src_libs = {
+ # source rule: name in generated file
+ "//:protobuf": "libprotobuf",
+ "//:protoc_lib": "libprotoc",
+ "//:protobuf_lite": "libprotobuf_lite",
+ },
+)
+
+gen_automake_file_lists(
+ name = "gen_automake_extra_dist_lists",
+ testonly = 1,
+ out = "extra_dist_file_lists.am",
+ src_libs = {
+ # source rule: name in generated file
+ "//:common_dist_files": "dist_common",
+ "//:conformance_dist_files": "dist_conformance",
+ "//benchmarks:all_dist_files": "dist_benchmark",
+ "@com_google_protobuf_examples//:dist_files": "dist_example",
+ "//:csharp_dist_files": "dist_csharp",
+ "//csharp:dist_files": "dist_csharp2",
+ "//:objectivec_dist_files": "dist_objectivec",
+ "//objectivec:dist_files": "dist_objectivec2",
+ "//:php_dist_files": "dist_php",
+ "//php:dist_files": "dist_php2",
+ "//:python_dist_files": "dist_python",
+ "//ruby:dist_files": "dist_ruby",
+ "//js:dist_files": "dist_js",
+ },
+)
+
################################################################################
# Protobuf runtime libraries.
################################################################################
diff --git a/pkg/build_systems.bzl b/pkg/build_systems.bzl
new file mode 100644
index 0000000000..753d285f1f
--- /dev/null
+++ b/pkg/build_systems.bzl
@@ -0,0 +1,452 @@
+# Starlark utilities for working with other build systems
+
+load("@rules_pkg//:providers.bzl", "PackageFilegroupInfo", "PackageFilesInfo")
+
+################################################################################
+# Macro to create CMake and Automake source lists.
+################################################################################
+
+def gen_file_lists(name, out_stem, **kwargs):
+ gen_cmake_file_lists(
+ name = name + "_cmake",
+ out = out_stem + ".cmake",
+ source_prefix = "${protobuf_SOURCE_DIR}/",
+ **kwargs
+ )
+ gen_automake_file_lists(
+ name = name + "_automake",
+ out = out_stem + ".am",
+ source_prefix = "$(top_srcdir)/",
+ **kwargs
+ )
+ native.filegroup(
+ name = name,
+ srcs = [
+ out_stem + ".cmake",
+ out_stem + ".am",
+ ],
+ )
+
+################################################################################
+# Aspect that extracts srcs, hdrs, etc.
+################################################################################
+
+CcFileList = provider(
+ doc = "List of files to be built into a library.",
+ fields = {
+ # As a rule of thumb, `hdrs` and `textual_hdrs` are the files that
+ # would be installed along with a prebuilt library.
+ "hdrs": "public header files, including those used by generated code",
+ "textual_hdrs": "files which are included but are not self-contained",
+
+ # The `internal_hdrs` are header files which appear in `srcs`.
+ # These are only used when compiling the library.
+ "internal_hdrs": "internal header files (only used to build .cc files)",
+ "srcs": "source files",
+ },
+)
+
+ProtoFileList = provider(
+ doc = "List of proto files and generated code to be built into a library.",
+ fields = {
+ # Proto files:
+ "proto_srcs": "proto file sources",
+
+ # Generated sources:
+ "hdrs": "header files that are expected to be generated",
+ "srcs": "source files that are expected to be generated",
+ },
+)
+
+def _flatten_target_files(targets):
+ files = []
+ for target in targets:
+ for tfile in target.files.to_list():
+ files.append(tfile)
+ return files
+
+def _combine_cc_file_lists(file_lists):
+ hdrs = {}
+ textual_hdrs = {}
+ internal_hdrs = {}
+ srcs = {}
+ for file_list in file_lists:
+ hdrs.update({f: 1 for f in file_list.hdrs})
+ textual_hdrs.update({f: 1 for f in file_list.textual_hdrs})
+ internal_hdrs.update({f: 1 for f in file_list.internal_hdrs})
+ srcs.update({f: 1 for f in file_list.srcs})
+ return CcFileList(
+ hdrs = sorted(hdrs.keys()),
+ textual_hdrs = sorted(textual_hdrs.keys()),
+ internal_hdrs = sorted(internal_hdrs.keys()),
+ srcs = sorted(srcs.keys()),
+ )
+
+def _file_list_aspect_impl(target, ctx):
+ # We're going to reach directly into the attrs on the traversed rule.
+ rule_attr = ctx.rule.attr
+ providers = []
+
+ # Extract sources from a `cc_library` (or similar):
+ if CcInfo in target:
+ # CcInfo is a proxy for what we expect this rule to look like.
+ # However, some deps may expose `CcInfo` without having `srcs`,
+ # `hdrs`, etc., so we use `getattr` to handle that gracefully.
+
+ internal_hdrs = []
+ srcs = []
+
+ # Filter `srcs` so it only contains source files. Headers will go
+ # into `internal_headers`.
+ for src in _flatten_target_files(getattr(rule_attr, "srcs", [])):
+ if src.extension.lower() in ["c", "cc", "cpp", "cxx"]:
+ srcs.append(src)
+ else:
+ internal_hdrs.append(src)
+
+ providers.append(CcFileList(
+ hdrs = _flatten_target_files(getattr(rule_attr, "hdrs", [])),
+ textual_hdrs = _flatten_target_files(getattr(
+ rule_attr,
+ "textual_hdrs",
+ [],
+ )),
+ internal_hdrs = internal_hdrs,
+ srcs = srcs,
+ ))
+
+ # Extract sources from a `proto_library`:
+ if ProtoInfo in target:
+ proto_srcs = []
+ srcs = []
+ hdrs = []
+ for src in _flatten_target_files(rule_attr.srcs):
+ proto_srcs.append(src)
+ srcs.append("%s/%s.pb.cc" % (src.dirname, src.basename))
+ hdrs.append("%s/%s.pb.h" % (src.dirname, src.basename))
+
+ providers.append(ProtoFileList(
+ proto_srcs = proto_srcs,
+ srcs = srcs,
+ hdrs = hdrs,
+ ))
+
+ return providers
+
+file_list_aspect = aspect(
+ doc = """
+Aspect to provide the list of sources and headers from a rule.
+
+Output is CcFileList and/or ProtoFileList. Example:
+
+ cc_library(
+ name = "foo",
+ srcs = [
+ "foo.cc",
+ "foo_internal.h",
+ ],
+ hdrs = ["foo.h"],
+ textual_hdrs = ["foo_inl.inc"],
+ )
+ # produces:
+ # CcFileList(
+ # hdrs = [File("foo.h")],
+ # textual_hdrs = [File("foo_inl.inc")],
+ # internal_hdrs = [File("foo_internal.h")],
+ # srcs = [File("foo.cc")],
+ # )
+
+ proto_library(
+ name = "bar_proto",
+ srcs = ["bar.proto"],
+ )
+ # produces:
+ # ProtoFileList(
+ # proto_srcs = ["bar.proto"],
+ # # Generated filenames are synthesized:
+ # hdrs = ["bar.pb.h"],
+ # srcs = ["bar.pb.cc"],
+ # )
+""",
+ implementation = _file_list_aspect_impl,
+)
+
+################################################################################
+# Generic source lists generation
+#
+# This factory creates a rule implementation that is parameterized by a
+# fragment generator function.
+################################################################################
+
+def _create_file_list_impl(fragment_generator):
+ # `fragment_generator` is a function like:
+ # def fn(originating_rule: Label,
+ # varname: str,
+ # source_prefix: str,
+ # path_strings: [str]) -> str
+ #
+ # It returns a string that defines `varname` to `path_strings`, each
+ # prepended with `source_prefix`.
+ #
+ # When dealing with `File` objects, the `short_path` is used to strip
+ # the output prefix for generated files.
+
+ def _impl(ctx):
+ out = ctx.outputs.out
+
+ fragments = []
+ for srcrule, libname in ctx.attr.src_libs.items():
+ if CcFileList in srcrule:
+ cc_file_list = srcrule[CcFileList]
+ fragments.extend([
+ fragment_generator(
+ srcrule.label,
+ libname + "_srcs",
+ ctx.attr.source_prefix,
+ [f.short_path for f in cc_file_list.srcs],
+ ),
+ fragment_generator(
+ srcrule.label,
+ libname + "_hdrs",
+ ctx.attr.source_prefix,
+ [f.short_path for f in (cc_file_list.hdrs +
+ cc_file_list.textual_hdrs)],
+ ),
+ ])
+
+ if ProtoFileList in srcrule:
+ proto_file_list = srcrule[ProtoFileList]
+ fragments.extend([
+ fragment_generator(
+ srcrule.label,
+ libname + "_proto_srcs",
+ ctx.attr.source_prefix,
+ [f.short_path for f in proto_file_list.proto_srcs],
+ ),
+ fragment_generator(
+ srcrule.label,
+ libname + "_srcs",
+ ctx.attr.source_prefix,
+ proto_file_list.srcs,
+ ),
+ fragment_generator(
+ srcrule.label,
+ libname + "_hdrs",
+ ctx.attr.source_prefix,
+ proto_file_list.hdrs,
+ ),
+ ])
+
+ files = {}
+
+ if PackageFilegroupInfo in srcrule:
+ for pkg_files_info, origin in srcrule[PackageFilegroupInfo].pkg_files:
+ # keys are the destination path:
+ files.update(pkg_files_info.dest_src_map)
+
+ if PackageFilesInfo in srcrule:
+ # keys are the destination:
+ files.update(srcrule[PackageFilesInfo].dest_src_map)
+
+ if files == {} and DefaultInfo in srcrule and CcInfo not in srcrule:
+ # This could be an individual file or filegroup.
+ # We explicitly ignore rules with CcInfo, since their
+ # output artifacts are libraries or binaries.
+ files.update(
+ {
+ f.short_path: 1
+ for f in srcrule[DefaultInfo].files.to_list()
+ },
+ )
+
+ if files:
+ fragments.append(
+ fragment_generator(
+ srcrule.label,
+ libname + "_files",
+ ctx.attr.source_prefix,
+ sorted(files.keys()),
+ ),
+ )
+
+ ctx.actions.write(
+ output = out,
+ content = (ctx.attr._header % ctx.label) + "\n".join(fragments),
+ )
+
+ return [DefaultInfo(files = depset([out]))]
+
+ return _impl
+
+# Common rule attrs for rules that use `_create_file_list_impl`:
+# (note that `_header` is also required)
+_source_list_common_attrs = {
+ "out": attr.output(
+ doc = (
+ "The generated filename. This should usually have a build " +
+ "system-specific extension, like `out.am` or `out.cmake`."
+ ),
+ mandatory = True,
+ ),
+ "src_libs": attr.label_keyed_string_dict(
+ doc = (
+ "A dict, {target: libname} of libraries to include. " +
+ "Targets can be C++ rules (like `cc_library` or `cc_test`), " +
+ "`proto_library` rules, files, `filegroup` rules, `pkg_files` " +
+ "rules, or `pkg_filegroup` rules. " +
+ "The libname is a string, and used to construct the variable " +
+ "name in the `out` file holding the target's sources. " +
+ "For generated files, the output root (like `bazel-bin/`) is not " +
+ "included. " +
+ "For `pkg_files` and `pkg_filegroup` rules, the destination path " +
+ "is used."
+ ),
+ mandatory = True,
+ providers = [
+ [CcFileList],
+ [DefaultInfo],
+ [PackageFilegroupInfo],
+ [PackageFilesInfo],
+ [ProtoFileList],
+ ],
+ aspects = [file_list_aspect],
+ ),
+ "source_prefix": attr.string(
+ doc = "String to prepend to each source path.",
+ ),
+}
+
+################################################################################
+# CMake source lists generation
+################################################################################
+
+def _cmake_var_fragment(owner, varname, prefix, entries):
+ """Returns a single `set(varname ...)` fragment (CMake syntax).
+
+ Args:
+ owner: Label, the rule that owns these srcs.
+ varname: str, the var name to set.
+ prefix: str, prefix to prepend to each of `entries`.
+ entries: [str], the entries in the list.
+
+ Returns:
+ A string.
+ """
+ return (
+ "# {owner}\n" +
+ "set({varname}\n" +
+ "{entries}\n" +
+ ")\n"
+ ).format(
+ owner = owner,
+ varname = varname,
+ entries = "\n".join([" %s%s" % (prefix, f) for f in entries]),
+ )
+
+gen_cmake_file_lists = rule(
+ doc = """
+Generates a CMake-syntax file with lists of files.
+
+The generated file defines variables with lists of files from `srcs`. The
+intent is for these files to be included from a non-generated CMake file
+which actually defines the libraries based on these lists.
+
+For C++ rules, the following are generated:
+ {libname}_srcs: contains srcs.
+ {libname}_hdrs: contains hdrs and textual_hdrs.
+
+For proto_library, the following are generated:
+ {libname}_proto_srcs: contains the srcs from the `proto_library` rule.
+ {libname}_srcs: contains syntesized paths for generated C++ sources.
+ {libname}_hdrs: contains syntesized paths for generated C++ headers.
+
+""",
+ implementation = _create_file_list_impl(_cmake_var_fragment),
+ attrs = dict(
+ _source_list_common_attrs,
+ _header = attr.string(
+ default = """\
+# Auto-generated by %s
+#
+# This file contains lists of sources based on Bazel rules. It should
+# be included from a hand-written CMake file that defines targets.
+#
+# Changes to this file will be overwritten based on Bazel definitions.
+
+if(${CMAKE_VERSION} VERSION_GREATER 3.10 OR ${CMAKE_VERSION} VERSION_EQUAL 3.10)
+ include_guard()
+endif()
+
+""",
+ ),
+ ),
+)
+
+################################################################################
+# Automake source lists generation
+################################################################################
+
+def _automake_var_fragment(owner, varname, prefix, entries):
+ """Returns a single variable assignment fragment (Automake syntax).
+
+ Args:
+ owner: Label, the rule that owns these srcs.
+ varname: str, the var name to set.
+ prefix: str, prefix to prepend to each of `entries`.
+ entries: [str], the entries in the list.
+
+ Returns:
+ A string.
+ """
+ if len(entries) == 0:
+ # A backslash followed by a blank line is illegal. We still want
+ # to emit the variable, though.
+ return "# {owner}\n{varname} =\n".format(
+ owner = owner,
+ varname = varname,
+ )
+ fragment = (
+ "# {owner}\n" +
+ "{varname} = \\\n" +
+ "{entries}"
+ ).format(
+ owner = owner,
+ varname = varname,
+ entries = " \\\n".join([" %s%s" % (prefix, f) for f in entries]),
+ )
+ return fragment.rstrip("\\ ") + "\n"
+
+gen_automake_file_lists = rule(
+ doc = """
+Generates an Automake-syntax file with lists of files.
+
+The generated file defines variables with lists of files from `srcs`. The
+intent is for these files to be included from a non-generated Makefile.am
+file which actually defines the libraries based on these lists.
+
+For C++ rules, the following are generated:
+ {libname}_srcs: contains srcs.
+ {libname}_hdrs: contains hdrs and textual_hdrs.
+
+For proto_library, the following are generated:
+ {libname}_proto_srcs: contains the srcs from the `proto_library` rule.
+ {libname}_srcs: contains syntesized paths for generated C++ sources.
+ {libname}_hdrs: contains syntesized paths for generated C++ headers.
+
+""",
+ implementation = _create_file_list_impl(_automake_var_fragment),
+ attrs = dict(
+ _source_list_common_attrs.items(),
+ _header = attr.string(
+ default = """\
+# Auto-generated by %s
+#
+# This file contains lists of sources based on Bazel rules. It should
+# be included from a hand-written Makefile.am that defines targets.
+#
+# Changes to this file will be overwritten based on Bazel definitions.
+
+""",
+ ),
+ ),
+)
diff --git a/python/google/protobuf/pyext/extension_dict.h b/python/google/protobuf/pyext/extension_dict.h
index a0581941bd..86d2451a00 100644
--- a/python/google/protobuf/pyext/extension_dict.h
+++ b/python/google/protobuf/pyext/extension_dict.h
@@ -37,8 +37,6 @@
#define PY_SSIZE_T_CLEAN
#include
-#include
-
#include
namespace google {
diff --git a/python/google/protobuf/pyext/map_container.h b/python/google/protobuf/pyext/map_container.h
index e14136efab..af334d2e77 100644
--- a/python/google/protobuf/pyext/map_container.h
+++ b/python/google/protobuf/pyext/map_container.h
@@ -35,7 +35,6 @@
#include
#include
-#include
#include
#include
diff --git a/python/google/protobuf/pyext/repeated_composite_container.h b/python/google/protobuf/pyext/repeated_composite_container.h
index 30536eabd4..6fa6e176f1 100644
--- a/python/google/protobuf/pyext/repeated_composite_container.h
+++ b/python/google/protobuf/pyext/repeated_composite_container.h
@@ -37,10 +37,6 @@
#define PY_SSIZE_T_CLEAN
#include
-#include
-#include
-#include
-
#include
namespace google {
diff --git a/python/google/protobuf/pyext/repeated_scalar_container.h b/python/google/protobuf/pyext/repeated_scalar_container.h
index 372b6f0a35..67423ab4ce 100644
--- a/python/google/protobuf/pyext/repeated_scalar_container.h
+++ b/python/google/protobuf/pyext/repeated_scalar_container.h
@@ -37,8 +37,6 @@
#define PY_SSIZE_T_CLEAN
#include
-#include
-
#include
#include
diff --git a/src/Makefile.am b/src/Makefile.am
index 8cb05f78c0..fc80935c04 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -74,6 +74,7 @@ nobase_include_HEADERS = \
google/protobuf/arenaz_sampler.h \
google/protobuf/compiler/code_generator.h \
google/protobuf/compiler/command_line_interface.h \
+ google/protobuf/compiler/cpp/cpp_generator.h \
google/protobuf/compiler/cpp/file.h \
google/protobuf/compiler/cpp/generator.h \
google/protobuf/compiler/cpp/helpers.h \
@@ -84,6 +85,7 @@ nobase_include_HEADERS = \
google/protobuf/compiler/csharp/csharp_options.h \
google/protobuf/compiler/importer.h \
google/protobuf/compiler/java/generator.h \
+ google/protobuf/compiler/java/java_generator.h \
google/protobuf/compiler/java/kotlin_generator.h \
google/protobuf/compiler/java/names.h \
google/protobuf/compiler/objectivec/objectivec_generator.h \
@@ -94,6 +96,7 @@ nobase_include_HEADERS = \
google/protobuf/compiler/plugin.pb.h \
google/protobuf/compiler/python/generator.h \
google/protobuf/compiler/python/pyi_generator.h \
+ google/protobuf/compiler/python/python_generator.h \
google/protobuf/compiler/ruby/ruby_generator.h \
google/protobuf/descriptor.h \
google/protobuf/descriptor.pb.h \
diff --git a/src/google/protobuf/compiler/cpp/enum_field.cc b/src/google/protobuf/compiler/cpp/enum_field.cc
index 4b91547a32..8ffb699e87 100644
--- a/src/google/protobuf/compiler/cpp/enum_field.cc
+++ b/src/google/protobuf/compiler/cpp/enum_field.cc
@@ -37,6 +37,7 @@
#include
#include
#include
+#include
#include
namespace google {
@@ -55,8 +56,9 @@ void SetEnumVariables(const FieldDescriptor* descriptor,
(*variables)["default"] = Int32ToString(default_value->number());
(*variables)["full_name"] = descriptor->full_name();
(*variables)["cached_byte_size_name"] = MakeVarintCachedSizeName(descriptor);
+ bool cold = ShouldSplit(descriptor, options);
(*variables)["cached_byte_size_field"] =
- MakeVarintCachedSizeFieldName(descriptor);
+ MakeVarintCachedSizeFieldName(descriptor, cold);
}
} // namespace
@@ -110,6 +112,7 @@ void EnumFieldGenerator::GenerateInlineAccessorDefinitions(
" $field$ = value;\n"
"}\n"
"inline void $classname$::set_$name$($type$ value) {\n"
+ "$maybe_prepare_split_message$"
" _internal_set_$name$(value);\n"
"$annotate_set$"
" // @@protoc_insertion_point(field_set:$full_name$)\n"
@@ -162,6 +165,10 @@ void EnumFieldGenerator::GenerateConstexprAggregateInitializer(
void EnumFieldGenerator::GenerateAggregateInitializer(
io::Printer* printer) const {
Formatter format(printer, variables_);
+ if (ShouldSplit(descriptor_, options_)) {
+ format("decltype(Impl_::Split::$name$_){$default$}");
+ return;
+ }
format("decltype($field$){$default$}");
}
diff --git a/src/google/protobuf/compiler/cpp/enum_field.h b/src/google/protobuf/compiler/cpp/enum_field.h
index 44269a615f..61bae855cd 100644
--- a/src/google/protobuf/compiler/cpp/enum_field.h
+++ b/src/google/protobuf/compiler/cpp/enum_field.h
@@ -101,7 +101,9 @@ class RepeatedEnumFieldGenerator : public FieldGenerator {
void GenerateMergingCode(io::Printer* printer) const override;
void GenerateSwappingCode(io::Printer* printer) const override;
void GenerateConstructorCode(io::Printer* printer) const override;
- void GenerateCopyConstructorCode(io::Printer* printer) const override {}
+ void GenerateCopyConstructorCode(io::Printer* /*printer*/) const override {
+ GOOGLE_CHECK(!ShouldSplit(descriptor_, options_));
+ }
void GenerateDestructorCode(io::Printer* printer) const override;
void GenerateSerializeWithCachedSizesToArray(
io::Printer* printer) const override;
diff --git a/src/google/protobuf/compiler/cpp/field.cc b/src/google/protobuf/compiler/cpp/field.cc
index a242c59db5..90d20848b3 100644
--- a/src/google/protobuf/compiler/cpp/field.cc
+++ b/src/google/protobuf/compiler/cpp/field.cc
@@ -244,7 +244,8 @@ void SetCommonFieldVariables(const FieldDescriptor* descriptor,
(*variables)["number"] = StrCat(descriptor->number());
(*variables)["classname"] = ClassName(FieldScope(descriptor), false);
(*variables)["declared_type"] = DeclaredTypeMethodName(descriptor->type());
- (*variables)["field"] = FieldMemberName(descriptor);
+ bool split = ShouldSplit(descriptor, options);
+ (*variables)["field"] = FieldMemberName(descriptor, split);
(*variables)["tag_size"] = StrCat(
WireFormat::TagSize(descriptor->number(), descriptor->type()));
@@ -252,6 +253,8 @@ void SetCommonFieldVariables(const FieldDescriptor* descriptor,
(*variables)["set_hasbit"] = "";
(*variables)["clear_hasbit"] = "";
+ (*variables)["maybe_prepare_split_message"] =
+ split ? " PrepareSplitMessageForWrite();\n" : "";
AddAccessorAnnotations(descriptor, options, variables);
@@ -299,6 +302,10 @@ void FieldGenerator::SetInlinedStringIndex(int32_t inlined_string_index) {
void FieldGenerator::GenerateAggregateInitializer(io::Printer* printer) const {
Formatter format(printer, variables_);
+ if (ShouldSplit(descriptor_, options_)) {
+ format("decltype(Impl_::Split::$name$_){arena}");
+ return;
+ }
format("decltype($field$){arena}");
}
@@ -314,6 +321,15 @@ void FieldGenerator::GenerateCopyAggregateInitializer(
format("decltype($field$){from.$field$}");
}
+void FieldGenerator::GenerateCopyConstructorCode(io::Printer* printer) const {
+ if (ShouldSplit(descriptor_, options_)) {
+ // There is no copy constructor for the `Split` struct, so we need to copy
+ // the value here.
+ Formatter format(printer, variables_);
+ format("$field$ = from.$field$;\n");
+ }
+}
+
void SetCommonOneofFieldVariables(
const FieldDescriptor* descriptor,
std::map* variables) {
diff --git a/src/google/protobuf/compiler/cpp/field.h b/src/google/protobuf/compiler/cpp/field.h
index 52098e7352..dd2a51a2fe 100644
--- a/src/google/protobuf/compiler/cpp/field.h
+++ b/src/google/protobuf/compiler/cpp/field.h
@@ -136,7 +136,7 @@ class FieldGenerator {
virtual void GenerateMergingCode(io::Printer* printer) const = 0;
// Generates a copy constructor
- virtual void GenerateCopyConstructorCode(io::Printer* printer) const = 0;
+ virtual void GenerateCopyConstructorCode(io::Printer* printer) const;
// Generate lines of code (statements, not declarations) which swaps
// this field and the corresponding field of another message, which
@@ -150,6 +150,9 @@ class FieldGenerator {
// method, invoked by each of the generated constructors.
virtual void GenerateConstructorCode(io::Printer* printer) const = 0;
+ // Generate initialization code for private members in the cold struct.
+ virtual void GenerateCreateSplitMessageCode(io::Printer* printer) const {}
+
// Generate any code that needs to go in the class's SharedDtor() method,
// invoked by the destructor.
// Most field types don't need this, so the default implementation is empty.
diff --git a/src/google/protobuf/compiler/cpp/file.cc b/src/google/protobuf/compiler/cpp/file.cc
index d409661dc1..838e0ab9b4 100644
--- a/src/google/protobuf/compiler/cpp/file.cc
+++ b/src/google/protobuf/compiler/cpp/file.cc
@@ -480,10 +480,40 @@ void FileGenerator::GenerateSourceDefaultInstance(int idx,
io::Printer* printer) {
Formatter format(printer, variables_);
MessageGenerator* generator = message_generators_[idx].get();
+ // Generate the split instance first because it's needed in the constexpr
+ // constructor.
+ if (ShouldSplit(generator->descriptor_, options_)) {
+ // Use a union to disable the destructor of the _instance member.
+ // We can constant initialize, but the object will still have a non-trivial
+ // destructor that we need to elide.
+ format(
+ "struct $1$ {\n"
+ " PROTOBUF_CONSTEXPR $1$()\n"
+ " : _instance{",
+ DefaultInstanceType(generator->descriptor_, options_,
+ /*split=*/true));
+ generator->GenerateInitDefaultSplitInstance(printer);
+ format(
+ "} {}\n"
+ " ~$1$() {}\n"
+ " union {\n"
+ " $2$ _instance;\n"
+ " };\n"
+ "};\n",
+ DefaultInstanceType(generator->descriptor_, options_, /*split=*/true),
+ StrCat(generator->classname_, "::Impl_::Split"));
+ // NO_DESTROY is not necessary for correctness. The empty destructor is
+ // enough. However, the empty destructor fails to be elided in some
+ // configurations (like non-opt or with certain sanitizers). NO_DESTROY is
+ // there just to improve performance and binary size in these builds.
+ format(
+ "PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT "
+ "PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 $1$ $2$;\n",
+ DefaultInstanceType(generator->descriptor_, options_, /*split=*/true),
+ DefaultInstanceName(generator->descriptor_, options_, /*split=*/true));
+ }
+
generator->GenerateConstexprConstructor(printer);
- // Use a union to disable the destructor of the _instance member.
- // We can constant initialize, but the object will still have a non-trivial
- // destructor that we need to elide.
format(
"struct $1$ {\n"
" PROTOBUF_CONSTEXPR $1$()\n"
@@ -495,14 +525,11 @@ void FileGenerator::GenerateSourceDefaultInstance(int idx,
"};\n",
DefaultInstanceType(generator->descriptor_, options_),
generator->classname_);
- // NO_DESTROY is not necessary for correctness. The empty destructor is
- // enough. However, the empty destructor fails to be elided in some
- // configurations (like non-opt or with certain sanitizers). NO_DESTROY is
- // there just to improve performance and binary size in these builds.
- format("PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT "
- "PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 $1$ $2$;\n",
- DefaultInstanceType(generator->descriptor_, options_),
- DefaultInstanceName(generator->descriptor_, options_));
+ format(
+ "PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT "
+ "PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 $1$ $2$;\n",
+ DefaultInstanceType(generator->descriptor_, options_),
+ DefaultInstanceName(generator->descriptor_, options_));
for (int i = 0; i < generator->descriptor_->field_count(); i++) {
const FieldDescriptor* field = generator->descriptor_->field(i);
@@ -514,7 +541,7 @@ void FileGenerator::GenerateSourceDefaultInstance(int idx,
"($3$._instance.$4$.Init(), std::true_type{});\n",
ClassName(generator->descriptor_), FieldName(field),
DefaultInstanceName(generator->descriptor_, options_),
- FieldMemberName(field));
+ FieldMemberName(field, ShouldSplit(field, options_)));
}
}
@@ -947,6 +974,7 @@ class FileGenerator::ForwardDeclarations {
public:
void AddMessage(const Descriptor* d) { classes_[ClassName(d)] = d; }
void AddEnum(const EnumDescriptor* d) { enums_[ClassName(d)] = d; }
+ void AddSplit(const Descriptor* d) { splits_[ClassName(d)] = d; }
void Print(const Formatter& format, const Options& options) const {
for (const auto& p : enums_) {
@@ -967,6 +995,14 @@ class FileGenerator::ForwardDeclarations {
class_desc, classname, DefaultInstanceType(class_desc, options),
DefaultInstanceName(class_desc, options));
}
+ for (const auto& p : splits_) {
+ const Descriptor* class_desc = p.second;
+ format(
+ "struct $1$;\n"
+ "$dllexport_decl $extern $1$ $2$;\n",
+ DefaultInstanceType(class_desc, options, /*split=*/true),
+ DefaultInstanceName(class_desc, options, /*split=*/true));
+ }
}
void PrintTopLevelDecl(const Formatter& format,
@@ -982,6 +1018,7 @@ class FileGenerator::ForwardDeclarations {
private:
std::map classes_;
std::map enums_;
+ std::map splits_;
};
static void PublicImportDFS(const FileDescriptor* fd,
@@ -1027,6 +1064,12 @@ void FileGenerator::GenerateForwardDeclarations(io::Printer* printer) {
if (d && !public_set.count(d->file()))
decls[Namespace(d, options_)].AddEnum(d);
}
+ for (const auto& mg : message_generators_) {
+ const Descriptor* d = mg->descriptor_;
+ if ((d != nullptr) && (public_set.count(d->file()) == 0u) &&
+ ShouldSplit(mg->descriptor_, options_))
+ decls[Namespace(d, options_)].AddSplit(d);
+ }
{
NamespaceOpener ns(format);
diff --git a/src/google/protobuf/compiler/cpp/helpers.cc b/src/google/protobuf/compiler/cpp/helpers.cc
index 0c37858aea..b29962fd83 100644
--- a/src/google/protobuf/compiler/cpp/helpers.cc
+++ b/src/google/protobuf/compiler/cpp/helpers.cc
@@ -38,6 +38,7 @@
#include
#include
#include