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