From 285112c9b61ca3782e00ccf6411339da7291a3c3 Mon Sep 17 00:00:00 2001 From: Lukacs Berki Date: Mon, 11 Apr 2016 10:34:45 +0000 Subject: Remove te protocol compiler rules from @bazel_tools. The immmediate reason for this change is that we also need to add gRPC support to the proto rules, and we don't want to also support gRPC in a half-baked way. This makes the Bazel binary much smaller and avoid giving false signals that we (for now) support protobuf compilation. The protobuf rules are only for compiling Bazel itself. RELNOTES[INC]: Bazel does not embed protocol buffer-related rules anymore. -- MOS_MIGRATED_REVID=119516246 --- examples/BUILD | 1 - examples/proto/BUILD | 22 ---------------------- examples/proto/test.proto | 10 ---------- src/BUILD | 2 +- src/main/protobuf/BUILD | 6 +++--- src/test/shell/bazel/bazel_example_test.sh | 8 -------- src/test/shell/bazel/test-setup.sh | 17 ----------------- third_party/BUILD | 18 ++++++++++++++++++ third_party/protobuf/BUILD | 2 +- tools/BUILD | 2 +- tools/build_rules/BUILD | 6 ++++++ tools/build_rules/genproto.bzl | 6 +++--- 12 files changed, 33 insertions(+), 67 deletions(-) delete mode 100644 examples/proto/BUILD delete mode 100644 examples/proto/test.proto diff --git a/examples/BUILD b/examples/BUILD index 9d25b8fc73..8bfbc19524 100644 --- a/examples/BUILD +++ b/examples/BUILD @@ -8,7 +8,6 @@ filegroup( "//examples/java-native:srcs", "//examples/java-skylark:srcs", "//examples/objc:srcs", - "//examples/proto:srcs", "//examples/py:srcs", "//examples/py_native:srcs", "//examples/shell:srcs", diff --git a/examples/proto/BUILD b/examples/proto/BUILD deleted file mode 100644 index 0d3108176e..0000000000 --- a/examples/proto/BUILD +++ /dev/null @@ -1,22 +0,0 @@ -package(default_visibility = ["//visibility:public"]) - -load("//tools/build_rules:genproto.bzl", "java_proto_library") - -proto_library( - name = "proto_smoke_test", - srcs = ["test.proto"], -) - -# java_proto_library is a quick and dirty rule to help Bazel compile itself. -java_proto_library( - name = "test_proto", - src = "test.proto", -) - -filegroup( - name = "srcs", - srcs = [ - "BUILD", - "test.proto", - ], -) diff --git a/examples/proto/test.proto b/examples/proto/test.proto deleted file mode 100644 index 16a6dc335a..0000000000 --- a/examples/proto/test.proto +++ /dev/null @@ -1,10 +0,0 @@ -syntax = "proto2"; - -package test; - -option java_package = "com.google.test"; - -message KeyVal { - optional string key = 1; - optional string val = 2; -} diff --git a/src/BUILD b/src/BUILD index 39c815582e..7ff67d458f 100644 --- a/src/BUILD +++ b/src/BUILD @@ -92,7 +92,7 @@ genrule( srcs = [ ":create_embedded_tools.sh", "//tools:embedded_tools_srcs", - "//third_party:srcs", + "//third_party:embedded_tools_srcs", "//src/java_tools/buildjar/java/com/google/devtools/build/buildjar/jarhelper:srcs", "//src/tools/android/java/com/google/devtools/build/android:embedded_tools", "//src/tools/android/java/com/google/devtools/build/android/ideinfo:embedded_tools", diff --git a/src/main/protobuf/BUILD b/src/main/protobuf/BUILD index 979d7543fe..a569b339fb 100644 --- a/src/main/protobuf/BUILD +++ b/src/main/protobuf/BUILD @@ -1,7 +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") +load("//third_party/protobuf:protobuf.bzl", "py_proto_library") FILES = [ "build", @@ -30,8 +30,8 @@ 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", + default_runtime = "//third_party/protobuf:protobuf_python", + protoc = "//third_party/protobuf:protoc", ) filegroup( diff --git a/src/test/shell/bazel/bazel_example_test.sh b/src/test/shell/bazel/bazel_example_test.sh index 9908ebc6c9..b9d2aef276 100755 --- a/src/test/shell/bazel/bazel_example_test.sh +++ b/src/test/shell/bazel/bazel_example_test.sh @@ -168,12 +168,4 @@ function test_java_test_skylark() { assert_test_fails //${javatests}:fail } -function test_protobuf() { - setup_protoc_support - local jar=bazel-bin/examples/proto/libtest_proto.jar - assert_build_output $jar //examples/proto:test_proto - unzip -v $jar | grep -q 'KeyVal\.class' \ - || fail "Did not find KeyVal class in proto jar." -} - run_suite "examples" diff --git a/src/test/shell/bazel/test-setup.sh b/src/test/shell/bazel/test-setup.sh index 2efe10b69b..8ed875b2cf 100755 --- a/src/test/shell/bazel/test-setup.sh +++ b/src/test/shell/bazel/test-setup.sh @@ -271,23 +271,6 @@ android_sdk_repository( EOF } -function setup_protoc_support() { - 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 < third_party/BUILD -package(default_visibility = ["//visibility:public"]) -exports_files(["protoc"]) -java_import( - name = "protobuf", - jars = ["protobuf-java.jar"]) - -EOF -} - function setup_javatest_common() { # TODO(bazel-team): we should use remote repositories. mkdir -p third_party diff --git a/third_party/BUILD b/third_party/BUILD index 5c6b80abdd..e0d331441d 100644 --- a/third_party/BUILD +++ b/third_party/BUILD @@ -19,6 +19,24 @@ filegroup( ], ) +filegroup( + name = "embedded_tools_srcs", + srcs = glob(["**"]) + [ + "//third_party/ijar:srcs", + "//third_party/iossim:srcs", + "//third_party/java/apkbuilder:srcs", + "//third_party/java/buck-ios-support:srcs", + "//third_party/java/dd_plist:srcs", + "//third_party/java/j2objc:srcs", + "//third_party/java/jarjar:srcs", + "//third_party/java/jdk/langtools:srcs", + "//third_party/py/concurrent:srcs", + "//third_party/py/gflags:srcs", + "//third_party/py/mock:srcs", + "//third_party/py/six:srcs", + ], +) + filegroup( name = "d3-js", srcs = glob(["javascript/d3/**/*.js"]), diff --git a/third_party/protobuf/BUILD b/third_party/protobuf/BUILD index f9539e1e44..44b190398f 100644 --- a/third_party/protobuf/BUILD +++ b/third_party/protobuf/BUILD @@ -2,7 +2,7 @@ package(default_visibility = ["//visibility:public"]) licenses(["notice"]) -load("@bazel_tools//third_party/protobuf:protobuf.bzl", "py_proto_library") +load("//third_party/protobuf:protobuf.bzl", "py_proto_library") filegroup( name = "srcs", diff --git a/tools/BUILD b/tools/BUILD index fa60b669d4..302e3b7766 100644 --- a/tools/BUILD +++ b/tools/BUILD @@ -39,7 +39,7 @@ filegroup( "//tools/build_defs/pkg:srcs", "//tools/build_rules/closure:srcs", "//tools/build_rules/rust:srcs", - "//tools/build_rules:srcs", + "//tools/build_rules:embedded_tools_srcs", "//tools/buildstamp:srcs", "//tools/cpp:srcs", "//tools/genrule:srcs", diff --git a/tools/build_rules/BUILD b/tools/build_rules/BUILD index a00791e4eb..fdc38c7544 100644 --- a/tools/build_rules/BUILD +++ b/tools/build_rules/BUILD @@ -11,3 +11,9 @@ filegroup( srcs = glob(["**"]), visibility = ["//tools:__pkg__"], ) + +filegroup( + name = "embedded_tools_srcs", + srcs = ["test_rules.bzl"], + visibility = ["//visibility:public"], +) diff --git a/tools/build_rules/genproto.bzl b/tools/build_rules/genproto.bzl index 62284a3b20..3acec8d743 100644 --- a/tools/build_rules/genproto.bzl +++ b/tools/build_rules/genproto.bzl @@ -44,13 +44,13 @@ gensrcjar = rule( single_file = True, ), "_gensrcjar": attr.label( - default = Label("@bazel_tools//tools/build_rules:gensrcjar"), + default = Label("//tools/build_rules:gensrcjar"), executable = True, ), # 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/protobuf:protoc"), + default = Label("//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=["//third_party/protobuf"], # The generated code has lots of 'rawtypes' warnings. javacopts=["-Xlint:-rawtypes"], ) -- cgit v1.2.3