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"
openSUSE Build Service is sponsored by