{"id":15570758,"url":"https://github.com/keith/buildifier-prebuilt","last_synced_at":"2026-01-26T22:22:57.238Z","repository":{"id":38276414,"uuid":"428806697","full_name":"keith/buildifier-prebuilt","owner":"keith","description":"A bazel toolchain for using prebuilt binaries for buildifier and buildozer","archived":false,"fork":false,"pushed_at":"2025-12-05T16:05:02.000Z","size":155,"stargazers_count":50,"open_issues_count":11,"forks_count":18,"subscribers_count":5,"default_branch":"main","last_synced_at":"2026-01-24T11:22:15.555Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Starlark","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/keith.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2021-11-16T20:40:04.000Z","updated_at":"2026-01-07T00:21:19.000Z","dependencies_parsed_at":"2024-07-23T04:10:07.418Z","dependency_job_id":"54ea04b3-7c9a-4d3f-802e-509425dc4056","html_url":"https://github.com/keith/buildifier-prebuilt","commit_stats":null,"previous_names":[],"tags_count":30,"template":false,"template_full_name":null,"purl":"pkg:github/keith/buildifier-prebuilt","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/keith%2Fbuildifier-prebuilt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/keith%2Fbuildifier-prebuilt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/keith%2Fbuildifier-prebuilt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/keith%2Fbuildifier-prebuilt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/keith","download_url":"https://codeload.github.com/keith/buildifier-prebuilt/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/keith%2Fbuildifier-prebuilt/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28789725,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-26T21:49:50.245Z","status":"ssl_error","status_checked_at":"2026-01-26T21:48:29.455Z","response_time":59,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-02T17:43:46.796Z","updated_at":"2026-01-26T22:22:57.215Z","avatar_url":"https://github.com/keith.png","language":"Starlark","funding_links":[],"categories":["Starlark"],"sub_categories":[],"readme":"# buildifier-prebuilt\n\n[![Build](https://github.com/keith/buildifier-prebuilt/actions/workflows/ci.yml/badge.svg?event=schedule)](https://github.com/keith/buildifier-prebuilt/actions/workflows/ci.yml)\n\nThis repo contains bazel rules for `buildifier` and `buildozer` using\nprebuilt binaries with bazel toolchains instead of requiring you depend\non `rules_go`. This also means you won't download every possible version\nof these binaries, you'll only download the ones for the platform you're\nrunning on.\n\n## Usage\n\nYou can create a rule for running buildifier:\n\n```bzl\nload(\"@buildifier_prebuilt//:rules.bzl\", \"buildifier\")\n\nbuildifier(\n    name = \"buildifier.check\",\n    exclude_patterns = [\n        \"./.git/*\",\n    ],\n    lint_mode = \"warn\",\n    mode = \"diff\",\n)\n```\n\nThat can be run with:\n\n```sh\nbazel run //:buildifier.check\n```\n\nOr you can run buildifier or buildozer directly:\n\n```sh\nbazel run -- @buildifier_prebuilt//:buildozer ARGS\nbazel run -- @buildifier_prebuilt//:buildifier ARGS\n```\n\n## Installation\n\n### Bzlmod: Add `bazel_dep` to `MODULE.bazel` file\n\n\u003c!-- BEGIN MODULE SNIPPET --\u003e\n```python\nbazel_dep(\n    name = \"buildifier_prebuilt\",\n    version = \"8.2.1.2\",\n    dev_dependency = True,\n)\n```\n\u003c!-- END MODULE SNIPPET --\u003e\n\n\n### Legacy: Add declarations to `WORKSPACE` file\n\nAdd the following to your `WORKSPACE` file.\n\n\u003c!-- BEGIN WORKSPACE SNIPPET --\u003e\n```python\nload(\"@bazel_tools//tools/build_defs/repo:http.bzl\", \"http_archive\")\n\nhttp_archive(\n    name = \"buildifier_prebuilt\",\n    sha256 = \"c80b20ca1138097b5ce60bb258a6fd06ffcf7469f5f7e6722881845ff64251eb\",\n    strip_prefix = \"buildifier-prebuilt-8.2.1.2\",\n    urls = [\n        \"http://github.com/keith/buildifier-prebuilt/archive/8.2.1.2.tar.gz\",\n    ],\n)\n\nload(\"@buildifier_prebuilt//:deps.bzl\", \"buildifier_prebuilt_deps\")\n\nbuildifier_prebuilt_deps()\n\nload(\"@bazel_skylib//:workspace.bzl\", \"bazel_skylib_workspace\")\n\nbazel_skylib_workspace()\n\nload(\"@buildifier_prebuilt//:defs.bzl\", \"buildifier_prebuilt_register_toolchains\")\n\nbuildifier_prebuilt_register_toolchains()\n```\n\u003c!-- END WORKSPACE SNIPPET --\u003e\n\n\n## Specify Version of Buildtools\n\nBy default releases of these rules hardcode the most up to date versions of the tools at release\ntime. If you would like to specify a specific version of buildtools to use, you can do one of the\nfollowing.\n\n### Option 1: Manually Add SHA256 Values\n\nTo add SHA256 values to the declaration, add a `sha256_values` attribute and specify the values in a\n`dict` where the key is `\u003ctool\u003e_\u003cplatform\u003e_\u003carch\u003e` and the value is the SHA256 value.\n\n```bzl\n# Use buildtools version 4.2.5.\n\n# Bzlmod\nbuildifier_prebuilt = use_extension(\"//:defs.bzl\", \"buildifier_prebuilt_deps_extension\")\nbuildifier_prebuilt.toolchains(\n    sha256_values = {\n        \"buildifier_darwin_amd64\": \"757f246040aceb2c9550d02ef5d1f22d3ef1ff53405fe76ef4c6239ef1ea2cc1\",\n        \"buildifier_darwin_arm64\": \"4cf02e051f6cda18765935cb6e77cc938cf8b405064589a50fe9582f82c7edaf\",\n        \"buildifier_linux_amd64\": \"f94e71b22925aff76ce01a49e1c6c6d31f521bbbccff047b81f2ea01fd01a945\",\n        \"buildifier_linux_arm64\": \"2113d79e45efb51e2b3013c8737cb66cadae3fd89bd7e820438cb06201e50874\",\n        \"buildozer_darwin_amd64\": \"3fe671620e6cb7d2386f9da09c1de8de88b02b9dd9275cdecd8b9e417f74df1b\",\n        \"buildozer_darwin_arm64\": \"ff4d297023fe3e0fd14113c78f04cef55289ca5bfe5e45a916be738b948dc743\",\n        \"buildozer_linux_amd64\": \"e8e39b71c52318a9030dd9fcb9bbfd968d0e03e59268c60b489e6e6fc1595d7b\",\n        \"buildozer_linux_arm64\": \"96227142969540def1d23a9e8225524173390d23f3d7fd56ce9c4436953f02fc\",\n    },\n    version = \"4.2.5\",\n)\nuse_repo(\n    buildifier_prebuilt,\n    \"buildifier_prebuilt_toolchains\",\n)\n\n# Workspace\nbuildifier_prebuilt_register_toolchains(\n    assets = buildtools_assets(version = \"4.2.5\"),\n    sha256_values = {\n        \"buildifier_darwin_amd64\": \"757f246040aceb2c9550d02ef5d1f22d3ef1ff53405fe76ef4c6239ef1ea2cc1\",\n        \"buildifier_darwin_arm64\": \"4cf02e051f6cda18765935cb6e77cc938cf8b405064589a50fe9582f82c7edaf\",\n        \"buildifier_linux_amd64\": \"f94e71b22925aff76ce01a49e1c6c6d31f521bbbccff047b81f2ea01fd01a945\",\n        \"buildifier_linux_arm64\": \"2113d79e45efb51e2b3013c8737cb66cadae3fd89bd7e820438cb06201e50874\",\n        \"buildozer_darwin_amd64\": \"3fe671620e6cb7d2386f9da09c1de8de88b02b9dd9275cdecd8b9e417f74df1b\",\n        \"buildozer_darwin_arm64\": \"ff4d297023fe3e0fd14113c78f04cef55289ca5bfe5e45a916be738b948dc743\",\n        \"buildozer_linux_amd64\": \"e8e39b71c52318a9030dd9fcb9bbfd968d0e03e59268c60b489e6e6fc1595d7b\",\n        \"buildozer_linux_arm64\": \"96227142969540def1d23a9e8225524173390d23f3d7fd56ce9c4436953f02fc\",\n    },\n)\n```\n\nThe downside to this is that you will need to manually download each binary that you will use in\nyour builds and calculate the SHA256 value.\n\n\n### Option 2: Quick, Easy and Canonical\n\nWe have included a utility which will generate a `buildifier_prebuilt_register_toolchains`\ndeclaration with the appropriate SHA256 values. If you execute it without any arguments, it will\nuse the latest release of `buildtools`. Just copy and paste the declaration into your `WORKSPACE`\nfile.\n\n```sh\n# Generate the declaration for the latest\n$ bazel run //tools:generate_assets_declaration\nload(\"@buildifier_prebuilt//:defs.bzl\", \"buildifier_prebuilt_register_toolchains\", \"buildtools_assets\")\n\nbuildifier_prebuilt_register_toolchains(\n    assets = buildtools_assets(\n        version = \"4.2.5\",\n        names = [\"buildifier\", \"buildozer\"],\n        platforms = [\"darwin\", \"linux\"],\n        arches = [\"amd64\", \"arm64\"],\n        sha256_values = {\n            \"buildifier_darwin_amd64\": \"757f246040aceb2c9550d02ef5d1f22d3ef1ff53405fe76ef4c6239ef1ea2cc1\",\n            \"buildifier_darwin_arm64\": \"4cf02e051f6cda18765935cb6e77cc938cf8b405064589a50fe9582f82c7edaf\",\n            \"buildifier_linux_amd64\": \"f94e71b22925aff76ce01a49e1c6c6d31f521bbbccff047b81f2ea01fd01a945\",\n            \"buildifier_linux_arm64\": \"2113d79e45efb51e2b3013c8737cb66cadae3fd89bd7e820438cb06201e50874\",\n            \"buildozer_darwin_amd64\": \"3fe671620e6cb7d2386f9da09c1de8de88b02b9dd9275cdecd8b9e417f74df1b\",\n            \"buildozer_darwin_arm64\": \"ff4d297023fe3e0fd14113c78f04cef55289ca5bfe5e45a916be738b948dc743\",\n            \"buildozer_linux_amd64\": \"e8e39b71c52318a9030dd9fcb9bbfd968d0e03e59268c60b489e6e6fc1595d7b\",\n            \"buildozer_linux_arm64\": \"96227142969540def1d23a9e8225524173390d23f3d7fd56ce9c4436953f02fc\",\n        },\n    ),\n)\n```\n\nYou may also specify a specific version of `buildtools` by adding it to the end of the command.\n\n```sh\n# Generate the declaration for version 4.2.3\n$ bazel run //tools:generate_assets_declaration -- 4.2.3\nload(\"@buildifier_prebuilt//:defs.bzl\", \"buildifier_prebuilt_register_toolchains\", \"buildtools_assets\")\n\nbuildifier_prebuilt_register_toolchains(\n    assets = buildtools_assets(\n        version = \"4.2.3\",\n        names = [\"buildifier\", \"buildozer\"],\n        platforms = [\"darwin\", \"linux\"],\n        arches = [\"amd64\", \"arm64\"],\n        sha256_values = {\n            \"buildifier_darwin_amd64\": \"954ec397089344b1564e45dc095e9331e121eb0f20e72032fcc8e94de78e5663\",\n            \"buildifier_darwin_arm64\": \"9434043897a3c3821fda87046918e5a6c4320d8352df700f62046744c4d168a3\",\n            \"buildifier_linux_amd64\": \"a19126536bae9a3917a7fc4bdbbf0378371a1d1683ab2415857cf53bce9dee49\",\n            \"buildifier_linux_arm64\": \"39bd9d01d3638902a1e4cef353048ed160f0575f5df1bef175bd7637386d183c\",\n            \"buildozer_darwin_amd64\": \"edcabae1d97bdc42559d7d1d65dfe7f8970db8d95d4bc9e7bf6656a9f2fb5592\",\n            \"buildozer_darwin_arm64\": \"f8d0994620dec1247328f13db1d434b6489dd007f8e9b961dbd9363bc6fe7071\",\n            \"buildozer_linux_amd64\": \"6b4177321b770fb788b618caa453d34561b8c05081ae8b27657e527c2a3b5d52\",\n            \"buildozer_linux_arm64\": \"edfa964b283352ffd7503faca503de8f06dfcd1c7c96a6737e9452167e93c687\",\n        },\n    ),\n)\n```\n\nNOTE: The utility uses the [GitHub CLI](https://cli.github.com/). If you haven't already done so,\ninstall it.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkeith%2Fbuildifier-prebuilt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkeith%2Fbuildifier-prebuilt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkeith%2Fbuildifier-prebuilt/lists"}