diff options
Diffstat (limited to 'BUILD')
-rw-r--r-- | BUILD | 49 |
1 files changed, 24 insertions, 25 deletions
@@ -18,6 +18,8 @@ COPTS = [ # Bazel should provide portable link_opts for pthread. LINK_OPTS = ["-lpthread"] +load("protobuf", "cc_proto_library") + cc_library( name = "protobuf_lite", srcs = [ @@ -140,6 +142,14 @@ WELL_KNOWN_PROTOS = [ "google/protobuf/wrappers.proto", ] +cc_proto_library( + name = "cc_wkt_protos", + srcs = ["src/" + s for s in WELL_KNOWN_PROTOS], + internal_bootstrap_hack = 1, + prefix = "src", + deps = ":protobuf", +) + ################################################################################ # Protocol Buffers Compiler ################################################################################ @@ -258,23 +268,22 @@ cc_binary( ################################################################################ genrule( name = "generate_java_descriptor_proto", - tools = [":protoc"], - srcs = [ "src/google/protobuf/descriptor.proto", ], - outs = [ "com/google/protobuf/DescriptorProtos.java" ], + srcs = ["src/google/protobuf/descriptor.proto"], + outs = ["com/google/protobuf/DescriptorProtos.java"], cmd = "$(location :protoc) --java_out=$(@D)/../../.. $<", + tools = [":protoc"], ) java_library( name = "java_proto", - visibility = ["//visibility:public"], srcs = glob([ - "java/src/main/java/com/google/protobuf/*.java" + "java/src/main/java/com/google/protobuf/*.java", ]) + [ - ":generate_java_descriptor_proto", - ] + ":generate_java_descriptor_proto", + ], + visibility = ["//visibility:public"], ) - ################################################################################ # Tests ################################################################################ @@ -328,22 +337,11 @@ TEST_PROTOS = [ "google/protobuf/util/json_format_proto3.proto", ] -PROTOS = LITE_TEST_PROTOS + TEST_PROTOS - -INPUTS = PROTOS + WELL_KNOWN_PROTOS - -OUTPUTS = ["src/" + x[:-5] + "pb.h" for x in PROTOS] + \ - ["src/" + x[:-5] + "pb.cc" for x in PROTOS] - -genrule( - name = "gen_test_protos", - srcs = ["src/" + x for x in INPUTS], - outs = OUTPUTS, - cmd = - "$(location :protoc) --cpp_out=$(@D)/src" + - "".join([" -I" + x + "=$(location src/" + x + ")" for x in INPUTS]) + - "".join([" $(location src/" + x + ")" for x in PROTOS]), - tools = [":protoc"], +cc_proto_library( + name = "cc_test_protos", + srcs = ["src/" + s for s in (LITE_TEST_PROTOS + TEST_PROTOS)], + prefix = "src", + proto_deps = [":cc_wkt_protos"], ) COMMON_TEST_SRCS = [ @@ -372,7 +370,7 @@ cc_binary( cc_test( name = "protobuf_test", - srcs = OUTPUTS + COMMON_TEST_SRCS + [ + srcs = COMMON_TEST_SRCS + [ # AUTOGEN(test_srcs) "src/google/protobuf/any_test.cc", "src/google/protobuf/arena_unittest.cc", @@ -449,6 +447,7 @@ cc_test( deps = [ ":protobuf", ":protoc_lib", + ":cc_test_protos", "//external:gtest_main", ], ) |