xref: /aosp_15_r20/external/protobuf/conformance/BUILD.bazel (revision 1b3f573f81763fcece89efc2b6a5209149e44ab8)
1*1b3f573fSAndroid Build Coastguard Worker# Conformance testing for Protobuf.
2*1b3f573fSAndroid Build Coastguard Worker
3*1b3f573fSAndroid Build Coastguard Workerload("@rules_cc//cc:defs.bzl", "cc_binary", "cc_library", "cc_proto_library")
4*1b3f573fSAndroid Build Coastguard Workerload(
5*1b3f573fSAndroid Build Coastguard Worker    "@rules_pkg//:mappings.bzl",
6*1b3f573fSAndroid Build Coastguard Worker    "pkg_attributes",
7*1b3f573fSAndroid Build Coastguard Worker    "pkg_filegroup",
8*1b3f573fSAndroid Build Coastguard Worker    "pkg_files",
9*1b3f573fSAndroid Build Coastguard Worker    "strip_prefix",
10*1b3f573fSAndroid Build Coastguard Worker)
11*1b3f573fSAndroid Build Coastguard Worker
12*1b3f573fSAndroid Build Coastguard Workerexports_files([
13*1b3f573fSAndroid Build Coastguard Worker    "conformance_test_runner.sh",
14*1b3f573fSAndroid Build Coastguard Worker    "failure_list_java.txt",
15*1b3f573fSAndroid Build Coastguard Worker    "failure_list_java_lite.txt",
16*1b3f573fSAndroid Build Coastguard Worker    "text_format_failure_list_java.txt",
17*1b3f573fSAndroid Build Coastguard Worker    "text_format_failure_list_java_lite.txt",
18*1b3f573fSAndroid Build Coastguard Worker])
19*1b3f573fSAndroid Build Coastguard Worker
20*1b3f573fSAndroid Build Coastguard Workercc_proto_library(
21*1b3f573fSAndroid Build Coastguard Worker    name = "test_messages_proto2_proto_cc",
22*1b3f573fSAndroid Build Coastguard Worker    deps = ["//:test_messages_proto2_proto"],
23*1b3f573fSAndroid Build Coastguard Worker)
24*1b3f573fSAndroid Build Coastguard Worker
25*1b3f573fSAndroid Build Coastguard Workercc_proto_library(
26*1b3f573fSAndroid Build Coastguard Worker    name = "test_messages_proto3_proto_cc",
27*1b3f573fSAndroid Build Coastguard Worker    deps = ["//:test_messages_proto3_proto"],
28*1b3f573fSAndroid Build Coastguard Worker)
29*1b3f573fSAndroid Build Coastguard Worker
30*1b3f573fSAndroid Build Coastguard Workerproto_library(
31*1b3f573fSAndroid Build Coastguard Worker    name = "conformance_proto",
32*1b3f573fSAndroid Build Coastguard Worker    srcs = ["conformance.proto"],
33*1b3f573fSAndroid Build Coastguard Worker    visibility = ["//visibility:public"],
34*1b3f573fSAndroid Build Coastguard Worker)
35*1b3f573fSAndroid Build Coastguard Worker
36*1b3f573fSAndroid Build Coastguard Workercc_proto_library(
37*1b3f573fSAndroid Build Coastguard Worker    name = "conformance_proto_cc",
38*1b3f573fSAndroid Build Coastguard Worker    deps = [":conformance_proto"],
39*1b3f573fSAndroid Build Coastguard Worker)
40*1b3f573fSAndroid Build Coastguard Worker
41*1b3f573fSAndroid Build Coastguard Workerjava_proto_library(
42*1b3f573fSAndroid Build Coastguard Worker    name = "conformance_java_proto",
43*1b3f573fSAndroid Build Coastguard Worker    visibility = [
44*1b3f573fSAndroid Build Coastguard Worker        "//java:__subpackages__",
45*1b3f573fSAndroid Build Coastguard Worker    ],
46*1b3f573fSAndroid Build Coastguard Worker    deps = [":conformance_proto"],
47*1b3f573fSAndroid Build Coastguard Worker)
48*1b3f573fSAndroid Build Coastguard Worker
49*1b3f573fSAndroid Build Coastguard Workerjava_lite_proto_library(
50*1b3f573fSAndroid Build Coastguard Worker    name = "conformance_java_proto_lite",
51*1b3f573fSAndroid Build Coastguard Worker    visibility = [
52*1b3f573fSAndroid Build Coastguard Worker        "//java:__subpackages__",
53*1b3f573fSAndroid Build Coastguard Worker    ],
54*1b3f573fSAndroid Build Coastguard Worker    deps = [":conformance_proto"],
55*1b3f573fSAndroid Build Coastguard Worker)
56*1b3f573fSAndroid Build Coastguard Worker
57*1b3f573fSAndroid Build Coastguard Workercc_library(
58*1b3f573fSAndroid Build Coastguard Worker    name = "jsoncpp",
59*1b3f573fSAndroid Build Coastguard Worker    srcs = ["third_party/jsoncpp/jsoncpp.cpp"],
60*1b3f573fSAndroid Build Coastguard Worker    hdrs = ["third_party/jsoncpp/json.h"],
61*1b3f573fSAndroid Build Coastguard Worker    includes = ["."],
62*1b3f573fSAndroid Build Coastguard Worker)
63*1b3f573fSAndroid Build Coastguard Worker
64*1b3f573fSAndroid Build Coastguard Workercc_library(
65*1b3f573fSAndroid Build Coastguard Worker    name = "conformance_test",
66*1b3f573fSAndroid Build Coastguard Worker    srcs = [
67*1b3f573fSAndroid Build Coastguard Worker        "conformance_test.cc",
68*1b3f573fSAndroid Build Coastguard Worker        "conformance_test_runner.cc",
69*1b3f573fSAndroid Build Coastguard Worker    ],
70*1b3f573fSAndroid Build Coastguard Worker    hdrs = [
71*1b3f573fSAndroid Build Coastguard Worker        "conformance_test.h",
72*1b3f573fSAndroid Build Coastguard Worker    ],
73*1b3f573fSAndroid Build Coastguard Worker    includes = ["."],
74*1b3f573fSAndroid Build Coastguard Worker    deps = [":conformance_proto_cc"],
75*1b3f573fSAndroid Build Coastguard Worker)
76*1b3f573fSAndroid Build Coastguard Worker
77*1b3f573fSAndroid Build Coastguard Workercc_library(
78*1b3f573fSAndroid Build Coastguard Worker    name = "binary_json_conformance_suite",
79*1b3f573fSAndroid Build Coastguard Worker    srcs = ["binary_json_conformance_suite.cc"],
80*1b3f573fSAndroid Build Coastguard Worker    hdrs = ["binary_json_conformance_suite.h"],
81*1b3f573fSAndroid Build Coastguard Worker    deps = [
82*1b3f573fSAndroid Build Coastguard Worker        ":conformance_test",
83*1b3f573fSAndroid Build Coastguard Worker        ":jsoncpp",
84*1b3f573fSAndroid Build Coastguard Worker        ":test_messages_proto2_proto_cc",
85*1b3f573fSAndroid Build Coastguard Worker        ":test_messages_proto3_proto_cc",
86*1b3f573fSAndroid Build Coastguard Worker    ],
87*1b3f573fSAndroid Build Coastguard Worker)
88*1b3f573fSAndroid Build Coastguard Worker
89*1b3f573fSAndroid Build Coastguard Workercc_library(
90*1b3f573fSAndroid Build Coastguard Worker    name = "text_format_conformance_suite",
91*1b3f573fSAndroid Build Coastguard Worker    srcs = ["text_format_conformance_suite.cc"],
92*1b3f573fSAndroid Build Coastguard Worker    hdrs = ["text_format_conformance_suite.h"],
93*1b3f573fSAndroid Build Coastguard Worker    deps = [
94*1b3f573fSAndroid Build Coastguard Worker        ":conformance_test",
95*1b3f573fSAndroid Build Coastguard Worker        ":test_messages_proto2_proto_cc",
96*1b3f573fSAndroid Build Coastguard Worker        ":test_messages_proto3_proto_cc",
97*1b3f573fSAndroid Build Coastguard Worker    ],
98*1b3f573fSAndroid Build Coastguard Worker)
99*1b3f573fSAndroid Build Coastguard Worker
100*1b3f573fSAndroid Build Coastguard Workercc_binary(
101*1b3f573fSAndroid Build Coastguard Worker    name = "conformance_test_runner",
102*1b3f573fSAndroid Build Coastguard Worker    srcs = ["conformance_test_main.cc"],
103*1b3f573fSAndroid Build Coastguard Worker    visibility = ["//visibility:public"],
104*1b3f573fSAndroid Build Coastguard Worker    deps = [
105*1b3f573fSAndroid Build Coastguard Worker        ":binary_json_conformance_suite",
106*1b3f573fSAndroid Build Coastguard Worker        ":conformance_test",
107*1b3f573fSAndroid Build Coastguard Worker        ":text_format_conformance_suite",
108*1b3f573fSAndroid Build Coastguard Worker    ],
109*1b3f573fSAndroid Build Coastguard Worker)
110*1b3f573fSAndroid Build Coastguard Worker
111*1b3f573fSAndroid Build Coastguard Workerjava_binary(
112*1b3f573fSAndroid Build Coastguard Worker    name = "conformance_java",
113*1b3f573fSAndroid Build Coastguard Worker    srcs = ["ConformanceJava.java"],
114*1b3f573fSAndroid Build Coastguard Worker    main_class = "ConformanceJava",
115*1b3f573fSAndroid Build Coastguard Worker    visibility = [
116*1b3f573fSAndroid Build Coastguard Worker        "//java:__subpackages__",
117*1b3f573fSAndroid Build Coastguard Worker    ],
118*1b3f573fSAndroid Build Coastguard Worker    deps = [
119*1b3f573fSAndroid Build Coastguard Worker        ":conformance_java_proto",
120*1b3f573fSAndroid Build Coastguard Worker        "//:protobuf_java",
121*1b3f573fSAndroid Build Coastguard Worker        "//:protobuf_java_util",
122*1b3f573fSAndroid Build Coastguard Worker        "//:test_messages_proto2_java_proto",
123*1b3f573fSAndroid Build Coastguard Worker        "//:test_messages_proto3_java_proto",
124*1b3f573fSAndroid Build Coastguard Worker    ],
125*1b3f573fSAndroid Build Coastguard Worker)
126*1b3f573fSAndroid Build Coastguard Worker
127*1b3f573fSAndroid Build Coastguard Workerjava_binary(
128*1b3f573fSAndroid Build Coastguard Worker    name = "conformance_java_lite",
129*1b3f573fSAndroid Build Coastguard Worker    srcs = ["ConformanceJavaLite.java"],
130*1b3f573fSAndroid Build Coastguard Worker    main_class = "ConformanceJavaLite",
131*1b3f573fSAndroid Build Coastguard Worker    visibility = [
132*1b3f573fSAndroid Build Coastguard Worker        "//java:__subpackages__",
133*1b3f573fSAndroid Build Coastguard Worker    ],
134*1b3f573fSAndroid Build Coastguard Worker    deps = [
135*1b3f573fSAndroid Build Coastguard Worker        ":conformance_java_proto_lite",
136*1b3f573fSAndroid Build Coastguard Worker        "//:protobuf_java_util",
137*1b3f573fSAndroid Build Coastguard Worker        "//:protobuf_javalite",
138*1b3f573fSAndroid Build Coastguard Worker        "//:test_messages_proto2_java_proto_lite",
139*1b3f573fSAndroid Build Coastguard Worker        "//:test_messages_proto3_java_proto_lite",
140*1b3f573fSAndroid Build Coastguard Worker    ],
141*1b3f573fSAndroid Build Coastguard Worker)
142*1b3f573fSAndroid Build Coastguard Worker
143*1b3f573fSAndroid Build Coastguard Workerfilegroup(
144*1b3f573fSAndroid Build Coastguard Worker    name = "all_files",
145*1b3f573fSAndroid Build Coastguard Worker    srcs = glob(["**/*"]),
146*1b3f573fSAndroid Build Coastguard Worker    visibility = ["//:__pkg__"],
147*1b3f573fSAndroid Build Coastguard Worker)
148*1b3f573fSAndroid Build Coastguard Worker
149*1b3f573fSAndroid Build Coastguard Workerpkg_files(
150*1b3f573fSAndroid Build Coastguard Worker    name = "dist_files",
151*1b3f573fSAndroid Build Coastguard Worker    srcs = glob(
152*1b3f573fSAndroid Build Coastguard Worker        ["**/*"],
153*1b3f573fSAndroid Build Coastguard Worker        exclude = [
154*1b3f573fSAndroid Build Coastguard Worker            # Handled by dist_scripts:
155*1b3f573fSAndroid Build Coastguard Worker            "conformance_test_runner.sh",
156*1b3f573fSAndroid Build Coastguard Worker
157*1b3f573fSAndroid Build Coastguard Worker            # The following are not in autotools dist:
158*1b3f573fSAndroid Build Coastguard Worker            "autoload.php",
159*1b3f573fSAndroid Build Coastguard Worker            "conformance_nodejs.js",
160*1b3f573fSAndroid Build Coastguard Worker            "failure_list_jruby.txt",
161*1b3f573fSAndroid Build Coastguard Worker            "update_failure_list.py",
162*1b3f573fSAndroid Build Coastguard Worker        ],
163*1b3f573fSAndroid Build Coastguard Worker    ),
164*1b3f573fSAndroid Build Coastguard Worker    strip_prefix = strip_prefix.from_root(""),
165*1b3f573fSAndroid Build Coastguard Worker    visibility = ["//pkg:__pkg__"],
166*1b3f573fSAndroid Build Coastguard Worker)
167*1b3f573fSAndroid Build Coastguard Worker
168*1b3f573fSAndroid Build Coastguard Workerpkg_files(
169*1b3f573fSAndroid Build Coastguard Worker    name = "dist_scripts",
170*1b3f573fSAndroid Build Coastguard Worker    srcs = ["conformance_test_runner.sh"],
171*1b3f573fSAndroid Build Coastguard Worker    attributes = pkg_attributes(mode = "0555"),
172*1b3f573fSAndroid Build Coastguard Worker    strip_prefix = strip_prefix.from_root(""),
173*1b3f573fSAndroid Build Coastguard Worker    visibility = ["//pkg:__pkg__"],
174*1b3f573fSAndroid Build Coastguard Worker)
175*1b3f573fSAndroid Build Coastguard Worker
176*1b3f573fSAndroid Build Coastguard Workerpkg_filegroup(
177*1b3f573fSAndroid Build Coastguard Worker    name = "all_dist_files",
178*1b3f573fSAndroid Build Coastguard Worker    srcs = [
179*1b3f573fSAndroid Build Coastguard Worker        ":dist_files",
180*1b3f573fSAndroid Build Coastguard Worker        ":dist_scripts",
181*1b3f573fSAndroid Build Coastguard Worker    ],
182*1b3f573fSAndroid Build Coastguard Worker    visibility = ["//pkg:__pkg__"],
183*1b3f573fSAndroid Build Coastguard Worker)
184