From b1926fba683a96aea6293233c94d0719c150b8d1 Mon Sep 17 00:00:00 2001 From: Marc Redemske Date: Thu, 2 May 2024 20:04:06 +0200 Subject: [PATCH] feat(toolchain): add xsv and typos --- BUILD.bazel | 5 +- MODULE.bazel | 12 +- MODULE.bazel.lock | 270 +++++++++++++++++++++++++------- e2e/BUILD.bazel | 9 +- e2e/MODULE.bazel.lock | 288 ++++++++++++++++++++++++++++------- lib/extensions.bzl | 39 ++--- lib/ripgrep.bzl | 23 +++ lib/toolchains.bzl | 27 ---- lib/typos.bzl | 50 ++++++ toolchains/BUILD.bazel | 28 +++- toolchains/toolchains.bzl | 41 +++++ toolchains/typos/BUILD.bazel | 29 ++++ toolchains/typos/assets.bzl | 8 + toolchains/xsv/BUILD.bazel | 29 ++++ toolchains/xsv/assets.bzl | 8 + 15 files changed, 704 insertions(+), 162 deletions(-) create mode 100644 lib/typos.bzl create mode 100644 toolchains/toolchains.bzl create mode 100644 toolchains/typos/BUILD.bazel create mode 100644 toolchains/typos/assets.bzl create mode 100644 toolchains/xsv/BUILD.bazel create mode 100644 toolchains/xsv/assets.bzl diff --git a/BUILD.bazel b/BUILD.bazel index 9147f02..cbb1369 100644 --- a/BUILD.bazel +++ b/BUILD.bazel @@ -1,7 +1,10 @@ load("@buildifier_prebuilt//:rules.bzl", "buildifier", "buildifier_test") +load("//lib:typos.bzl", "typos_test") exports_files(glob(["*"])) +typos_test(name = "typos") + buildifier( name = "format", exclude_patterns = [ @@ -21,5 +24,5 @@ buildifier_test( lint_mode = "warn", mode = "check", no_sandbox = True, - workspace = "//:WORKSPACE", + workspace = ":WORKSPACE", ) diff --git a/MODULE.bazel b/MODULE.bazel index 5646c9b..80c7c55 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -10,9 +10,11 @@ bazel_dep(name = "aspect_bazel_lib", version = "2.3.0") bazel_dep(name = "buildifier_prebuilt", version = "6.4.0", dev_dependency = True) -ext = use_extension("//lib:extensions.bzl", "ext") -ext.goawk() -ext.ripgrep() -use_repo(ext, "goawk", "ripgrep") +tools = use_extension("//lib:extensions.bzl", "tools") +tools.goawk() +tools.ripgrep() +tools.typos() +tools.xsv() +use_repo(tools, "goawk", "ripgrep", "typos", "xsv") -register_toolchains("@goawk//:all", "@ripgrep//:all") +register_toolchains("@goawk//:all", "@ripgrep//:all", "@typos//:all", "@xsv//:all") diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock index c3d6021..e1a6925 100644 --- a/MODULE.bazel.lock +++ b/MODULE.bazel.lock @@ -1,6 +1,6 @@ { "lockFileVersion": 3, - "moduleFileHash": "649814c0a22b6a939ffdadf5bd03b36b05c72b38a18cece61c93c16aeb7a206c", + "moduleFileHash": "45d8ca2fbbc549982f58422d44dd59933852ff21491be1981ff45fe17dbb9468", "flags": { "cmdRegistries": [ "https://bcr.bazel.build/" @@ -24,21 +24,25 @@ "executionPlatformsToRegister": [], "toolchainsToRegister": [ "@goawk//:all", - "@ripgrep//:all" + "@ripgrep//:all", + "@typos//:all", + "@xsv//:all" ], "extensionUsages": [ { "extensionBzlFile": "@bzlparty_tools//lib:extensions.bzl", - "extensionName": "ext", + "extensionName": "tools", "usingModule": "", "location": { "file": "@@//:MODULE.bazel", "line": 13, - "column": 20 + "column": 22 }, "imports": { "goawk": "goawk", - "ripgrep": "ripgrep" + "ripgrep": "ripgrep", + "typos": "typos", + "xsv": "xsv" }, "devImports": [], "tags": [ @@ -49,7 +53,7 @@ "location": { "file": "@@//:MODULE.bazel", "line": 14, - "column": 10 + "column": 12 } }, { @@ -59,8 +63,28 @@ "location": { "file": "@@//:MODULE.bazel", "line": 15, + "column": 14 + } + }, + { + "tagName": "typos", + "attributeValues": {}, + "devDependency": false, + "location": { + "file": "@@//:MODULE.bazel", + "line": 16, "column": 12 } + }, + { + "tagName": "xsv", + "attributeValues": {}, + "devDependency": false, + "location": { + "file": "@@//:MODULE.bazel", + "line": 17, + "column": 10 + } } ], "hasDevUseExtension": false, @@ -900,123 +924,259 @@ } }, "moduleExtensions": { - "//lib:extensions.bzl%ext": { + "//lib:extensions.bzl%tools": { "general": { - "bzlTransitiveDigest": "hdNknq21SS31U/ohx2on/Qf/2ud5oqUDae369WaEY8A=", + "bzlTransitiveDigest": "WBDWr+9IjHNE+VYGgmC2zIUIZbDm/vgC15l6CproYuo=", "accumulatedFileDigests": {}, "envVariables": {}, "generatedRepoSpecs": { - "ripgrep": { - "bzlFile": "@@//lib:toolchains.bzl", - "ruleClassName": "_binary_toolchains", + "typos_linux_amd64": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", "attributes": { - "name": "_main~ext~ripgrep", - "build_file": "toolchain(\n name = \"ripgrep_darwin_amd64_toolchain\",\n toolchain = \"@ripgrep_darwin_amd64//:ripgrep_binary_toolchain\",\n exec_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:x86_64\"],\n toolchain_type = \"@bzlparty_tools//toolchains:ripgrep_toolchain_type\",\n visibility = [\"//visibility:public\"],\n)\ntoolchain(\n name = \"ripgrep_darwin_arm64_toolchain\",\n toolchain = \"@ripgrep_darwin_arm64//:ripgrep_binary_toolchain\",\n exec_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:arm64\"],\n toolchain_type = \"@bzlparty_tools//toolchains:ripgrep_toolchain_type\",\n visibility = [\"//visibility:public\"],\n)\ntoolchain(\n name = \"ripgrep_linux_amd64_toolchain\",\n toolchain = \"@ripgrep_linux_amd64//:ripgrep_binary_toolchain\",\n exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:x86_64\"],\n toolchain_type = \"@bzlparty_tools//toolchains:ripgrep_toolchain_type\",\n visibility = [\"//visibility:public\"],\n)\ntoolchain(\n name = \"ripgrep_linux_arm64_toolchain\",\n toolchain = \"@ripgrep_linux_arm64//:ripgrep_binary_toolchain\",\n exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:arm64\"],\n toolchain_type = \"@bzlparty_tools//toolchains:ripgrep_toolchain_type\",\n visibility = [\"//visibility:public\"],\n)\ntoolchain(\n name = \"ripgrep_windows_amd64_toolchain\",\n toolchain = \"@ripgrep_windows_amd64//:ripgrep_binary_toolchain\",\n exec_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:x86_64\"],\n toolchain_type = \"@bzlparty_tools//toolchains:ripgrep_toolchain_type\",\n visibility = [\"//visibility:public\"],\n)\n" + "name": "_main~tools~typos_linux_amd64", + "url": "https://github.com/cargo-prebuilt/index/releases/download/typos-cli-1.21.0/x86_64-unknown-linux-musl.tar.gz", + "integrity": "sha384-YdD3XLwJTKSKSftpdZ6JbNoiKouHkZ0D/BGQk3736KlzsvQ9sefTkoAYvYIU96Zg", + "build_file_content": "load(\"@bzlparty_tools//lib:toolchains.bzl\", \"binary_toolchain\")\nbinary_toolchain(\n name = \"typos_binary_toolchain\",\n prefix = \"typos\",\n binary = \"typos\",\n)\n" } }, - "goawk": { - "bzlFile": "@@//lib:toolchains.bzl", - "ruleClassName": "_binary_toolchains", + "xsv_windows_arm64": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", "attributes": { - "name": "_main~ext~goawk", - "build_file": "toolchain(\n name = \"goawk_darwin_amd64_toolchain\",\n toolchain = \"@goawk_darwin_amd64//:goawk_binary_toolchain\",\n exec_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:x86_64\"],\n toolchain_type = \"@bzlparty_tools//toolchains:goawk_toolchain_type\",\n visibility = [\"//visibility:public\"],\n)\ntoolchain(\n name = \"goawk_darwin_arm64_toolchain\",\n toolchain = \"@goawk_darwin_arm64//:goawk_binary_toolchain\",\n exec_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:arm64\"],\n toolchain_type = \"@bzlparty_tools//toolchains:goawk_toolchain_type\",\n visibility = [\"//visibility:public\"],\n)\ntoolchain(\n name = \"goawk_linux_amd64_toolchain\",\n toolchain = \"@goawk_linux_amd64//:goawk_binary_toolchain\",\n exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:x86_64\"],\n toolchain_type = \"@bzlparty_tools//toolchains:goawk_toolchain_type\",\n visibility = [\"//visibility:public\"],\n)\ntoolchain(\n name = \"goawk_linux_arm64_toolchain\",\n toolchain = \"@goawk_linux_arm64//:goawk_binary_toolchain\",\n exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:arm64\"],\n toolchain_type = \"@bzlparty_tools//toolchains:goawk_toolchain_type\",\n visibility = [\"//visibility:public\"],\n)\ntoolchain(\n name = \"goawk_windows_amd64_toolchain\",\n toolchain = \"@goawk_windows_amd64//:goawk_binary_toolchain\",\n exec_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:x86_64\"],\n toolchain_type = \"@bzlparty_tools//toolchains:goawk_toolchain_type\",\n visibility = [\"//visibility:public\"],\n)\n" + "name": "_main~tools~xsv_windows_arm64", + "url": "https://github.com/cargo-prebuilt/index/releases/download/xsv-0.13.0/aarch64-pc-windows-msvc.tar.gz", + "integrity": "sha384-X72q7PrI9fLqaLWjEd/SwKljfaADYKNsuA/jvFHEPiyMSkMt/LDmWUuhTroIam4d", + "build_file_content": "load(\"@bzlparty_tools//lib:toolchains.bzl\", \"binary_toolchain\")\nbinary_toolchain(\n name = \"xsv_binary_toolchain\",\n prefix = \"xsv\",\n binary = \"xsv.exe\",\n)\n" } }, - "ripgrep_linux_amd64": { + "goawk_darwin_arm64": { "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", "ruleClassName": "http_archive", "attributes": { - "name": "_main~ext~ripgrep_linux_amd64", - "url": "https://github.com/BurntSushi/ripgrep/releases/download/14.1.0/ripgrep-14.1.0-x86_64-unknown-linux-musl.tar.gz", - "integrity": "sha384-9C2Ethl4TaPzvRR2SDqlSb4bGuBP9NyE9PVUalTLA9fJA1Jd4OTgFKvBgdpGh3vb", - "build_file_content": "load(\"@bzlparty_tools//lib:toolchains.bzl\", \"binary_toolchain\")\nbinary_toolchain(\n name = \"ripgrep_binary_toolchain\",\n prefix = \"ripgrep\",\n binary = \"ripgrep-14.1.0-x86_64-unknown-linux-musl/rg\",\n)\n" + "name": "_main~tools~goawk_darwin_arm64", + "url": "https://github.com/benhoyt/goawk/releases/download/v1.27.0/goawk_v1.27.0_darwin_arm64.tar.gz", + "integrity": "sha384-iTMrskmk76SaA9VCbAQ0GpoWRiabnum4XcHkDgCWU4XjC2uAakjyhzyuJETtc50D", + "build_file_content": "load(\"@bzlparty_tools//lib:toolchains.bzl\", \"binary_toolchain\")\nbinary_toolchain(\n name = \"goawk_binary_toolchain\",\n prefix = \"goawk\",\n binary = \"goawk\",\n)\n" } }, - "ripgrep_linux_arm64": { + "xsv_darwin_amd64": { "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", "ruleClassName": "http_archive", "attributes": { - "name": "_main~ext~ripgrep_linux_arm64", - "url": "https://github.com/BurntSushi/ripgrep/releases/download/14.1.0/ripgrep-14.1.0-linux_arm64.tar.gz", + "name": "_main~tools~xsv_darwin_amd64", + "url": "https://github.com/cargo-prebuilt/index/releases/download/xsv-0.13.0/x85_64-apple-darwin.tar.gz", "integrity": "sha384-AI+HQg6X3xX+Su/0qIwiSw2Ygga0UNjAFFCZPicIJ8xlzT70tejy5Gx4ZEJ/dHOm", - "build_file_content": "load(\"@bzlparty_tools//lib:toolchains.bzl\", \"binary_toolchain\")\nbinary_toolchain(\n name = \"ripgrep_binary_toolchain\",\n prefix = \"ripgrep\",\n binary = \"ripgrep-14.1.0-linux_arm64/rg\",\n)\n" + "build_file_content": "load(\"@bzlparty_tools//lib:toolchains.bzl\", \"binary_toolchain\")\nbinary_toolchain(\n name = \"xsv_binary_toolchain\",\n prefix = \"xsv\",\n binary = \"xsv\",\n)\n" } }, - "goawk_darwin_arm64": { + "typos_darwin_arm64": { "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", "ruleClassName": "http_archive", "attributes": { - "name": "_main~ext~goawk_darwin_arm64", - "url": "https://github.com/benhoyt/goawk/releases/download/v1.27.0/goawk_v1.27.0_darwin_arm64.tar.gz", - "integrity": "sha384-iTMrskmk76SaA9VCbAQ0GpoWRiabnum4XcHkDgCWU4XjC2uAakjyhzyuJETtc50D", - "build_file_content": "load(\"@bzlparty_tools//lib:toolchains.bzl\", \"binary_toolchain\")\nbinary_toolchain(\n name = \"goawk_binary_toolchain\",\n prefix = \"goawk\",\n binary = \"goawk\",\n)\n" + "name": "_main~tools~typos_darwin_arm64", + "url": "https://github.com/cargo-prebuilt/index/releases/download/typos-cli-1.21.0/aarch64-apple-darwin.tar.gz", + "integrity": "sha384-8nOMf5jj3iggOtsS/dChGnhHJBdHkPkJw+2DoGkuOncJfI1TVfxfiOMlNx6cYBjr", + "build_file_content": "load(\"@bzlparty_tools//lib:toolchains.bzl\", \"binary_toolchain\")\nbinary_toolchain(\n name = \"typos_binary_toolchain\",\n prefix = \"typos\",\n binary = \"typos\",\n)\n" } }, - "ripgrep_darwin_amd64": { + "xsv_linux_amd64": { "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", "ruleClassName": "http_archive", "attributes": { - "name": "_main~ext~ripgrep_darwin_amd64", - "url": "https://github.com/BurntSushi/ripgrep/releases/download/14.1.0/ripgrep-14.1.0-x85_64-apple-darwin.tar.gz", - "integrity": "sha384-AI+HQg6X3xX+Su/0qIwiSw2Ygga0UNjAFFCZPicIJ8xlzT70tejy5Gx4ZEJ/dHOm", - "build_file_content": "load(\"@bzlparty_tools//lib:toolchains.bzl\", \"binary_toolchain\")\nbinary_toolchain(\n name = \"ripgrep_binary_toolchain\",\n prefix = \"ripgrep\",\n binary = \"ripgrep-14.1.0-x85_64-apple-darwin/rg\",\n)\n" + "name": "_main~tools~xsv_linux_amd64", + "url": "https://github.com/cargo-prebuilt/index/releases/download/xsv-0.13.0/x86_64-unknown-linux-musl.tar.gz", + "integrity": "sha384-a9R7blrnvbuiwK3fxRdPvRErETlXLQUnVRnq0TRaVNLQ5ppbXhYZcvbrHd9WuHK8", + "build_file_content": "load(\"@bzlparty_tools//lib:toolchains.bzl\", \"binary_toolchain\")\nbinary_toolchain(\n name = \"xsv_binary_toolchain\",\n prefix = \"xsv\",\n binary = \"xsv\",\n)\n" } }, - "ripgrep_windows_amd64": { + "typos_windows_amd64": { "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", "ruleClassName": "http_archive", "attributes": { - "name": "_main~ext~ripgrep_windows_amd64", - "url": "https://github.com/BurntSushi/ripgrep/releases/download/14.1.0/ripgrep-14.1.0-x86_64-pc-windows-gnu.zip", - "integrity": "sha384-gBz6YsKFpFzkZy6hjiEp2XKiJAkxKpaJQSlDKCj8+qkHHuUhQbWbxAxbXSxNjvij", - "build_file_content": "load(\"@bzlparty_tools//lib:toolchains.bzl\", \"binary_toolchain\")\nbinary_toolchain(\n name = \"ripgrep_binary_toolchain\",\n prefix = \"ripgrep\",\n binary = \"ripgrep-14.1.0-x86_64-pc-windows-gnu/rg.exe\",\n)\n" + "name": "_main~tools~typos_windows_amd64", + "url": "https://github.com/cargo-prebuilt/index/releases/download/typos-cli-1.21.0/x86_64-pc-windows-msvc.tar.gz", + "integrity": "sha384-B45/wcXU/Q5zB7oxY6kuZNDmj4lu1Shnn47/5Eij12JCJQpoMHqlc2NE+CswBJhS", + "build_file_content": "load(\"@bzlparty_tools//lib:toolchains.bzl\", \"binary_toolchain\")\nbinary_toolchain(\n name = \"typos_binary_toolchain\",\n prefix = \"typos\",\n binary = \"typos.exe\",\n)\n" } }, - "goawk_linux_amd64": { + "goawk": { + "bzlFile": "@@//lib:toolchains.bzl", + "ruleClassName": "_binary_toolchains", + "attributes": { + "name": "_main~tools~goawk", + "build_file": "toolchain(\n name = \"goawk_darwin_amd64_toolchain\",\n toolchain = \"@goawk_darwin_amd64//:goawk_binary_toolchain\",\n exec_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:x86_64\"],\n toolchain_type = \"@bzlparty_tools//toolchains:goawk_toolchain_type\",\n visibility = [\"//visibility:public\"],\n)\ntoolchain(\n name = \"goawk_darwin_arm64_toolchain\",\n toolchain = \"@goawk_darwin_arm64//:goawk_binary_toolchain\",\n exec_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:arm64\"],\n toolchain_type = \"@bzlparty_tools//toolchains:goawk_toolchain_type\",\n visibility = [\"//visibility:public\"],\n)\ntoolchain(\n name = \"goawk_linux_amd64_toolchain\",\n toolchain = \"@goawk_linux_amd64//:goawk_binary_toolchain\",\n exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:x86_64\"],\n toolchain_type = \"@bzlparty_tools//toolchains:goawk_toolchain_type\",\n visibility = [\"//visibility:public\"],\n)\ntoolchain(\n name = \"goawk_linux_arm64_toolchain\",\n toolchain = \"@goawk_linux_arm64//:goawk_binary_toolchain\",\n exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:arm64\"],\n toolchain_type = \"@bzlparty_tools//toolchains:goawk_toolchain_type\",\n visibility = [\"//visibility:public\"],\n)\ntoolchain(\n name = \"goawk_windows_amd64_toolchain\",\n toolchain = \"@goawk_windows_amd64//:goawk_binary_toolchain\",\n exec_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:x86_64\"],\n toolchain_type = \"@bzlparty_tools//toolchains:goawk_toolchain_type\",\n visibility = [\"//visibility:public\"],\n)\n" + } + }, + "ripgrep_linux_arm64": { "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", "ruleClassName": "http_archive", "attributes": { - "name": "_main~ext~goawk_linux_amd64", - "url": "https://github.com/benhoyt/goawk/releases/download/v1.27.0/goawk_v1.27.0_linux_amd64.tar.gz", - "integrity": "sha384-a0aNEEzogU7GaezmBA8xvrGI/J+VUdSdwmA+/5T2wTU1KENsLMUdBmFPmBF5Tqm6", - "build_file_content": "load(\"@bzlparty_tools//lib:toolchains.bzl\", \"binary_toolchain\")\nbinary_toolchain(\n name = \"goawk_binary_toolchain\",\n prefix = \"goawk\",\n binary = \"goawk\",\n)\n" + "name": "_main~tools~ripgrep_linux_arm64", + "url": "https://github.com/BurntSushi/ripgrep/releases/download/14.1.0/ripgrep-14.1.0-linux_arm64.tar.gz", + "integrity": "sha384-AI+HQg6X3xX+Su/0qIwiSw2Ygga0UNjAFFCZPicIJ8xlzT70tejy5Gx4ZEJ/dHOm", + "build_file_content": "load(\"@bzlparty_tools//lib:toolchains.bzl\", \"binary_toolchain\")\nbinary_toolchain(\n name = \"ripgrep_binary_toolchain\",\n prefix = \"ripgrep\",\n binary = \"ripgrep-14.1.0-linux_arm64/rg\",\n)\n" } }, "goawk_linux_arm64": { "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", "ruleClassName": "http_archive", "attributes": { - "name": "_main~ext~goawk_linux_arm64", + "name": "_main~tools~goawk_linux_arm64", "url": "https://github.com/benhoyt/goawk/releases/download/v1.27.0/goawk_v1.27.0_linux_arm64.tar.gz", "integrity": "sha384-1zoo/+D+R4dcXurhXzlSX4nw+546aWICMJ0OJTQFGl9veVKuHW9ZuN3AT6b3P+z6", "build_file_content": "load(\"@bzlparty_tools//lib:toolchains.bzl\", \"binary_toolchain\")\nbinary_toolchain(\n name = \"goawk_binary_toolchain\",\n prefix = \"goawk\",\n binary = \"goawk\",\n)\n" } }, + "xsv": { + "bzlFile": "@@//lib:toolchains.bzl", + "ruleClassName": "_binary_toolchains", + "attributes": { + "name": "_main~tools~xsv", + "build_file": "toolchain(\n name = \"xsv_darwin_amd64_toolchain\",\n toolchain = \"@xsv_darwin_amd64//:xsv_binary_toolchain\",\n exec_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:x86_64\"],\n toolchain_type = \"@bzlparty_tools//toolchains:xsv_toolchain_type\",\n visibility = [\"//visibility:public\"],\n)\ntoolchain(\n name = \"xsv_darwin_arm64_toolchain\",\n toolchain = \"@xsv_darwin_arm64//:xsv_binary_toolchain\",\n exec_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:arm64\"],\n toolchain_type = \"@bzlparty_tools//toolchains:xsv_toolchain_type\",\n visibility = [\"//visibility:public\"],\n)\ntoolchain(\n name = \"xsv_linux_amd64_toolchain\",\n toolchain = \"@xsv_linux_amd64//:xsv_binary_toolchain\",\n exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:x86_64\"],\n toolchain_type = \"@bzlparty_tools//toolchains:xsv_toolchain_type\",\n visibility = [\"//visibility:public\"],\n)\ntoolchain(\n name = \"xsv_linux_arm64_toolchain\",\n toolchain = \"@xsv_linux_arm64//:xsv_binary_toolchain\",\n exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:arm64\"],\n toolchain_type = \"@bzlparty_tools//toolchains:xsv_toolchain_type\",\n visibility = [\"//visibility:public\"],\n)\ntoolchain(\n name = \"xsv_windows_amd64_toolchain\",\n toolchain = \"@xsv_windows_amd64//:xsv_binary_toolchain\",\n exec_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:x86_64\"],\n toolchain_type = \"@bzlparty_tools//toolchains:xsv_toolchain_type\",\n visibility = [\"//visibility:public\"],\n)\ntoolchain(\n name = \"xsv_windows_arm64_toolchain\",\n toolchain = \"@xsv_windows_arm64//:xsv_binary_toolchain\",\n exec_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:arm64\"],\n toolchain_type = \"@bzlparty_tools//toolchains:xsv_toolchain_type\",\n visibility = [\"//visibility:public\"],\n)\n" + } + }, + "ripgrep_darwin_arm64": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "_main~tools~ripgrep_darwin_arm64", + "url": "https://github.com/BurntSushi/ripgrep/releases/download/14.1.0/ripgrep-14.1.0-aarch64-apple-darwin.tar.gz", + "integrity": "sha384-3Ah7zo307VFV8plovAg8ex4hDy0P04YU5yz7Fwzs6mR5B4gwDeEJb7A6ggVFHyIL", + "build_file_content": "load(\"@bzlparty_tools//lib:toolchains.bzl\", \"binary_toolchain\")\nbinary_toolchain(\n name = \"ripgrep_binary_toolchain\",\n prefix = \"ripgrep\",\n binary = \"ripgrep-14.1.0-aarch64-apple-darwin/rg\",\n)\n" + } + }, + "ripgrep": { + "bzlFile": "@@//lib:toolchains.bzl", + "ruleClassName": "_binary_toolchains", + "attributes": { + "name": "_main~tools~ripgrep", + "build_file": "toolchain(\n name = \"ripgrep_darwin_amd64_toolchain\",\n toolchain = \"@ripgrep_darwin_amd64//:ripgrep_binary_toolchain\",\n exec_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:x86_64\"],\n toolchain_type = \"@bzlparty_tools//toolchains:ripgrep_toolchain_type\",\n visibility = [\"//visibility:public\"],\n)\ntoolchain(\n name = \"ripgrep_darwin_arm64_toolchain\",\n toolchain = \"@ripgrep_darwin_arm64//:ripgrep_binary_toolchain\",\n exec_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:arm64\"],\n toolchain_type = \"@bzlparty_tools//toolchains:ripgrep_toolchain_type\",\n visibility = [\"//visibility:public\"],\n)\ntoolchain(\n name = \"ripgrep_linux_amd64_toolchain\",\n toolchain = \"@ripgrep_linux_amd64//:ripgrep_binary_toolchain\",\n exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:x86_64\"],\n toolchain_type = \"@bzlparty_tools//toolchains:ripgrep_toolchain_type\",\n visibility = [\"//visibility:public\"],\n)\ntoolchain(\n name = \"ripgrep_linux_arm64_toolchain\",\n toolchain = \"@ripgrep_linux_arm64//:ripgrep_binary_toolchain\",\n exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:arm64\"],\n toolchain_type = \"@bzlparty_tools//toolchains:ripgrep_toolchain_type\",\n visibility = [\"//visibility:public\"],\n)\ntoolchain(\n name = \"ripgrep_windows_amd64_toolchain\",\n toolchain = \"@ripgrep_windows_amd64//:ripgrep_binary_toolchain\",\n exec_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:x86_64\"],\n toolchain_type = \"@bzlparty_tools//toolchains:ripgrep_toolchain_type\",\n visibility = [\"//visibility:public\"],\n)\n" + } + }, + "typos_linux_arm64": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "_main~tools~typos_linux_arm64", + "url": "https://github.com/cargo-prebuilt/index/releases/download/typos-cli-1.21.0/aarch64-unknown-linux-musl.tar.gz", + "integrity": "sha384-AkCCxhe7jU4ykyZwW9A6R6sihsi0+21/tZ0kWaFhyV2UqwlZC85qN2qPokprTkow", + "build_file_content": "load(\"@bzlparty_tools//lib:toolchains.bzl\", \"binary_toolchain\")\nbinary_toolchain(\n name = \"typos_binary_toolchain\",\n prefix = \"typos\",\n binary = \"typos\",\n)\n" + } + }, + "ripgrep_darwin_amd64": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "_main~tools~ripgrep_darwin_amd64", + "url": "https://github.com/BurntSushi/ripgrep/releases/download/14.1.0/ripgrep-14.1.0-x85_64-apple-darwin.tar.gz", + "integrity": "sha384-AI+HQg6X3xX+Su/0qIwiSw2Ygga0UNjAFFCZPicIJ8xlzT70tejy5Gx4ZEJ/dHOm", + "build_file_content": "load(\"@bzlparty_tools//lib:toolchains.bzl\", \"binary_toolchain\")\nbinary_toolchain(\n name = \"ripgrep_binary_toolchain\",\n prefix = \"ripgrep\",\n binary = \"ripgrep-14.1.0-x85_64-apple-darwin/rg\",\n)\n" + } + }, + "xsv_linux_arm64": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "_main~tools~xsv_linux_arm64", + "url": "https://github.com/cargo-prebuilt/index/releases/download/xsv-0.13.0/aarch64-unknown-linux-musl.tar.gz", + "integrity": "sha384-S+MRIKADdpHoFvJd5IJVvAu6QbK4lQxAqopDIZbYZC1dZGzHwiKBFtYbAqWS0gea", + "build_file_content": "load(\"@bzlparty_tools//lib:toolchains.bzl\", \"binary_toolchain\")\nbinary_toolchain(\n name = \"xsv_binary_toolchain\",\n prefix = \"xsv\",\n binary = \"xsv\",\n)\n" + } + }, "goawk_windows_amd64": { "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", "ruleClassName": "http_archive", "attributes": { - "name": "_main~ext~goawk_windows_amd64", + "name": "_main~tools~goawk_windows_amd64", "url": "https://github.com/benhoyt/goawk/releases/download/v1.27.0/goawk_v1.27.0_windows_amd64.zip", "integrity": "sha384-zo8BnmeANuUrmLhy+1hNG8PG8Th5ovNnLian5cc0AArEeXvbMsyiWAZdfNt+YoLq", "build_file_content": "load(\"@bzlparty_tools//lib:toolchains.bzl\", \"binary_toolchain\")\nbinary_toolchain(\n name = \"goawk_binary_toolchain\",\n prefix = \"goawk\",\n binary = \"goawk.exe\",\n)\n" } }, - "ripgrep_darwin_arm64": { + "xsv_darwin_arm64": { "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", "ruleClassName": "http_archive", "attributes": { - "name": "_main~ext~ripgrep_darwin_arm64", - "url": "https://github.com/BurntSushi/ripgrep/releases/download/14.1.0/ripgrep-14.1.0-aarch64-apple-darwin.tar.gz", - "integrity": "sha384-3Ah7zo307VFV8plovAg8ex4hDy0P04YU5yz7Fwzs6mR5B4gwDeEJb7A6ggVFHyIL", - "build_file_content": "load(\"@bzlparty_tools//lib:toolchains.bzl\", \"binary_toolchain\")\nbinary_toolchain(\n name = \"ripgrep_binary_toolchain\",\n prefix = \"ripgrep\",\n binary = \"ripgrep-14.1.0-aarch64-apple-darwin/rg\",\n)\n" + "name": "_main~tools~xsv_darwin_arm64", + "url": "https://github.com/cargo-prebuilt/index/releases/download/xsv-0.13.0/aarch64-apple-darwin.tar.gz", + "integrity": "sha384-LNKs3vYVqUzH09ylwPhkdKMMhV26tmSro8+lXkqvOVtlaCbKWjdYMiaipQ9L+jcb", + "build_file_content": "load(\"@bzlparty_tools//lib:toolchains.bzl\", \"binary_toolchain\")\nbinary_toolchain(\n name = \"xsv_binary_toolchain\",\n prefix = \"xsv\",\n binary = \"xsv\",\n)\n" + } + }, + "xsv_windows_amd64": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "_main~tools~xsv_windows_amd64", + "url": "https://github.com/cargo-prebuilt/index/releases/download/xsv-0.13.0/x86_64-pc-windows-msvc.tar.gz", + "integrity": "sha384-IxVWBJuknchdv83BQ6HjbPkUwTDX8cQzdqhRMNmMrB1/DiJn0Hhq3atrCeYhQngx", + "build_file_content": "load(\"@bzlparty_tools//lib:toolchains.bzl\", \"binary_toolchain\")\nbinary_toolchain(\n name = \"xsv_binary_toolchain\",\n prefix = \"xsv\",\n binary = \"xsv.exe\",\n)\n" + } + }, + "typos_windows_arm64": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "_main~tools~typos_windows_arm64", + "url": "https://github.com/cargo-prebuilt/index/releases/download/typos-cli-1.21.0/aarch64-pc-windows-msvc.tar.gz", + "integrity": "sha384-AuGDiX1gA1199GW2oUL9KqjIhdOpa+N8WFBxq3xNtOOk6FbOIHCLnL0tOmU5dB+N", + "build_file_content": "load(\"@bzlparty_tools//lib:toolchains.bzl\", \"binary_toolchain\")\nbinary_toolchain(\n name = \"typos_binary_toolchain\",\n prefix = \"typos\",\n binary = \"typos.exe\",\n)\n" + } + }, + "ripgrep_linux_amd64": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "_main~tools~ripgrep_linux_amd64", + "url": "https://github.com/BurntSushi/ripgrep/releases/download/14.1.0/ripgrep-14.1.0-x86_64-unknown-linux-musl.tar.gz", + "integrity": "sha384-9C2Ethl4TaPzvRR2SDqlSb4bGuBP9NyE9PVUalTLA9fJA1Jd4OTgFKvBgdpGh3vb", + "build_file_content": "load(\"@bzlparty_tools//lib:toolchains.bzl\", \"binary_toolchain\")\nbinary_toolchain(\n name = \"ripgrep_binary_toolchain\",\n prefix = \"ripgrep\",\n binary = \"ripgrep-14.1.0-x86_64-unknown-linux-musl/rg\",\n)\n" + } + }, + "typos": { + "bzlFile": "@@//lib:toolchains.bzl", + "ruleClassName": "_binary_toolchains", + "attributes": { + "name": "_main~tools~typos", + "build_file": "toolchain(\n name = \"typos_darwin_amd64_toolchain\",\n toolchain = \"@typos_darwin_amd64//:typos_binary_toolchain\",\n exec_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:x86_64\"],\n toolchain_type = \"@bzlparty_tools//toolchains:typos_toolchain_type\",\n visibility = [\"//visibility:public\"],\n)\ntoolchain(\n name = \"typos_darwin_arm64_toolchain\",\n toolchain = \"@typos_darwin_arm64//:typos_binary_toolchain\",\n exec_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:arm64\"],\n toolchain_type = \"@bzlparty_tools//toolchains:typos_toolchain_type\",\n visibility = [\"//visibility:public\"],\n)\ntoolchain(\n name = \"typos_linux_amd64_toolchain\",\n toolchain = \"@typos_linux_amd64//:typos_binary_toolchain\",\n exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:x86_64\"],\n toolchain_type = \"@bzlparty_tools//toolchains:typos_toolchain_type\",\n visibility = [\"//visibility:public\"],\n)\ntoolchain(\n name = \"typos_linux_arm64_toolchain\",\n toolchain = \"@typos_linux_arm64//:typos_binary_toolchain\",\n exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:arm64\"],\n toolchain_type = \"@bzlparty_tools//toolchains:typos_toolchain_type\",\n visibility = [\"//visibility:public\"],\n)\ntoolchain(\n name = \"typos_windows_amd64_toolchain\",\n toolchain = \"@typos_windows_amd64//:typos_binary_toolchain\",\n exec_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:x86_64\"],\n toolchain_type = \"@bzlparty_tools//toolchains:typos_toolchain_type\",\n visibility = [\"//visibility:public\"],\n)\ntoolchain(\n name = \"typos_windows_arm64_toolchain\",\n toolchain = \"@typos_windows_arm64//:typos_binary_toolchain\",\n exec_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:arm64\"],\n toolchain_type = \"@bzlparty_tools//toolchains:typos_toolchain_type\",\n visibility = [\"//visibility:public\"],\n)\n" + } + }, + "ripgrep_windows_amd64": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "_main~tools~ripgrep_windows_amd64", + "url": "https://github.com/BurntSushi/ripgrep/releases/download/14.1.0/ripgrep-14.1.0-x86_64-pc-windows-gnu.zip", + "integrity": "sha384-gBz6YsKFpFzkZy6hjiEp2XKiJAkxKpaJQSlDKCj8+qkHHuUhQbWbxAxbXSxNjvij", + "build_file_content": "load(\"@bzlparty_tools//lib:toolchains.bzl\", \"binary_toolchain\")\nbinary_toolchain(\n name = \"ripgrep_binary_toolchain\",\n prefix = \"ripgrep\",\n binary = \"ripgrep-14.1.0-x86_64-pc-windows-gnu/rg.exe\",\n)\n" + } + }, + "typos_darwin_amd64": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "_main~tools~typos_darwin_amd64", + "url": "https://github.com/cargo-prebuilt/index/releases/download/typos-cli-1.21.0/x85_64-apple-darwin.tar.gz", + "integrity": "sha384-AI+HQg6X3xX+Su/0qIwiSw2Ygga0UNjAFFCZPicIJ8xlzT70tejy5Gx4ZEJ/dHOm", + "build_file_content": "load(\"@bzlparty_tools//lib:toolchains.bzl\", \"binary_toolchain\")\nbinary_toolchain(\n name = \"typos_binary_toolchain\",\n prefix = \"typos\",\n binary = \"typos\",\n)\n" + } + }, + "goawk_linux_amd64": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "_main~tools~goawk_linux_amd64", + "url": "https://github.com/benhoyt/goawk/releases/download/v1.27.0/goawk_v1.27.0_linux_amd64.tar.gz", + "integrity": "sha384-a0aNEEzogU7GaezmBA8xvrGI/J+VUdSdwmA+/5T2wTU1KENsLMUdBmFPmBF5Tqm6", + "build_file_content": "load(\"@bzlparty_tools//lib:toolchains.bzl\", \"binary_toolchain\")\nbinary_toolchain(\n name = \"goawk_binary_toolchain\",\n prefix = \"goawk\",\n binary = \"goawk\",\n)\n" } }, "goawk_darwin_amd64": { "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", "ruleClassName": "http_archive", "attributes": { - "name": "_main~ext~goawk_darwin_amd64", + "name": "_main~tools~goawk_darwin_amd64", "url": "https://github.com/benhoyt/goawk/releases/download/v1.27.0/goawk_v1.27.0_darwin_amd64.tar.gz", "integrity": "sha384-uPClT5eTKUZQncwg7r/2e20kaz16AANZRp/HC9WquTWeeX9LY6yXJSdJ903zHkBq", "build_file_content": "load(\"@bzlparty_tools//lib:toolchains.bzl\", \"binary_toolchain\")\nbinary_toolchain(\n name = \"goawk_binary_toolchain\",\n prefix = \"goawk\",\n binary = \"goawk\",\n)\n" diff --git a/e2e/BUILD.bazel b/e2e/BUILD.bazel index a419fbd..9c17bd2 100644 --- a/e2e/BUILD.bazel +++ b/e2e/BUILD.bazel @@ -1,7 +1,7 @@ load("@bazel_skylib//rules:build_test.bzl", "build_test") load("@bazel_skylib//rules:diff_test.bzl", "diff_test") load("@bzlparty_tools//lib:goawk.bzl", "goawk") -load("@bzlparty_tools//lib:ripgrep.bzl", "ripgrep") +load("@bzlparty_tools//lib:ripgrep.bzl", "ripgrep", "ripgrep_binary") goawk( name = "goawk", @@ -23,6 +23,13 @@ ripgrep( pattern = "oo$$", ) +ripgrep_binary( + name = "ripgrep_bin", + data = [ + "ripgrep_test_data.txt", + ], +) + diff_test( name = "ripgrep_test", file1 = ":ripgrep_result.txt", diff --git a/e2e/MODULE.bazel.lock b/e2e/MODULE.bazel.lock index 2aa6840..97b1052 100644 --- a/e2e/MODULE.bazel.lock +++ b/e2e/MODULE.bazel.lock @@ -14,7 +14,7 @@ }, "localOverrideHashes": { "bazel_tools": "922ea6752dc9105de5af957f7a99a6933c0a6a712d23df6aad16a9c399f7e787", - "bzlparty_tools": "649814c0a22b6a939ffdadf5bd03b36b05c72b38a18cece61c93c16aeb7a206c" + "bzlparty_tools": "45d8ca2fbbc549982f58422d44dd59933852ff21491be1981ff45fe17dbb9468" }, "moduleDepGraph": { "": { @@ -94,21 +94,25 @@ "executionPlatformsToRegister": [], "toolchainsToRegister": [ "@goawk//:all", - "@ripgrep//:all" + "@ripgrep//:all", + "@typos//:all", + "@xsv//:all" ], "extensionUsages": [ { "extensionBzlFile": "@bzlparty_tools//lib:extensions.bzl", - "extensionName": "ext", + "extensionName": "tools", "usingModule": "bzlparty_tools@_", "location": { "file": "@@bzlparty_tools~override//:MODULE.bazel", "line": 13, - "column": 20 + "column": 22 }, "imports": { "goawk": "goawk", - "ripgrep": "ripgrep" + "ripgrep": "ripgrep", + "typos": "typos", + "xsv": "xsv" }, "devImports": [], "tags": [ @@ -119,7 +123,7 @@ "location": { "file": "@@bzlparty_tools~override//:MODULE.bazel", "line": 14, - "column": 10 + "column": 12 } }, { @@ -129,8 +133,28 @@ "location": { "file": "@@bzlparty_tools~override//:MODULE.bazel", "line": 15, + "column": 14 + } + }, + { + "tagName": "typos", + "attributeValues": {}, + "devDependency": false, + "location": { + "file": "@@bzlparty_tools~override//:MODULE.bazel", + "line": 16, "column": 12 } + }, + { + "tagName": "xsv", + "attributeValues": {}, + "devDependency": false, + "location": { + "file": "@@bzlparty_tools~override//:MODULE.bazel", + "line": 17, + "column": 10 + } } ], "hasDevUseExtension": false, @@ -1463,6 +1487,24 @@ } } }, + "@@bazel_tools//tools/osx:xcode_configure.bzl%xcode_configure_extension": { + "general": { + "bzlTransitiveDigest": "Qh2bWTU6QW6wkrd87qrU4YeY+SG37Nvw3A0PR4Y0L2Y=", + "accumulatedFileDigests": {}, + "envVariables": {}, + "generatedRepoSpecs": { + "local_config_xcode": { + "bzlFile": "@@bazel_tools//tools/osx:xcode_configure.bzl", + "ruleClassName": "xcode_autoconf", + "attributes": { + "name": "bazel_tools~xcode_configure_extension~local_config_xcode", + "xcode_locator": "@bazel_tools//tools/osx:xcode_locator.m", + "remote_xcode": "" + } + } + } + } + }, "@@bazel_tools//tools/sh:sh_configure.bzl%sh_configure_extension": { "general": { "bzlTransitiveDigest": "hp4NgmNjEg5+xgvzfh6L83bt9/aiiWETuNpwNuF1MSU=", @@ -1479,123 +1521,259 @@ } } }, - "@@bzlparty_tools~override//lib:extensions.bzl%ext": { + "@@bzlparty_tools~override//lib:extensions.bzl%tools": { "general": { - "bzlTransitiveDigest": "z4CP23O9lOMzFrLdlJRlSABpZEaqOCOxVIqO/2cINrc=", + "bzlTransitiveDigest": "WBDWr+9IjHNE+VYGgmC2zIUIZbDm/vgC15l6CproYuo=", "accumulatedFileDigests": {}, "envVariables": {}, "generatedRepoSpecs": { - "ripgrep": { - "bzlFile": "@@bzlparty_tools~override//lib:toolchains.bzl", - "ruleClassName": "_binary_toolchains", + "typos_linux_amd64": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", "attributes": { - "name": "bzlparty_tools~override~ext~ripgrep", - "build_file": "toolchain(\n name = \"ripgrep_darwin_amd64_toolchain\",\n toolchain = \"@ripgrep_darwin_amd64//:ripgrep_binary_toolchain\",\n exec_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:x86_64\"],\n toolchain_type = \"@bzlparty_tools//toolchains:ripgrep_toolchain_type\",\n visibility = [\"//visibility:public\"],\n)\ntoolchain(\n name = \"ripgrep_darwin_arm64_toolchain\",\n toolchain = \"@ripgrep_darwin_arm64//:ripgrep_binary_toolchain\",\n exec_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:arm64\"],\n toolchain_type = \"@bzlparty_tools//toolchains:ripgrep_toolchain_type\",\n visibility = [\"//visibility:public\"],\n)\ntoolchain(\n name = \"ripgrep_linux_amd64_toolchain\",\n toolchain = \"@ripgrep_linux_amd64//:ripgrep_binary_toolchain\",\n exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:x86_64\"],\n toolchain_type = \"@bzlparty_tools//toolchains:ripgrep_toolchain_type\",\n visibility = [\"//visibility:public\"],\n)\ntoolchain(\n name = \"ripgrep_linux_arm64_toolchain\",\n toolchain = \"@ripgrep_linux_arm64//:ripgrep_binary_toolchain\",\n exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:arm64\"],\n toolchain_type = \"@bzlparty_tools//toolchains:ripgrep_toolchain_type\",\n visibility = [\"//visibility:public\"],\n)\ntoolchain(\n name = \"ripgrep_windows_amd64_toolchain\",\n toolchain = \"@ripgrep_windows_amd64//:ripgrep_binary_toolchain\",\n exec_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:x86_64\"],\n toolchain_type = \"@bzlparty_tools//toolchains:ripgrep_toolchain_type\",\n visibility = [\"//visibility:public\"],\n)\n" + "name": "bzlparty_tools~override~tools~typos_linux_amd64", + "url": "https://github.com/cargo-prebuilt/index/releases/download/typos-cli-1.21.0/x86_64-unknown-linux-musl.tar.gz", + "integrity": "sha384-YdD3XLwJTKSKSftpdZ6JbNoiKouHkZ0D/BGQk3736KlzsvQ9sefTkoAYvYIU96Zg", + "build_file_content": "load(\"@bzlparty_tools//lib:toolchains.bzl\", \"binary_toolchain\")\nbinary_toolchain(\n name = \"typos_binary_toolchain\",\n prefix = \"typos\",\n binary = \"typos\",\n)\n" } }, - "goawk": { - "bzlFile": "@@bzlparty_tools~override//lib:toolchains.bzl", - "ruleClassName": "_binary_toolchains", + "xsv_windows_arm64": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", "attributes": { - "name": "bzlparty_tools~override~ext~goawk", - "build_file": "toolchain(\n name = \"goawk_darwin_amd64_toolchain\",\n toolchain = \"@goawk_darwin_amd64//:goawk_binary_toolchain\",\n exec_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:x86_64\"],\n toolchain_type = \"@bzlparty_tools//toolchains:goawk_toolchain_type\",\n visibility = [\"//visibility:public\"],\n)\ntoolchain(\n name = \"goawk_darwin_arm64_toolchain\",\n toolchain = \"@goawk_darwin_arm64//:goawk_binary_toolchain\",\n exec_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:arm64\"],\n toolchain_type = \"@bzlparty_tools//toolchains:goawk_toolchain_type\",\n visibility = [\"//visibility:public\"],\n)\ntoolchain(\n name = \"goawk_linux_amd64_toolchain\",\n toolchain = \"@goawk_linux_amd64//:goawk_binary_toolchain\",\n exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:x86_64\"],\n toolchain_type = \"@bzlparty_tools//toolchains:goawk_toolchain_type\",\n visibility = [\"//visibility:public\"],\n)\ntoolchain(\n name = \"goawk_linux_arm64_toolchain\",\n toolchain = \"@goawk_linux_arm64//:goawk_binary_toolchain\",\n exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:arm64\"],\n toolchain_type = \"@bzlparty_tools//toolchains:goawk_toolchain_type\",\n visibility = [\"//visibility:public\"],\n)\ntoolchain(\n name = \"goawk_windows_amd64_toolchain\",\n toolchain = \"@goawk_windows_amd64//:goawk_binary_toolchain\",\n exec_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:x86_64\"],\n toolchain_type = \"@bzlparty_tools//toolchains:goawk_toolchain_type\",\n visibility = [\"//visibility:public\"],\n)\n" + "name": "bzlparty_tools~override~tools~xsv_windows_arm64", + "url": "https://github.com/cargo-prebuilt/index/releases/download/xsv-0.13.0/aarch64-pc-windows-msvc.tar.gz", + "integrity": "sha384-X72q7PrI9fLqaLWjEd/SwKljfaADYKNsuA/jvFHEPiyMSkMt/LDmWUuhTroIam4d", + "build_file_content": "load(\"@bzlparty_tools//lib:toolchains.bzl\", \"binary_toolchain\")\nbinary_toolchain(\n name = \"xsv_binary_toolchain\",\n prefix = \"xsv\",\n binary = \"xsv.exe\",\n)\n" } }, - "ripgrep_linux_amd64": { + "goawk_darwin_arm64": { "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", "ruleClassName": "http_archive", "attributes": { - "name": "bzlparty_tools~override~ext~ripgrep_linux_amd64", - "url": "https://github.com/BurntSushi/ripgrep/releases/download/14.1.0/ripgrep-14.1.0-x86_64-unknown-linux-musl.tar.gz", - "integrity": "sha384-9C2Ethl4TaPzvRR2SDqlSb4bGuBP9NyE9PVUalTLA9fJA1Jd4OTgFKvBgdpGh3vb", - "build_file_content": "load(\"@bzlparty_tools//lib:toolchains.bzl\", \"binary_toolchain\")\nbinary_toolchain(\n name = \"ripgrep_binary_toolchain\",\n prefix = \"ripgrep\",\n binary = \"ripgrep-14.1.0-x86_64-unknown-linux-musl/rg\",\n)\n" + "name": "bzlparty_tools~override~tools~goawk_darwin_arm64", + "url": "https://github.com/benhoyt/goawk/releases/download/v1.27.0/goawk_v1.27.0_darwin_arm64.tar.gz", + "integrity": "sha384-iTMrskmk76SaA9VCbAQ0GpoWRiabnum4XcHkDgCWU4XjC2uAakjyhzyuJETtc50D", + "build_file_content": "load(\"@bzlparty_tools//lib:toolchains.bzl\", \"binary_toolchain\")\nbinary_toolchain(\n name = \"goawk_binary_toolchain\",\n prefix = \"goawk\",\n binary = \"goawk\",\n)\n" } }, - "ripgrep_linux_arm64": { + "xsv_darwin_amd64": { "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", "ruleClassName": "http_archive", "attributes": { - "name": "bzlparty_tools~override~ext~ripgrep_linux_arm64", - "url": "https://github.com/BurntSushi/ripgrep/releases/download/14.1.0/ripgrep-14.1.0-linux_arm64.tar.gz", + "name": "bzlparty_tools~override~tools~xsv_darwin_amd64", + "url": "https://github.com/cargo-prebuilt/index/releases/download/xsv-0.13.0/x85_64-apple-darwin.tar.gz", "integrity": "sha384-AI+HQg6X3xX+Su/0qIwiSw2Ygga0UNjAFFCZPicIJ8xlzT70tejy5Gx4ZEJ/dHOm", - "build_file_content": "load(\"@bzlparty_tools//lib:toolchains.bzl\", \"binary_toolchain\")\nbinary_toolchain(\n name = \"ripgrep_binary_toolchain\",\n prefix = \"ripgrep\",\n binary = \"ripgrep-14.1.0-linux_arm64/rg\",\n)\n" + "build_file_content": "load(\"@bzlparty_tools//lib:toolchains.bzl\", \"binary_toolchain\")\nbinary_toolchain(\n name = \"xsv_binary_toolchain\",\n prefix = \"xsv\",\n binary = \"xsv\",\n)\n" } }, - "goawk_darwin_arm64": { + "typos_darwin_arm64": { "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", "ruleClassName": "http_archive", "attributes": { - "name": "bzlparty_tools~override~ext~goawk_darwin_arm64", - "url": "https://github.com/benhoyt/goawk/releases/download/v1.27.0/goawk_v1.27.0_darwin_arm64.tar.gz", - "integrity": "sha384-iTMrskmk76SaA9VCbAQ0GpoWRiabnum4XcHkDgCWU4XjC2uAakjyhzyuJETtc50D", - "build_file_content": "load(\"@bzlparty_tools//lib:toolchains.bzl\", \"binary_toolchain\")\nbinary_toolchain(\n name = \"goawk_binary_toolchain\",\n prefix = \"goawk\",\n binary = \"goawk\",\n)\n" + "name": "bzlparty_tools~override~tools~typos_darwin_arm64", + "url": "https://github.com/cargo-prebuilt/index/releases/download/typos-cli-1.21.0/aarch64-apple-darwin.tar.gz", + "integrity": "sha384-8nOMf5jj3iggOtsS/dChGnhHJBdHkPkJw+2DoGkuOncJfI1TVfxfiOMlNx6cYBjr", + "build_file_content": "load(\"@bzlparty_tools//lib:toolchains.bzl\", \"binary_toolchain\")\nbinary_toolchain(\n name = \"typos_binary_toolchain\",\n prefix = \"typos\",\n binary = \"typos\",\n)\n" } }, - "ripgrep_darwin_amd64": { + "xsv_linux_amd64": { "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", "ruleClassName": "http_archive", "attributes": { - "name": "bzlparty_tools~override~ext~ripgrep_darwin_amd64", - "url": "https://github.com/BurntSushi/ripgrep/releases/download/14.1.0/ripgrep-14.1.0-x85_64-apple-darwin.tar.gz", - "integrity": "sha384-AI+HQg6X3xX+Su/0qIwiSw2Ygga0UNjAFFCZPicIJ8xlzT70tejy5Gx4ZEJ/dHOm", - "build_file_content": "load(\"@bzlparty_tools//lib:toolchains.bzl\", \"binary_toolchain\")\nbinary_toolchain(\n name = \"ripgrep_binary_toolchain\",\n prefix = \"ripgrep\",\n binary = \"ripgrep-14.1.0-x85_64-apple-darwin/rg\",\n)\n" + "name": "bzlparty_tools~override~tools~xsv_linux_amd64", + "url": "https://github.com/cargo-prebuilt/index/releases/download/xsv-0.13.0/x86_64-unknown-linux-musl.tar.gz", + "integrity": "sha384-a9R7blrnvbuiwK3fxRdPvRErETlXLQUnVRnq0TRaVNLQ5ppbXhYZcvbrHd9WuHK8", + "build_file_content": "load(\"@bzlparty_tools//lib:toolchains.bzl\", \"binary_toolchain\")\nbinary_toolchain(\n name = \"xsv_binary_toolchain\",\n prefix = \"xsv\",\n binary = \"xsv\",\n)\n" } }, - "ripgrep_windows_amd64": { + "typos_windows_amd64": { "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", "ruleClassName": "http_archive", "attributes": { - "name": "bzlparty_tools~override~ext~ripgrep_windows_amd64", - "url": "https://github.com/BurntSushi/ripgrep/releases/download/14.1.0/ripgrep-14.1.0-x86_64-pc-windows-gnu.zip", - "integrity": "sha384-gBz6YsKFpFzkZy6hjiEp2XKiJAkxKpaJQSlDKCj8+qkHHuUhQbWbxAxbXSxNjvij", - "build_file_content": "load(\"@bzlparty_tools//lib:toolchains.bzl\", \"binary_toolchain\")\nbinary_toolchain(\n name = \"ripgrep_binary_toolchain\",\n prefix = \"ripgrep\",\n binary = \"ripgrep-14.1.0-x86_64-pc-windows-gnu/rg.exe\",\n)\n" + "name": "bzlparty_tools~override~tools~typos_windows_amd64", + "url": "https://github.com/cargo-prebuilt/index/releases/download/typos-cli-1.21.0/x86_64-pc-windows-msvc.tar.gz", + "integrity": "sha384-B45/wcXU/Q5zB7oxY6kuZNDmj4lu1Shnn47/5Eij12JCJQpoMHqlc2NE+CswBJhS", + "build_file_content": "load(\"@bzlparty_tools//lib:toolchains.bzl\", \"binary_toolchain\")\nbinary_toolchain(\n name = \"typos_binary_toolchain\",\n prefix = \"typos\",\n binary = \"typos.exe\",\n)\n" } }, - "goawk_linux_amd64": { + "goawk": { + "bzlFile": "@@bzlparty_tools~override//lib:toolchains.bzl", + "ruleClassName": "_binary_toolchains", + "attributes": { + "name": "bzlparty_tools~override~tools~goawk", + "build_file": "toolchain(\n name = \"goawk_darwin_amd64_toolchain\",\n toolchain = \"@goawk_darwin_amd64//:goawk_binary_toolchain\",\n exec_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:x86_64\"],\n toolchain_type = \"@bzlparty_tools//toolchains:goawk_toolchain_type\",\n visibility = [\"//visibility:public\"],\n)\ntoolchain(\n name = \"goawk_darwin_arm64_toolchain\",\n toolchain = \"@goawk_darwin_arm64//:goawk_binary_toolchain\",\n exec_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:arm64\"],\n toolchain_type = \"@bzlparty_tools//toolchains:goawk_toolchain_type\",\n visibility = [\"//visibility:public\"],\n)\ntoolchain(\n name = \"goawk_linux_amd64_toolchain\",\n toolchain = \"@goawk_linux_amd64//:goawk_binary_toolchain\",\n exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:x86_64\"],\n toolchain_type = \"@bzlparty_tools//toolchains:goawk_toolchain_type\",\n visibility = [\"//visibility:public\"],\n)\ntoolchain(\n name = \"goawk_linux_arm64_toolchain\",\n toolchain = \"@goawk_linux_arm64//:goawk_binary_toolchain\",\n exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:arm64\"],\n toolchain_type = \"@bzlparty_tools//toolchains:goawk_toolchain_type\",\n visibility = [\"//visibility:public\"],\n)\ntoolchain(\n name = \"goawk_windows_amd64_toolchain\",\n toolchain = \"@goawk_windows_amd64//:goawk_binary_toolchain\",\n exec_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:x86_64\"],\n toolchain_type = \"@bzlparty_tools//toolchains:goawk_toolchain_type\",\n visibility = [\"//visibility:public\"],\n)\n" + } + }, + "ripgrep_linux_arm64": { "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", "ruleClassName": "http_archive", "attributes": { - "name": "bzlparty_tools~override~ext~goawk_linux_amd64", - "url": "https://github.com/benhoyt/goawk/releases/download/v1.27.0/goawk_v1.27.0_linux_amd64.tar.gz", - "integrity": "sha384-a0aNEEzogU7GaezmBA8xvrGI/J+VUdSdwmA+/5T2wTU1KENsLMUdBmFPmBF5Tqm6", - "build_file_content": "load(\"@bzlparty_tools//lib:toolchains.bzl\", \"binary_toolchain\")\nbinary_toolchain(\n name = \"goawk_binary_toolchain\",\n prefix = \"goawk\",\n binary = \"goawk\",\n)\n" + "name": "bzlparty_tools~override~tools~ripgrep_linux_arm64", + "url": "https://github.com/BurntSushi/ripgrep/releases/download/14.1.0/ripgrep-14.1.0-linux_arm64.tar.gz", + "integrity": "sha384-AI+HQg6X3xX+Su/0qIwiSw2Ygga0UNjAFFCZPicIJ8xlzT70tejy5Gx4ZEJ/dHOm", + "build_file_content": "load(\"@bzlparty_tools//lib:toolchains.bzl\", \"binary_toolchain\")\nbinary_toolchain(\n name = \"ripgrep_binary_toolchain\",\n prefix = \"ripgrep\",\n binary = \"ripgrep-14.1.0-linux_arm64/rg\",\n)\n" } }, "goawk_linux_arm64": { "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", "ruleClassName": "http_archive", "attributes": { - "name": "bzlparty_tools~override~ext~goawk_linux_arm64", + "name": "bzlparty_tools~override~tools~goawk_linux_arm64", "url": "https://github.com/benhoyt/goawk/releases/download/v1.27.0/goawk_v1.27.0_linux_arm64.tar.gz", "integrity": "sha384-1zoo/+D+R4dcXurhXzlSX4nw+546aWICMJ0OJTQFGl9veVKuHW9ZuN3AT6b3P+z6", "build_file_content": "load(\"@bzlparty_tools//lib:toolchains.bzl\", \"binary_toolchain\")\nbinary_toolchain(\n name = \"goawk_binary_toolchain\",\n prefix = \"goawk\",\n binary = \"goawk\",\n)\n" } }, + "xsv": { + "bzlFile": "@@bzlparty_tools~override//lib:toolchains.bzl", + "ruleClassName": "_binary_toolchains", + "attributes": { + "name": "bzlparty_tools~override~tools~xsv", + "build_file": "toolchain(\n name = \"xsv_darwin_amd64_toolchain\",\n toolchain = \"@xsv_darwin_amd64//:xsv_binary_toolchain\",\n exec_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:x86_64\"],\n toolchain_type = \"@bzlparty_tools//toolchains:xsv_toolchain_type\",\n visibility = [\"//visibility:public\"],\n)\ntoolchain(\n name = \"xsv_darwin_arm64_toolchain\",\n toolchain = \"@xsv_darwin_arm64//:xsv_binary_toolchain\",\n exec_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:arm64\"],\n toolchain_type = \"@bzlparty_tools//toolchains:xsv_toolchain_type\",\n visibility = [\"//visibility:public\"],\n)\ntoolchain(\n name = \"xsv_linux_amd64_toolchain\",\n toolchain = \"@xsv_linux_amd64//:xsv_binary_toolchain\",\n exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:x86_64\"],\n toolchain_type = \"@bzlparty_tools//toolchains:xsv_toolchain_type\",\n visibility = [\"//visibility:public\"],\n)\ntoolchain(\n name = \"xsv_linux_arm64_toolchain\",\n toolchain = \"@xsv_linux_arm64//:xsv_binary_toolchain\",\n exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:arm64\"],\n toolchain_type = \"@bzlparty_tools//toolchains:xsv_toolchain_type\",\n visibility = [\"//visibility:public\"],\n)\ntoolchain(\n name = \"xsv_windows_amd64_toolchain\",\n toolchain = \"@xsv_windows_amd64//:xsv_binary_toolchain\",\n exec_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:x86_64\"],\n toolchain_type = \"@bzlparty_tools//toolchains:xsv_toolchain_type\",\n visibility = [\"//visibility:public\"],\n)\ntoolchain(\n name = \"xsv_windows_arm64_toolchain\",\n toolchain = \"@xsv_windows_arm64//:xsv_binary_toolchain\",\n exec_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:arm64\"],\n toolchain_type = \"@bzlparty_tools//toolchains:xsv_toolchain_type\",\n visibility = [\"//visibility:public\"],\n)\n" + } + }, + "ripgrep_darwin_arm64": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "bzlparty_tools~override~tools~ripgrep_darwin_arm64", + "url": "https://github.com/BurntSushi/ripgrep/releases/download/14.1.0/ripgrep-14.1.0-aarch64-apple-darwin.tar.gz", + "integrity": "sha384-3Ah7zo307VFV8plovAg8ex4hDy0P04YU5yz7Fwzs6mR5B4gwDeEJb7A6ggVFHyIL", + "build_file_content": "load(\"@bzlparty_tools//lib:toolchains.bzl\", \"binary_toolchain\")\nbinary_toolchain(\n name = \"ripgrep_binary_toolchain\",\n prefix = \"ripgrep\",\n binary = \"ripgrep-14.1.0-aarch64-apple-darwin/rg\",\n)\n" + } + }, + "ripgrep": { + "bzlFile": "@@bzlparty_tools~override//lib:toolchains.bzl", + "ruleClassName": "_binary_toolchains", + "attributes": { + "name": "bzlparty_tools~override~tools~ripgrep", + "build_file": "toolchain(\n name = \"ripgrep_darwin_amd64_toolchain\",\n toolchain = \"@ripgrep_darwin_amd64//:ripgrep_binary_toolchain\",\n exec_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:x86_64\"],\n toolchain_type = \"@bzlparty_tools//toolchains:ripgrep_toolchain_type\",\n visibility = [\"//visibility:public\"],\n)\ntoolchain(\n name = \"ripgrep_darwin_arm64_toolchain\",\n toolchain = \"@ripgrep_darwin_arm64//:ripgrep_binary_toolchain\",\n exec_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:arm64\"],\n toolchain_type = \"@bzlparty_tools//toolchains:ripgrep_toolchain_type\",\n visibility = [\"//visibility:public\"],\n)\ntoolchain(\n name = \"ripgrep_linux_amd64_toolchain\",\n toolchain = \"@ripgrep_linux_amd64//:ripgrep_binary_toolchain\",\n exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:x86_64\"],\n toolchain_type = \"@bzlparty_tools//toolchains:ripgrep_toolchain_type\",\n visibility = [\"//visibility:public\"],\n)\ntoolchain(\n name = \"ripgrep_linux_arm64_toolchain\",\n toolchain = \"@ripgrep_linux_arm64//:ripgrep_binary_toolchain\",\n exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:arm64\"],\n toolchain_type = \"@bzlparty_tools//toolchains:ripgrep_toolchain_type\",\n visibility = [\"//visibility:public\"],\n)\ntoolchain(\n name = \"ripgrep_windows_amd64_toolchain\",\n toolchain = \"@ripgrep_windows_amd64//:ripgrep_binary_toolchain\",\n exec_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:x86_64\"],\n toolchain_type = \"@bzlparty_tools//toolchains:ripgrep_toolchain_type\",\n visibility = [\"//visibility:public\"],\n)\n" + } + }, + "typos_linux_arm64": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "bzlparty_tools~override~tools~typos_linux_arm64", + "url": "https://github.com/cargo-prebuilt/index/releases/download/typos-cli-1.21.0/aarch64-unknown-linux-musl.tar.gz", + "integrity": "sha384-AkCCxhe7jU4ykyZwW9A6R6sihsi0+21/tZ0kWaFhyV2UqwlZC85qN2qPokprTkow", + "build_file_content": "load(\"@bzlparty_tools//lib:toolchains.bzl\", \"binary_toolchain\")\nbinary_toolchain(\n name = \"typos_binary_toolchain\",\n prefix = \"typos\",\n binary = \"typos\",\n)\n" + } + }, + "ripgrep_darwin_amd64": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "bzlparty_tools~override~tools~ripgrep_darwin_amd64", + "url": "https://github.com/BurntSushi/ripgrep/releases/download/14.1.0/ripgrep-14.1.0-x85_64-apple-darwin.tar.gz", + "integrity": "sha384-AI+HQg6X3xX+Su/0qIwiSw2Ygga0UNjAFFCZPicIJ8xlzT70tejy5Gx4ZEJ/dHOm", + "build_file_content": "load(\"@bzlparty_tools//lib:toolchains.bzl\", \"binary_toolchain\")\nbinary_toolchain(\n name = \"ripgrep_binary_toolchain\",\n prefix = \"ripgrep\",\n binary = \"ripgrep-14.1.0-x85_64-apple-darwin/rg\",\n)\n" + } + }, + "xsv_linux_arm64": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "bzlparty_tools~override~tools~xsv_linux_arm64", + "url": "https://github.com/cargo-prebuilt/index/releases/download/xsv-0.13.0/aarch64-unknown-linux-musl.tar.gz", + "integrity": "sha384-S+MRIKADdpHoFvJd5IJVvAu6QbK4lQxAqopDIZbYZC1dZGzHwiKBFtYbAqWS0gea", + "build_file_content": "load(\"@bzlparty_tools//lib:toolchains.bzl\", \"binary_toolchain\")\nbinary_toolchain(\n name = \"xsv_binary_toolchain\",\n prefix = \"xsv\",\n binary = \"xsv\",\n)\n" + } + }, "goawk_windows_amd64": { "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", "ruleClassName": "http_archive", "attributes": { - "name": "bzlparty_tools~override~ext~goawk_windows_amd64", + "name": "bzlparty_tools~override~tools~goawk_windows_amd64", "url": "https://github.com/benhoyt/goawk/releases/download/v1.27.0/goawk_v1.27.0_windows_amd64.zip", "integrity": "sha384-zo8BnmeANuUrmLhy+1hNG8PG8Th5ovNnLian5cc0AArEeXvbMsyiWAZdfNt+YoLq", "build_file_content": "load(\"@bzlparty_tools//lib:toolchains.bzl\", \"binary_toolchain\")\nbinary_toolchain(\n name = \"goawk_binary_toolchain\",\n prefix = \"goawk\",\n binary = \"goawk.exe\",\n)\n" } }, - "ripgrep_darwin_arm64": { + "xsv_darwin_arm64": { "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", "ruleClassName": "http_archive", "attributes": { - "name": "bzlparty_tools~override~ext~ripgrep_darwin_arm64", - "url": "https://github.com/BurntSushi/ripgrep/releases/download/14.1.0/ripgrep-14.1.0-aarch64-apple-darwin.tar.gz", - "integrity": "sha384-3Ah7zo307VFV8plovAg8ex4hDy0P04YU5yz7Fwzs6mR5B4gwDeEJb7A6ggVFHyIL", - "build_file_content": "load(\"@bzlparty_tools//lib:toolchains.bzl\", \"binary_toolchain\")\nbinary_toolchain(\n name = \"ripgrep_binary_toolchain\",\n prefix = \"ripgrep\",\n binary = \"ripgrep-14.1.0-aarch64-apple-darwin/rg\",\n)\n" + "name": "bzlparty_tools~override~tools~xsv_darwin_arm64", + "url": "https://github.com/cargo-prebuilt/index/releases/download/xsv-0.13.0/aarch64-apple-darwin.tar.gz", + "integrity": "sha384-LNKs3vYVqUzH09ylwPhkdKMMhV26tmSro8+lXkqvOVtlaCbKWjdYMiaipQ9L+jcb", + "build_file_content": "load(\"@bzlparty_tools//lib:toolchains.bzl\", \"binary_toolchain\")\nbinary_toolchain(\n name = \"xsv_binary_toolchain\",\n prefix = \"xsv\",\n binary = \"xsv\",\n)\n" + } + }, + "xsv_windows_amd64": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "bzlparty_tools~override~tools~xsv_windows_amd64", + "url": "https://github.com/cargo-prebuilt/index/releases/download/xsv-0.13.0/x86_64-pc-windows-msvc.tar.gz", + "integrity": "sha384-IxVWBJuknchdv83BQ6HjbPkUwTDX8cQzdqhRMNmMrB1/DiJn0Hhq3atrCeYhQngx", + "build_file_content": "load(\"@bzlparty_tools//lib:toolchains.bzl\", \"binary_toolchain\")\nbinary_toolchain(\n name = \"xsv_binary_toolchain\",\n prefix = \"xsv\",\n binary = \"xsv.exe\",\n)\n" + } + }, + "typos_windows_arm64": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "bzlparty_tools~override~tools~typos_windows_arm64", + "url": "https://github.com/cargo-prebuilt/index/releases/download/typos-cli-1.21.0/aarch64-pc-windows-msvc.tar.gz", + "integrity": "sha384-AuGDiX1gA1199GW2oUL9KqjIhdOpa+N8WFBxq3xNtOOk6FbOIHCLnL0tOmU5dB+N", + "build_file_content": "load(\"@bzlparty_tools//lib:toolchains.bzl\", \"binary_toolchain\")\nbinary_toolchain(\n name = \"typos_binary_toolchain\",\n prefix = \"typos\",\n binary = \"typos.exe\",\n)\n" + } + }, + "ripgrep_linux_amd64": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "bzlparty_tools~override~tools~ripgrep_linux_amd64", + "url": "https://github.com/BurntSushi/ripgrep/releases/download/14.1.0/ripgrep-14.1.0-x86_64-unknown-linux-musl.tar.gz", + "integrity": "sha384-9C2Ethl4TaPzvRR2SDqlSb4bGuBP9NyE9PVUalTLA9fJA1Jd4OTgFKvBgdpGh3vb", + "build_file_content": "load(\"@bzlparty_tools//lib:toolchains.bzl\", \"binary_toolchain\")\nbinary_toolchain(\n name = \"ripgrep_binary_toolchain\",\n prefix = \"ripgrep\",\n binary = \"ripgrep-14.1.0-x86_64-unknown-linux-musl/rg\",\n)\n" + } + }, + "typos": { + "bzlFile": "@@bzlparty_tools~override//lib:toolchains.bzl", + "ruleClassName": "_binary_toolchains", + "attributes": { + "name": "bzlparty_tools~override~tools~typos", + "build_file": "toolchain(\n name = \"typos_darwin_amd64_toolchain\",\n toolchain = \"@typos_darwin_amd64//:typos_binary_toolchain\",\n exec_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:x86_64\"],\n toolchain_type = \"@bzlparty_tools//toolchains:typos_toolchain_type\",\n visibility = [\"//visibility:public\"],\n)\ntoolchain(\n name = \"typos_darwin_arm64_toolchain\",\n toolchain = \"@typos_darwin_arm64//:typos_binary_toolchain\",\n exec_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:arm64\"],\n toolchain_type = \"@bzlparty_tools//toolchains:typos_toolchain_type\",\n visibility = [\"//visibility:public\"],\n)\ntoolchain(\n name = \"typos_linux_amd64_toolchain\",\n toolchain = \"@typos_linux_amd64//:typos_binary_toolchain\",\n exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:x86_64\"],\n toolchain_type = \"@bzlparty_tools//toolchains:typos_toolchain_type\",\n visibility = [\"//visibility:public\"],\n)\ntoolchain(\n name = \"typos_linux_arm64_toolchain\",\n toolchain = \"@typos_linux_arm64//:typos_binary_toolchain\",\n exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:arm64\"],\n toolchain_type = \"@bzlparty_tools//toolchains:typos_toolchain_type\",\n visibility = [\"//visibility:public\"],\n)\ntoolchain(\n name = \"typos_windows_amd64_toolchain\",\n toolchain = \"@typos_windows_amd64//:typos_binary_toolchain\",\n exec_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:x86_64\"],\n toolchain_type = \"@bzlparty_tools//toolchains:typos_toolchain_type\",\n visibility = [\"//visibility:public\"],\n)\ntoolchain(\n name = \"typos_windows_arm64_toolchain\",\n toolchain = \"@typos_windows_arm64//:typos_binary_toolchain\",\n exec_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:arm64\"],\n toolchain_type = \"@bzlparty_tools//toolchains:typos_toolchain_type\",\n visibility = [\"//visibility:public\"],\n)\n" + } + }, + "ripgrep_windows_amd64": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "bzlparty_tools~override~tools~ripgrep_windows_amd64", + "url": "https://github.com/BurntSushi/ripgrep/releases/download/14.1.0/ripgrep-14.1.0-x86_64-pc-windows-gnu.zip", + "integrity": "sha384-gBz6YsKFpFzkZy6hjiEp2XKiJAkxKpaJQSlDKCj8+qkHHuUhQbWbxAxbXSxNjvij", + "build_file_content": "load(\"@bzlparty_tools//lib:toolchains.bzl\", \"binary_toolchain\")\nbinary_toolchain(\n name = \"ripgrep_binary_toolchain\",\n prefix = \"ripgrep\",\n binary = \"ripgrep-14.1.0-x86_64-pc-windows-gnu/rg.exe\",\n)\n" + } + }, + "typos_darwin_amd64": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "bzlparty_tools~override~tools~typos_darwin_amd64", + "url": "https://github.com/cargo-prebuilt/index/releases/download/typos-cli-1.21.0/x85_64-apple-darwin.tar.gz", + "integrity": "sha384-AI+HQg6X3xX+Su/0qIwiSw2Ygga0UNjAFFCZPicIJ8xlzT70tejy5Gx4ZEJ/dHOm", + "build_file_content": "load(\"@bzlparty_tools//lib:toolchains.bzl\", \"binary_toolchain\")\nbinary_toolchain(\n name = \"typos_binary_toolchain\",\n prefix = \"typos\",\n binary = \"typos\",\n)\n" + } + }, + "goawk_linux_amd64": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "bzlparty_tools~override~tools~goawk_linux_amd64", + "url": "https://github.com/benhoyt/goawk/releases/download/v1.27.0/goawk_v1.27.0_linux_amd64.tar.gz", + "integrity": "sha384-a0aNEEzogU7GaezmBA8xvrGI/J+VUdSdwmA+/5T2wTU1KENsLMUdBmFPmBF5Tqm6", + "build_file_content": "load(\"@bzlparty_tools//lib:toolchains.bzl\", \"binary_toolchain\")\nbinary_toolchain(\n name = \"goawk_binary_toolchain\",\n prefix = \"goawk\",\n binary = \"goawk\",\n)\n" } }, "goawk_darwin_amd64": { "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", "ruleClassName": "http_archive", "attributes": { - "name": "bzlparty_tools~override~ext~goawk_darwin_amd64", + "name": "bzlparty_tools~override~tools~goawk_darwin_amd64", "url": "https://github.com/benhoyt/goawk/releases/download/v1.27.0/goawk_v1.27.0_darwin_amd64.tar.gz", "integrity": "sha384-uPClT5eTKUZQncwg7r/2e20kaz16AANZRp/HC9WquTWeeX9LY6yXJSdJ903zHkBq", "build_file_content": "load(\"@bzlparty_tools//lib:toolchains.bzl\", \"binary_toolchain\")\nbinary_toolchain(\n name = \"goawk_binary_toolchain\",\n prefix = \"goawk\",\n binary = \"goawk\",\n)\n" diff --git a/lib/extensions.bzl b/lib/extensions.bzl index b90da26..03981ac 100644 --- a/lib/extensions.bzl +++ b/lib/extensions.bzl @@ -2,26 +2,31 @@ load("//lib:toolchains.bzl", "platform_toolchains") load("//toolchains/goawk:assets.bzl", GOAWK_ASSETS = "ASSETS") load("//toolchains/ripgrep:assets.bzl", RIPGREP_ASSETS = "ASSETS") +load("//toolchains/typos:assets.bzl", TYPOS_ASSETS = "ASSETS") +load("//toolchains/xsv:assets.bzl", XSV_ASSETS = "ASSETS") + +TOOLS = { + "goawk": GOAWK_ASSETS, + "ripgrep": RIPGREP_ASSETS, + "typos": TYPOS_ASSETS, + "xsv": XSV_ASSETS, +} + +TAG_CLASSES = { + t: tag_class(attrs = {"name": attr.string(default = t)}) + for t in TOOLS.keys() +} + +def _has_tag(module, tag): + return hasattr(module.tags, tag) and len(getattr(module.tags, tag)) > 0 def _impl(ctx): for module in ctx.modules: - if len(module.tags.goawk) > 0: - platform_toolchains(name = "goawk", assets = GOAWK_ASSETS) - if len(module.tags.ripgrep) > 0: - platform_toolchains(name = "ripgrep", assets = RIPGREP_ASSETS) + for name, assets in TOOLS.items(): + if _has_tag(module, name): + platform_toolchains(name = name, assets = assets) -ext = module_extension( +tools = module_extension( _impl, - tag_classes = { - "goawk": tag_class( - attrs = { - "name": attr.string(default = "goawk"), - }, - ), - "ripgrep": tag_class( - attrs = { - "name": attr.string(default = "ripgrep"), - }, - ), - }, + tag_classes = TAG_CLASSES, ) diff --git a/lib/ripgrep.bzl b/lib/ripgrep.bzl index e71a74a..c02473e 100644 --- a/lib/ripgrep.bzl +++ b/lib/ripgrep.bzl @@ -1,5 +1,7 @@ "# ripgrep" +load("@bazel_skylib//rules:write_file.bzl", "write_file") + # buildifier: disable=function-docstring def ripgrep(name, out, file = None, pattern = None, **kwargs): args = [] @@ -20,3 +22,24 @@ def ripgrep(name, out, file = None, pattern = None, **kwargs): toolchains = ["@bzlparty_tools//toolchains:ripgrep"], **kwargs ) + +def ripgrep_binary(name, **kwargs): + write_file( + name = "%s_sh" % name, + out = "%s.sh" % name, + content = [ + "#!/usr/bin/env bash", + "echo $1", + "env", + ], + ) + native.sh_binary( + name = name, + srcs = ["%s_sh" % name], + args = [ + "$(RIPGREP_BIN)", + "$(rootpaths %s)" % " ".join(kwargs.get("data")), + ], + toolchains = ["@bzlparty_tools//toolchains:ripgrep"], + **kwargs + ) diff --git a/lib/toolchains.bzl b/lib/toolchains.bzl index 89a194a..a0af098 100644 --- a/lib/toolchains.bzl +++ b/lib/toolchains.bzl @@ -80,30 +80,3 @@ _binary_toolchains = repository_rule( "build_file": attr.string(mandatory = True), }, ) - -def _resolved_toolchain_impl(toolchain): - def _impl(ctx): - toolchain_info = ctx.toolchains[toolchain] - return [ - toolchain_info, - toolchain_info.default, - toolchain_info.binary_info, - toolchain_info.template_variables, - ] - - return _impl - -GOAWK_TOOLCHAIN_TYPE = "@bzlparty_tools//toolchains:goawk_toolchain_type" -RIPGREP_TOOLCHAIN_TYPE = "@bzlparty_tools//toolchains:ripgrep_toolchain_type" - -goawk_resolved_toolchain = rule( - implementation = _resolved_toolchain_impl(GOAWK_TOOLCHAIN_TYPE), - toolchains = [GOAWK_TOOLCHAIN_TYPE], - incompatible_use_toolchain_transition = True, -) - -ripgrep_resolved_toolchain = rule( - implementation = _resolved_toolchain_impl(RIPGREP_TOOLCHAIN_TYPE), - toolchains = [RIPGREP_TOOLCHAIN_TYPE], - incompatible_use_toolchain_transition = True, -) diff --git a/lib/typos.bzl b/lib/typos.bzl new file mode 100644 index 0000000..6f533cd --- /dev/null +++ b/lib/typos.bzl @@ -0,0 +1,50 @@ +# buildifier: disable=module-docstring +def _typos_impl(ctx): + output = ctx.actions.declare_file("%s.bash" % ctx.attr.name) + typos = ctx.toolchains["@bzlparty_tools//toolchains:typos_toolchain_type"].binary_info.binary + ctx.actions.write( + output = output, + content = """\ +#!/usr/bin/env bash + +set -o pipefail -o errexit + +typos_bin=$(realpath "{path}"); +workspace=$(dirname "$(realpath "{workspace}")") + +eval "$typos_bin $workspace" +""".format( + path = typos.path, + workspace = ctx.file.workspace.path, + ), + is_executable = True, + ) + + return [ + DefaultInfo( + files = depset([output]), + runfiles = ctx.runfiles(files = [typos, ctx.file.workspace]), + executable = output, + ), + ] + +_typos_test = rule( + _typos_impl, + attrs = { + "workspace": attr.label(allow_single_file = True, default = Label("//:MODULE.bazel")), + }, + toolchains = ["@bzlparty_tools//toolchains:typos_toolchain_type"], + test = True, +) + +# buildifier: disable=function-docstring +def typos_test(**kwargs): + if kwargs.get("no_sandbox", True): + tags = kwargs.get("tags", []) + + for t in ["no-sandbox", "no-cache", "external"]: + if t not in tags: + tags.append(t) + + kwargs["tags"] = tags + _typos_test(**kwargs) diff --git a/toolchains/BUILD.bazel b/toolchains/BUILD.bazel index b377eec..87eca8d 100644 --- a/toolchains/BUILD.bazel +++ b/toolchains/BUILD.bazel @@ -1,4 +1,10 @@ -load("//lib:toolchains.bzl", "goawk_resolved_toolchain", "ripgrep_resolved_toolchain") +load( + ":toolchains.bzl", + "goawk_resolved_toolchain", + "ripgrep_resolved_toolchain", + "typos_resolved_toolchain", + "xsv_resolved_toolchain", +) package(default_visibility = ["//visibility:public"]) @@ -21,3 +27,23 @@ ripgrep_resolved_toolchain( name = "ripgrep", visibility = ["//visibility:public"], ) + +toolchain_type( + name = "typos_toolchain_type", + visibility = ["//visibility:public"], +) + +typos_resolved_toolchain( + name = "typos", + visibility = ["//visibility:public"], +) + +toolchain_type( + name = "xsv_toolchain_type", + visibility = ["//visibility:public"], +) + +xsv_resolved_toolchain( + name = "xsv", + visibility = ["//visibility:public"], +) diff --git a/toolchains/toolchains.bzl b/toolchains/toolchains.bzl new file mode 100644 index 0000000..b955b80 --- /dev/null +++ b/toolchains/toolchains.bzl @@ -0,0 +1,41 @@ +# buildifier: disable=module-docstring +def _resolved_toolchain_impl(toolchain): + def _impl(ctx): + toolchain_info = ctx.toolchains[toolchain] + return [ + toolchain_info, + toolchain_info.default, + toolchain_info.binary_info, + toolchain_info.template_variables, + ] + + return _impl + +GOAWK_TOOLCHAIN_TYPE = "@bzlparty_tools//toolchains:goawk_toolchain_type" +RIPGREP_TOOLCHAIN_TYPE = "@bzlparty_tools//toolchains:ripgrep_toolchain_type" +TYPOS_TOOLCHAIN_TYPE = "@bzlparty_tools//toolchains:typos_toolchain_type" +XSV_TOOLCHAIN_TYPE = "@bzlparty_tools//toolchains:xsv_toolchain_type" + +goawk_resolved_toolchain = rule( + implementation = _resolved_toolchain_impl(GOAWK_TOOLCHAIN_TYPE), + toolchains = [GOAWK_TOOLCHAIN_TYPE], + incompatible_use_toolchain_transition = True, +) + +ripgrep_resolved_toolchain = rule( + implementation = _resolved_toolchain_impl(RIPGREP_TOOLCHAIN_TYPE), + toolchains = [RIPGREP_TOOLCHAIN_TYPE], + incompatible_use_toolchain_transition = True, +) + +typos_resolved_toolchain = rule( + implementation = _resolved_toolchain_impl(TYPOS_TOOLCHAIN_TYPE), + toolchains = [TYPOS_TOOLCHAIN_TYPE], + incompatible_use_toolchain_transition = True, +) + +xsv_resolved_toolchain = rule( + implementation = _resolved_toolchain_impl(XSV_TOOLCHAIN_TYPE), + toolchains = [XSV_TOOLCHAIN_TYPE], + incompatible_use_toolchain_transition = True, +) diff --git a/toolchains/typos/BUILD.bazel b/toolchains/typos/BUILD.bazel new file mode 100644 index 0000000..8555168 --- /dev/null +++ b/toolchains/typos/BUILD.bazel @@ -0,0 +1,29 @@ +load("//lib:platform_binary.bzl", "platform_binaries") + +VERSION = "1.21.0" + +SUPPORTED_PLATFORMS = [ + "darwin_amd64", + "darwin_arm64", + "linux_amd64", + "linux_arm64", + "windows_amd64", + "windows_arm64", +] + +GITHUB_URL = "https://github.com/cargo-prebuilt/index/releases/download/typos-cli-%s" % VERSION + +platform_binaries( + name = "typos", + binary = "typos", + platforms = SUPPORTED_PLATFORMS, + platforms_map = { + "darwin_amd64": "x85_64-apple-darwin", + "darwin_arm64": "aarch64-apple-darwin", + "linux_amd64": "x86_64-unknown-linux-musl", + "linux_arm64": "aarch64-unknown-linux-musl", + "windows_amd64": "x86_64-pc-windows-msvc", + "windows_arm64": "aarch64-pc-windows-msvc", + }, + url = "%s/{platform}.tar.gz" % GITHUB_URL, +) diff --git a/toolchains/typos/assets.bzl b/toolchains/typos/assets.bzl new file mode 100644 index 0000000..1b9f0cf --- /dev/null +++ b/toolchains/typos/assets.bzl @@ -0,0 +1,8 @@ +ASSETS = { + "darwin_amd64": struct(binary = "typos", url = "https://github.com/cargo-prebuilt/index/releases/download/typos-cli-1.21.0/x85_64-apple-darwin.tar.gz", integrity = "sha384-AI+HQg6X3xX+Su/0qIwiSw2Ygga0UNjAFFCZPicIJ8xlzT70tejy5Gx4ZEJ/dHOm"), + "darwin_arm64": struct(binary = "typos", url = "https://github.com/cargo-prebuilt/index/releases/download/typos-cli-1.21.0/aarch64-apple-darwin.tar.gz", integrity = "sha384-8nOMf5jj3iggOtsS/dChGnhHJBdHkPkJw+2DoGkuOncJfI1TVfxfiOMlNx6cYBjr"), + "linux_amd64": struct(binary = "typos", url = "https://github.com/cargo-prebuilt/index/releases/download/typos-cli-1.21.0/x86_64-unknown-linux-musl.tar.gz", integrity = "sha384-YdD3XLwJTKSKSftpdZ6JbNoiKouHkZ0D/BGQk3736KlzsvQ9sefTkoAYvYIU96Zg"), + "linux_arm64": struct(binary = "typos", url = "https://github.com/cargo-prebuilt/index/releases/download/typos-cli-1.21.0/aarch64-unknown-linux-musl.tar.gz", integrity = "sha384-AkCCxhe7jU4ykyZwW9A6R6sihsi0+21/tZ0kWaFhyV2UqwlZC85qN2qPokprTkow"), + "windows_amd64": struct(binary = "typos.exe", url = "https://github.com/cargo-prebuilt/index/releases/download/typos-cli-1.21.0/x86_64-pc-windows-msvc.tar.gz", integrity = "sha384-B45/wcXU/Q5zB7oxY6kuZNDmj4lu1Shnn47/5Eij12JCJQpoMHqlc2NE+CswBJhS"), + "windows_arm64": struct(binary = "typos.exe", url = "https://github.com/cargo-prebuilt/index/releases/download/typos-cli-1.21.0/aarch64-pc-windows-msvc.tar.gz", integrity = "sha384-AuGDiX1gA1199GW2oUL9KqjIhdOpa+N8WFBxq3xNtOOk6FbOIHCLnL0tOmU5dB+N"), +} diff --git a/toolchains/xsv/BUILD.bazel b/toolchains/xsv/BUILD.bazel new file mode 100644 index 0000000..0b57cd3 --- /dev/null +++ b/toolchains/xsv/BUILD.bazel @@ -0,0 +1,29 @@ +load("//lib:platform_binary.bzl", "platform_binaries") + +VERSION = "0.13.0" + +SUPPORTED_PLATFORMS = [ + "darwin_amd64", + "darwin_arm64", + "linux_amd64", + "linux_arm64", + "windows_amd64", + "windows_arm64", +] + +GITHUB_URL = "https://github.com/cargo-prebuilt/index/releases/download/xsv-%s" % VERSION + +platform_binaries( + name = "xsv", + binary = "xsv", + platforms = SUPPORTED_PLATFORMS, + platforms_map = { + "darwin_amd64": "x85_64-apple-darwin", + "darwin_arm64": "aarch64-apple-darwin", + "linux_amd64": "x86_64-unknown-linux-musl", + "linux_arm64": "aarch64-unknown-linux-musl", + "windows_amd64": "x86_64-pc-windows-msvc", + "windows_arm64": "aarch64-pc-windows-msvc", + }, + url = "%s/{platform}.tar.gz" % GITHUB_URL, +) diff --git a/toolchains/xsv/assets.bzl b/toolchains/xsv/assets.bzl new file mode 100644 index 0000000..4ac1869 --- /dev/null +++ b/toolchains/xsv/assets.bzl @@ -0,0 +1,8 @@ +ASSETS = { + "darwin_amd64": struct(binary = "xsv", url = "https://github.com/cargo-prebuilt/index/releases/download/xsv-0.13.0/x85_64-apple-darwin.tar.gz", integrity = "sha384-AI+HQg6X3xX+Su/0qIwiSw2Ygga0UNjAFFCZPicIJ8xlzT70tejy5Gx4ZEJ/dHOm"), + "darwin_arm64": struct(binary = "xsv", url = "https://github.com/cargo-prebuilt/index/releases/download/xsv-0.13.0/aarch64-apple-darwin.tar.gz", integrity = "sha384-LNKs3vYVqUzH09ylwPhkdKMMhV26tmSro8+lXkqvOVtlaCbKWjdYMiaipQ9L+jcb"), + "linux_amd64": struct(binary = "xsv", url = "https://github.com/cargo-prebuilt/index/releases/download/xsv-0.13.0/x86_64-unknown-linux-musl.tar.gz", integrity = "sha384-a9R7blrnvbuiwK3fxRdPvRErETlXLQUnVRnq0TRaVNLQ5ppbXhYZcvbrHd9WuHK8"), + "linux_arm64": struct(binary = "xsv", url = "https://github.com/cargo-prebuilt/index/releases/download/xsv-0.13.0/aarch64-unknown-linux-musl.tar.gz", integrity = "sha384-S+MRIKADdpHoFvJd5IJVvAu6QbK4lQxAqopDIZbYZC1dZGzHwiKBFtYbAqWS0gea"), + "windows_amd64": struct(binary = "xsv.exe", url = "https://github.com/cargo-prebuilt/index/releases/download/xsv-0.13.0/x86_64-pc-windows-msvc.tar.gz", integrity = "sha384-IxVWBJuknchdv83BQ6HjbPkUwTDX8cQzdqhRMNmMrB1/DiJn0Hhq3atrCeYhQngx"), + "windows_arm64": struct(binary = "xsv.exe", url = "https://github.com/cargo-prebuilt/index/releases/download/xsv-0.13.0/aarch64-pc-windows-msvc.tar.gz", integrity = "sha384-X72q7PrI9fLqaLWjEd/SwKljfaADYKNsuA/jvFHEPiyMSkMt/LDmWUuhTroIam4d"), +}