Add source distribution packaging rules (#9835)
This change adds `rules_pkg`-based targets that will produce source distribution archives, similar to `make dist`. These rules produce nearly the same outputs as `make dist`. However, there are some differences and caveats: 1. The outputs do not contain vendored googletest sources. 2. You have to run `autogen.sh` before `blaze build pkg:all`. This produces several autotools-related files directly into the source tree. 3. The output .zip files do not have a directory prefix like `protobuf-3.20.1-rc-1` (this will be addressed after [Substitute package variables in `pkg_zip#package_dir`. bazelbuild/rules_pkg#577](https://github.com/bazelbuild/rules_pkg/pull/577); the tar files do have this prefix, though.) 4. One file is missing from the archives, which is produced during the `make` build: benchmarks/gogo/cpp_no_group/cpp_benchmark.cc 5. In several places, I have explicitly excluded some files that are not in the autotools distribution outputs. I think most of those files should probably be included, but for now, I'm aiming for parity with `make dist`. These are marked with comments, so it should be easy to clean them up later.
This commit is contained in:
parent
5283ef4b82
commit
d76f8c868c
138
BUILD
138
BUILD
@ -2,6 +2,7 @@
|
||||
|
||||
load("@bazel_skylib//rules:common_settings.bzl", "string_flag")
|
||||
load("@rules_cc//cc:defs.bzl", "cc_binary", "cc_library", "cc_test", "objc_library", native_cc_proto_library = "cc_proto_library")
|
||||
load("@rules_pkg//:mappings.bzl", "pkg_files", "strip_prefix")
|
||||
load("@rules_proto//proto:defs.bzl", "proto_lang_toolchain", "proto_library")
|
||||
load("@rules_python//python:defs.bzl", "py_library")
|
||||
load("@rules_java//java:defs.bzl", "java_binary", "java_lite_proto_library", "java_proto_library")
|
||||
@ -1445,3 +1446,140 @@ internal_gen_kt_protos(
|
||||
visibility = ["//java:__subpackages__"],
|
||||
deps = [":kt_proto3_unittest"],
|
||||
)
|
||||
|
||||
################################################################################
|
||||
# Packaging rules
|
||||
################################################################################
|
||||
|
||||
# Files included in all source distributions
|
||||
pkg_files(
|
||||
name = "common_dist_files",
|
||||
srcs = glob([
|
||||
"*.bzl",
|
||||
"cmake/*.cmake",
|
||||
"cmake/*.in",
|
||||
"editors/*",
|
||||
|
||||
# Several of these files are generated by autogen.sh, so using
|
||||
# glob() lets us ignore them if they are missing. (This is not good
|
||||
# practice, though.)
|
||||
"Makefile.in",
|
||||
"aclocal.m4",
|
||||
"ar-lib",
|
||||
"compile",
|
||||
"config*",
|
||||
"depcomp",
|
||||
"install-sh",
|
||||
"ltmain.sh",
|
||||
"m4/*.m4",
|
||||
"missing",
|
||||
"protobuf*.pc.in",
|
||||
"test-driver",
|
||||
]) + [
|
||||
"BUILD",
|
||||
"CHANGES.txt",
|
||||
"CMakeLists.txt",
|
||||
"CONTRIBUTORS.txt",
|
||||
"LICENSE",
|
||||
"Makefile.am",
|
||||
"README.md",
|
||||
"WORKSPACE",
|
||||
"autogen.sh",
|
||||
"build_files_updated_unittest.sh",
|
||||
"cmake/CMakeLists.txt",
|
||||
"cmake/README.md",
|
||||
"generate_descriptor_proto.sh",
|
||||
"maven_install.json",
|
||||
"update_file_lists.sh",
|
||||
"//third_party:zlib.BUILD",
|
||||
"//util/python:BUILD",
|
||||
],
|
||||
strip_prefix = strip_prefix.from_root(""),
|
||||
visibility = ["//pkg:__pkg__"],
|
||||
)
|
||||
|
||||
# Conformance tests
|
||||
pkg_files(
|
||||
name = "conformance_dist_files",
|
||||
srcs = glob(
|
||||
["conformance/**/*"],
|
||||
exclude = [
|
||||
# The following are not in autotools dist:
|
||||
"conformance/autoload.php",
|
||||
"conformance/conformance_nodejs.js",
|
||||
"conformance/conformance_test_runner.sh",
|
||||
"conformance/failure_list_java_lite.txt",
|
||||
"conformance/failure_list_jruby.txt",
|
||||
"conformance/text_format_failure_list_*.txt",
|
||||
"conformance/update_failure_list.py",
|
||||
],
|
||||
),
|
||||
strip_prefix = strip_prefix.from_root(""),
|
||||
visibility = ["//pkg:__pkg__"],
|
||||
)
|
||||
|
||||
# C++ runtime
|
||||
pkg_files(
|
||||
name = "cpp_dist_files",
|
||||
srcs = glob(
|
||||
["src/**/*"],
|
||||
exclude = [
|
||||
"src/google/protobuf/compiler/objectivec/method_dump.sh", # not in autotools dist
|
||||
],
|
||||
),
|
||||
strip_prefix = strip_prefix.from_root(""),
|
||||
visibility = ["//pkg:__pkg__"],
|
||||
)
|
||||
|
||||
# Additional files for C#
|
||||
pkg_files(
|
||||
name = "csharp_dist_files",
|
||||
srcs = [
|
||||
"global.json",
|
||||
],
|
||||
visibility = ["//pkg:__pkg__"],
|
||||
)
|
||||
|
||||
# Additional files for ObjC
|
||||
pkg_files(
|
||||
name = "objectivec_dist_files",
|
||||
srcs = [
|
||||
"Protobuf.podspec",
|
||||
],
|
||||
visibility = ["//pkg:__pkg__"],
|
||||
)
|
||||
|
||||
# Additional files for PHP
|
||||
pkg_files(
|
||||
name = "php_dist_files",
|
||||
srcs = [
|
||||
"composer.json",
|
||||
],
|
||||
visibility = ["//pkg:__pkg__"],
|
||||
)
|
||||
|
||||
# Python runtime
|
||||
pkg_files(
|
||||
name = "python_dist_files",
|
||||
srcs = glob([
|
||||
"python/google/**/*.proto",
|
||||
"python/google/**/*.py",
|
||||
"python/google/protobuf/internal/*.cc",
|
||||
"python/google/protobuf/pyext/*.cc",
|
||||
"python/google/protobuf/pyext/*.h",
|
||||
]) + [
|
||||
"python/MANIFEST.in",
|
||||
"python/README.md",
|
||||
"python/google/protobuf/proto_api.h",
|
||||
"python/google/protobuf/pyext/README",
|
||||
"python/google/protobuf/python_protobuf.h",
|
||||
"python/mox.py",
|
||||
"python/release.sh",
|
||||
"python/setup.cfg",
|
||||
"python/setup.py",
|
||||
"python/stubout.py",
|
||||
"python/tox.ini",
|
||||
],
|
||||
strip_prefix = strip_prefix.from_root(""),
|
||||
visibility = ["//pkg:__pkg__"],
|
||||
)
|
||||
|
22
Makefile.am
22
Makefile.am
@ -9,6 +9,9 @@ AUTOMAKE_OPTIONS = foreign
|
||||
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.
|
||||
DIST_SUBDIRS = src conformance benchmarks third_party/googletest
|
||||
|
||||
# Build gmock before we build protobuf tests. We don't add gmock to SUBDIRS
|
||||
@ -48,6 +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.
|
||||
csharp_EXTRA_DIST= \
|
||||
global.json \
|
||||
csharp/.editorconfig \
|
||||
@ -279,6 +283,7 @@ 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.
|
||||
java_EXTRA_DIST= \
|
||||
java/README.md \
|
||||
java/bom/pom.xml \
|
||||
@ -607,6 +612,7 @@ 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.
|
||||
objectivec_EXTRA_DIST= \
|
||||
objectivec/.clang-format \
|
||||
objectivec/BUILD \
|
||||
@ -815,6 +821,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.
|
||||
php_EXTRA_DIST= \
|
||||
php/README.md \
|
||||
php/REFCOUNTING.md \
|
||||
@ -838,7 +845,7 @@ php_EXTRA_DIST= \
|
||||
php/ext/google/protobuf/package.xml \
|
||||
php/ext/google/protobuf/php-upb.c \
|
||||
php/ext/google/protobuf/php-upb.h \
|
||||
php/ext/google/protobuf/php_protobuf.h \
|
||||
php/ext/google/protobuf/php_protobuf.h \
|
||||
php/ext/google/protobuf/protobuf.c \
|
||||
php/ext/google/protobuf/protobuf.h \
|
||||
php/ext/google/protobuf/wkt.inc \
|
||||
@ -1011,6 +1018,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.
|
||||
python_EXTRA_DIST= \
|
||||
python/MANIFEST.in \
|
||||
python/google/__init__.py \
|
||||
@ -1134,6 +1142,7 @@ python_EXTRA_DIST= \
|
||||
python/tox.ini \
|
||||
python/README.md
|
||||
|
||||
# Note: please keep this in sync with the dist_files rule in ruby/BUILD.
|
||||
ruby_EXTRA_DIST= \
|
||||
ruby/Gemfile \
|
||||
ruby/.gitignore \
|
||||
@ -1209,6 +1218,7 @@ ruby_EXTRA_DIST= \
|
||||
ruby/tests/type_errors.rb \
|
||||
ruby/travis-test.sh
|
||||
|
||||
# Note: please keep this in sync with the dist_files rule in js/BUILD.
|
||||
js_EXTRA_DIST= \
|
||||
js/README.md \
|
||||
js/binary/arith.js \
|
||||
@ -1392,6 +1402,7 @@ js_EXTRA_DIST= \
|
||||
|
||||
all_EXTRA_DIST=$(csharp_EXTRA_DIST) $(java_EXTRA_DIST) $(objectivec_EXTRA_DIST) $(php_EXTRA_DIST) $(python_EXTRA_DIST) $(ruby_EXTRA_DIST) $(js_EXTRA_DIST)
|
||||
|
||||
# Note: please keep this in sync with the common_dist_files rule in BUILD.
|
||||
EXTRA_DIST = $(@DIST_LANG@_EXTRA_DIST) \
|
||||
autogen.sh \
|
||||
generate_descriptor_proto.sh \
|
||||
@ -1425,6 +1436,7 @@ EXTRA_DIST = $(@DIST_LANG@_EXTRA_DIST) \
|
||||
compiler_config_setting.bzl \
|
||||
build_files_updated_unittest.sh \
|
||||
cc_proto_blacklist_test.bzl \
|
||||
csharp/BUILD \
|
||||
editors/README.txt \
|
||||
editors/proto.vim \
|
||||
editors/protobuf-mode.el \
|
||||
@ -1449,15 +1461,17 @@ EXTRA_DIST = $(@DIST_LANG@_EXTRA_DIST) \
|
||||
examples/list_people.dart \
|
||||
examples/list_people.py \
|
||||
examples/pubspec.yaml \
|
||||
internal.bzl \
|
||||
js/BUILD \
|
||||
maven_install.json \
|
||||
php/BUILD \
|
||||
protobuf.bzl \
|
||||
protobuf_deps.bzl \
|
||||
protobuf_release.bzl \
|
||||
protobuf_version.bzl \
|
||||
ruby/BUILD \
|
||||
third_party/zlib.BUILD \
|
||||
util/python/BUILD \
|
||||
internal.bzl
|
||||
|
||||
util/python/BUILD
|
||||
|
||||
# Deletes all the files generated by autogen.sh.
|
||||
MAINTAINERCLEANFILES = \
|
||||
|
@ -1,5 +1,6 @@
|
||||
load("@rules_cc//cc:defs.bzl", "cc_proto_library")
|
||||
load("@rules_java//java:defs.bzl", "java_proto_library")
|
||||
load("@rules_pkg//:mappings.bzl", "pkg_filegroup", "pkg_files", "strip_prefix")
|
||||
load("@rules_proto//proto:defs.bzl", "proto_library")
|
||||
|
||||
proto_library(
|
||||
@ -63,3 +64,36 @@ java_proto_library(
|
||||
"google_size_proto",
|
||||
],
|
||||
)
|
||||
|
||||
pkg_files(
|
||||
name = "dist_files",
|
||||
srcs = glob(
|
||||
[
|
||||
"*",
|
||||
"python/*.cc",
|
||||
"util/*.cc",
|
||||
],
|
||||
exclude = [
|
||||
"__init__.py", # not in autotools dist
|
||||
"BUILD",
|
||||
"go/*",
|
||||
],
|
||||
),
|
||||
strip_prefix = strip_prefix.from_root(""),
|
||||
)
|
||||
|
||||
# Convenience filegroup for all files that should be packaged.
|
||||
pkg_filegroup(
|
||||
name = "all_dist_files",
|
||||
srcs = [
|
||||
":dist_files",
|
||||
"//benchmarks/cpp:dist_files",
|
||||
# "//benchmarks/datasets:dist_files", # not in autotools dist
|
||||
"//benchmarks/datasets/google_message1/proto2:dist_files",
|
||||
"//benchmarks/datasets/google_message1/proto3:dist_files",
|
||||
"//benchmarks/datasets/google_message2:dist_files",
|
||||
"//benchmarks/datasets/google_message3:dist_files",
|
||||
"//benchmarks/datasets/google_message4:dist_files",
|
||||
],
|
||||
visibility = ["//pkg:__pkg__"],
|
||||
)
|
||||
|
@ -1,4 +1,5 @@
|
||||
load("@rules_cc//cc:defs.bzl", "cc_binary")
|
||||
load("@rules_pkg//:mappings.bzl", "pkg_files", "strip_prefix")
|
||||
|
||||
cc_binary(
|
||||
name = "cpp",
|
||||
@ -13,3 +14,10 @@ cc_binary(
|
||||
"@com_github_google_benchmark//:benchmark_main",
|
||||
],
|
||||
)
|
||||
|
||||
pkg_files(
|
||||
name = "dist_files",
|
||||
srcs = ["cpp_benchmark.cc"],
|
||||
strip_prefix = strip_prefix.from_root(""),
|
||||
visibility = ["//benchmarks:__pkg__"],
|
||||
)
|
||||
|
@ -1,5 +1,6 @@
|
||||
load("@rules_cc//cc:defs.bzl", "cc_library")
|
||||
load("@rules_java//java:defs.bzl", "java_library")
|
||||
load("@rules_pkg//:mappings.bzl", "pkg_files", "strip_prefix")
|
||||
load("@rules_proto//proto:defs.bzl", "proto_library")
|
||||
|
||||
filegroup(
|
||||
@ -57,3 +58,10 @@ java_library(
|
||||
"//benchmarks/datasets/google_message4:benchmark_message4_java_proto",
|
||||
],
|
||||
)
|
||||
|
||||
pkg_files(
|
||||
name = "dist_files",
|
||||
srcs = ["BUILD"],
|
||||
strip_prefix = strip_prefix.from_root(""),
|
||||
visibility = ["//benchmarks:__pkg__"],
|
||||
)
|
||||
|
@ -1,5 +1,6 @@
|
||||
load("@rules_cc//cc:defs.bzl", "cc_proto_library")
|
||||
load("@rules_java//java:defs.bzl", "java_proto_library")
|
||||
load("@rules_pkg//:mappings.bzl", "pkg_files", "strip_prefix")
|
||||
load("@rules_proto//proto:defs.bzl", "proto_library")
|
||||
|
||||
filegroup(
|
||||
@ -42,3 +43,10 @@ java_proto_library(
|
||||
"benchmark_message1_proto2_proto",
|
||||
],
|
||||
)
|
||||
|
||||
pkg_files(
|
||||
name = "dist_files",
|
||||
srcs = glob(["*.proto"]),
|
||||
strip_prefix = strip_prefix.from_root(""),
|
||||
visibility = ["//benchmarks:__pkg__"],
|
||||
)
|
||||
|
@ -1,6 +1,7 @@
|
||||
load("@rules_cc//cc:defs.bzl", "cc_proto_library")
|
||||
load("@rules_java//java:defs.bzl", "java_proto_library")
|
||||
load("@rules_proto//proto:defs.bzl", "proto_library")
|
||||
load("@rules_pkg//:mappings.bzl", "pkg_files", "strip_prefix")
|
||||
|
||||
filegroup(
|
||||
name = "datasets",
|
||||
@ -42,3 +43,10 @@ java_proto_library(
|
||||
"benchmark_message1_proto3_proto",
|
||||
],
|
||||
)
|
||||
|
||||
pkg_files(
|
||||
name = "dist_files",
|
||||
srcs = glob(["*.proto"]),
|
||||
strip_prefix = strip_prefix.from_root(""),
|
||||
visibility = ["//benchmarks:__pkg__"],
|
||||
)
|
||||
|
@ -1,5 +1,6 @@
|
||||
load("@rules_cc//cc:defs.bzl", "cc_proto_library")
|
||||
load("@rules_java//java:defs.bzl", "java_proto_library")
|
||||
load("@rules_pkg//:mappings.bzl", "pkg_files", "strip_prefix")
|
||||
load("@rules_proto//proto:defs.bzl", "proto_library")
|
||||
|
||||
filegroup(
|
||||
@ -42,3 +43,10 @@ java_proto_library(
|
||||
"benchmark_message2_proto",
|
||||
],
|
||||
)
|
||||
|
||||
pkg_files(
|
||||
name = "dist_files",
|
||||
srcs = glob(["*.proto"]),
|
||||
strip_prefix = strip_prefix.from_root(""),
|
||||
visibility = ["//benchmarks:__pkg__"],
|
||||
)
|
||||
|
@ -1,5 +1,6 @@
|
||||
load("@rules_cc//cc:defs.bzl", "cc_proto_library")
|
||||
load("@rules_java//java:defs.bzl", "java_proto_library")
|
||||
load("@rules_pkg//:mappings.bzl", "pkg_files", "strip_prefix")
|
||||
load("@rules_proto//proto:defs.bzl", "proto_library")
|
||||
|
||||
filegroup(
|
||||
@ -48,3 +49,10 @@ java_proto_library(
|
||||
"benchmark_message3_proto",
|
||||
],
|
||||
)
|
||||
|
||||
pkg_files(
|
||||
name = "dist_files",
|
||||
srcs = glob(["*.proto"]),
|
||||
strip_prefix = strip_prefix.from_root(""),
|
||||
visibility = ["//benchmarks:__pkg__"],
|
||||
)
|
||||
|
@ -1,5 +1,6 @@
|
||||
load("@rules_cc//cc:defs.bzl", "cc_proto_library")
|
||||
load("@rules_java//java:defs.bzl", "java_proto_library")
|
||||
load("@rules_pkg//:mappings.bzl", "pkg_files", "strip_prefix")
|
||||
load("@rules_proto//proto:defs.bzl", "proto_library")
|
||||
|
||||
filegroup(
|
||||
@ -43,3 +44,10 @@ java_proto_library(
|
||||
"benchmark_message4_proto",
|
||||
],
|
||||
)
|
||||
|
||||
pkg_files(
|
||||
name = "dist_files",
|
||||
srcs = glob(["*.proto"]),
|
||||
strip_prefix = strip_prefix.from_root(""),
|
||||
visibility = ["//benchmarks:__pkg__"],
|
||||
)
|
||||
|
34
csharp/BUILD
Normal file
34
csharp/BUILD
Normal file
@ -0,0 +1,34 @@
|
||||
# Protobuf C# runtime
|
||||
#
|
||||
# See also code generation logic under /src/google/protobuf/compiler/csharp.
|
||||
|
||||
load("@rules_pkg//:mappings.bzl", "pkg_files", "strip_prefix")
|
||||
|
||||
pkg_files(
|
||||
name = "dist_files",
|
||||
srcs = glob([
|
||||
"keys/*",
|
||||
"protos/*",
|
||||
"src/**/*.cs*", # .cs and .csproj
|
||||
]) + [
|
||||
".editorconfig",
|
||||
".gitignore",
|
||||
"BUILD",
|
||||
"CHANGES.txt",
|
||||
"Google.Protobuf.Tools.nuspec",
|
||||
"Google.Protobuf.Tools.targets",
|
||||
"NuGet.Config",
|
||||
"README.md",
|
||||
"build_packages.bat",
|
||||
"build_tools.sh",
|
||||
"buildall.bat",
|
||||
"buildall.sh",
|
||||
"generate_protos.sh",
|
||||
"install_dotnet_sdk.ps1",
|
||||
"src/Google.Protobuf.Benchmarks/wrapper_benchmark_messages.proto",
|
||||
"src/Google.Protobuf.Test/testprotos.pb",
|
||||
"src/Google.Protobuf.sln",
|
||||
],
|
||||
strip_prefix = strip_prefix.from_root(""),
|
||||
visibility = ["//pkg:__pkg__"],
|
||||
)
|
@ -6,6 +6,7 @@
|
||||
|
||||
load("@rules_cc//cc:defs.bzl", "cc_binary", "cc_proto_library")
|
||||
load("@rules_java//java:defs.bzl", "java_binary", "java_lite_proto_library", "java_proto_library")
|
||||
load("@rules_pkg//:mappings.bzl", "pkg_files", "strip_prefix")
|
||||
load("@rules_proto//proto:defs.bzl", "proto_library")
|
||||
|
||||
# For each .proto file, a proto_library target should be defined. This target
|
||||
@ -103,3 +104,34 @@ java_binary(
|
||||
main_class = "ListPeople",
|
||||
deps = [":addressbook_java_lite_proto"],
|
||||
)
|
||||
|
||||
# Files included in all source distributions
|
||||
pkg_files(
|
||||
name = "dist_files",
|
||||
srcs = [
|
||||
"AddPerson.java",
|
||||
"BUILD",
|
||||
"CMakeLists.txt",
|
||||
"ListPeople.java",
|
||||
"Makefile",
|
||||
"README.md",
|
||||
"WORKSPACE",
|
||||
"add_person.cc",
|
||||
"add_person.dart",
|
||||
"add_person.py",
|
||||
"addressbook.proto",
|
||||
"go/cmd/add_person/add_person.go",
|
||||
"go/cmd/add_person/add_person_test.go",
|
||||
"go/cmd/list_people/list_people.go",
|
||||
"go/cmd/list_people/list_people_test.go",
|
||||
"go/go.mod",
|
||||
"go/go.sum",
|
||||
"list_people.cc",
|
||||
"list_people.dart",
|
||||
"list_people.py",
|
||||
"pubspec.yaml",
|
||||
],
|
||||
prefix = "examples/",
|
||||
strip_prefix = strip_prefix.from_root(""),
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
||||
|
37
java/BUILD
37
java/BUILD
@ -1,3 +1,5 @@
|
||||
load("@rules_pkg//:mappings.bzl", "pkg_filegroup", "pkg_files", "strip_prefix")
|
||||
|
||||
test_suite(
|
||||
name = "tests",
|
||||
tests = [
|
||||
@ -12,9 +14,40 @@ test_suite(
|
||||
filegroup(
|
||||
name = "release",
|
||||
srcs = [
|
||||
"//java/core:release", # contains lite.
|
||||
"//java/core:release", # contains lite.
|
||||
"//java/kotlin:release",
|
||||
"//java/kotlin-lite:release",
|
||||
"//java/util:release",
|
||||
]
|
||||
],
|
||||
)
|
||||
|
||||
################################################################################
|
||||
# Packaging rules
|
||||
################################################################################
|
||||
|
||||
pkg_files(
|
||||
name = "dist_files",
|
||||
srcs = [
|
||||
"BUILD",
|
||||
"README.md",
|
||||
"bom/pom.xml",
|
||||
"lite.md",
|
||||
"pom.xml",
|
||||
],
|
||||
strip_prefix = strip_prefix.from_root(""),
|
||||
visibility = ["//pkg:__pkg__"],
|
||||
)
|
||||
|
||||
pkg_filegroup(
|
||||
name = "all_dist_files",
|
||||
srcs = [
|
||||
":dist_files",
|
||||
"//java/core:dist_files",
|
||||
"//java/internal:dist_files",
|
||||
"//java/kotlin:dist_files",
|
||||
"//java/kotlin-lite:dist_files",
|
||||
"//java/lite:dist_files",
|
||||
"//java/util:dist_files",
|
||||
],
|
||||
visibility = ["//pkg:__pkg__"],
|
||||
)
|
||||
|
@ -1,6 +1,7 @@
|
||||
load("@bazel_skylib//rules:build_test.bzl", "build_test")
|
||||
load("@rules_java//java:defs.bzl", "java_library", "java_lite_proto_library", "java_proto_library")
|
||||
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")
|
||||
@ -175,9 +176,6 @@ filegroup(
|
||||
|
||||
proto_lang_toolchain(
|
||||
name = "toolchain",
|
||||
command_line = "--java_out=$(OUT)",
|
||||
runtime = ":core",
|
||||
visibility = ["//visibility:public"],
|
||||
# keep this in sync w/ WELL_KNOWN_PROTO_MAP in //:BUILD
|
||||
blacklisted_protos = [
|
||||
"//:any_proto",
|
||||
@ -193,6 +191,9 @@ proto_lang_toolchain(
|
||||
"//:type_proto",
|
||||
"//:wrappers_proto",
|
||||
],
|
||||
command_line = "--java_out=$(OUT)",
|
||||
runtime = ":core",
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
||||
|
||||
proto_library(
|
||||
@ -226,6 +227,7 @@ java_library(
|
||||
"src/test/java/com/google/protobuf/TestUtil.java",
|
||||
"src/test/java/com/google/protobuf/TestUtilLite.java",
|
||||
],
|
||||
visibility = ["//java:__subpackages__"],
|
||||
deps = [
|
||||
":core",
|
||||
":generic_test_protos_java_proto",
|
||||
@ -233,7 +235,6 @@ java_library(
|
||||
"@maven//:com_google_guava_guava",
|
||||
"@maven//:junit_junit",
|
||||
],
|
||||
visibility = ["//java:__subpackages__"],
|
||||
)
|
||||
|
||||
test_suite(
|
||||
@ -336,8 +337,8 @@ java_library(
|
||||
":rewrite_javalite_test_util",
|
||||
],
|
||||
visibility = [
|
||||
"//java/lite:__pkg__",
|
||||
"//java/kotlin-lite:__pkg__",
|
||||
"//java/lite:__pkg__",
|
||||
],
|
||||
deps = [
|
||||
":generic_test_protos_java_proto_lite",
|
||||
@ -411,3 +412,20 @@ junit_tests(
|
||||
"@maven//:org_mockito_mockito_core",
|
||||
],
|
||||
)
|
||||
|
||||
pkg_files(
|
||||
name = "dist_files",
|
||||
srcs = glob([
|
||||
"src/main/java/com/google/protobuf/*.java",
|
||||
"src/test/java/**/*.java",
|
||||
"src/test/proto/**/*.proto",
|
||||
]) + [
|
||||
"BUILD",
|
||||
"generate-sources-build.xml",
|
||||
"generate-test-sources-build.xml",
|
||||
"pom.xml",
|
||||
"pom_template.xml",
|
||||
],
|
||||
strip_prefix = strip_prefix.from_root(""),
|
||||
visibility = ["//java:__pkg__"],
|
||||
)
|
||||
|
@ -1 +1,13 @@
|
||||
package(default_visibility = ["//java:__subpackages__"])
|
||||
package(default_visibility = ["//java:__subpackages__"])
|
||||
|
||||
load("@rules_pkg//:mappings.bzl", "pkg_files", "strip_prefix")
|
||||
|
||||
pkg_files(
|
||||
name = "dist_files",
|
||||
srcs = [
|
||||
"BUILD",
|
||||
"testing.bzl",
|
||||
],
|
||||
strip_prefix = strip_prefix.from_root(""),
|
||||
visibility = ["//java:__pkg__"],
|
||||
)
|
||||
|
@ -1,6 +1,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.bzl", "internal_gen_kt_protos")
|
||||
|
||||
@ -21,14 +22,18 @@ kt_jvm_library(
|
||||
"//:gen_well_known_protos_kotlinlite",
|
||||
],
|
||||
deps = [
|
||||
"//java/lite",
|
||||
"//java/kotlin:only_for_use_in_proto_generated_code_its_generator_and_tests",
|
||||
"//java/kotlin:shared_runtime",
|
||||
"//java/lite",
|
||||
],
|
||||
)
|
||||
|
||||
kt_jvm_export(
|
||||
name = "kotlin-lite_mvn",
|
||||
deploy_env = [
|
||||
"@com_github_jetbrains_kotlin//:kotlin-stdlib",
|
||||
"//java/lite",
|
||||
],
|
||||
maven_coordinates = "com.google.protobuf:protobuf-kotlin-lite:%s" % PROTOBUF_VERSION,
|
||||
pom_template = "//java/kotlin-lite:pom_template.xml",
|
||||
resources = ["//:well_known_protos"],
|
||||
@ -39,10 +44,6 @@ kt_jvm_export(
|
||||
"//java/kotlin:only_for_use_in_proto_generated_code_its_generator_and_tests",
|
||||
"//java/kotlin:shared_runtime",
|
||||
],
|
||||
deploy_env = [
|
||||
"@com_github_jetbrains_kotlin//:kotlin-stdlib",
|
||||
"//java/lite",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
@ -59,9 +60,9 @@ filegroup(
|
||||
test_suite(
|
||||
name = "tests",
|
||||
tests = [
|
||||
"test_lite_extensions",
|
||||
"proto2_test_lite",
|
||||
"proto3_test_lite",
|
||||
"test_lite_extensions",
|
||||
],
|
||||
)
|
||||
|
||||
@ -71,9 +72,9 @@ kt_jvm_library(
|
||||
deps = [
|
||||
":example_extensible_message_java_proto_lite",
|
||||
":lite_extensions",
|
||||
"//java/lite",
|
||||
"//java/kotlin:only_for_use_in_proto_generated_code_its_generator_and_tests",
|
||||
"//java/kotlin:shared_runtime",
|
||||
"//java/lite",
|
||||
"@com_github_jetbrains_kotlin//:kotlin-test",
|
||||
"@maven//:com_google_truth_truth",
|
||||
"@maven//:junit_junit",
|
||||
@ -82,8 +83,8 @@ kt_jvm_library(
|
||||
|
||||
java_test(
|
||||
name = "test_lite_extensions",
|
||||
runtime_deps = [":test_lite_extensions_library"],
|
||||
test_class = "com.google.protobuf.kotlin.ExtendableMessageLiteExtensionsTest",
|
||||
runtime_deps = [":test_lite_extensions_library"],
|
||||
)
|
||||
|
||||
java_lite_proto_library(
|
||||
@ -93,8 +94,8 @@ java_lite_proto_library(
|
||||
|
||||
internal_gen_kt_protos(
|
||||
name = "gen_evil_names_proto2_lite",
|
||||
deps = ["//java/kotlin:evil_names_proto2"],
|
||||
lite = True,
|
||||
deps = ["//java/kotlin:evil_names_proto2"],
|
||||
)
|
||||
|
||||
java_lite_proto_library(
|
||||
@ -104,8 +105,8 @@ java_lite_proto_library(
|
||||
|
||||
internal_gen_kt_protos(
|
||||
name = "gen_evil_names_proto3_lite",
|
||||
deps = ["//java/kotlin:evil_names_proto3"],
|
||||
lite = True,
|
||||
deps = ["//java/kotlin:evil_names_proto3"],
|
||||
)
|
||||
|
||||
java_lite_proto_library(
|
||||
@ -126,10 +127,10 @@ kt_jvm_library(
|
||||
],
|
||||
deps = [
|
||||
":evil_names_proto2_java_proto_lite",
|
||||
"//java/lite:lite",
|
||||
"//:java_lite_test_protos",
|
||||
"//java/kotlin:only_for_use_in_proto_generated_code_its_generator_and_tests",
|
||||
"//java/kotlin:shared_runtime",
|
||||
"//:java_lite_test_protos",
|
||||
"//java/lite",
|
||||
],
|
||||
)
|
||||
|
||||
@ -143,10 +144,10 @@ kt_jvm_library(
|
||||
deps = [
|
||||
":evil_names_proto3_java_proto_lite",
|
||||
":multiple_files_proto3_java_proto_lite",
|
||||
"//java/lite:lite",
|
||||
"//:java_lite_test_protos",
|
||||
"//java/kotlin:only_for_use_in_proto_generated_code_its_generator_and_tests",
|
||||
"//java/kotlin:shared_runtime",
|
||||
"//:java_lite_test_protos",
|
||||
"//java/lite",
|
||||
],
|
||||
)
|
||||
|
||||
@ -163,8 +164,8 @@ kt_jvm_library(
|
||||
|
||||
java_test(
|
||||
name = "proto2_test_lite",
|
||||
runtime_deps = [":proto2_test_lite_library"],
|
||||
test_class = "com.google.protobuf.kotlin.Proto2LiteTest",
|
||||
runtime_deps = [":proto2_test_lite_library"],
|
||||
)
|
||||
|
||||
kt_jvm_library(
|
||||
@ -180,6 +181,24 @@ kt_jvm_library(
|
||||
|
||||
java_test(
|
||||
name = "proto3_test_lite",
|
||||
runtime_deps = [":proto3_test_lite_library"],
|
||||
test_class = "com.google.protobuf.kotlin.Proto3Test",
|
||||
runtime_deps = [":proto3_test_lite_library"],
|
||||
)
|
||||
|
||||
pkg_files(
|
||||
name = "dist_files",
|
||||
srcs = glob([
|
||||
"src/main/kotlin/com/google/protobuf/*.kt",
|
||||
"src/test/kotlin/**/*.kt",
|
||||
]) + [
|
||||
"BUILD",
|
||||
"generate-sources-build.xml",
|
||||
"generate-test-sources-build.xml",
|
||||
"lite.awk",
|
||||
"pom.xml",
|
||||
"pom_template.xml",
|
||||
"process-lite-sources-build.xml",
|
||||
],
|
||||
strip_prefix = strip_prefix.from_root(""),
|
||||
visibility = ["//java:__pkg__"],
|
||||
)
|
||||
|
@ -1,12 +1,13 @@
|
||||
load("@io_bazel_rules_kotlin//kotlin:jvm.bzl", "kt_jvm_library")
|
||||
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.bzl", "internal_gen_kt_protos")
|
||||
|
||||
exports_files([
|
||||
"src/test/kotlin/com/google/protobuf/Proto3Test.kt",
|
||||
"src/test/kotlin/com/google/protobuf/Proto3Test.kt",
|
||||
])
|
||||
|
||||
# Kotlin generated protos depend on this and only this.
|
||||
@ -36,34 +37,34 @@ kt_jvm_library(
|
||||
kt_jvm_library(
|
||||
name = "bytestring_lib",
|
||||
srcs = ["src/main/kotlin/com/google/protobuf/ByteStrings.kt"],
|
||||
deps = ["//java/lite"],
|
||||
visibility = ["//java:__subpackages__"],
|
||||
deps = ["//java/lite"],
|
||||
)
|
||||
|
||||
kt_jvm_library(
|
||||
name = "full_extensions",
|
||||
srcs = [
|
||||
"src/main/kotlin/com/google/protobuf/Anies.kt",
|
||||
"src/main/kotlin/com/google/protobuf/ExtendableMessageExtensions.kt",
|
||||
"src/main/kotlin/com/google/protobuf/Anies.kt",
|
||||
"src/main/kotlin/com/google/protobuf/ExtendableMessageExtensions.kt",
|
||||
],
|
||||
deps = ["//java/core"],
|
||||
)
|
||||
|
||||
kt_jvm_export(
|
||||
name = "kotlin_mvn",
|
||||
deploy_env = [
|
||||
"@com_github_jetbrains_kotlin//:kotlin-stdlib",
|
||||
"//java/core",
|
||||
],
|
||||
maven_coordinates = "com.google.protobuf:protobuf-kotlin:%s" % PROTOBUF_VERSION,
|
||||
pom_template = "//java/kotlin:pom_template.xml",
|
||||
resources = ["//:well_known_protos"],
|
||||
runtime_deps = [
|
||||
":bytestring_lib",
|
||||
":full_extensions",
|
||||
":only_for_use_in_proto_generated_code_its_generator_and_tests",
|
||||
":shared_runtime",
|
||||
":well_known_protos_kotlin",
|
||||
],
|
||||
deploy_env = [
|
||||
"@com_github_jetbrains_kotlin//:kotlin-stdlib",
|
||||
"//java/core",
|
||||
":bytestring_lib",
|
||||
":full_extensions",
|
||||
":only_for_use_in_proto_generated_code_its_generator_and_tests",
|
||||
":shared_runtime",
|
||||
":well_known_protos_kotlin",
|
||||
],
|
||||
)
|
||||
|
||||
@ -82,10 +83,10 @@ test_suite(
|
||||
name = "tests",
|
||||
tests = [
|
||||
"bytestring_test",
|
||||
"shared_tests",
|
||||
"test_extensions",
|
||||
"proto2_test",
|
||||
"proto3_test",
|
||||
"shared_tests",
|
||||
"test_extensions",
|
||||
],
|
||||
)
|
||||
|
||||
@ -103,8 +104,8 @@ kt_jvm_library(
|
||||
|
||||
java_test(
|
||||
name = "bytestring_test",
|
||||
runtime_deps = [":bytestring_test_library"],
|
||||
test_class = "com.google.protobuf.kotlin.ByteStringsTest",
|
||||
runtime_deps = [":bytestring_test_library"],
|
||||
)
|
||||
|
||||
proto_library(
|
||||
@ -131,31 +132,31 @@ kt_jvm_library(
|
||||
":only_for_use_in_proto_generated_code_its_generator_and_tests",
|
||||
":shared_runtime",
|
||||
"@com_github_jetbrains_kotlin//:kotlin-test",
|
||||
"@maven//:com_google_truth_truth",
|
||||
"@maven//:com_google_guava_guava_testlib",
|
||||
"@maven//:com_google_truth_truth",
|
||||
"@maven//:junit_junit",
|
||||
],
|
||||
)
|
||||
|
||||
java_test(
|
||||
name = "shared_tests",
|
||||
runtime_deps = [":shared_tests_library"],
|
||||
test_class = "com.google.protobuf.kotlin.DslListTest",
|
||||
runtime_deps = [":shared_tests_library"],
|
||||
)
|
||||
|
||||
kt_jvm_library(
|
||||
name = "test_extensions_library",
|
||||
srcs = [
|
||||
"src/test/kotlin/com/google/protobuf/AniesTest.kt",
|
||||
"src/test/kotlin/com/google/protobuf/ExtendableMessageExtensionsTest.kt",
|
||||
"src/test/kotlin/com/google/protobuf/AniesTest.kt",
|
||||
"src/test/kotlin/com/google/protobuf/ExtendableMessageExtensionsTest.kt",
|
||||
],
|
||||
deps = [
|
||||
":example_extensible_message_java_proto",
|
||||
":full_extensions",
|
||||
"//java/core:core",
|
||||
":kotlin_unittest",
|
||||
":only_for_use_in_proto_generated_code_its_generator_and_tests",
|
||||
":shared_runtime",
|
||||
"//java/core",
|
||||
"@com_github_jetbrains_kotlin//:kotlin-test",
|
||||
"@maven//:com_google_truth_truth",
|
||||
"@maven//:junit_junit",
|
||||
@ -164,8 +165,8 @@ kt_jvm_library(
|
||||
|
||||
java_test(
|
||||
name = "test_extensions",
|
||||
runtime_deps = [":test_extensions_library"],
|
||||
test_class = "com.google.protobuf.kotlin.ExtendableMessageExtensionsTest",
|
||||
runtime_deps = [":test_extensions_library"],
|
||||
)
|
||||
|
||||
proto_library(
|
||||
@ -224,11 +225,11 @@ kt_jvm_library(
|
||||
],
|
||||
deps = [
|
||||
":evil_names_proto2_java_proto",
|
||||
"//java/core:core",
|
||||
":only_for_use_in_proto_generated_code_its_generator_and_tests",
|
||||
":shared_runtime",
|
||||
":well_known_protos_kotlin",
|
||||
"//:java_test_protos",
|
||||
"//java/core",
|
||||
],
|
||||
)
|
||||
|
||||
@ -242,10 +243,10 @@ kt_jvm_library(
|
||||
deps = [
|
||||
":evil_names_proto3_java_proto",
|
||||
":multiple_files_proto3_java_proto",
|
||||
"//java/core:core",
|
||||
":only_for_use_in_proto_generated_code_its_generator_and_tests",
|
||||
":shared_runtime",
|
||||
"//:java_test_protos",
|
||||
"//java/core",
|
||||
],
|
||||
)
|
||||
|
||||
@ -262,8 +263,8 @@ kt_jvm_library(
|
||||
|
||||
java_test(
|
||||
name = "proto2_test",
|
||||
runtime_deps = [":proto2_test_library"],
|
||||
test_class = "com.google.protobuf.kotlin.Proto2Test",
|
||||
runtime_deps = [":proto2_test_library"],
|
||||
)
|
||||
|
||||
kt_jvm_library(
|
||||
@ -279,8 +280,8 @@ kt_jvm_library(
|
||||
|
||||
java_test(
|
||||
name = "proto3_test",
|
||||
runtime_deps = [":proto3_test_library"],
|
||||
test_class = "com.google.protobuf.kotlin.Proto3Test",
|
||||
runtime_deps = [":proto3_test_library"],
|
||||
)
|
||||
|
||||
kt_jvm_library(
|
||||
@ -289,8 +290,25 @@ kt_jvm_library(
|
||||
"//:gen_well_known_protos_kotlin",
|
||||
],
|
||||
deps = [
|
||||
"//java/core",
|
||||
":only_for_use_in_proto_generated_code_its_generator_and_tests",
|
||||
":shared_runtime",
|
||||
":only_for_use_in_proto_generated_code_its_generator_and_tests",
|
||||
":shared_runtime",
|
||||
"//java/core",
|
||||
],
|
||||
)
|
||||
|
||||
pkg_files(
|
||||
name = "dist_files",
|
||||
srcs = glob([
|
||||
"src/main/kotlin/com/google/protobuf/*.kt",
|
||||
"src/test/kotlin/**/*.kt",
|
||||
"src/test/proto/**/*.proto",
|
||||
]) + [
|
||||
"BUILD",
|
||||
"generate-sources-build.xml",
|
||||
"generate-test-sources-build.xml",
|
||||
"pom.xml",
|
||||
"pom_template.xml",
|
||||
],
|
||||
strip_prefix = strip_prefix.from_root(""),
|
||||
visibility = ["//java:__pkg__"],
|
||||
)
|
||||
|
@ -1,4 +1,5 @@
|
||||
load("@bazel_skylib//rules:build_test.bzl", "build_test")
|
||||
load("@rules_pkg//:mappings.bzl", "pkg_filegroup", "pkg_files", "strip_prefix")
|
||||
load("@rules_proto//proto:defs.bzl", "proto_lang_toolchain")
|
||||
load("//:internal.bzl", "conformance_test")
|
||||
load("//java/internal:testing.bzl", "junit_tests")
|
||||
@ -21,9 +22,6 @@ alias(
|
||||
|
||||
proto_lang_toolchain(
|
||||
name = "toolchain",
|
||||
command_line = "--java_out=lite:$(OUT)",
|
||||
runtime = ":lite",
|
||||
visibility = ["//visibility:public"],
|
||||
# keep this in sync w/ LITE_WELL_KNOWN_PROTO_MAP in //:BUILD
|
||||
blacklisted_protos = [
|
||||
"//:any_proto",
|
||||
@ -37,6 +35,9 @@ proto_lang_toolchain(
|
||||
"//:type_proto",
|
||||
"//:wrappers_proto",
|
||||
],
|
||||
command_line = "--java_out=lite:$(OUT)",
|
||||
runtime = ":lite",
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
||||
|
||||
test_suite(
|
||||
@ -76,3 +77,20 @@ junit_tests(
|
||||
"@maven//:junit_junit",
|
||||
],
|
||||
)
|
||||
|
||||
pkg_files(
|
||||
name = "dist_files",
|
||||
srcs = glob([
|
||||
"**/*.java",
|
||||
]) + [
|
||||
"BUILD",
|
||||
"generate-sources-build.xml",
|
||||
"generate-test-sources-build.xml",
|
||||
"lite.awk",
|
||||
"pom.xml",
|
||||
"pom_template.xml",
|
||||
"process-lite-sources-build.xml",
|
||||
],
|
||||
strip_prefix = strip_prefix.from_root(""),
|
||||
visibility = ["//java:__pkg__"],
|
||||
)
|
||||
|
@ -1,5 +1,6 @@
|
||||
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("//java/internal:testing.bzl", "junit_tests")
|
||||
@ -23,11 +24,11 @@ java_library(
|
||||
# Bazel users, don't depend on this target, use :util.
|
||||
java_export(
|
||||
name = "util_mvn",
|
||||
deploy_env = ["//java/core"],
|
||||
maven_coordinates = "com.google.protobuf:protobuf-java-util:%s" % PROTOBUF_VERSION,
|
||||
pom_template = "pom_template.xml",
|
||||
visibility = ["//java:__pkg__"],
|
||||
runtime_deps = [":util"],
|
||||
deploy_env = ["//java/core"],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
@ -74,3 +75,18 @@ junit_tests(
|
||||
"@maven//:junit_junit",
|
||||
],
|
||||
)
|
||||
|
||||
pkg_files(
|
||||
name = "dist_files",
|
||||
srcs = glob([
|
||||
"src/main/**/*.java",
|
||||
"src/test/**/*.java",
|
||||
"src/test/**/*.proto",
|
||||
]) + [
|
||||
"BUILD",
|
||||
"pom.xml",
|
||||
"pom_template.xml",
|
||||
],
|
||||
strip_prefix = strip_prefix.from_root(""),
|
||||
visibility = ["//java:__pkg__"],
|
||||
)
|
||||
|
29
js/BUILD
Normal file
29
js/BUILD
Normal file
@ -0,0 +1,29 @@
|
||||
# Protobuf JS runtime
|
||||
#
|
||||
# See also code generation logic under /src/google/protobuf/compiler/js.
|
||||
|
||||
load("@rules_pkg//:mappings.bzl", "pkg_files", "strip_prefix")
|
||||
|
||||
pkg_files(
|
||||
name = "dist_files",
|
||||
srcs = glob([
|
||||
"*.js",
|
||||
"*.json",
|
||||
"*.proto",
|
||||
"binary/*.js",
|
||||
"commonjs/*.js*", # js, json
|
||||
"commonjs/**/*.proto",
|
||||
"compatibility_tests/v3.0.0/**/*.js*",
|
||||
"compatibility_tests/v3.0.0/**/*.proto",
|
||||
"compatibility_tests/v3.0.0/**/*.sh",
|
||||
"compatibility_tests/v3.1.0/**/*.js*",
|
||||
"compatibility_tests/v3.1.0/**/*.proto",
|
||||
"experimental/benchmarks/**/*.js",
|
||||
"experimental/runtime/**/*.js",
|
||||
]) + [
|
||||
"BUILD",
|
||||
"README.md",
|
||||
],
|
||||
strip_prefix = strip_prefix.from_root(""),
|
||||
visibility = ["//pkg:__pkg__"],
|
||||
)
|
@ -1,4 +1,5 @@
|
||||
load("@rules_cc//cc:defs.bzl", "objc_library")
|
||||
load("@rules_pkg//:mappings.bzl", "pkg_files", "strip_prefix")
|
||||
|
||||
objc_library(
|
||||
name = "objectivec",
|
||||
@ -63,28 +64,59 @@ objc_library(
|
||||
non_arc_srcs = [
|
||||
"GPBAny.pbobjc.m",
|
||||
"GPBApi.pbobjc.m",
|
||||
"GPBDuration.pbobjc.m",
|
||||
"GPBEmpty.pbobjc.m",
|
||||
"GPBFieldMask.pbobjc.m",
|
||||
"GPBSourceContext.pbobjc.m",
|
||||
"GPBStruct.pbobjc.m",
|
||||
"GPBTimestamp.pbobjc.m",
|
||||
"GPBType.pbobjc.m",
|
||||
"GPBWrappers.pbobjc.m",
|
||||
"GPBArray.m",
|
||||
"GPBCodedInputStream.m",
|
||||
"GPBCodedOutputStream.m",
|
||||
"GPBDescriptor.m",
|
||||
"GPBDictionary.m",
|
||||
"GPBDuration.pbobjc.m",
|
||||
"GPBEmpty.pbobjc.m",
|
||||
"GPBExtensionInternals.m",
|
||||
"GPBExtensionRegistry.m",
|
||||
"GPBFieldMask.pbobjc.m",
|
||||
"GPBMessage.m",
|
||||
"GPBRootObject.m",
|
||||
"GPBSourceContext.pbobjc.m",
|
||||
"GPBStruct.pbobjc.m",
|
||||
"GPBTimestamp.pbobjc.m",
|
||||
"GPBType.pbobjc.m",
|
||||
"GPBUnknownField.m",
|
||||
"GPBUnknownFieldSet.m",
|
||||
"GPBUtilities.m",
|
||||
"GPBWellKnownTypes.m",
|
||||
"GPBWireFormat.m",
|
||||
"GPBWrappers.pbobjc.m",
|
||||
],
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
||||
|
||||
pkg_files(
|
||||
name = "dist_files",
|
||||
srcs = glob([
|
||||
"*.h",
|
||||
"*.m",
|
||||
"**/*.h",
|
||||
"**/*.m",
|
||||
"**/*.mm",
|
||||
"**/*.swift",
|
||||
"DevTools/*.sh",
|
||||
"DevTools/*.py",
|
||||
"ProtocolBuffers_iOS.xcodeproj/**/*",
|
||||
"ProtocolBuffers_OSX.xcodeproj/**/*",
|
||||
"ProtocolBuffers_tvOS.xcodeproj/**/*",
|
||||
"Tests/CocoaPods/**/*",
|
||||
"Tests/*.pddm",
|
||||
"Tests/*.txt",
|
||||
"Tests/*.plist",
|
||||
"Tests/*.proto",
|
||||
]) + [
|
||||
".clang-format",
|
||||
"BUILD",
|
||||
"README.md",
|
||||
"Tests/golden_message",
|
||||
"Tests/golden_packed_fields_message",
|
||||
"generate_well_known_types.sh",
|
||||
],
|
||||
strip_prefix = strip_prefix.from_root(""),
|
||||
visibility = ["//pkg:__pkg__"],
|
||||
)
|
||||
|
30
php/BUILD
Normal file
30
php/BUILD
Normal file
@ -0,0 +1,30 @@
|
||||
# Protobuf PHP runtime
|
||||
#
|
||||
# See also code generation logic under /src/google/protobuf/compiler/php.
|
||||
|
||||
load("@rules_pkg//:mappings.bzl", "pkg_files", "strip_prefix")
|
||||
|
||||
pkg_files(
|
||||
name = "dist_files",
|
||||
srcs = glob([
|
||||
"ext/google/protobuf/**/*",
|
||||
"src/GPBMetadata/Google/Protobuf/**/*.php",
|
||||
"src/Google/Protobuf/**/*.php",
|
||||
"tests/*.php",
|
||||
"tests/*.sh",
|
||||
"tests/proto/**/*.proto",
|
||||
]) + [
|
||||
"BUILD",
|
||||
"README.md",
|
||||
"REFCOUNTING.md",
|
||||
"composer.json",
|
||||
"generate_descriptor_protos.sh",
|
||||
"generate_test_protos.sh",
|
||||
"release.sh",
|
||||
"src/phpdoc.dist.xml",
|
||||
"tests/valgrind.supp",
|
||||
],
|
||||
prefix = "php",
|
||||
strip_prefix = strip_prefix.from_pkg(""),
|
||||
visibility = ["//pkg:__pkg__"],
|
||||
)
|
261
pkg/BUILD
261
pkg/BUILD
@ -1,8 +1,17 @@
|
||||
load("@rules_pkg//:pkg.bzl", "pkg_zip")
|
||||
load("@rules_pkg//:mappings.bzl", "pkg_attributes", "pkg_files")
|
||||
load("@rules_pkg//:pkg.bzl", "pkg_tar", "pkg_zip")
|
||||
load(
|
||||
"@rules_pkg//:mappings.bzl",
|
||||
"pkg_attributes",
|
||||
"pkg_filegroup",
|
||||
"pkg_files",
|
||||
)
|
||||
load("//:protobuf_release.bzl", "package_naming")
|
||||
load(":cc_dist_library.bzl", "cc_dist_library")
|
||||
|
||||
package_naming(
|
||||
name = "protobuf_pkg_naming",
|
||||
)
|
||||
|
||||
pkg_files(
|
||||
name = "wkt_protos_files",
|
||||
srcs = [
|
||||
@ -69,10 +78,6 @@ pkg_files(
|
||||
visibility = ["//visibility:private"],
|
||||
)
|
||||
|
||||
package_naming(
|
||||
name = "protoc_pkg_naming",
|
||||
)
|
||||
|
||||
pkg_zip(
|
||||
name = "protoc_release",
|
||||
srcs = [
|
||||
@ -83,7 +88,249 @@ pkg_zip(
|
||||
":wkt_protos_files",
|
||||
],
|
||||
package_file_name = "protoc-{version}-{platform}.zip",
|
||||
package_variables = ":protoc_pkg_naming",
|
||||
package_variables = ":protobuf_pkg_naming",
|
||||
)
|
||||
|
||||
################################################################################
|
||||
# Source distribution packaging
|
||||
#
|
||||
# TODO: these will eventually replace autotools for release artifact packaging.
|
||||
################################################################################
|
||||
|
||||
pkg_filegroup(
|
||||
name = "dist_common",
|
||||
srcs = [
|
||||
"//:common_dist_files",
|
||||
"//:conformance_dist_files",
|
||||
"//:cpp_dist_files", # to build protoc
|
||||
"//benchmarks:all_dist_files",
|
||||
"@com_google_protobuf_examples//:dist_files",
|
||||
],
|
||||
)
|
||||
|
||||
pkg_filegroup(
|
||||
name = "cpp_srcs",
|
||||
srcs = [
|
||||
":dist_common",
|
||||
"//:cpp_dist_files",
|
||||
],
|
||||
)
|
||||
|
||||
pkg_tar(
|
||||
name = "dist_cpp_tar",
|
||||
srcs = [":cpp_srcs"],
|
||||
extension = "tar.gz",
|
||||
package_dir = "protobuf-{version}",
|
||||
package_file_name = "protobuf-cpp-{version}.tar.gz",
|
||||
package_variables = ":protobuf_pkg_naming",
|
||||
)
|
||||
|
||||
pkg_zip(
|
||||
name = "dist_cpp_zip",
|
||||
srcs = [":cpp_srcs"],
|
||||
package_file_name = "protobuf-cpp-{version}.zip",
|
||||
package_variables = ":protobuf_pkg_naming",
|
||||
)
|
||||
|
||||
pkg_filegroup(
|
||||
name = "csharp_srcs",
|
||||
srcs = [
|
||||
":dist_common",
|
||||
"//:csharp_dist_files",
|
||||
"//csharp:dist_files",
|
||||
],
|
||||
)
|
||||
|
||||
pkg_tar(
|
||||
name = "dist_csharp_tar",
|
||||
srcs = [":csharp_srcs"],
|
||||
extension = "tar.gz",
|
||||
package_dir = "protobuf-{version}",
|
||||
package_file_name = "protobuf-csharp-{version}.tar.gz",
|
||||
package_variables = ":protobuf_pkg_naming",
|
||||
)
|
||||
|
||||
pkg_zip(
|
||||
name = "dist_csharp_zip",
|
||||
srcs = [":csharp_srcs"],
|
||||
package_file_name = "protobuf-csharp-{version}.zip",
|
||||
package_variables = ":protobuf_pkg_naming",
|
||||
)
|
||||
|
||||
pkg_filegroup(
|
||||
name = "java_srcs",
|
||||
srcs = [
|
||||
":dist_common",
|
||||
"//java:all_dist_files",
|
||||
],
|
||||
)
|
||||
|
||||
pkg_tar(
|
||||
name = "dist_java_tar",
|
||||
srcs = [":java_srcs"],
|
||||
extension = "tar.gz",
|
||||
package_dir = "protobuf-{version}",
|
||||
package_file_name = "protobuf-java-{version}.tar.gz",
|
||||
package_variables = ":protobuf_pkg_naming",
|
||||
)
|
||||
|
||||
pkg_zip(
|
||||
name = "dist_java_zip",
|
||||
srcs = [":java_srcs"],
|
||||
package_file_name = "protobuf-java-{version}.zip",
|
||||
package_variables = ":protobuf_pkg_naming",
|
||||
)
|
||||
|
||||
pkg_filegroup(
|
||||
name = "js_srcs",
|
||||
srcs = [
|
||||
":dist_common",
|
||||
"//js:dist_files",
|
||||
],
|
||||
)
|
||||
|
||||
pkg_tar(
|
||||
name = "dist_js_tar",
|
||||
srcs = [":js_srcs"],
|
||||
extension = "tar.gz",
|
||||
package_dir = "protobuf-{version}",
|
||||
package_file_name = "protobuf-js-{version}.tar.gz",
|
||||
package_variables = ":protobuf_pkg_naming",
|
||||
)
|
||||
|
||||
pkg_zip(
|
||||
name = "dist_js_zip",
|
||||
srcs = [":js_srcs"],
|
||||
package_file_name = "protobuf-js-{version}.zip",
|
||||
package_variables = ":protobuf_pkg_naming",
|
||||
)
|
||||
|
||||
pkg_filegroup(
|
||||
name = "objectivec_srcs",
|
||||
srcs = [
|
||||
":dist_common",
|
||||
"//:objectivec_dist_files",
|
||||
"//objectivec:dist_files",
|
||||
],
|
||||
)
|
||||
|
||||
pkg_tar(
|
||||
name = "dist_objectivec_tar",
|
||||
srcs = [":objectivec_srcs"],
|
||||
extension = "tar.gz",
|
||||
package_dir = "protobuf-{version}",
|
||||
package_file_name = "protobuf-objectivec-{version}.tar.gz",
|
||||
package_variables = ":protobuf_pkg_naming",
|
||||
)
|
||||
|
||||
pkg_zip(
|
||||
name = "dist_objectivec_zip",
|
||||
srcs = [":objectivec_srcs"],
|
||||
package_file_name = "protobuf-objectivec-{version}.zip",
|
||||
package_variables = ":protobuf_pkg_naming",
|
||||
)
|
||||
|
||||
pkg_filegroup(
|
||||
name = "php_srcs",
|
||||
srcs = [
|
||||
":dist_common",
|
||||
"//:php_dist_files",
|
||||
"//php:dist_files",
|
||||
],
|
||||
)
|
||||
|
||||
pkg_tar(
|
||||
name = "dist_php_tar",
|
||||
srcs = [":php_srcs"],
|
||||
extension = "tar.gz",
|
||||
package_dir = "protobuf-{version}",
|
||||
package_file_name = "protobuf-php-{version}.tar.gz",
|
||||
package_variables = ":protobuf_pkg_naming",
|
||||
)
|
||||
|
||||
pkg_zip(
|
||||
name = "dist_php_zip",
|
||||
srcs = [":php_srcs"],
|
||||
package_file_name = "protobuf-php-{version}.zip",
|
||||
package_variables = ":protobuf_pkg_naming",
|
||||
)
|
||||
|
||||
pkg_filegroup(
|
||||
name = "python_srcs",
|
||||
srcs = [
|
||||
":dist_common",
|
||||
"//:python_dist_files",
|
||||
],
|
||||
)
|
||||
|
||||
pkg_tar(
|
||||
name = "dist_python_tar",
|
||||
srcs = [":python_srcs"],
|
||||
extension = "tar.gz",
|
||||
package_dir = "protobuf-{version}",
|
||||
package_file_name = "protobuf-python-{version}.tar.gz",
|
||||
package_variables = ":protobuf_pkg_naming",
|
||||
)
|
||||
|
||||
pkg_zip(
|
||||
name = "dist_python_zip",
|
||||
srcs = [":python_srcs"],
|
||||
package_file_name = "protobuf-python-{version}.zip",
|
||||
package_variables = ":protobuf_pkg_naming",
|
||||
)
|
||||
|
||||
pkg_filegroup(
|
||||
name = "ruby_srcs",
|
||||
srcs = [
|
||||
":dist_common",
|
||||
"//ruby:dist_files",
|
||||
],
|
||||
)
|
||||
|
||||
pkg_tar(
|
||||
name = "dist_ruby_tar",
|
||||
srcs = [":ruby_srcs"],
|
||||
extension = "tar.gz",
|
||||
package_dir = "protobuf-{version}",
|
||||
package_file_name = "protobuf-ruby-{version}.tar.gz",
|
||||
package_variables = ":protobuf_pkg_naming",
|
||||
)
|
||||
|
||||
pkg_zip(
|
||||
name = "dist_ruby_zip",
|
||||
srcs = [":ruby_srcs"],
|
||||
package_file_name = "protobuf-ruby-{version}.zip",
|
||||
package_variables = ":protobuf_pkg_naming",
|
||||
)
|
||||
|
||||
pkg_filegroup(
|
||||
name = "dist_all",
|
||||
srcs = [
|
||||
":cpp_srcs",
|
||||
":csharp_srcs",
|
||||
":java_srcs",
|
||||
":js_srcs",
|
||||
":objectivec_srcs",
|
||||
":php_srcs",
|
||||
":python_srcs",
|
||||
":ruby_srcs",
|
||||
],
|
||||
)
|
||||
|
||||
pkg_tar(
|
||||
name = "dist_all_tar",
|
||||
srcs = [":dist_all"],
|
||||
extension = "tar.gz",
|
||||
package_dir = "protobuf-{version}",
|
||||
package_file_name = "protobuf-all-{version}.tar.gz",
|
||||
package_variables = ":protobuf_pkg_naming",
|
||||
)
|
||||
|
||||
pkg_zip(
|
||||
name = "dist_all_zip",
|
||||
srcs = [":dist_all"],
|
||||
package_file_name = "protobuf-all-{version}.zip",
|
||||
package_variables = ":protobuf_pkg_naming",
|
||||
)
|
||||
|
||||
################################################################################
|
||||
|
31
pkg/README.md
Normal file
31
pkg/README.md
Normal file
@ -0,0 +1,31 @@
|
||||
# Protobuf packaging
|
||||
|
||||
This directory contains Bazel rules for building packaging and distribution
|
||||
artifacts.
|
||||
|
||||
*Everything in this directory should be considered internal and subject to
|
||||
change.*
|
||||
|
||||
## Protocol compiler binary packaging
|
||||
|
||||
The protocol compiler is used in binary form in various places. There are rules
|
||||
which package it, along with commonly used `.proto` files, for distribution.
|
||||
|
||||
## Source distribution packaging
|
||||
|
||||
Protobuf releases include source distributions, sliced by target language (C++,
|
||||
Java, etc.). There are rules in this package to define those source archives.
|
||||
These depend upon `pkg_files` rules elsewhere in the repo to get the contents.
|
||||
|
||||
The source distribution files should include the outputs from `autogen.sh`, but
|
||||
this isn't something we can reliably do from Bazel. To produce fully functioning
|
||||
source distributions, run `autogen.sh` before building the archives (this
|
||||
populates the necessary files directly into the source tree).
|
||||
|
||||
## C++ runtime binary distribution
|
||||
|
||||
The `cc_dist_library` rule creates composite libraries from several other
|
||||
`cc_library` targets. Bazel uses a "fine-grained" library model, where each
|
||||
`cc_library` produces its own library artifacts, without transitive
|
||||
dependencies. The `cc_dist_library` rule combines several other libraries
|
||||
together, creating a single library that may be suitable for distribution.
|
34
ruby/BUILD
Normal file
34
ruby/BUILD
Normal file
@ -0,0 +1,34 @@
|
||||
# Protobuf Ruby runtime
|
||||
#
|
||||
# See also code generation logic under /src/google/protobuf/compiler/ruby.
|
||||
|
||||
load("@rules_pkg//:mappings.bzl", "pkg_files", "strip_prefix")
|
||||
|
||||
pkg_files(
|
||||
name = "dist_files",
|
||||
srcs = glob([
|
||||
"compatibility_tests/v3.0.0/**/*",
|
||||
"ext/google/protobuf_c/*",
|
||||
"src/main/java/com/google/protobuf/jruby/*.java",
|
||||
"tests/*.proto",
|
||||
"tests/*.rb",
|
||||
]) + [
|
||||
".gitignore",
|
||||
"BUILD",
|
||||
"Gemfile",
|
||||
"README.md",
|
||||
"Rakefile",
|
||||
"google-protobuf.gemspec",
|
||||
"lib/google/protobuf.rb",
|
||||
"lib/google/protobuf/descriptor_dsl.rb",
|
||||
"lib/google/protobuf/message_exts.rb",
|
||||
"lib/google/protobuf/repeated_field.rb",
|
||||
"lib/google/protobuf/well_known_types.rb",
|
||||
"pom.xml",
|
||||
"src/main/java/google/ProtobufJavaService.java",
|
||||
"src/main/sentinel.proto",
|
||||
"travis-test.sh",
|
||||
],
|
||||
strip_prefix = strip_prefix.from_root(""),
|
||||
visibility = ["//pkg:__pkg__"],
|
||||
)
|
2
third_party/zlib.BUILD
vendored
2
third_party/zlib.BUILD
vendored
@ -2,6 +2,8 @@ load("@rules_cc//cc:defs.bzl", "cc_library")
|
||||
|
||||
licenses(["notice"]) # BSD/MIT-like license (for zlib)
|
||||
|
||||
exports_files(["zlib.BUILD"])
|
||||
|
||||
_ZLIB_HEADERS = [
|
||||
"crc32.h",
|
||||
"deflate.h",
|
||||
|
@ -1,5 +1,7 @@
|
||||
load("@rules_cc//cc:defs.bzl", "cc_library")
|
||||
|
||||
exports_files(["BUILD"])
|
||||
|
||||
# This is a placeholder for python headers. Projects needing to use
|
||||
# fast cpp protos in protobuf's python interface should build with
|
||||
# --define=use_fast_cpp_protos=true, and in addition, provide
|
||||
|
Loading…
Reference in New Issue
Block a user