File Makefile of Package terragrunt
.ONESHELL: NAME = terragrunt mkfile_path := $(abspath $(lastword $(MAKEFILE_LIST))) mkfile_dir := $(dir $(mkfile_path)) export GOPATH := $(mkfile_dir)/tmpdir/ # make sure ./ is in the path, # otherwise mockgen is not found... export PATH := :$(mkfile_dir)/tmpdir/bin:$(PATH) default: clean mockgen osc_service tar .SILENT: tar clean: # deleting the tmpdir requires root permissions sudo rm -rf $(NAME) $(NAME)-*.obscpio vendor.tar.gz ./tmpdir # Due to issues with the go-x-tools on go1.25, # we use 1.24 to install mockgen mockgen: echo "Installing mockgen" mkdir -p ./tmpdir/ /usr/lib64/go/1.24/bin/go install go.uber.org/mock/mockgen@v0.5.2 ls -lh $(mkfile_dir)/tmpdir/bin osc_service: osc service manualrun tar: rm -rf ./tmpdir/src/* mkdir -p ./tmpdir/src/ echo "Copy files to ./tmpdir/src/" cp -r ./terragrunt/ ./tmpdir/src/ cd ./tmpdir/src/$(NAME)/ ls -lah echo "Starting go generate" /usr/lib64/go/1.25/bin/go generate ./... /usr/lib64/go/1.25/bin/go mod download /usr/lib64/go/1.25/bin/go mod vendor echo "Creating tarball vendor.tar.gz" tar czf ../../../vendor.tar.gz ./vendor ls -lh ../../../vendor.tar.gz echo "Cleaning up" go clean -modcache cd ../../../ # deleting the tmpdir requires root permissions sudo rm -rf ./tmpdir echo "Finished"