# Maintainer: Leon White <badfunkstripe@gmail.com>
pkgname=bazel7
pkgver=7.6.1
pkgrel=1
pkgdesc="Bazel is an open-source build and test tool"
url="https://bazel.build/"
arch="x86_64 aarch64"
license="Apache-2.0"
depends="bash openjdk21-jdk"
makedepends="linux-headers python3 unzip zip"
# Bazel binary is thin C++ client with zip file embedded into the binary,
# stripping breaks that: https://github.com/bazelbuild/bazel/issues/11842
options="!strip"
provides="bazel=$pkgver-r$pkgrel"
subpackages="$pkgname-bash-completion"
source="
	https://github.com/bazelbuild/bazel/releases/download/$pkgver/bazel-$pkgver-dist.zip
	0001-off64t-fix.patch
	0002-bash-completion-busybox.patch
"
builddir="$srcdir/"

build() {
	EMBED_LABEL=$pkgver-$pkgrel \
	EXTRA_BAZEL_ARGS=--tool_java_runtime_version=local_jdk \
		./compile.sh

	./output/bazel build //scripts:bazel-complete.bash
	cp bazel-bin/scripts/bazel-complete.bash output/

	./output/bazel clean --expunge
}

check() {
	# shellcheck disable=SC2046
	./output/bazel build $(\
		./output/bazel query --noshow_progress '//examples/...' \
			| grep -vF \
				-e /android/ \
				-e /windows/ \
				-e :hello-error-prone \
	)
	./output/bazel test \
		//examples/cpp:hello-success_test \
		//examples/java-native/src/test/java/com/example/myproject:custom \
		//examples/java-native/src/test/java/com/example/myproject:hello \
		//examples/java-starlark/src/test/java/com/example/myproject:pass \
		//examples/shell:test

	./output/bazel clean --expunge
}

package() {
	install -Dm 755 -t "$pkgdir/usr/bin" output/bazel
	install -Dm 644 output/bazel-complete.bash \
		"$pkgdir/usr/share/bash-completion/completions/bazel"
}

sha512sums="
a29dc6dac4e31f3a48ae75b023f2e2664a4dddda05b79994ace324617fc7acc0ccf479b5435dce4ad027a06193cb62ceafaac7e67e199a0fcf03a17b0e5f2ded  bazel-7.6.1-dist.zip
942bc9b962637da7bf83aa075d5acba84d2cf6e4b928cc1b0f6fec08f112e67ffec645a9e46be5716be17b5a51b8aee8aca6d7451908ff3532552291b1b10777  0001-off64t-fix.patch
b0bae27087f8d1da6a455500fc9fb4758ffdeaa27f0b11de720a0607aa3a4d682adfc1286b6385fe53e67296e7af1f61570b6b3093def1e8cee8531c7f4f5f82  0002-bash-completion-busybox.patch
"
