terraform-provider-stackitp.../scripts/replace.sh
Marcel S. Henselin 9e04ab2630
Fix: pgsql fix (#10)
* fix: remove license header from files

* fix: updated docs and sample
---------

Co-authored-by: Marcel S. Henselin <marcel.henselin@stackit.cloud>
2025-12-22 09:23:53 +01:00

57 lines
1.5 KiB
Bash
Executable file

#!/usr/bin/env bash
# Add replace directives to local files to go.work
set -eo pipefail
while getopts "s:" option; do
case "${option}" in
s)
SDK_DIR=${OPTARG}
;;
*)
echo "call: $0 [-s sdk-dir] <apis*>"
exit 0
;;
esac
done
shift $((OPTIND-1))
if [ -z "$SDK_DIR" ]; then
SDK_DIR=../stackit-sdk-generator/sdk-repo-updated
echo "No SDK_DIR set, using $SDK_DIR"
fi
if [ ! -f go.work ]; then
go work init
go work use .
else
echo "go.work already exists"
fi
if [ $# -gt 0 ];then
# modules passed via commandline
for service in $*; do
if [ ! -d $SDK_DIR/services/$service ]; then
echo "service directory $SDK_DIR/services/$service does not exist"
exit 1
fi
echo "replacing selected service $service"
if [ "$service" = "core" ]; then
go work edit -replace github.com/stackitcloud/stackit-sdk-go/core=$SDK_DIR/core
else
go work edit -replace github.com/stackitcloud/stackit-sdk-go/services/$service=$SDK_DIR/services/$service
fi
done
else
# replace all modules
echo "replacing all services"
go work edit -replace github.com/stackitcloud/stackit-sdk-go/core=$SDK_DIR/core
for n in $(find ${SDK_DIR}/services -name go.mod);do
service=$(dirname $n)
service=${service#${SDK_DIR}/services/}
go work edit -replace github.com/stackitcloud/stackit-sdk-go/services/$service=$(dirname $n)
done
fi
go work edit -fmt
go work sync