# Maintainer: Leon White <badfunkstripe@gmail.com>
pkgname=bazel8
pkgver=8.2.1
pkgrel=0
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
	bazel-$pkgver-archive.tar.gz::https://github.com/bazelbuild/bazel/archive/refs/tags/$pkgver.tar.gz
	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() {
	ln -s bazel-$pkgver/examples examples
	# 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="
84dedc629ad498cc87a9e0b4f73d2ba8e4fb5922087a908dc972a82b83b220229fcd2de06fc8a75ea956f481ba05b2fd67f8d7c9a9121e4aa31da99a9252b1c8  bazel-8.2.1-archive.tar.gz
ca74e695b900df25d94afff77afa8c2adde20ff5c6d1a9dd09440307e590539a058eae0ad5b9c394911071297ecefa69022439bdb14c68155704455b4be692ef  bazel-8.2.1-dist.zip
8b6ddcda8be35e49f4f5ece03ea1958a5f814b2b361544c1c7ac8f056f3d8282eaf329101d0a16cd2b981e6056b2179a476bd50a22adb81a5d5f663c4e8c15d3  0001-off64t-fix.patch
b0bae27087f8d1da6a455500fc9fb4758ffdeaa27f0b11de720a0607aa3a4d682adfc1286b6385fe53e67296e7af1f61570b6b3093def1e8cee8531c7f4f5f82  0002-bash-completion-busybox.patch
"
