Skip to content

Commit f3d1a89

Browse files
authored
impl(generator): generate and populate override ud dox (#15658)
1 parent 30acc3c commit f3d1a89

File tree

246 files changed

+6347
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

246 files changed

+6347
-0
lines changed

ci/generate-markdown/update-library-landing-dox.sh

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ readonly EXPECTED=(
3939
"override-authentication.dox"
4040
"override-endpoint.dox"
4141
"override-retry-policies.dox"
42+
"override-universe-domain.dox"
4243
)
4344
for file in "${EXPECTED[@]}"; do
4445
if [[ ! -r "${DOCDIR}/${file}" ]]; then
@@ -50,6 +51,7 @@ readonly MAIN_DOX="${DOCDIR}/main.dox"
5051
readonly ENVIRONMENT_DOX="${DOCDIR}/environment-variables.dox"
5152
readonly OVERRIDE_AUTHENTICATION_DOX="${DOCDIR}/override-authentication.dox"
5253
readonly OVERRIDE_ENDPOINT_DOX="${DOCDIR}/override-endpoint.dox"
54+
readonly OVERRIDE_UNIVERSE_DOMAIN_DOX="${DOCDIR}/override-universe-domain.dox"
5355
readonly OVERRIDE_RETRY_POLICIES_DOX="${DOCDIR}/override-retry-policies.dox"
5456

5557
inject_start="<!-- inject-endpoint-env-vars-start -->"
@@ -196,6 +198,39 @@ _EOF_
196198
sed -n '/<!-- inject-endpoint-pages-end -->/,$p' "${OVERRIDE_ENDPOINT_DOX}"
197199
) | sponge "${OVERRIDE_ENDPOINT_DOX}"
198200

201+
(
202+
sed '/<!-- inject-universe-domain-snippet-start -->/q' "${OVERRIDE_UNIVERSE_DOMAIN_DOX}"
203+
if [[ ${#samples_cc[@]} -gt 0 ]]; then
204+
sample_cc="${samples_cc[0]}"
205+
client_name="${clients[${sample_cc}]}"
206+
echo 'For example, this will override the default universe domain for `'"${client_name}"'`:'
207+
echo
208+
echo "@snippet $(basename "${sample_cc}") set-client-universe-domain"
209+
if [[ ${#samples_cc[@]} -gt 1 ]]; then
210+
echo
211+
echo "Follow these links to find examples for other \\c *Client classes:"
212+
echo
213+
for sample_cc in "${samples_cc[@]}"; do
214+
client_name="${clients[${sample_cc}]}"
215+
# shellcheck disable=SC2016
216+
printf -- '- [\c %s](@ref %s-universe-domain-snippet)\n' "${client_name}" "${client_name}"
217+
done
218+
fi
219+
fi
220+
echo
221+
sed -n '/<!-- inject-universe-domain-snippet-end -->/,$p' "${OVERRIDE_UNIVERSE_DOMAIN_DOX}"
222+
) | sponge "${OVERRIDE_UNIVERSE_DOMAIN_DOX}"
223+
224+
(
225+
sed '/<!-- inject-universe-domain-pages-start -->/q' "${OVERRIDE_UNIVERSE_DOMAIN_DOX}"
226+
for sample_cc in "${samples_cc[@]}"; do
227+
client_name="${clients[${sample_cc}]}"
228+
printf '\n/*! @page %s-universe-domain-snippet Override %s Universe Domain\n\n@snippet %s set-client-universe-domain\n\n*/\n' \
229+
"${client_name}" "${client_name}" "${sample_cc}"
230+
done
231+
sed -n '/<!-- inject-universe-domain-pages-end -->/,$p' "${OVERRIDE_UNIVERSE_DOMAIN_DOX}"
232+
) | sponge "${OVERRIDE_UNIVERSE_DOMAIN_DOX}"
233+
199234
(
200235
sed '/<!-- inject-retry-snippet-start -->/q' "${OVERRIDE_RETRY_POLICIES_DOX}"
201236
if [[ ${#samples_cc[@]} -gt 0 ]]; then
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
/*!
2+
@page golden-override-universe-domain How to Override the Default Universe Domain
3+
4+
In some cases, you may need to override the default universe domain used by the client
5+
library. Use the
6+
[AddUniverseDomainOption](@ref google::cloud::AddUniverseDomainOption) when initializing the
7+
client library to change this default.
8+
9+
<!-- inject-universe-domain-snippet-start -->
10+
<!-- inject-universe-domain-snippet-end -->
11+
12+
*/
13+
14+
// <!-- inject-universe-domain-pages-start -->
15+
// <!-- inject-universe-domain-pages-end -->

generator/internal/scaffold_generator.cc

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -347,6 +347,8 @@ void GenerateScaffold(
347347
{"doc/environment-variables.dox", GenerateDoxygenEnvironmentPage},
348348
{"doc/override-authentication.dox", GenerateOverrideAuthenticationPage},
349349
{"doc/override-endpoint.dox", GenerateOverrideEndpointPage},
350+
{"doc/override-universe-domain.dox",
351+
GenerateOverrideUniverseDomainPage},
350352
{"doc/override-retry-policies.dox", GenerateOverrideRetryPoliciesPage},
351353
{"doc/options.dox", GenerateDoxygenOptionsPage},
352354
};
@@ -360,6 +362,8 @@ void GenerateScaffold(
360362
{"doc/environment-variables.dox", GenerateDoxygenEnvironmentPage},
361363
{"doc/override-authentication.dox", GenerateOverrideAuthenticationPage},
362364
{"doc/override-endpoint.dox", GenerateOverrideEndpointPage},
365+
{"doc/override-universe-domain.dox",
366+
GenerateOverrideUniverseDomainPage},
363367
{"doc/override-retry-policies.dox", GenerateOverrideRetryPoliciesPage},
364368
{"doc/options.dox", GenerateDoxygenOptionsPage},
365369
{"quickstart/README.md", GenerateQuickstartReadme},
@@ -545,6 +549,7 @@ which should give you a taste of the $title$ C++ client library API.
545549
policies.
546550
- @ref $library$-env - describes environment variables that can configure the
547551
behavior of the library.
552+
- @ref $library$-override-universe-domain - describes how to override the default universe domain.
548553
549554
)""";
550555

@@ -670,6 +675,29 @@ client library to change this default.
670675
printer.Print(variables, kText);
671676
}
672677

678+
void GenerateOverrideUniverseDomainPage(
679+
std::ostream& os, std::map<std::string, std::string> const& variables) {
680+
auto constexpr kText = R"""(/*!
681+
@page $library$-override-universe-domain How to Override the Default Universe Domain
682+
683+
In some cases, you may need to override the default universe domain used by the client
684+
library. Use the
685+
[AddUniverseDomainOption](@ref google::cloud::AddUniverseDomainOption) when initializing the
686+
client library to change this default.
687+
688+
<!-- inject-universe-domain-snippet-start -->
689+
<!-- inject-universe-domain-snippet-end -->
690+
691+
*/
692+
693+
// <!-- inject-universe-domain-pages-start -->
694+
// <!-- inject-universe-domain-pages-end -->
695+
)""";
696+
google::protobuf::io::OstreamOutputStream output(&os);
697+
google::protobuf::io::Printer printer(&output, '$');
698+
printer.Print(variables, kText);
699+
}
700+
673701
void GenerateOverrideRetryPoliciesPage(
674702
std::ostream& os, std::map<std::string, std::string> const& variables) {
675703
auto constexpr kText = R"""(/*!

generator/internal/scaffold_generator.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,8 @@ void GenerateOverrideAuthenticationPage(
126126
std::ostream& os, std::map<std::string, std::string> const& variables);
127127
void GenerateOverrideEndpointPage(
128128
std::ostream& os, std::map<std::string, std::string> const& variables);
129+
void GenerateOverrideUniverseDomainPage(
130+
std::ostream& os, std::map<std::string, std::string> const& variables);
129131
void GenerateOverrideRetryPoliciesPage(
130132
std::ostream& os, std::map<std::string, std::string> const& variables);
131133
void GenerateQuickstartReadme(

google/cloud/accessapproval/doc/main.dox

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,5 +39,6 @@ application.
3939
- @ref accessapproval-override-retry - describes how to change the default retry
4040
policies.
4141
- @ref accessapproval-env - describes environment variables that can configure the behavior of the library.
42+
- @ref accessapproval-override-universe-domain - describes how to override the default universe domain.
4243

4344
*/
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
/*!
2+
@page accessapproval-override-universe-domain How to Override the Default Universe Domain
3+
4+
In some cases, you may need to override the default universe domain used by the client
5+
library. Use the
6+
[AddUniverseDomainOption](@ref google::cloud::AddUniverseDomainOption) when initializing the
7+
client library to change this default.
8+
9+
<!-- inject-universe-domain-snippet-start -->
10+
For example, this will override the default universe domain for `accessapproval_v1::AccessApprovalClient`:
11+
12+
@snippet access_approval_client_samples.cc set-client-universe-domain
13+
14+
<!-- inject-universe-domain-snippet-end -->
15+
16+
*/
17+
18+
// <!-- inject-universe-domain-pages-start -->
19+
20+
/*! @page accessapproval_v1::AccessApprovalClient-universe-domain-snippet Override accessapproval_v1::AccessApprovalClient Universe Domain
21+
22+
@snippet google/cloud/accessapproval/v1/samples/access_approval_client_samples.cc set-client-universe-domain
23+
24+
*/
25+
// <!-- inject-universe-domain-pages-end -->

google/cloud/accesscontextmanager/doc/main.dox

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ application.
3838
- @ref accesscontextmanager-override-retry - describes how to change the default retry
3939
policies.
4040
- @ref accesscontextmanager-env - describes environment variables that can configure the behavior of the library.
41+
- @ref accesscontextmanager-override-universe-domain - describes how to override the default universe domain.
4142

4243
[cloud-service-docs]: https://cloud.google.com/access-context-manager
4344

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
/*!
2+
@page accesscontextmanager-override-universe-domain How to Override the Default Universe Domain
3+
4+
In some cases, you may need to override the default universe domain used by the client
5+
library. Use the
6+
[AddUniverseDomainOption](@ref google::cloud::AddUniverseDomainOption) when initializing the
7+
client library to change this default.
8+
9+
<!-- inject-universe-domain-snippet-start -->
10+
For example, this will override the default universe domain for `accesscontextmanager_v1::AccessContextManagerClient`:
11+
12+
@snippet access_context_manager_client_samples.cc set-client-universe-domain
13+
14+
<!-- inject-universe-domain-snippet-end -->
15+
16+
*/
17+
18+
// <!-- inject-universe-domain-pages-start -->
19+
20+
/*! @page accesscontextmanager_v1::AccessContextManagerClient-universe-domain-snippet Override accesscontextmanager_v1::AccessContextManagerClient Universe Domain
21+
22+
@snippet google/cloud/accesscontextmanager/v1/samples/access_context_manager_client_samples.cc set-client-universe-domain
23+
24+
*/
25+
// <!-- inject-universe-domain-pages-end -->

google/cloud/advisorynotifications/doc/main.dox

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ application.
3939
- @ref advisorynotifications-override-retry - describes how to change the default retry
4040
policies.
4141
- @ref advisorynotifications-env - describes environment variables that can configure the behavior of the library.
42+
- @ref advisorynotifications-override-universe-domain - describes how to override the default universe domain.
4243

4344
[cloud-service-docs]: https://cloud.google.com/advisory-notifications
4445

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
/*!
2+
@page advisorynotifications-override-universe-domain How to Override the Default Universe Domain
3+
4+
In some cases, you may need to override the default universe domain used by the client
5+
library. Use the
6+
[AddUniverseDomainOption](@ref google::cloud::AddUniverseDomainOption) when initializing the
7+
client library to change this default.
8+
9+
<!-- inject-universe-domain-snippet-start -->
10+
For example, this will override the default universe domain for `advisorynotifications_v1::AdvisoryNotificationsServiceClient`:
11+
12+
@snippet advisory_notifications_client_samples.cc set-client-universe-domain
13+
14+
<!-- inject-universe-domain-snippet-end -->
15+
16+
*/
17+
18+
// <!-- inject-universe-domain-pages-start -->
19+
20+
/*! @page advisorynotifications_v1::AdvisoryNotificationsServiceClient-universe-domain-snippet Override advisorynotifications_v1::AdvisoryNotificationsServiceClient Universe Domain
21+
22+
@snippet google/cloud/advisorynotifications/v1/samples/advisory_notifications_client_samples.cc set-client-universe-domain
23+
24+
*/
25+
// <!-- inject-universe-domain-pages-end -->

0 commit comments

Comments
 (0)