blob: dae73ad6ad03e20bdb3f28c715c782f4da296973 [file] [edit]
load("@aspect_rules_js//npm:defs.bzl", "npm_package", "stamped_package_json")
load("@bazel_gazelle//:def.bzl", "gazelle")
load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library", "go_test")
load("@rules_shell//shell:sh_test.bzl", "sh_test")
load(":defs.bzl", "bazelisk_go_binaries")
# gazelle:ignore
# gazelle:prefix github.com/bazelbuild/bazelisk
gazelle(name = "gazelle")
sh_test(
name = "py_bazelisk_test",
srcs = ["bazelisk_test.sh"],
args = ["PY"],
data = [
"bazelisk.py",
"releases_for_tests.json",
],
deps = ["@bazel_tools//tools/bash/runfiles"],
)
sh_test(
name = "py3_bazelisk_test",
srcs = ["bazelisk_test.sh"],
args = ["PY3"],
data = [
"bazelisk.py",
"releases_for_tests.json",
],
deps = ["@bazel_tools//tools/bash/runfiles"],
)
sh_test(
name = "go_bazelisk_test",
size = "large",
srcs = ["bazelisk_test.sh"],
args = ["GO"],
data = [
"releases_for_tests.json",
":bazelisk",
],
deps = ["@bazel_tools//tools/bash/runfiles"],
)
go_library(
name = "bazelisk_lib",
srcs = ["bazelisk.go"],
importpath = "github.com/bazelbuild/bazelisk",
visibility = ["//visibility:private"],
deps = [
"//core",
"//repositories",
],
)
go_test(
name = "bazelisk_version_test",
srcs = ["bazelisk_version_test.go"],
data = [
"sample-issues-migration.json",
],
embed = [":bazelisk_lib"],
importpath = "github.com/bazelbuild/bazelisk",
deps = [
"//config",
"//core",
"//httputil",
"//repositories",
"//versions",
],
)
go_binary(
name = "bazelisk",
embed = [":bazelisk_lib"],
visibility = ["//visibility:public"],
)
bazelisk_go_binaries()
genrule(
name = "bazelisk-darwin-universal",
srcs = [
":bazelisk-darwin-amd64",
":bazelisk-darwin-arm64",
],
outs = ["bazelisk-darwin_universal"],
cmd = "lipo -create -output \"$@\" $(SRCS)",
output_to_bindir = 1,
target_compatible_with = [
"@platforms//os:macos",
],
)
genrule(
name = "bazelisk-darwin-universal-sha256",
srcs = [":bazelisk-darwin-universal"],
outs = ["bazelisk-darwin_universal.sha256"],
cmd = "$(execpath //sha256sum) $< > $@",
tools = ["//sha256sum"],
visibility = ["//visibility:public"],
)
stamped_package_json(
name = "package",
# This key is defined by /stamp.sh
stamp_var = "BUILD_SCM_VERSION",
)
npm_package(
name = "npm_package",
srcs = [
"LICENSE",
"README.md",
"bazelisk.d.ts",
"bazelisk.js",
":bazelisk-darwin-amd64",
":bazelisk-darwin-amd64-sha256",
":bazelisk-darwin-arm64",
":bazelisk-darwin-arm64-sha256",
":bazelisk-linux-amd64",
":bazelisk-linux-amd64-sha256",
":bazelisk-linux-arm64",
":bazelisk-linux-arm64-sha256",
":bazelisk-windows-amd64",
":bazelisk-windows-amd64-sha256",
":bazelisk-windows-arm64",
":bazelisk-windows-arm64-sha256",
":package",
],
package = "@bazel/bazelisk",
publishable = True,
)