Skip to content

Commit e750718

Browse files
authored
bazel: update gapic.bzl to work with REST transport (#14895)
1 parent e2ed1e6 commit e750718

File tree

3 files changed

+24
-126
lines changed

3 files changed

+24
-126
lines changed

bazel/gapic.bzl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515
"""A definition for the typical C++ GAPIC library."""
1616

17-
def cc_gapic_library(name, service_dirs = [], googleapis_deps = []):
17+
def cc_gapic_library(name, service_dirs = [], googleapis_deps = [], additional_deps = []):
1818
"""Defines targets for the typical fully generated GAPIC library
1919
2020
Args:
@@ -63,7 +63,7 @@ def cc_gapic_library(name, service_dirs = [], googleapis_deps = []):
6363
srcs = [":srcs"],
6464
hdrs = [":hdrs"],
6565
visibility = ["//:__pkg__"],
66-
deps = ["//:common", "//:grpc_utils"] + googleapis_deps,
66+
deps = ["//:common", "//:grpc_utils"] + googleapis_deps + additional_deps,
6767
)
6868

6969
native.cc_library(

google/cloud/bigquerycontrol/BUILD.bazel

Lines changed: 11 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15+
load("//bazel:gapic.bzl", "cc_gapic_library")
16+
1517
package(default_visibility = ["//visibility:private"])
1618

1719
licenses(["notice"]) # Apache 2.0
@@ -20,71 +22,18 @@ service_dirs = [
2022
"v2/",
2123
]
2224

23-
code_glob = [d + i + f for d in service_dirs for i in [
24-
"",
25-
"internal/",
26-
] for f in [
27-
"*.h",
28-
"*.cc",
29-
]]
30-
31-
sources_glob = [d + "internal/*_sources.cc" for d in service_dirs]
32-
33-
filegroup(
34-
name = "srcs",
35-
srcs = glob(sources_glob),
36-
)
37-
38-
filegroup(
39-
name = "hdrs",
40-
srcs = glob(
41-
include = code_glob,
42-
exclude = sources_glob,
43-
),
44-
)
45-
46-
filegroup(
47-
name = "public_hdrs",
48-
srcs = glob([d + "*.h" for d in service_dirs]),
49-
visibility = ["//:__pkg__"],
50-
)
25+
src_dirs = service_dirs + [d + "internal/" for d in service_dirs]
5126

52-
filegroup(
53-
name = "mocks",
54-
srcs = glob([d + "mocks/*.h" for d in service_dirs]),
55-
visibility = ["//:__pkg__"],
56-
)
27+
googleapis_deps = [
28+
"@com_google_googleapis//google/cloud/bigquery/v2:bigquery_cc_proto",
29+
]
5730

58-
cc_library(
59-
name = "google_cloud_cpp_bigquerycontrol",
60-
srcs = [":srcs"],
61-
hdrs = [":hdrs"],
62-
visibility = ["//:__pkg__"],
63-
deps = [
64-
"//:common",
65-
"//:grpc_utils",
31+
cc_gapic_library(
32+
name = "bigquerycontrol",
33+
additional_deps = [
6634
"//google/cloud:google_cloud_cpp_rest_internal",
6735
"//google/cloud:google_cloud_cpp_rest_protobuf_internal",
68-
"@com_google_googleapis//google/cloud/bigquery/v2:bigquery_cc_proto",
6936
],
37+
googleapis_deps = googleapis_deps,
38+
service_dirs = service_dirs,
7039
)
71-
72-
cc_library(
73-
name = "google_cloud_cpp_bigquerycontrol_mocks",
74-
hdrs = [":mocks"],
75-
visibility = ["//:__pkg__"],
76-
deps = [
77-
":google_cloud_cpp_bigquerycontrol",
78-
"@com_google_googletest//:gtest",
79-
],
80-
)
81-
82-
[cc_test(
83-
name = sample.replace("/", "_").replace(".cc", ""),
84-
srcs = [sample],
85-
tags = ["integration-test"],
86-
deps = [
87-
"//:bigquerycontrol",
88-
"//google/cloud/testing_util:google_cloud_cpp_testing_private",
89-
],
90-
) for sample in glob([d + "samples/*.cc" for d in service_dirs])]

google/cloud/sql/BUILD.bazel

Lines changed: 11 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -12,77 +12,26 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15+
load("//bazel:gapic.bzl", "cc_gapic_library")
16+
1517
package(default_visibility = ["//visibility:private"])
1618

1719
licenses(["notice"]) # Apache 2.0
1820

1921
service_dirs = ["v1/"]
2022

21-
code_glob = [d + i + f for d in service_dirs for i in [
22-
"",
23-
"internal/",
24-
] for f in [
25-
"*.h",
26-
"*.cc",
27-
]]
28-
29-
sources_glob = [d + "internal/*_sources.cc" for d in service_dirs]
30-
31-
filegroup(
32-
name = "srcs",
33-
srcs = glob(sources_glob),
34-
)
35-
36-
filegroup(
37-
name = "hdrs",
38-
srcs = glob(
39-
include = code_glob,
40-
exclude = sources_glob,
41-
),
42-
)
43-
44-
filegroup(
45-
name = "public_hdrs",
46-
srcs = glob([d + "*.h" for d in service_dirs]),
47-
visibility = ["//:__pkg__"],
48-
)
23+
src_dirs = service_dirs + [d + "internal/" for d in service_dirs]
4924

50-
filegroup(
51-
name = "mocks",
52-
srcs = glob([d + "mocks/*.h" for d in service_dirs]),
53-
visibility = ["//:__pkg__"],
54-
)
25+
googleapis_deps = [
26+
"@com_google_googleapis//google/cloud/sql/v1:sql_cc_proto",
27+
]
5528

56-
cc_library(
57-
name = "google_cloud_cpp_sql",
58-
srcs = [":srcs"],
59-
hdrs = [":hdrs"],
60-
visibility = ["//:__pkg__"],
61-
deps = [
62-
"//:common",
63-
"//:grpc_utils",
29+
cc_gapic_library(
30+
name = "sql",
31+
additional_deps = [
6432
"//google/cloud:google_cloud_cpp_rest_internal",
6533
"//google/cloud:google_cloud_cpp_rest_protobuf_internal",
66-
"@com_google_googleapis//google/cloud/sql/v1:sql_cc_proto",
6734
],
35+
googleapis_deps = googleapis_deps,
36+
service_dirs = service_dirs,
6837
)
69-
70-
cc_library(
71-
name = "google_cloud_cpp_sql_mocks",
72-
hdrs = [":mocks"],
73-
visibility = ["//:__pkg__"],
74-
deps = [
75-
":google_cloud_cpp_sql",
76-
"@com_google_googletest//:gtest",
77-
],
78-
)
79-
80-
[cc_test(
81-
name = sample.replace("/", "_").replace(".cc", ""),
82-
srcs = [sample],
83-
tags = ["integration-test"],
84-
deps = [
85-
"//:sql",
86-
"//google/cloud/testing_util:google_cloud_cpp_testing_private",
87-
],
88-
) for sample in glob([d + "samples/*.cc" for d in service_dirs])]

0 commit comments

Comments
 (0)