Skip to content

Commit dd96abe

Browse files
authored
refactor: more versioned clients (googleapis#10929)
1 parent dda37ee commit dd96abe

269 files changed

Lines changed: 8672 additions & 7097 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
164 Bytes
Binary file not shown.
Binary file not shown.
Binary file not shown.
1.7 KB
Binary file not shown.
133 Bytes
Binary file not shown.
254 Bytes
Binary file not shown.

ci/etc/expected_install_directories

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -306,36 +306,42 @@
306306
./include/google/cloud/managedidentities/mocks
307307
./include/google/cloud/managedidentities/v1
308308
./include/google/cloud/memcache
309-
./include/google/cloud/memcache/internal
310309
./include/google/cloud/memcache/mocks
311310
./include/google/cloud/memcache/v1
311+
./include/google/cloud/memcache/v1/internal
312+
./include/google/cloud/memcache/v1/mocks
312313
./include/google/cloud/monitoring
313314
./include/google/cloud/monitoring/internal
314315
./include/google/cloud/monitoring/mocks
315316
./include/google/cloud/networkconnectivity
316-
./include/google/cloud/networkconnectivity/internal
317317
./include/google/cloud/networkconnectivity/mocks
318318
./include/google/cloud/networkconnectivity/v1
319+
./include/google/cloud/networkconnectivity/v1/internal
320+
./include/google/cloud/networkconnectivity/v1/mocks
319321
./include/google/cloud/networkmanagement
320-
./include/google/cloud/networkmanagement/internal
321322
./include/google/cloud/networkmanagement/mocks
322323
./include/google/cloud/networkmanagement/v1
324+
./include/google/cloud/networkmanagement/v1/internal
325+
./include/google/cloud/networkmanagement/v1/mocks
323326
./include/google/cloud/notebooks
324-
./include/google/cloud/notebooks/internal
325327
./include/google/cloud/notebooks/mocks
326328
./include/google/cloud/notebooks/v1
329+
./include/google/cloud/notebooks/v1/internal
330+
./include/google/cloud/notebooks/v1/mocks
327331
./include/google/cloud/optimization
328-
./include/google/cloud/optimization/internal
329332
./include/google/cloud/optimization/mocks
330333
./include/google/cloud/optimization/v1
334+
./include/google/cloud/optimization/v1/internal
335+
./include/google/cloud/optimization/v1/mocks
331336
./include/google/cloud/orchestration
332337
./include/google/cloud/orchestration/airflow
333338
./include/google/cloud/orchestration/airflow/service
334339
./include/google/cloud/orchestration/airflow/service/v1
335340
./include/google/cloud/orgpolicy
336-
./include/google/cloud/orgpolicy/internal
337341
./include/google/cloud/orgpolicy/mocks
338342
./include/google/cloud/orgpolicy/v2
343+
./include/google/cloud/orgpolicy/v2/internal
344+
./include/google/cloud/orgpolicy/v2/mocks
339345
./include/google/cloud/osconfig
340346
./include/google/cloud/osconfig/agentendpoint
341347
./include/google/cloud/osconfig/agentendpoint/v1

generator/generator_config.textproto

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1102,7 +1102,8 @@ service {
11021102
# Memcache
11031103
service {
11041104
service_proto_path: "google/cloud/memcache/v1/cloud_memcache.proto"
1105-
product_path: "google/cloud/memcache"
1105+
product_path: "google/cloud/memcache/v1"
1106+
forwarding_product_path: "google/cloud/memcache"
11061107
initial_copyright_year: "2022"
11071108
retryable_status_codes: ["kUnavailable"]
11081109
}
@@ -1176,15 +1177,17 @@ service {
11761177
service {
11771178
service_proto_path: "google/cloud/networkconnectivity/v1/hub.proto"
11781179
additional_proto_files: ["google/cloud/networkconnectivity/v1/common.proto"]
1179-
product_path: "google/cloud/networkconnectivity"
1180+
product_path: "google/cloud/networkconnectivity/v1"
1181+
forwarding_product_path: "google/cloud/networkconnectivity"
11801182
initial_copyright_year: "2022"
11811183
retryable_status_codes: ["kUnavailable"]
11821184
}
11831185

11841186
# Network Management
11851187
service {
11861188
service_proto_path: "google/cloud/networkmanagement/v1/reachability.proto"
1187-
product_path: "google/cloud/networkmanagement"
1189+
product_path: "google/cloud/networkmanagement/v1"
1190+
forwarding_product_path: "google/cloud/networkmanagement"
11881191
initial_copyright_year: "2022"
11891192
retryable_status_codes: ["kUnavailable"]
11901193
}
@@ -1193,23 +1196,26 @@ service {
11931196
service {
11941197
service_proto_path: "google/cloud/notebooks/v1/managed_service.proto"
11951198
additional_proto_files: ["google/cloud/notebooks/v1/service.proto"]
1196-
product_path: "google/cloud/notebooks"
1199+
product_path: "google/cloud/notebooks/v1"
1200+
forwarding_product_path: "google/cloud/notebooks"
11971201
initial_copyright_year: "2022"
11981202
retryable_status_codes: ["kUnavailable"]
11991203
}
12001204

12011205
# Optimization AI
12021206
service {
12031207
service_proto_path: "google/cloud/optimization/v1/fleet_routing.proto"
1204-
product_path: "google/cloud/optimization"
1208+
product_path: "google/cloud/optimization/v1"
1209+
forwarding_product_path: "google/cloud/optimization"
12051210
initial_copyright_year: "2022"
12061211
retryable_status_codes: ["kUnavailable"]
12071212
}
12081213

12091214
# Organization Policy
12101215
service {
12111216
service_proto_path: "google/cloud/orgpolicy/v2/orgpolicy.proto"
1212-
product_path: "google/cloud/orgpolicy"
1217+
product_path: "google/cloud/orgpolicy/v2"
1218+
forwarding_product_path: "google/cloud/orgpolicy"
12131219
initial_copyright_year: "2022"
12141220
retryable_status_codes: ["kUnavailable"]
12151221
}

google/cloud/memcache/BUILD.bazel

Lines changed: 20 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -16,25 +16,26 @@ package(default_visibility = ["//visibility:private"])
1616

1717
licenses(["notice"]) # Apache 2.0
1818

19+
service_dirs = [
20+
"",
21+
"v1/",
22+
]
23+
24+
src_dirs = service_dirs + [d + "internal/" for d in service_dirs]
25+
1926
filegroup(
2027
name = "srcs",
21-
srcs = glob([
22-
"*.cc",
23-
"internal/*.cc",
24-
]),
28+
srcs = glob([d + "*.cc" for d in src_dirs]),
2529
)
2630

2731
filegroup(
2832
name = "hdrs",
29-
srcs = glob([
30-
"*.h",
31-
"internal/*.h",
32-
]),
33+
srcs = glob([d + "*.h" for d in src_dirs]),
3334
)
3435

3536
filegroup(
3637
name = "mocks",
37-
srcs = glob(["mocks/*.h"]),
38+
srcs = glob([d + "mocks/*.h" for d in service_dirs]),
3839
)
3940

4041
cc_library(
@@ -58,3 +59,13 @@ cc_library(
5859
"@com_google_googletest//:gtest",
5960
],
6061
)
62+
63+
[cc_test(
64+
name = sample.replace("/", "_").replace(".cc", ""),
65+
srcs = [sample],
66+
tags = ["integration-test"],
67+
deps = [
68+
"//:memcache",
69+
"//google/cloud/testing_util:google_cloud_cpp_testing_private",
70+
],
71+
) for sample in glob([d + "samples/*.cc" for d in service_dirs])]

google/cloud/memcache/CMakeLists.txt

Lines changed: 25 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,22 @@ set(DOXYGEN_PROJECT_NAME "Cloud Memorystore for Memcached API C++ Client")
1919
set(DOXYGEN_PROJECT_BRIEF
2020
"A C++ Client Library for the Cloud Memorystore for Memcached API")
2121
set(DOXYGEN_PROJECT_NUMBER "${PROJECT_VERSION}")
22-
set(DOXYGEN_EXCLUDE_SYMBOLS "internal" "memcache_internal" "memcache_testing"
23-
"examples")
24-
set(DOXYGEN_EXAMPLE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/samples
25-
${CMAKE_CURRENT_SOURCE_DIR}/quickstart)
22+
set(DOXYGEN_EXCLUDE_SYMBOLS "internal")
23+
set(DOXYGEN_EXAMPLE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/quickstart")
24+
25+
unset(mocks_globs)
26+
unset(source_globs)
27+
set(service_dirs "" "v1/")
28+
foreach (dir IN LISTS service_dirs)
29+
string(REPLACE "/" "_" ns "${dir}")
30+
list(APPEND source_globs "${dir}*.h" "${dir}*.cc" "${dir}internal/*")
31+
list(APPEND mocks_globs "${dir}mocks/*.h")
32+
list(APPEND DOXYGEN_EXCLUDE_SYMBOLS "memcache_${ns}internal")
33+
if (NOT dir STREQUAL "")
34+
list(APPEND DOXYGEN_EXAMPLE_PATH
35+
"${CMAKE_CURRENT_SOURCE_DIR}/${dir}samples")
36+
endif ()
37+
endforeach ()
2638

2739
include(GoogleCloudCppDoxygen)
2840
google_cloud_cpp_doxygen_targets("memcache" DEPENDS cloud-docs
@@ -48,7 +60,7 @@ target_link_libraries(google_cloud_cpp_memcache_protos PUBLIC ${proto_deps})
4860
file(
4961
GLOB source_files
5062
RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}"
51-
"*.h" "*.cc" "internal/*.h" "internal/*.cc")
63+
${source_globs})
5264
list(SORT source_files)
5365
add_library(google_cloud_cpp_memcache ${source_files})
5466
target_include_directories(
@@ -78,7 +90,7 @@ add_library(google-cloud-cpp::memcache ALIAS google_cloud_cpp_memcache)
7890
file(
7991
GLOB relative_mock_files
8092
RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}"
81-
"mocks/*.h")
93+
${mocks_globs})
8294
list(SORT relative_mock_files)
8395
set(mock_files)
8496
foreach (file IN LISTS relative_mock_files)
@@ -178,3 +190,10 @@ install(
178190
COMPONENT google_cloud_cpp_development)
179191

180192
external_googleapis_install_pc("google_cloud_cpp_memcache_protos")
193+
194+
# google-cloud-cpp::memcache must be defined before we can add the samples.
195+
foreach (dir IN LISTS service_dirs)
196+
if (BUILD_TESTING AND GOOGLE_CLOUD_CPP_ENABLE_CXX_EXCEPTIONS)
197+
google_cloud_cpp_add_samples_relative("memcache" "${dir}samples/")
198+
endif ()
199+
endforeach ()

0 commit comments

Comments
 (0)