Prepare to reorganize upb file structure

I am getting ready to move almost everything under the upb/ directory up one
level to integrate upb better into its new location in the protobuf repo. This
change makes a few tweaks to prepare for that:
- Delete upb's LICENSE and CONTRIBUTING.md files since we already have similar
  files at the top level.
- Rename `//python:python_version` so that it won't conflict later with
  `//upb/python:python_version`.
- Move the contents of python/BUILD.bazel out to a Bazel macro to facilitate
  merging that BUILD.bazel file with upb/python/BUILD.

PiperOrigin-RevId: 567119840
pull/14140/head
Adam Cozzette 1 year ago committed by Copybara-Service
parent 33b78e67a9
commit 9df1d76970
  1. 8
      .github/workflows/test_python.yml
  2. 471
      python/BUILD.bazel
  3. 474
      python/build_targets.bzl
  4. 0
      python/python_version_test.py
  5. 37
      upb/CONTRIBUTING.md
  6. 26
      upb/LICENSE
  7. 16
      upb/python/dist/BUILD.bazel

@ -20,10 +20,10 @@ jobs:
version: [ "3.7", "3.8", "3.9", "3.10" ]
include:
- type: Pure
targets: //python/... //upb/python/... //python:python_version
targets: //python/... //upb/python/... //python:python_version_test
flags: --define=use_fast_cpp_protos=false
- type: C++
targets: //python/... //python:python_version
targets: //python/... //python:python_version_test
flags: --define=use_fast_cpp_protos=true
- type: C++
version: aarch64
@ -57,9 +57,9 @@ jobs:
version: [ "3.10" ]
include:
- type: Pure
targets: //python/... //upb/python/... //python:python_version
targets: //python/... //upb/python/... //python:python_version_test
- type: C++
targets: //python/... //python:python_version
targets: //python/... //python:python_version_test
flags: --define=use_fast_cpp_protos=true
name: MacOS ${{ matrix.type }} ${{ matrix.version }}

@ -1,467 +1,6 @@
# Protobuf Python runtime
#
# See also code generation logic under /src/google/protobuf/compiler/python.
#
# Most users should depend upon public aliases in the root:
# //:protobuf_python
# //:well_known_types_py_pb2
load("//python:build_targets.bzl", "build_targets")
load("@rules_pkg//:mappings.bzl", "pkg_files", "strip_prefix")
load("@rules_python//python:defs.bzl", "py_library")
load("//:protobuf.bzl", "internal_py_proto_library")
load("//build_defs:arch_tests.bzl", "aarch64_test", "x86_64_test")
load("//build_defs:cpp_opts.bzl", "COPTS")
load("//conformance:defs.bzl", "conformance_test")
load(":internal.bzl", "internal_copy_files", "internal_py_test")
py_library(
name = "protobuf_python",
data = select({
"//conditions:default": [],
":use_fast_cpp_protos": [
":google/protobuf/internal/_api_implementation.so",
":google/protobuf/pyext/_message.so",
],
}),
visibility = ["//:__pkg__"],
deps = [
":python_srcs",
":well_known_types_py_pb2",
],
)
config_setting(
name = "use_fast_cpp_protos",
values = {
"define": "use_fast_cpp_protos=true",
},
)
internal_py_proto_library(
name = "well_known_types_py_pb2",
srcs = [":copied_wkt_proto_files"],
include = ".",
default_runtime = "",
protoc = "//:protoc",
srcs_version = "PY2AND3",
visibility = [
"//:__pkg__",
"//upb:__subpackages__",
],
)
internal_copy_files(
name = "copied_wkt_proto_files",
srcs = [
"//:well_known_type_protos",
"//src/google/protobuf:descriptor_proto_srcs",
"//src/google/protobuf/compiler:plugin.proto",
],
strip_prefix = "src",
)
cc_binary(
name = "google/protobuf/internal/_api_implementation.so",
srcs = ["google/protobuf/internal/api_implementation.cc"],
copts = COPTS + [
"-DPYTHON_PROTO2_CPP_IMPL_V2",
],
linkshared = 1,
linkstatic = 1,
tags = [
# Exclude this target from wildcard expansion (//...) because it may
# not even be buildable. It will be built if it is needed according
# to :use_fast_cpp_protos.
# https://docs.bazel.build/versions/master/be/common-definitions.html#common-attributes
"manual",
],
deps = select({
"//conditions:default": [],
":use_fast_cpp_protos": ["//external:python_headers"],
}),
)
config_setting(
name = "allow_oversize_protos",
values = {
"define": "allow_oversize_protos=true",
},
)
cc_binary(
name = "google/protobuf/pyext/_message.so",
srcs = glob([
"google/protobuf/pyext/*.cc",
"google/protobuf/pyext/*.h",
]),
copts = COPTS + [
"-DGOOGLE_PROTOBUF_HAS_ONEOF=1",
] + select({
"//conditions:default": [],
":allow_oversize_protos": ["-DPROTOBUF_PYTHON_ALLOW_OVERSIZE_PROTOS=1"],
}),
includes = ["."],
linkshared = 1,
linkstatic = 1,
tags = [
# Exclude this target from wildcard expansion (//...) because it may
# not even be buildable. It will be built if it is needed according
# to :use_fast_cpp_protos.
# https://docs.bazel.build/versions/master/be/common-definitions.html#common-attributes
"manual",
],
deps = [
":proto_api",
"//:protobuf",
"//src/google/protobuf:descriptor_legacy",
] + select({
"//conditions:default": [],
":use_fast_cpp_protos": ["//external:python_headers"],
}),
)
aarch64_test(
name = "aarch64_test",
bazel_binaries = [
"google/protobuf/internal/_api_implementation.so",
"google/protobuf/pyext/_message.so",
],
)
x86_64_test(
name = "x86_64_test",
bazel_binaries = [
"google/protobuf/internal/_api_implementation.so",
"google/protobuf/pyext/_message.so",
],
)
py_library(
name = "python_srcs",
srcs = glob(
[
"google/protobuf/**/*.py",
],
exclude = [
"google/protobuf/internal/*_test.py",
"google/protobuf/internal/test_util.py",
"google/protobuf/internal/import_test_package/__init__.py",
],
),
imports = ["python"],
srcs_version = "PY2AND3",
visibility = [
"//:__pkg__",
"//upb:__subpackages__",
],
)
py_library(
name = "python_test_srcs",
srcs = glob([
"google/protobuf/internal/*_test.py",
]) + [
"google/protobuf/internal/import_test_package/__init__.py",
"google/protobuf/internal/test_util.py",
"//python/google/protobuf/internal/numpy:__init__.py",
"//python/google/protobuf/internal/numpy:numpy_test.py",
],
imports = ["python"],
srcs_version = "PY3",
visibility = [
"//:__pkg__",
"//upb:__subpackages__",
],
)
################################################################################
# Tests
################################################################################
internal_copy_files(
name = "copied_test_proto_files",
testonly = 1,
srcs = [
"//:test_proto_srcs",
"//src/google/protobuf/util:test_proto_srcs",
],
strip_prefix = "src",
)
internal_copy_files(
name = "copied_test_messages_proto2_files",
testonly = 1,
srcs = [
"//src/google/protobuf:test_messages_proto2.proto",
],
strip_prefix = "src",
)
internal_copy_files(
name = "copied_test_messages_proto3_files",
testonly = 1,
srcs = [
"//src/google/protobuf:test_messages_proto3.proto",
],
strip_prefix = "src",
)
internal_py_proto_library(
name = "python_common_test_protos",
testonly = 1,
srcs = [":copied_test_proto_files"],
include = ".",
default_runtime = "",
protoc = "//:protoc",
srcs_version = "PY2AND3",
visibility = ["//:__pkg__"],
deps = [":well_known_types_py_pb2"],
)
internal_py_proto_library(
name = "python_specific_test_protos",
testonly = 1,
srcs = glob([
"google/protobuf/internal/*.proto",
"google/protobuf/internal/import_test_package/*.proto",
]),
include = ".",
default_runtime = ":protobuf_python",
protoc = "//:protoc",
srcs_version = "PY2AND3",
visibility = ["//:__pkg__"],
deps = [":python_common_test_protos"],
)
internal_py_proto_library(
name = "test_messages_proto2_py_proto",
testonly = 1,
srcs = [":copied_test_messages_proto2_files"],
include = ".",
default_runtime = "//:protobuf_python",
protoc = "//:protoc",
visibility = [
"//conformance:__pkg__",
"//python:__subpackages__",
],
)
internal_py_proto_library(
name = "test_messages_proto3_py_proto",
testonly = 1,
srcs = [":copied_test_messages_proto3_files"],
include = ".",
default_runtime = "//:protobuf_python",
protoc = "//:protoc",
visibility = [
"//conformance:__pkg__",
"//python:__subpackages__",
],
deps = [":well_known_types_py_pb2"],
)
py_library(
name = "python_test_lib",
testonly = 1,
srcs = [
"google/protobuf/internal/import_test_package/__init__.py",
"google/protobuf/internal/test_util.py",
],
imports = ["python"],
srcs_version = "PY2AND3",
visibility = ["//python:__subpackages__"],
deps = [
":protobuf_python",
":python_common_test_protos",
":python_specific_test_protos",
],
)
internal_py_test(
name = "descriptor_database_test",
srcs = ["google/protobuf/internal/descriptor_database_test.py"],
)
internal_py_test(
name = "descriptor_pool_test",
srcs = ["google/protobuf/internal/descriptor_pool_test.py"],
)
internal_py_test(
name = "descriptor_test",
srcs = ["google/protobuf/internal/descriptor_test.py"],
)
internal_py_test(
name = "field_mask_test",
srcs = ["google/protobuf/internal/field_mask_test.py"],
)
internal_py_test(
name = "generator_test",
srcs = ["google/protobuf/internal/generator_test.py"],
)
internal_py_test(
name = "import_test",
srcs = ["google/protobuf/internal/import_test.py"],
)
internal_py_test(
name = "json_format_test",
srcs = ["google/protobuf/internal/json_format_test.py"],
)
internal_py_test(
name = "keywords_test",
srcs = ["google/protobuf/internal/keywords_test.py"],
)
internal_py_test(
name = "message_factory_test",
srcs = ["google/protobuf/internal/message_factory_test.py"],
)
internal_py_test(
name = "message_test",
srcs = ["google/protobuf/internal/message_test.py"],
data = ["//src/google/protobuf:testdata"],
)
internal_py_test(
name = "proto_builder_test",
srcs = ["google/protobuf/internal/proto_builder_test.py"],
)
internal_py_test(
name = "reflection_test",
srcs = ["google/protobuf/internal/reflection_test.py"],
)
internal_py_test(
name = "service_reflection_test",
srcs = ["google/protobuf/internal/service_reflection_test.py"],
)
internal_py_test(
name = "symbol_database_test",
srcs = ["google/protobuf/internal/symbol_database_test.py"],
)
internal_py_test(
name = "text_encoding_test",
srcs = ["google/protobuf/internal/text_encoding_test.py"],
)
internal_py_test(
name = "text_format_test",
srcs = ["google/protobuf/internal/text_format_test.py"],
data = ["//src/google/protobuf:testdata"],
)
internal_py_test(
name = "unknown_fields_test",
srcs = ["google/protobuf/internal/unknown_fields_test.py"],
)
internal_py_test(
name = "well_known_types_test",
srcs = ["google/protobuf/internal/well_known_types_test.py"],
)
internal_py_test(
name = "wire_format_test",
srcs = ["google/protobuf/internal/wire_format_test.py"],
)
cc_library(
name = "proto_api",
hdrs = ["google/protobuf/proto_api.h"],
visibility = ["//visibility:public"],
deps = [
"//external:python_headers",
],
)
internal_py_test(
name = "python_version",
srcs = ["python_version.py"],
)
conformance_test(
name = "conformance_test",
env = {"PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION": "python"},
failure_list = "//conformance:failure_list_python.txt",
target_compatible_with = select({
"@system_python//:none": ["@platforms//:incompatible"],
":use_fast_cpp_protos": ["@platforms//:incompatible"],
"//conditions:default": [],
}),
testee = "//conformance:conformance_python",
text_format_failure_list = "//conformance:text_format_failure_list_python.txt",
)
# Note: this requires --define=use_fast_cpp_protos=true
conformance_test(
name = "conformance_test_cpp",
env = {"PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION": "cpp"},
failure_list = "//conformance:failure_list_python.txt",
target_compatible_with = select({
"@system_python//:none": ["@platforms//:incompatible"],
":use_fast_cpp_protos": [],
"//conditions:default": ["@platforms//:incompatible"],
}),
testee = "//conformance:conformance_python",
text_format_failure_list = "//conformance:text_format_failure_list_python_cpp.txt",
)
################################################################################
# Distribution files
################################################################################
pkg_files(
name = "python_source_files",
srcs = glob(
[
"google/protobuf/**/*.py",
],
exclude = [
"google/protobuf/internal/*_test.py",
"google/protobuf/internal/test_util.py",
"google/protobuf/internal/import_test_package/__init__.py",
],
) + [
"README.md",
"google/__init__.py",
"setup.cfg",
"tox.ini",
],
strip_prefix = "",
visibility = ["//upb:__subpackages__"],
)
pkg_files(
name = "dist_files",
srcs = glob([
"google/**/*.proto",
"google/**/*.py",
"google/protobuf/internal/*.cc",
"google/protobuf/pyext/*.cc",
"google/protobuf/pyext/*.h",
]) + [
"BUILD.bazel",
"MANIFEST.in",
"README.md",
"google/protobuf/proto_api.h",
"google/protobuf/pyext/README",
"google/protobuf/python_protobuf.h",
"internal.bzl",
"python_version.py",
"release.sh",
"setup.cfg",
"setup.py",
"tox.ini",
],
strip_prefix = strip_prefix.from_root(""),
visibility = ["//pkg:__pkg__"],
)
# The build targets for this package have been temporarily moved into a Bazel
# macro to facilitate merging upb's Python support into this directory. Once
# that merge is complete, we will move the build targets back here.
build_targets(name = "python")

@ -0,0 +1,474 @@
# Protobuf Python runtime
#
# See also code generation logic under /src/google/protobuf/compiler/python.
#
# Most users should depend upon public aliases in the root:
# //:protobuf_python
# //:well_known_types_py_pb2
load("@rules_pkg//:mappings.bzl", "pkg_files", "strip_prefix")
load("@rules_python//python:defs.bzl", "py_library")
load("//:protobuf.bzl", "internal_py_proto_library")
load("//build_defs:arch_tests.bzl", "aarch64_test", "x86_64_test")
load("//build_defs:cpp_opts.bzl", "COPTS")
load("//conformance:defs.bzl", "conformance_test")
load(":internal.bzl", "internal_copy_files", "internal_py_test")
def build_targets(name):
"""
Declares the build targets of the //python package.
Args:
name: unused.
"""
py_library(
name = "protobuf_python",
data = select({
"//conditions:default": [],
":use_fast_cpp_protos": [
":google/protobuf/internal/_api_implementation.so",
":google/protobuf/pyext/_message.so",
],
}),
visibility = ["//:__pkg__"],
deps = [
":python_srcs",
":well_known_types_py_pb2",
],
)
native.config_setting(
name = "use_fast_cpp_protos",
values = {
"define": "use_fast_cpp_protos=true",
},
)
internal_py_proto_library(
name = "well_known_types_py_pb2",
srcs = [":copied_wkt_proto_files"],
include = ".",
default_runtime = "",
protoc = "//:protoc",
srcs_version = "PY2AND3",
visibility = [
"//:__pkg__",
"//upb:__subpackages__",
],
)
internal_copy_files(
name = "copied_wkt_proto_files",
srcs = [
"//:well_known_type_protos",
"//src/google/protobuf:descriptor_proto_srcs",
"//src/google/protobuf/compiler:plugin.proto",
],
strip_prefix = "src",
)
native.cc_binary(
name = "google/protobuf/internal/_api_implementation.so",
srcs = ["google/protobuf/internal/api_implementation.cc"],
copts = COPTS + [
"-DPYTHON_PROTO2_CPP_IMPL_V2",
],
linkshared = 1,
linkstatic = 1,
tags = [
# Exclude this target from wildcard expansion (//...) because it may
# not even be buildable. It will be built if it is needed according
# to :use_fast_cpp_protos.
# https://docs.bazel.build/versions/master/be/common-definitions.html#common-attributes
"manual",
],
deps = select({
"//conditions:default": [],
":use_fast_cpp_protos": ["//external:python_headers"],
}),
)
native.config_setting(
name = "allow_oversize_protos",
values = {
"define": "allow_oversize_protos=true",
},
)
native.cc_binary(
name = "google/protobuf/pyext/_message.so",
srcs = native.glob([
"google/protobuf/pyext/*.cc",
"google/protobuf/pyext/*.h",
]),
copts = COPTS + [
"-DGOOGLE_PROTOBUF_HAS_ONEOF=1",
] + select({
"//conditions:default": [],
":allow_oversize_protos": ["-DPROTOBUF_PYTHON_ALLOW_OVERSIZE_PROTOS=1"],
}),
includes = ["."],
linkshared = 1,
linkstatic = 1,
tags = [
# Exclude this target from wildcard expansion (//...) because it may
# not even be buildable. It will be built if it is needed according
# to :use_fast_cpp_protos.
# https://docs.bazel.build/versions/master/be/common-definitions.html#common-attributes
"manual",
],
deps = [
":proto_api",
"//:protobuf",
"//src/google/protobuf:descriptor_legacy",
] + select({
"//conditions:default": [],
":use_fast_cpp_protos": ["//external:python_headers"],
}),
)
aarch64_test(
name = "aarch64_test",
bazel_binaries = [
"google/protobuf/internal/_api_implementation.so",
"google/protobuf/pyext/_message.so",
],
)
x86_64_test(
name = "x86_64_test",
bazel_binaries = [
"google/protobuf/internal/_api_implementation.so",
"google/protobuf/pyext/_message.so",
],
)
py_library(
name = "python_srcs",
srcs = native.glob(
[
"google/protobuf/**/*.py",
],
exclude = [
"google/protobuf/internal/*_test.py",
"google/protobuf/internal/test_util.py",
"google/protobuf/internal/import_test_package/__init__.py",
],
),
imports = ["python"],
srcs_version = "PY2AND3",
visibility = [
"//:__pkg__",
"//upb:__subpackages__",
],
)
py_library(
name = "python_test_srcs",
srcs = native.glob([
"google/protobuf/internal/*_test.py",
]) + [
"google/protobuf/internal/import_test_package/__init__.py",
"google/protobuf/internal/test_util.py",
"//python/google/protobuf/internal/numpy:__init__.py",
"//python/google/protobuf/internal/numpy:numpy_test.py",
],
imports = ["python"],
srcs_version = "PY3",
visibility = [
"//:__pkg__",
"//upb:__subpackages__",
],
)
################################################################################
# Tests
################################################################################
internal_copy_files(
name = "copied_test_proto_files",
testonly = 1,
srcs = [
"//:test_proto_srcs",
"//src/google/protobuf/util:test_proto_srcs",
],
strip_prefix = "src",
)
internal_copy_files(
name = "copied_test_messages_proto2_files",
testonly = 1,
srcs = [
"//src/google/protobuf:test_messages_proto2.proto",
],
strip_prefix = "src",
)
internal_copy_files(
name = "copied_test_messages_proto3_files",
testonly = 1,
srcs = [
"//src/google/protobuf:test_messages_proto3.proto",
],
strip_prefix = "src",
)
internal_py_proto_library(
name = "python_common_test_protos",
testonly = 1,
srcs = [":copied_test_proto_files"],
include = ".",
default_runtime = "",
protoc = "//:protoc",
srcs_version = "PY2AND3",
visibility = ["//:__pkg__"],
deps = [":well_known_types_py_pb2"],
)
internal_py_proto_library(
name = "python_specific_test_protos",
testonly = 1,
srcs = native.glob([
"google/protobuf/internal/*.proto",
"google/protobuf/internal/import_test_package/*.proto",
]),
include = ".",
default_runtime = ":protobuf_python",
protoc = "//:protoc",
srcs_version = "PY2AND3",
visibility = ["//:__pkg__"],
deps = [":python_common_test_protos"],
)
internal_py_proto_library(
name = "test_messages_proto2_py_proto",
testonly = 1,
srcs = [":copied_test_messages_proto2_files"],
include = ".",
default_runtime = "//:protobuf_python",
protoc = "//:protoc",
visibility = [
"//conformance:__pkg__",
"//python:__subpackages__",
],
)
internal_py_proto_library(
name = "test_messages_proto3_py_proto",
testonly = 1,
srcs = [":copied_test_messages_proto3_files"],
include = ".",
default_runtime = "//:protobuf_python",
protoc = "//:protoc",
visibility = [
"//conformance:__pkg__",
"//python:__subpackages__",
],
deps = [":well_known_types_py_pb2"],
)
py_library(
name = "python_test_lib",
testonly = 1,
srcs = [
"google/protobuf/internal/import_test_package/__init__.py",
"google/protobuf/internal/test_util.py",
],
imports = ["python"],
srcs_version = "PY2AND3",
visibility = ["//python:__subpackages__"],
deps = [
":protobuf_python",
":python_common_test_protos",
":python_specific_test_protos",
],
)
internal_py_test(
name = "descriptor_database_test",
srcs = ["google/protobuf/internal/descriptor_database_test.py"],
)
internal_py_test(
name = "descriptor_pool_test",
srcs = ["google/protobuf/internal/descriptor_pool_test.py"],
)
internal_py_test(
name = "descriptor_test",
srcs = ["google/protobuf/internal/descriptor_test.py"],
)
internal_py_test(
name = "field_mask_test",
srcs = ["google/protobuf/internal/field_mask_test.py"],
)
internal_py_test(
name = "generator_test",
srcs = ["google/protobuf/internal/generator_test.py"],
)
internal_py_test(
name = "import_test",
srcs = ["google/protobuf/internal/import_test.py"],
)
internal_py_test(
name = "json_format_test",
srcs = ["google/protobuf/internal/json_format_test.py"],
)
internal_py_test(
name = "keywords_test",
srcs = ["google/protobuf/internal/keywords_test.py"],
)
internal_py_test(
name = "message_factory_test",
srcs = ["google/protobuf/internal/message_factory_test.py"],
)
internal_py_test(
name = "message_test",
srcs = ["google/protobuf/internal/message_test.py"],
data = ["//src/google/protobuf:testdata"],
)
internal_py_test(
name = "proto_builder_test",
srcs = ["google/protobuf/internal/proto_builder_test.py"],
)
internal_py_test(
name = "reflection_test",
srcs = ["google/protobuf/internal/reflection_test.py"],
)
internal_py_test(
name = "service_reflection_test",
srcs = ["google/protobuf/internal/service_reflection_test.py"],
)
internal_py_test(
name = "symbol_database_test",
srcs = ["google/protobuf/internal/symbol_database_test.py"],
)
internal_py_test(
name = "text_encoding_test",
srcs = ["google/protobuf/internal/text_encoding_test.py"],
)
internal_py_test(
name = "text_format_test",
srcs = ["google/protobuf/internal/text_format_test.py"],
data = ["//src/google/protobuf:testdata"],
)
internal_py_test(
name = "unknown_fields_test",
srcs = ["google/protobuf/internal/unknown_fields_test.py"],
)
internal_py_test(
name = "well_known_types_test",
srcs = ["google/protobuf/internal/well_known_types_test.py"],
)
internal_py_test(
name = "wire_format_test",
srcs = ["google/protobuf/internal/wire_format_test.py"],
)
native.cc_library(
name = "proto_api",
hdrs = ["google/protobuf/proto_api.h"],
visibility = ["//visibility:public"],
deps = [
"//external:python_headers",
],
)
internal_py_test(
name = "python_version_test",
srcs = ["python_version_test.py"],
)
conformance_test(
name = "conformance_test",
env = {"PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION": "python"},
failure_list = "//conformance:failure_list_python.txt",
target_compatible_with = select({
"@system_python//:none": ["@platforms//:incompatible"],
":use_fast_cpp_protos": ["@platforms//:incompatible"],
"//conditions:default": [],
}),
testee = "//conformance:conformance_python",
text_format_failure_list = "//conformance:text_format_failure_list_python.txt",
)
# Note: this requires --define=use_fast_cpp_protos=true
conformance_test(
name = "conformance_test_cpp",
env = {"PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION": "cpp"},
failure_list = "//conformance:failure_list_python.txt",
target_compatible_with = select({
"@system_python//:none": ["@platforms//:incompatible"],
":use_fast_cpp_protos": [],
"//conditions:default": ["@platforms//:incompatible"],
}),
testee = "//conformance:conformance_python",
text_format_failure_list = "//conformance:text_format_failure_list_python_cpp.txt",
)
################################################################################
# Distribution files
################################################################################
pkg_files(
name = "python_source_files",
srcs = native.glob(
[
"google/protobuf/**/*.py",
],
exclude = [
"google/protobuf/internal/*_test.py",
"google/protobuf/internal/test_util.py",
"google/protobuf/internal/import_test_package/__init__.py",
],
) + [
"README.md",
"google/__init__.py",
"setup.cfg",
"tox.ini",
],
strip_prefix = "",
visibility = ["//upb:__subpackages__"],
)
pkg_files(
name = "dist_files",
srcs = native.glob([
"google/**/*.proto",
"google/**/*.py",
"google/protobuf/internal/*.cc",
"google/protobuf/pyext/*.cc",
"google/protobuf/pyext/*.h",
]) + [
"BUILD.bazel",
"MANIFEST.in",
"README.md",
"google/protobuf/proto_api.h",
"google/protobuf/pyext/README",
"google/protobuf/python_protobuf.h",
"internal.bzl",
"python_version_test.py",
"release.sh",
"setup.cfg",
"setup.py",
"tox.ini",
],
strip_prefix = strip_prefix.from_root(""),
visibility = ["//pkg:__pkg__"],
)

@ -1,37 +0,0 @@
# How to Contribute
We'd love to accept your patches and contributions to this project. There are
just a few small guidelines you need to follow.
## Get in touch
If your idea will take you more than, say, 30 minutes to
implement, please get in touch first via the issue tracker
to touch base about your plan. That will give an
opportunity for early feedback and help avoid wasting your
time.
## Contributor License Agreement
Contributions to this project must be accompanied by a Contributor License
Agreement. You (or your employer) retain the copyright to your contribution;
this simply gives us permission to use and redistribute your contributions as
part of the project. Head over to <https://cla.developers.google.com/> to see
your current agreements on file or to sign a new one.
You generally only need to submit a CLA once, so if you've already submitted one
(even if it was for a different project), you probably don't need to do it
again.
## Code Reviews
All submissions, including submissions by project members, require review. We
use GitHub pull requests for this purpose. Consult
[GitHub Help](https://help.github.com/articles/about-pull-requests/) for more
information on using pull requests.
## Community Guidelines
This project follows [Google's Open Source Community
Guidelines](https://opensource.google/conduct/).

@ -1,26 +0,0 @@
Copyright (c) 2009-2021, Google LLC
All rights reserved.
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 LLC nor the names of any other
contributors may be used to endorse or promote products
derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY GOOGLE INC. ``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 GOOGLE LLC 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.

@ -5,14 +5,14 @@
# license that can be found in the LICENSE file or at
# https://developers.google.com/open-source/licenses/bsd
load("//upb/bazel:py_proto_library.bzl", "py_proto_library")
load(":dist.bzl", "py_dist", "py_dist_module")
load("@bazel_skylib//lib:selects.bzl", "selects")
load("//:protobuf_version.bzl", "PROTOBUF_PYTHON_VERSION")
load("@rules_pkg//:mappings.bzl", "pkg_files", "strip_prefix")
load("@rules_pkg//:pkg.bzl", "pkg_tar")
load("@rules_python//python:packaging.bzl", "py_wheel")
load("@system_python//:version.bzl", "SYSTEM_PYTHON_VERSION")
load("//:protobuf_version.bzl", "PROTOBUF_PYTHON_VERSION")
load("@bazel_skylib//lib:selects.bzl", "selects")
load("//upb/bazel:py_proto_library.bzl", "py_proto_library")
load(":dist.bzl", "py_dist", "py_dist_module")
licenses(["notice"])
@ -233,7 +233,7 @@ pkg_files(
pkg_files(
name = "filegroup_source_files",
srcs = [
"//upb:LICENSE",
"//:LICENSE",
"//upb:source_files",
"//upb/python:message_srcs",
"//upb/upb/base:source_files",
@ -312,7 +312,7 @@ py_wheel(
],
distribution = "protobuf",
extra_distinfo_files = {
"//upb:LICENSE": "LICENSE",
"//:LICENSE": "LICENSE",
},
homepage = "https://developers.google.com/protocol-buffers/",
license = "3-Clause BSD License",
@ -368,7 +368,7 @@ py_wheel(
],
distribution = "protobuf",
extra_distinfo_files = {
"//upb:LICENSE": "LICENSE",
"//:LICENSE": "LICENSE",
},
homepage = "https://developers.google.com/protocol-buffers/",
license = "3-Clause BSD License",
@ -397,7 +397,7 @@ py_wheel(
abi = "none",
distribution = "protobuftests",
extra_distinfo_files = {
"//upb:LICENSE": "LICENSE",
"//:LICENSE": "LICENSE",
},
platform = "any",
python_tag = "py3",

Loading…
Cancel
Save