1
1
# Bazel (https://bazel.build/) BUILD file for Protobuf.
2
2
3
+ load ("@rules_cc//cc:defs.bzl" , "cc_binary" , "cc_library" , "cc_test" , "objc_library" )
4
+ load ("@rules_java//java:defs.bzl" , "java_library" )
5
+ load ("@rules_proto//proto:defs.bzl" , "proto_lang_toolchain" , "proto_library" )
6
+
3
7
licenses (["notice" ])
4
8
5
9
exports_files (["LICENSE" ])
@@ -19,7 +23,7 @@ config_setting(
19
23
# ZLIB configuration
20
24
################################################################################
21
25
22
- ZLIB_DEPS = ["//external :zlib" ]
26
+ ZLIB_DEPS = ["@zlib// :zlib" ]
23
27
24
28
################################################################################
25
29
# Protobuf Runtime Library
@@ -49,7 +53,6 @@ COPTS = select({
49
53
"//conditions:default" : [
50
54
"-DHAVE_PTHREAD" ,
51
55
"-DHAVE_ZLIB" ,
52
- "-Wall" ,
53
56
"-Woverloaded-virtual" ,
54
57
"-Wno-sign-compare" ,
55
58
"-Wno-unused-function" ,
@@ -69,9 +72,25 @@ config_setting(
69
72
},
70
73
)
71
74
75
+ config_setting (
76
+ name = "android-libcpp" ,
77
+ values = {
78
+ "crosstool_top" : "@androidndk//:toolchain-libcpp" ,
79
+ },
80
+ )
81
+
82
+ config_setting (
83
+ name = "android-gnu-libstdcpp" ,
84
+ values = {
85
+ "crosstool_top" : "@androidndk//:toolchain-gnu-libstdcpp" ,
86
+ },
87
+ )
88
+
72
89
# Android and MSVC builds do not need to link in a separate pthread library.
73
90
LINK_OPTS = select ({
74
91
":android" : [],
92
+ ":android-libcpp" : [],
93
+ ":android-gnu-libstdcpp" : [],
75
94
":msvc" : [
76
95
# Suppress linker warnings about files with no symbols defined.
77
96
"-ignore:4221" ,
@@ -92,20 +111,25 @@ cc_library(
92
111
name = "protobuf_lite" ,
93
112
srcs = [
94
113
# AUTOGEN(protobuf_lite_srcs)
114
+ "src/google/protobuf/any_lite.cc" ,
95
115
"src/google/protobuf/arena.cc" ,
96
116
"src/google/protobuf/extension_set.cc" ,
117
+ "src/google/protobuf/generated_enum_util.cc" ,
97
118
"src/google/protobuf/generated_message_table_driven_lite.cc" ,
98
119
"src/google/protobuf/generated_message_util.cc" ,
99
120
"src/google/protobuf/implicit_weak_message.cc" ,
100
121
"src/google/protobuf/io/coded_stream.cc" ,
122
+ "src/google/protobuf/io/io_win32.cc" ,
123
+ "src/google/protobuf/io/strtod.cc" ,
101
124
"src/google/protobuf/io/zero_copy_stream.cc" ,
125
+ "src/google/protobuf/io/zero_copy_stream_impl.cc" ,
102
126
"src/google/protobuf/io/zero_copy_stream_impl_lite.cc" ,
103
127
"src/google/protobuf/message_lite.cc" ,
128
+ "src/google/protobuf/parse_context.cc" ,
104
129
"src/google/protobuf/repeated_field.cc" ,
105
130
"src/google/protobuf/stubs/bytestream.cc" ,
106
131
"src/google/protobuf/stubs/common.cc" ,
107
132
"src/google/protobuf/stubs/int128.cc" ,
108
- "src/google/protobuf/stubs/io_win32.cc" ,
109
133
"src/google/protobuf/stubs/status.cc" ,
110
134
"src/google/protobuf/stubs/statusor.cc" ,
111
135
"src/google/protobuf/stubs/stringpiece.cc" ,
@@ -148,9 +172,7 @@ cc_library(
148
172
"src/google/protobuf/generated_message_table_driven.cc" ,
149
173
"src/google/protobuf/io/gzip_stream.cc" ,
150
174
"src/google/protobuf/io/printer.cc" ,
151
- "src/google/protobuf/io/strtod.cc" ,
152
175
"src/google/protobuf/io/tokenizer.cc" ,
153
- "src/google/protobuf/io/zero_copy_stream_impl.cc" ,
154
176
"src/google/protobuf/map_field.cc" ,
155
177
"src/google/protobuf/message.cc" ,
156
178
"src/google/protobuf/reflection_ops.cc" ,
@@ -201,7 +223,7 @@ cc_library(
201
223
# TODO(keveman): Remove this target once the support gets added to Bazel.
202
224
cc_library (
203
225
name = "protobuf_headers" ,
204
- hdrs = glob (["src/**/*.h" ]),
226
+ hdrs = glob (["src/**/*.h" , "src/**/*.inc" ]),
205
227
includes = ["src/" ],
206
228
visibility = ["//visibility:public" ],
207
229
)
@@ -496,7 +518,7 @@ cc_binary(
496
518
497
519
cc_test (
498
520
name = "win32_test" ,
499
- srcs = ["src/google/protobuf/stubs /io_win32_unittest.cc" ],
521
+ srcs = ["src/google/protobuf/io /io_win32_unittest.cc" ],
500
522
deps = [
501
523
":protobuf_lite" ,
502
524
"//external:gtest_main" ,
@@ -535,6 +557,7 @@ cc_test(
535
557
"src/google/protobuf/extension_set_unittest.cc" ,
536
558
"src/google/protobuf/generated_message_reflection_unittest.cc" ,
537
559
"src/google/protobuf/io/coded_stream_unittest.cc" ,
560
+ "src/google/protobuf/io/io_win32_unittest.cc" ,
538
561
"src/google/protobuf/io/printer_unittest.cc" ,
539
562
"src/google/protobuf/io/tokenizer_unittest.cc" ,
540
563
"src/google/protobuf/io/zero_copy_stream_unittest.cc" ,
@@ -554,7 +577,6 @@ cc_test(
554
577
"src/google/protobuf/stubs/bytestream_unittest.cc" ,
555
578
"src/google/protobuf/stubs/common_unittest.cc" ,
556
579
"src/google/protobuf/stubs/int128_unittest.cc" ,
557
- "src/google/protobuf/stubs/io_win32_unittest.cc" ,
558
580
"src/google/protobuf/stubs/status_test.cc" ,
559
581
"src/google/protobuf/stubs/statusor_test.cc" ,
560
582
"src/google/protobuf/stubs/stringpiece_unittest.cc" ,
@@ -629,6 +651,107 @@ java_library(
629
651
visibility = ["//visibility:public" ],
630
652
)
631
653
654
+ java_library (
655
+ name = "protobuf_javalite" ,
656
+ srcs = [
657
+ # Keep in sync with java/lite/pom.xml
658
+ "java/core/src/main/java/com/google/protobuf/AbstractMessageLite.java" ,
659
+ "java/core/src/main/java/com/google/protobuf/AbstractParser.java" ,
660
+ "java/core/src/main/java/com/google/protobuf/AbstractProtobufList.java" ,
661
+ "java/core/src/main/java/com/google/protobuf/AllocatedBuffer.java" ,
662
+ "java/core/src/main/java/com/google/protobuf/Android.java" ,
663
+ "java/core/src/main/java/com/google/protobuf/ArrayDecoders.java" ,
664
+ "java/core/src/main/java/com/google/protobuf/BinaryReader.java" ,
665
+ "java/core/src/main/java/com/google/protobuf/BinaryWriter.java" ,
666
+ "java/core/src/main/java/com/google/protobuf/BooleanArrayList.java" ,
667
+ "java/core/src/main/java/com/google/protobuf/BufferAllocator.java" ,
668
+ "java/core/src/main/java/com/google/protobuf/ByteBufferWriter.java" ,
669
+ "java/core/src/main/java/com/google/protobuf/ByteOutput.java" ,
670
+ "java/core/src/main/java/com/google/protobuf/ByteString.java" ,
671
+ "java/core/src/main/java/com/google/protobuf/CodedInputStream.java" ,
672
+ "java/core/src/main/java/com/google/protobuf/CodedInputStreamReader.java" ,
673
+ "java/core/src/main/java/com/google/protobuf/CodedOutputStream.java" ,
674
+ "java/core/src/main/java/com/google/protobuf/CodedOutputStreamWriter.java" ,
675
+ "java/core/src/main/java/com/google/protobuf/DoubleArrayList.java" ,
676
+ "java/core/src/main/java/com/google/protobuf/ExperimentalApi.java" ,
677
+ "java/core/src/main/java/com/google/protobuf/ExtensionLite.java" ,
678
+ "java/core/src/main/java/com/google/protobuf/ExtensionRegistryFactory.java" ,
679
+ "java/core/src/main/java/com/google/protobuf/ExtensionRegistryLite.java" ,
680
+ "java/core/src/main/java/com/google/protobuf/ExtensionSchema.java" ,
681
+ "java/core/src/main/java/com/google/protobuf/ExtensionSchemaLite.java" ,
682
+ "java/core/src/main/java/com/google/protobuf/ExtensionSchemas.java" ,
683
+ "java/core/src/main/java/com/google/protobuf/FieldInfo.java" ,
684
+ "java/core/src/main/java/com/google/protobuf/FieldSet.java" ,
685
+ "java/core/src/main/java/com/google/protobuf/FieldType.java" ,
686
+ "java/core/src/main/java/com/google/protobuf/FloatArrayList.java" ,
687
+ "java/core/src/main/java/com/google/protobuf/GeneratedMessageInfoFactory.java" ,
688
+ "java/core/src/main/java/com/google/protobuf/GeneratedMessageLite.java" ,
689
+ "java/core/src/main/java/com/google/protobuf/IntArrayList.java" ,
690
+ "java/core/src/main/java/com/google/protobuf/Internal.java" ,
691
+ "java/core/src/main/java/com/google/protobuf/InvalidProtocolBufferException.java" ,
692
+ "java/core/src/main/java/com/google/protobuf/IterableByteBufferInputStream.java" ,
693
+ "java/core/src/main/java/com/google/protobuf/JavaType.java" ,
694
+ "java/core/src/main/java/com/google/protobuf/LazyField.java" ,
695
+ "java/core/src/main/java/com/google/protobuf/LazyFieldLite.java" ,
696
+ "java/core/src/main/java/com/google/protobuf/LazyStringArrayList.java" ,
697
+ "java/core/src/main/java/com/google/protobuf/LazyStringList.java" ,
698
+ "java/core/src/main/java/com/google/protobuf/ListFieldSchema.java" ,
699
+ "java/core/src/main/java/com/google/protobuf/LongArrayList.java" ,
700
+ "java/core/src/main/java/com/google/protobuf/ManifestSchemaFactory.java" ,
701
+ "java/core/src/main/java/com/google/protobuf/MapEntryLite.java" ,
702
+ "java/core/src/main/java/com/google/protobuf/MapFieldLite.java" ,
703
+ "java/core/src/main/java/com/google/protobuf/MapFieldSchema.java" ,
704
+ "java/core/src/main/java/com/google/protobuf/MapFieldSchemaLite.java" ,
705
+ "java/core/src/main/java/com/google/protobuf/MapFieldSchemas.java" ,
706
+ "java/core/src/main/java/com/google/protobuf/MessageInfo.java" ,
707
+ "java/core/src/main/java/com/google/protobuf/MessageInfoFactory.java" ,
708
+ "java/core/src/main/java/com/google/protobuf/MessageLite.java" ,
709
+ "java/core/src/main/java/com/google/protobuf/MessageLiteOrBuilder.java" ,
710
+ "java/core/src/main/java/com/google/protobuf/MessageLiteToString.java" ,
711
+ "java/core/src/main/java/com/google/protobuf/MessageSchema.java" ,
712
+ "java/core/src/main/java/com/google/protobuf/MessageSetSchema.java" ,
713
+ "java/core/src/main/java/com/google/protobuf/MutabilityOracle.java" ,
714
+ "java/core/src/main/java/com/google/protobuf/NewInstanceSchema.java" ,
715
+ "java/core/src/main/java/com/google/protobuf/NewInstanceSchemaLite.java" ,
716
+ "java/core/src/main/java/com/google/protobuf/NewInstanceSchemas.java" ,
717
+ "java/core/src/main/java/com/google/protobuf/NioByteString.java" ,
718
+ "java/core/src/main/java/com/google/protobuf/OneofInfo.java" ,
719
+ "java/core/src/main/java/com/google/protobuf/Parser.java" ,
720
+ "java/core/src/main/java/com/google/protobuf/PrimitiveNonBoxingCollection.java" ,
721
+ "java/core/src/main/java/com/google/protobuf/ProtoSyntax.java" ,
722
+ "java/core/src/main/java/com/google/protobuf/Protobuf.java" ,
723
+ "java/core/src/main/java/com/google/protobuf/ProtobufArrayList.java" ,
724
+ "java/core/src/main/java/com/google/protobuf/ProtobufLists.java" ,
725
+ "java/core/src/main/java/com/google/protobuf/ProtocolStringList.java" ,
726
+ "java/core/src/main/java/com/google/protobuf/RawMessageInfo.java" ,
727
+ "java/core/src/main/java/com/google/protobuf/Reader.java" ,
728
+ "java/core/src/main/java/com/google/protobuf/RopeByteString.java" ,
729
+ "java/core/src/main/java/com/google/protobuf/Schema.java" ,
730
+ "java/core/src/main/java/com/google/protobuf/SchemaFactory.java" ,
731
+ "java/core/src/main/java/com/google/protobuf/SchemaUtil.java" ,
732
+ "java/core/src/main/java/com/google/protobuf/SmallSortedMap.java" ,
733
+ "java/core/src/main/java/com/google/protobuf/StructuralMessageInfo.java" ,
734
+ "java/core/src/main/java/com/google/protobuf/TextFormatEscaper.java" ,
735
+ "java/core/src/main/java/com/google/protobuf/UninitializedMessageException.java" ,
736
+ "java/core/src/main/java/com/google/protobuf/UnknownFieldSchema.java" ,
737
+ "java/core/src/main/java/com/google/protobuf/UnknownFieldSetLite.java" ,
738
+ "java/core/src/main/java/com/google/protobuf/UnknownFieldSetLiteSchema.java" ,
739
+ "java/core/src/main/java/com/google/protobuf/UnmodifiableLazyStringList.java" ,
740
+ "java/core/src/main/java/com/google/protobuf/UnsafeUtil.java" ,
741
+ "java/core/src/main/java/com/google/protobuf/Utf8.java" ,
742
+ "java/core/src/main/java/com/google/protobuf/WireFormat.java" ,
743
+ "java/core/src/main/java/com/google/protobuf/Writer.java" ,
744
+ ],
745
+ javacopts = select ({
746
+ "//:jdk9" : ["--add-modules=jdk.unsupported" ],
747
+ "//conditions:default" : [
748
+ "-source 7" ,
749
+ "-target 7" ,
750
+ ],
751
+ }),
752
+ visibility = ["//visibility:public" ],
753
+ )
754
+
632
755
java_library (
633
756
name = "protobuf_java_util" ,
634
757
srcs = glob ([
@@ -981,3 +1104,105 @@ py_proto_library(
981
1104
default_runtime = "" ,
982
1105
protoc = ":protoc" ,
983
1106
)
1107
+
1108
+ ################################################################################
1109
+ # Conformance tests
1110
+ ################################################################################
1111
+
1112
+ proto_library (
1113
+ name = "test_messages_proto2_proto" ,
1114
+ srcs = ["src/google/protobuf/test_messages_proto2.proto" ],
1115
+ visibility = ["//visibility:public" ],
1116
+ )
1117
+
1118
+ proto_library (
1119
+ name = "test_messages_proto3_proto" ,
1120
+ srcs = ["src/google/protobuf/test_messages_proto3.proto" ],
1121
+ deps = [
1122
+ ":any_proto" ,
1123
+ ":duration_proto" ,
1124
+ ":field_mask_proto" ,
1125
+ ":struct_proto" ,
1126
+ ":timestamp_proto" ,
1127
+ ":wrappers_proto" ,
1128
+ ],
1129
+ visibility = ["//visibility:public" ],
1130
+ )
1131
+
1132
+ cc_proto_library (
1133
+ name = "test_messages_proto2_proto_cc" ,
1134
+ srcs = ["src/google/protobuf/test_messages_proto2.proto" ],
1135
+ )
1136
+
1137
+ cc_proto_library (
1138
+ name = "test_messages_proto3_proto_cc" ,
1139
+ srcs = ["src/google/protobuf/test_messages_proto3.proto" ],
1140
+ deps = [
1141
+ ":cc_wkt_protos" ,
1142
+ ],
1143
+ )
1144
+
1145
+ proto_library (
1146
+ name = "conformance_proto" ,
1147
+ srcs = ["conformance/conformance.proto" ],
1148
+ visibility = ["//visibility:public" ],
1149
+ )
1150
+
1151
+ cc_proto_library (
1152
+ name = "conformance_proto_cc" ,
1153
+ srcs = ["conformance/conformance.proto" ],
1154
+ )
1155
+
1156
+ cc_library (
1157
+ name = "jsoncpp" ,
1158
+ hdrs = ["conformance/third_party/jsoncpp/json.h" ],
1159
+ srcs = ["conformance/third_party/jsoncpp/jsoncpp.cpp" ],
1160
+ includes = ["conformance" ],
1161
+ )
1162
+
1163
+ cc_library (
1164
+ name = "conformance_test" ,
1165
+ srcs = [
1166
+ "conformance/conformance_test.cc" ,
1167
+ "conformance/conformance_test_runner.cc" ,
1168
+ ],
1169
+ hdrs = [
1170
+ "conformance/conformance_test.h" ,
1171
+ ],
1172
+ deps = [":conformance_proto_cc" ],
1173
+ includes = ["conformance" , "src" ],
1174
+ )
1175
+
1176
+ cc_library (
1177
+ name = "binary_json_conformance_suite" ,
1178
+ srcs = ["conformance/binary_json_conformance_suite.cc" ],
1179
+ hdrs = ["conformance/binary_json_conformance_suite.h" ],
1180
+ deps = [
1181
+ ":conformance_test" ,
1182
+ ":jsoncpp" ,
1183
+ ":test_messages_proto2_proto_cc" ,
1184
+ ":test_messages_proto3_proto_cc" ,
1185
+ ],
1186
+ )
1187
+
1188
+ cc_library (
1189
+ name = "text_format_conformance_suite" ,
1190
+ srcs = ["conformance/text_format_conformance_suite.cc" ],
1191
+ hdrs = ["conformance/text_format_conformance_suite.h" ],
1192
+ deps = [
1193
+ ":conformance_test" ,
1194
+ ":test_messages_proto2_proto_cc" ,
1195
+ ":test_messages_proto3_proto_cc" ,
1196
+ ],
1197
+ )
1198
+
1199
+ cc_binary (
1200
+ name = "conformance_test_runner" ,
1201
+ srcs = ["conformance/conformance_test_main.cc" ],
1202
+ deps = [
1203
+ ":binary_json_conformance_suite" ,
1204
+ ":conformance_test" ,
1205
+ ":text_format_conformance_suite" ,
1206
+ ],
1207
+ visibility = ["//visibility:public" ],
1208
+ )
0 commit comments