# Contributor: techknowlogick <techknowlogick@gitea.com>
# Maintainer: techknowlogick <techknowlogick@gitea.com>
pkgname=ytt
pkgver=0.52.0
pkgrel=1
pkgdesc="YAML templating tool that works on YAML structure instead of text"
url="https://carvel.dev/ytt/"
arch="all !armhf !armv7 !x86"
license="Apache-2.0"
makedepends="go"
options="chmod-clean net"
source="$pkgname-$pkgver.tar.gz::https://github.com/carvel-dev/ytt/archive/v$pkgver.tar.gz
	0001-e2e-tests.patch"

export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"

build() {
	local ldflags="-X carvel.dev/ytt/pkg/version.Version=$pkgver"
	export GOPATH="$srcdir"
	rm -f website/generated.go

	go fmt ./cmd/... ./pkg/...
	go mod vendor
	go mod tidy

	rm -f pkg/website/generated.go
	go build -trimpath -ldflags="$ldflags" -o ytt ./cmd/ytt/...
	./ytt version

	(
		# Use newly built binary to template all website assets
		# into a single Go file
		cd pkg/website
		./../../ytt \
			-f . \
			-f ../../examples/playground/basics \
			-f ../../examples/playground/overlays \
			-f ../../examples/playground/getting-started \
			--file-mark 'alt-example**/*:type=data' \
			--file-mark 'example**/*:type=data' \
			--file-mark 'generated.go.txt:exclusive-for-output=true' \
			--dangerous-emptied-output-directory ../../tmp/
	)
	mv tmp/generated.go.txt pkg/website/generated.go

	# Rebuild ytt with website assets
	rm -f ./ytt
	go build -trimpath -ldflags="$ldflags" -o ytt ./cmd/ytt/...
}

check() {
	# disable specific shellcheck test as wordsplitting is wanted
	# shellcheck disable=SC2046
	go test -v $(go list ./...|grep -v yaml.v2) "$@"
	./ytt version
}

package() {
	install -D -m 755 $pkgname "$pkgdir"/usr/bin/$pkgname
}

sha512sums="
ac2ec48f5989dfe1ed79f7a3068993bb04e5dfb404ca7b7f878ea0b8e7ad8d14283e915fca795976f5437fdf13905caf0f9592b3c087291df59487e352709efd  ytt-0.52.0.tar.gz
7e90b64b9f5ed789002f30e1dfbe0c0a8176f1e619c14aa1e9d541359f2f24ff17165785c09b2f7b7bcc21082b568527506c20b6a33987a03f9c88a0c418cfaf  0001-e2e-tests.patch
"
