diff options
author | David Chen <dzc@google.com> | 2016-03-16 13:17:57 +0000 |
---|---|---|
committer | Lukacs Berki <lberki@google.com> | 2016-03-17 10:03:45 +0000 |
commit | b78bbd5dd53ecaeb8a736b69ecd3f014232da1d4 (patch) | |
tree | 0f13b04b4b05d90c2aab1a881ec73c631fca6b20 | |
parent | c4d448fb1841dc007c8053c9940a195634425fb1 (diff) |
Add Python protobuf to Bazel third_party and move all protobuf targets into
//third_party/protobuf.
--
MOS_MIGRATED_REVID=117336377
21 files changed, 152 insertions, 63 deletions
@@ -12,6 +12,14 @@ jsonnet_repositories() rust_repositories() sass_repositories() +# Protobuf expects an //external:python_headers label which would contain the +# Python headers if fast Python protos is enabled. Since we are not using fast +# Python protos, bind python_headers to a dummy target. +bind( + name = "python_headers", + actual = "//:dummy", +) + # Bind to dummy targets if no android SDK/NDK is present. bind( name = "android_sdk_for_testing", diff --git a/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/BUILD b/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/BUILD index 76ed11c576..c724c95c90 100644 --- a/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/BUILD +++ b/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/BUILD @@ -94,7 +94,7 @@ bootstrap_java_library( "//third_party:error_prone-jars", "//third_party:guava-jars", "//third_party:jsr305-jars", - "//third_party:protobuf-jars", + "//third_party/protobuf:protobuf-jars", ], neverlink_jars = ["//tools/defaults:java_langtools"], srcjars = [ diff --git a/src/main/java/com/google/devtools/build/lib/BUILD b/src/main/java/com/google/devtools/build/lib/BUILD index 3473d4764f..10a466bd3e 100644 --- a/src/main/java/com/google/devtools/build/lib/BUILD +++ b/src/main/java/com/google/devtools/build/lib/BUILD @@ -394,7 +394,7 @@ java_library( "//src/main/protobuf:build_java_proto", "//third_party:guava", "//third_party:jsr305", - "//third_party:protobuf", + "//third_party/protobuf", ], ) @@ -418,7 +418,7 @@ java_library( "//src/main/protobuf:build_java_proto", "//third_party:guava", "//third_party:jsr305", - "//third_party:protobuf", + "//third_party/protobuf", ], ) @@ -475,7 +475,7 @@ java_library( "//src/main/protobuf:test_status_java_proto", "//third_party:guava", "//third_party:jsr305", - "//third_party:protobuf", + "//third_party/protobuf", ], ) @@ -655,7 +655,7 @@ java_library( "//src/main/java/com/google/devtools/build/lib/actions", "//src/main/java/com/google/devtools/build/lib/rules/cpp", "//third_party:jsr305", - "//third_party:protobuf", + "//third_party/protobuf", ], ) @@ -678,7 +678,7 @@ java_library( "//third_party:auto_value", "//third_party:guava", "//third_party:jsr305", - "//third_party:protobuf", + "//third_party/protobuf", ], ) @@ -709,7 +709,7 @@ java_library( "//src/main/protobuf:extra_actions_base_java_proto", "//third_party:joda_time", "//third_party:jsr305", - "//third_party:protobuf", + "//third_party/protobuf", ], ) @@ -740,7 +740,7 @@ java_library( "//src/main/java/com/google/devtools/common/options", "//src/main/protobuf:apk_manifest_java_proto", "//third_party:jsr305", - "//third_party:protobuf", + "//third_party/protobuf", ], ) @@ -764,7 +764,7 @@ java_library( "//src/main/protobuf:crosstool_config_java_proto", "//src/main/protobuf:extra_actions_base_java_proto", "//third_party:jsr305", - "//third_party:protobuf", + "//third_party/protobuf", ], ) @@ -787,7 +787,7 @@ java_library( "//src/main/protobuf:android_studio_ide_info_java_proto", "//third_party:guava", "//third_party:jsr305", - "//third_party:protobuf", + "//third_party/protobuf", ], ) @@ -842,7 +842,7 @@ java_library( "//src/main/protobuf:test_status_java_proto", "//third_party:joda_time", "//third_party:jsr305", - "//third_party:protobuf", + "//third_party/protobuf", ], ) diff --git a/src/main/java/com/google/devtools/build/lib/actions/BUILD b/src/main/java/com/google/devtools/build/lib/actions/BUILD index 10d38724a6..e51fbea1af 100644 --- a/src/main/java/com/google/devtools/build/lib/actions/BUILD +++ b/src/main/java/com/google/devtools/build/lib/actions/BUILD @@ -24,7 +24,7 @@ java_library( "//src/main/java/com/google/devtools/common/options", "//src/main/protobuf:extra_actions_base_java_proto", "//third_party:jsr305", - "//third_party:protobuf", + "//third_party/protobuf", ], ) diff --git a/src/main/java/com/google/devtools/build/lib/bazel/dash/BUILD b/src/main/java/com/google/devtools/build/lib/bazel/dash/BUILD index e1fe9999ba..9b8eacc9a3 100644 --- a/src/main/java/com/google/devtools/build/lib/bazel/dash/BUILD +++ b/src/main/java/com/google/devtools/build/lib/bazel/dash/BUILD @@ -13,7 +13,7 @@ java_library( "//third_party:apache_httpclient", "//third_party:apache_httpcore", "//third_party:guava", - "//third_party:protobuf", + "//third_party/protobuf", ], ) diff --git a/src/main/java/com/google/devtools/build/lib/remote/BUILD b/src/main/java/com/google/devtools/build/lib/remote/BUILD index 3782226cc9..40fd1b4476 100644 --- a/src/main/java/com/google/devtools/build/lib/remote/BUILD +++ b/src/main/java/com/google/devtools/build/lib/remote/BUILD @@ -23,7 +23,7 @@ java_library( "//third_party:gson", "//third_party:guava", "//third_party:hazelcast", - "//third_party:protobuf", + "//third_party/protobuf", ], ) diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/BUILD b/src/main/java/com/google/devtools/build/lib/rules/cpp/BUILD index 446c8e363d..64a0a9ca00 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/cpp/BUILD +++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/BUILD @@ -27,7 +27,7 @@ java_library( "//src/main/protobuf:crosstool_config_java_proto", "//src/main/protobuf:extra_actions_base_java_proto", "//third_party:jsr305", - "//third_party:protobuf", + "//third_party/protobuf", ], ) diff --git a/src/main/java/com/google/devtools/build/lib/rules/genquery/BUILD b/src/main/java/com/google/devtools/build/lib/rules/genquery/BUILD index 1f43419205..b6c9ddeb2c 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/genquery/BUILD +++ b/src/main/java/com/google/devtools/build/lib/rules/genquery/BUILD @@ -23,7 +23,7 @@ java_library( "//src/main/java/com/google/devtools/build/skyframe", "//src/main/java/com/google/devtools/common/options", "//third_party:jsr305", - "//third_party:protobuf", + "//third_party/protobuf", ], ) diff --git a/src/main/java/com/google/devtools/build/lib/worker/BUILD b/src/main/java/com/google/devtools/build/lib/worker/BUILD index 675aea900d..d735b0aef6 100644 --- a/src/main/java/com/google/devtools/build/lib/worker/BUILD +++ b/src/main/java/com/google/devtools/build/lib/worker/BUILD @@ -21,7 +21,7 @@ java_library( "//third_party:apache_commons_pool2", "//third_party:guava", "//third_party:jsr305", - "//third_party:protobuf", + "//third_party/protobuf", ], ) diff --git a/src/main/protobuf/BUILD b/src/main/protobuf/BUILD index 5d275f3320..979d7543fe 100644 --- a/src/main/protobuf/BUILD +++ b/src/main/protobuf/BUILD @@ -1,6 +1,7 @@ package(default_visibility = ["//visibility:public"]) load("//tools/build_rules:genproto.bzl", "java_proto_library") +load("@bazel_tools//third_party/protobuf:protobuf.bzl", "py_proto_library") FILES = [ "build", @@ -26,6 +27,13 @@ FILES = [ src = s + ".proto", ) for s in FILES] +py_proto_library( + name = "build_pb_py", + srcs = ["build.proto"], + default_runtime = "@bazel_tools//third_party/protobuf:protobuf_python", + protoc = "@bazel_tools//third_party/protobuf:protoc", +) + filegroup( name = "srcs", srcs = glob(["**"]), diff --git a/src/objc_tools/bundlemerge/BUILD b/src/objc_tools/bundlemerge/BUILD index 68894c6d07..ce0df99d9b 100644 --- a/src/objc_tools/bundlemerge/BUILD +++ b/src/objc_tools/bundlemerge/BUILD @@ -9,7 +9,7 @@ java_binary( ":bundlemerge_lib", "//src/main/protobuf:bundlemerge_java_proto", "//src/objc_tools/plmerge:plmerge_lib", - "//third_party:protobuf", + "//third_party/protobuf", ], ) @@ -25,8 +25,8 @@ java_library( "//src/tools/xcode-common/java/com/google/devtools/build/xcode/zip", "//third_party:guava", "//third_party:jsr305", - "//third_party:protobuf", "//third_party/java/dd_plist", + "//third_party/protobuf", ], ) diff --git a/src/objc_tools/xcodegen/BUILD b/src/objc_tools/xcodegen/BUILD index 32f46ab577..581d924a61 100644 --- a/src/objc_tools/xcodegen/BUILD +++ b/src/objc_tools/xcodegen/BUILD @@ -10,8 +10,8 @@ java_binary( "//src/main/java/com/google/devtools/common/options", "//src/main/protobuf:xcodegen_java_proto", "//third_party:guava", - "//third_party:protobuf", "//third_party/java/buck-ios-support", + "//third_party/protobuf", ], ) @@ -31,9 +31,9 @@ java_library( "//src/tools/xcode-common/java/com/google/devtools/build/xcode/util", "//third_party:guava", "//third_party:jsr305", - "//third_party:protobuf", "//third_party/java/buck-ios-support", "//third_party/java/dd_plist", + "//third_party/protobuf", ], ) diff --git a/src/test/java/com/google/devtools/build/android/ideinfo/BUILD b/src/test/java/com/google/devtools/build/android/ideinfo/BUILD index c754d9ba73..4bf367e35d 100644 --- a/src/test/java/com/google/devtools/build/android/ideinfo/BUILD +++ b/src/test/java/com/google/devtools/build/android/ideinfo/BUILD @@ -9,8 +9,8 @@ java_test( "//third_party:guava", "//third_party:jsr305", "//third_party:junit4", - "//third_party:protobuf", "//third_party:truth", + "//third_party/protobuf", ], ) @@ -24,7 +24,7 @@ java_test( "//src/tools/android/java/com/google/devtools/build/android/ideinfo:package_parser_lib", "//third_party:guava", "//third_party:junit4", - "//third_party:protobuf", "//third_party:truth", + "//third_party/protobuf", ], ) diff --git a/src/test/java/com/google/devtools/build/lib/BUILD b/src/test/java/com/google/devtools/build/lib/BUILD index 287a26d027..954dbd77a7 100644 --- a/src/test/java/com/google/devtools/build/lib/BUILD +++ b/src/test/java/com/google/devtools/build/lib/BUILD @@ -546,8 +546,8 @@ java_library( "//third_party:jsr305", "//third_party:junit4", "//third_party:mockito", - "//third_party:protobuf", "//third_party:truth", + "//third_party/protobuf", ], ) @@ -583,8 +583,8 @@ java_test( "//third_party:guava-testlib", "//third_party:jsr305", "//third_party:junit4", - "//third_party:protobuf", "//third_party:truth", + "//third_party/protobuf", ], ) @@ -642,8 +642,8 @@ java_test( "//third_party:jsr305", "//third_party:junit4", "//third_party:mockito", - "//third_party:protobuf", "//third_party:truth", + "//third_party/protobuf", ], ) @@ -953,8 +953,8 @@ java_test( "//third_party:guava-testlib", "//third_party:jsr305", "//third_party:junit4", - "//third_party:protobuf", "//third_party:truth", + "//third_party/protobuf", ], ) @@ -996,8 +996,8 @@ java_test( "//third_party:jsr305", "//third_party:junit4", "//third_party:mockito", - "//third_party:protobuf", "//third_party:truth", + "//third_party/protobuf", ], ) @@ -1161,8 +1161,8 @@ java_test( "//src/main/java/com/google/devtools/build/lib/actions", "//third_party:guava", "//third_party:junit4", - "//third_party:protobuf", "//third_party:truth", + "//third_party/protobuf", ], ) diff --git a/src/test/shell/bazel/test-setup.sh b/src/test/shell/bazel/test-setup.sh index 15b1bb9645..2efe10b69b 100755 --- a/src/test/shell/bazel/test-setup.sh +++ b/src/test/shell/bazel/test-setup.sh @@ -272,10 +272,11 @@ EOF } function setup_protoc_support() { - mkdir -p third_party - [ -e third_party/protoc ] || ln -s ${protoc_compiler} third_party/protoc - [ -e third_party/protobuf-java.jar ] \ - || ln -s ${protoc_jar} third_party/protobuf-java.jar + mkdir -p third_party/protobuf + [ -e third_party/protobuf/protoc ] \ + || ln -s ${protoc_compiler} third_party/protobuf/protoc + [ -e third_party/protobuf/protobuf-java.jar ] \ + || ln -s ${protoc_jar} third_party/protobuf/protobuf-java.jar cat <<EOF > third_party/BUILD package(default_visibility = ["//visibility:public"]) diff --git a/src/tools/android/java/com/google/devtools/build/android/BUILD b/src/tools/android/java/com/google/devtools/build/android/BUILD index fda0fa7ff5..d794f265e3 100644 --- a/src/tools/android/java/com/google/devtools/build/android/BUILD +++ b/src/tools/android/java/com/google/devtools/build/android/BUILD @@ -54,7 +54,7 @@ java_library( "//third_party:asm", "//third_party:guava", "//third_party:jsr305", - "//third_party:protobuf", + "//third_party/protobuf", ], ) diff --git a/src/tools/android/java/com/google/devtools/build/android/ideinfo/BUILD b/src/tools/android/java/com/google/devtools/build/android/ideinfo/BUILD index e5230028bf..c5c27e4a36 100644 --- a/src/tools/android/java/com/google/devtools/build/android/ideinfo/BUILD +++ b/src/tools/android/java/com/google/devtools/build/android/ideinfo/BUILD @@ -33,7 +33,7 @@ java_library( "//src/tools/android/java/com/google/devtools/build/android:android_builder_lib", "//third_party:guava", "//third_party:jsr305", - "//third_party:protobuf", + "//third_party/protobuf", ], ) diff --git a/third_party/BUILD b/third_party/BUILD index 463740e67a..4d39918521 100644 --- a/third_party/BUILD +++ b/third_party/BUILD @@ -11,28 +11,15 @@ filegroup( "//third_party/java/j2objc:srcs", "//third_party/java/jarjar:srcs", "//third_party/java/jdk/langtools:srcs", + "//third_party/protobuf:srcs", "//third_party/py/concurrent:srcs", "//third_party/py/gflags:srcs", "//third_party/py/mock:srcs", + "//third_party/py/six:srcs", ], ) filegroup( - name = "protoc", - srcs = select({ - ":windows_mingw": ["protobuf/protoc-mingw.exe"], - ":windows_msys64_mingw64": ["protobuf/protoc-mingw.exe"], - ":windows_msys64": ["protobuf/protoc-mingw.exe"], - ":windows_clang": ["protobuf/protoc-mingw.exe"], - ":darwin": ["protobuf/protoc-osx-x86_32.exe"], - ":k8": ["protobuf/protoc-linux-x86_64.exe"], - ":piii": ["protobuf/protoc-linux-x86_32.exe"], - ":arm": ["protobuf/protoc-linux-arm32.exe"], - ":freebsd": ["protobuf/protoc-linux-x86_32.exe"], - }), -) - -filegroup( name = "d3-js", srcs = glob(["javascript/d3/**/*.js"]), ) @@ -365,17 +352,6 @@ java_import( ) java_import( - name = "protobuf", - jars = ["protobuf/protobuf-java-3.0.0-beta-1.jar"], -) - -# For bootstrapping JavaBuilder -filegroup( - name = "protobuf-jars", - srcs = ["protobuf/protobuf-java-3.0.0-beta-1.jar"], -) - -java_import( name = "slf4j", jars = [ "slf4j/slf4j-api-1.7.7.jar", diff --git a/third_party/protobuf/BUILD b/third_party/protobuf/BUILD new file mode 100644 index 0000000000..0e277208a2 --- /dev/null +++ b/third_party/protobuf/BUILD @@ -0,0 +1,81 @@ +package(default_visibility = ["//visibility:public"]) + +licenses(["notice"]) + +load("@bazel_tools//third_party/protobuf:protobuf.bzl", "py_proto_library") + +filegroup( + name = "srcs", + srcs = glob( + [ + "**", + "protobuf.bzl", + "python/google/protobuf/**/*.py", + "src/google/protobuf/**/*.proto", + ], + ), + visibility = ["//third_party:__pkg__"], +) + +filegroup( + name = "protoc", + srcs = select({ + "//third_party:windows_mingw": ["protoc-mingw.exe"], + "//third_party:windows_msys64_mingw64": ["protoc-mingw.exe"], + "//third_party:windows_msys64": ["protoc-mingw.exe"], + "//third_party:windows_clang": ["protoc-mingw.exe"], + "//third_party:darwin": ["protoc-osx-x86_32.exe"], + "//third_party:k8": ["protoc-linux-x86_64.exe"], + "//third_party:piii": ["protoc-linux-x86_32.exe"], + "//third_party:arm": ["protoc-linux-arm32.exe"], + "//third_party:freebsd": ["protoc-linux-x86_32.exe"], + }), +) + +java_import( + name = "protobuf", + jars = ["protobuf-java-3.0.0-beta-1.jar"], +) + +# For bootstrapping JavaBuilder +filegroup( + name = "protobuf-jars", + srcs = ["protobuf-java-3.0.0-beta-1.jar"], +) + +py_library( + name = "protobuf_python_srcs", + srcs = glob( + [ + "python/google/protobuf/*.py", + "python/google/protobuf/**/*.py", + ], + ), + imports = ["python"], +) + +py_proto_library( + name = "protobuf_python", + srcs = [ + "src/google/protobuf/any.proto", + "src/google/protobuf/api.proto", + "src/google/protobuf/compiler/plugin.proto", + "src/google/protobuf/descriptor.proto", + "src/google/protobuf/duration.proto", + "src/google/protobuf/empty.proto", + "src/google/protobuf/field_mask.proto", + "src/google/protobuf/source_context.proto", + "src/google/protobuf/struct.proto", + "src/google/protobuf/timestamp.proto", + "src/google/protobuf/type.proto", + "src/google/protobuf/wrappers.proto", + ], + include = "src", + default_runtime = "", + protoc = ":protoc", + py_libs = [ + ":python_srcs", + "//third_party/py/six", + ], + srcs_version = "PY2AND3", +) diff --git a/third_party/py/six/BUILD b/third_party/py/six/BUILD new file mode 100644 index 0000000000..39ce3a1fa8 --- /dev/null +++ b/third_party/py/six/BUILD @@ -0,0 +1,15 @@ +licenses(["notice"]) + +filegroup( + name = "srcs", + srcs = glob(["**"]), + visibility = ["//third_party:__pkg__"], +) + +py_library( + name = "six", + srcs = ["six.py"], + imports = ["."], + srcs_version = "PY2AND3", + visibility = ["//visibility:public"], +) diff --git a/tools/build_rules/genproto.bzl b/tools/build_rules/genproto.bzl index b0d8cf9e1a..62284a3b20 100644 --- a/tools/build_rules/genproto.bzl +++ b/tools/build_rules/genproto.bzl @@ -50,7 +50,7 @@ gensrcjar = rule( # TODO(bazel-team): this should be a hidden attribute with a default # value, but Skylark needs to support select first. "_proto_compiler": attr.label( - default = Label("@bazel_tools//third_party:protoc"), + default = Label("@bazel_tools//third_party/protobuf:protoc"), allow_files = True, executable = True, single_file = True, @@ -79,7 +79,7 @@ def java_proto_library(name, src): native.java_library( name=name, srcs=[name + "_srcjar"], - deps=["@bazel_tools//third_party:protobuf"], + deps=["@bazel_tools//third_party/protobuf"], # The generated code has lots of 'rawtypes' warnings. javacopts=["-Xlint:-rawtypes"], ) |