xref: /aosp_15_r20/external/google-cloud-java/.cloud/helpers/populate-env.sh (revision 55e87721aa1bc457b326496a7ca40f3ea1a63287)
1*55e87721SMatt Gilbride#
2*55e87721SMatt Gilbride# Copyright 2022 Google LLC
3*55e87721SMatt Gilbride#
4*55e87721SMatt Gilbride# Licensed under the Apache License, Version 2.0 (the "License");
5*55e87721SMatt Gilbride# you may not use this file except in compliance with the License.
6*55e87721SMatt Gilbride# You may obtain a copy of the License at
7*55e87721SMatt Gilbride#
8*55e87721SMatt Gilbride#      https://www.apache.org/licenses/LICENSE-2.0
9*55e87721SMatt Gilbride#
10*55e87721SMatt Gilbride# Unless required by applicable law or agreed to in writing, software
11*55e87721SMatt Gilbride# distributed under the License is distributed on an "AS IS" BASIS,
12*55e87721SMatt Gilbride# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13*55e87721SMatt Gilbride# See the License for the specific language governing permissions and
14*55e87721SMatt Gilbride# limitations under the License.
15*55e87721SMatt Gilbride#
16*55e87721SMatt Gilbrideset -eo pipefail
17*55e87721SMatt Gilbride
18*55e87721SMatt Gilbridefunction modifyEnvironment() {
19*55e87721SMatt Gilbride  # Set module-specific environment variables for upcoming integration test(s)
20*55e87721SMatt Gilbride  if [[ -f "../$1/.cloud/env.sh" ]]; then
21*55e87721SMatt Gilbride    # shellcheck disable=SC1090
22*55e87721SMatt Gilbride    source "../$1/.cloud/env.sh"
23*55e87721SMatt Gilbride  fi
24*55e87721SMatt Gilbride}
25*55e87721SMatt Gilbride
26*55e87721SMatt GilbridehelperDir="$(cd -P -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd -P)"
27*55e87721SMatt Gilbridepushd "$helperDir/.." >/dev/null
28*55e87721SMatt Gilbride
29*55e87721SMatt Gilbride# Invoking 'modifyEnvironment' for any active Terraform mdoule
30*55e87721SMatt Gilbridesource ./helpers/common.sh
31*55e87721SMatt GilbrideallModules=$(listAllModules)
32*55e87721SMatt GilbrideactiveModules=$(getActiveTerraformModules)
33*55e87721SMatt GilbrideIFS=','
34*55e87721SMatt Gilbridefor module in $allModules; do
35*55e87721SMatt Gilbride  friendlyName=$(getFriendlyOutputName "$module")
36*55e87721SMatt Gilbride  if ! contains "$activeModules" "$friendlyName"; then
37*55e87721SMatt Gilbride    continue # Skip unless active.
38*55e87721SMatt Gilbride  fi
39*55e87721SMatt Gilbride
40*55e87721SMatt Gilbride  modifyEnvironment "$module"
41*55e87721SMatt Gilbridedone
42*55e87721SMatt Gilbride
43*55e87721SMatt Gilbridepopd >/dev/null
44