Browse Source

add build support script to print out the submodule versions required in other submodules (#21635)

* add build support script to print out the submodule versions required in other submodules

* update help and usage.  exclude current submodule in output.
pull/21642/head
John Murret 3 months ago committed by GitHub
parent
commit
53c225b198
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 18
      build-support/functions/10-util.sh
  2. 54
      build-support/scripts/consul-module-versions-in-consul.sh

18
build-support/functions/10-util.sh

@ -667,3 +667,21 @@ function go_mod_assert {
fi
return 0
}
function get_consul_module_versions {
local module_directories
module_directories=( "." "api" "envoyextensions" "proto-public" "sdk" "troubleshoot")
for module_dir in "${module_directories[@]}"; do
echo "Module versions for directory: '$module_dir':"
echo "--------------"
(cd "$module_dir" && go list -m all | grep -e github.com/hashicorp/consul/api \
-e github.com/hashicorp/consul/envoyextensions \
-e github.com/hashicorp/consul/proto-public \
-e github.com/hashicorp/consul/sdk \
-e github.com/hashicorp/consul/troubleshoot \
| if [ "$module_dir" != "." ]; then grep -v "consul/$module_dir"; else cat; fi)
echo "--------------"
echo ""
done
return 0
}

54
build-support/scripts/consul-module-versions-in-consul.sh

@ -0,0 +1,54 @@
#!/usr/bin/env bash
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
readonly SCRIPT_NAME="$(basename ${BASH_SOURCE[0]})"
readonly SCRIPT_DIR="$(dirname "${BASH_SOURCE[0]}")"
readonly SOURCE_DIR="$(dirname "$(dirname "${SCRIPT_DIR}")")"
readonly FN_DIR="$(dirname "${SCRIPT_DIR}")/functions"
source "${SCRIPT_DIR}/functions.sh"
function usage {
cat <<-EOF
Usage: ${SCRIPT_NAME} [<options ...>]
Description:
This script reports the consul module versions in each of the go.mod files in the Consul repository.
Options:
-h | --help Print this help text.
EOF
}
function err_usage {
err "$1"
err ""
err "$(usage)"
}
function main {
while test $# -gt 0
do
case "$1" in
-h | --help )
usage
return 0
;;
*)
err_usage "ERROR: Unknown argument: '$1'"
return 1
;;
esac
done
get_consul_module_versions || return 1
return 0
}
main "$@"
exit $?
Loading…
Cancel
Save