{"id":13452248,"url":"https://github.com/jin/awesome-bazel","last_synced_at":"2025-03-27T22:32:24.182Z","repository":{"id":38849505,"uuid":"108140785","full_name":"jin/awesome-bazel","owner":"jin","description":"A curated list of Bazel rules, tooling and resources.","archived":false,"fork":false,"pushed_at":"2024-04-03T19:38:35.000Z","size":476,"stargazers_count":1098,"open_issues_count":11,"forks_count":129,"subscribers_count":49,"default_branch":"master","last_synced_at":"2024-04-10T15:57:30.080Z","etag":null,"topics":["awesome","awesome-list","bazel","bazel-rules","build","build-system","continuous-integration","list","skylark"],"latest_commit_sha":null,"homepage":"https://jin.github.io/awesome-bazel","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jin.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}},"created_at":"2017-10-24T14:44:24.000Z","updated_at":"2024-04-20T13:09:45.632Z","dependencies_parsed_at":"2023-02-10T17:45:20.792Z","dependency_job_id":"f18778bf-c8d1-465c-8182-b7768e9ce132","html_url":"https://github.com/jin/awesome-bazel","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jin%2Fawesome-bazel","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jin%2Fawesome-bazel/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jin%2Fawesome-bazel/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jin%2Fawesome-bazel/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jin","download_url":"https://codeload.github.com/jin/awesome-bazel/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221900767,"owners_count":16898987,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["awesome","awesome-list","bazel","bazel-rules","build","build-system","continuous-integration","list","skylark"],"created_at":"2024-07-31T07:01:18.330Z","updated_at":"2025-03-27T22:32:24.154Z","avatar_url":"https://github.com/jin.png","language":null,"funding_links":[],"categories":["Others","Other Lists","Unknown"],"sub_categories":["TeX Lists"],"readme":"# Awesome Bazel [![Awesome](https://awesome.re/badge.svg)](https://awesome.re)\n\n\u003cp align=\"center\"\u003e\n\t\u003cimg height=\"300\" src=\"https://raw.githubusercontent.com/bazelbuild/bazel-blog/master/images/bazel-icon.svg\"\u003e\n\u003c/p\u003e\n\u003ch3 align=\"center\"\u003e{Fast, Correct} - Choose two\u003c/h3\u003e\n\n\u003e Bazel is an open-source build and test tool similar to Make, Maven, and Gradle. It uses a human-readable, high-level build language. Bazel supports projects in multiple languages and builds outputs for multiple platforms. Bazel supports large codebases across multiple repositories, and large numbers of users. *(via [docs](https://docs.bazel.build/versions/master/bazel-overview.html))*\n\nA curated list of [Bazel](https://bazel.build) [rules](#rules), [tooling](#tooling) and [resources](#resources).\n\nHave something to contribute or discuss? [Open a pull request](https://github.com/jin/awesome-bazel/pulls) or [create an issue](https://github.com/jin/awesome-bazel/issues).\n\n---\n\n## Contents\n\n- [Rules](#rules)\n- [Tooling](#tooling)\n  - [Toolchains](#toolchains)\n  - [Starlark](#starlark)\n  - [Migration](#migration)\n  - [Editor plugins](#editors)\n  - [Misc](#misc-tooling)\n- [Resources](#resources)\n  - [Tutorials](#tutorials)\n  - [Projects](#projects)\n  - [Demos](#demos)\n  - [Articles](#articles)\n  - [Videos](#videos)\n  - [Podcasts](#podcasts)\n  - [Books](#books)\n  - [Slides](#slides)\n  - [Blogs](#blogs)\n  - [Community](#community)\n  - [Misc](#misc-resources)\n\n\n## Rules\n\n\u003ctable class=\"table table-condensed table-bordered table-params\"\u003e\n  \u003ccolgroup\u003e\n    \u003ccol class=\"col-language\"\u003e\n    \u003ccol classname=\"rule-repo\"\u003e\n  \u003c/colgroup\u003e\n  \u003cthead\u003e\n    \u003ctr\u003e\n      \u003cth colspan=\"1\"\u003eLanguage/Platform\u003c/th\u003e\n      \u003cth colspan=\"1\"\u003eRepository/Documentation\u003c/th\u003e\n    \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eAmazon web services (AWS)\u003c/td\u003e\n      \u003ctd\u003e\n        \u003cul\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/evertz/ev_rules_aws\"\u003eevertz/ev_rules_aws\u003c/a\u003e\u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eAndroid\u003c/td\u003e\n      \u003ctd\u003e\n        \u003cul\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/bazelbuild/rules_android\"\u003ebazelbuild/rules_android\u003c/a\u003e\u003c/li\u003e\n\t  \u003cli\u003e\u003ca href=\"https://github.com/bazelbuild/rules_android_ndk\"\u003ebazelbuild/rules_android_ndk\u003c/a\u003e: Starlark rules replacing the built-in NDK rules that with more modern NDKs\u003c/li\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/quittle/bazel_android_sdk_downloader\"\u003equittle/bazel_android_sdk_downloader\u003c/a\u003e: Drop-in replacement for android_sdk_repository to automatically download the Android SDK.\u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eAppImage\u003c/td\u003e\n      \u003ctd\u003e\n        \u003cul\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/lalten/rules_appimage\"\u003elalten/rules_appimage\u003c/a\u003e\u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eApple (iOS, macOS, tvOS, watchOS)\u003c/td\u003e\n      \u003ctd\u003e\n        \u003cul\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/bazelbuild/rules_apple\"\u003ebazelbuild/rules_apple\u003c/a\u003e\u003c/li\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/line/bazel_rules_apple\"\u003eline/bazel_rules_apple\u003c/a\u003e: LINE's custom rules for building apps and frameworks for Apple platforms\u003c/li\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/ios-bazel-users/ios-bazel-users\"\u003eios-bazel-users/ios-bazel-users\u003c/a\u003e: Resources for using Bazel for iOS development\u003c/li\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/Tinder/sign-here\"\u003eTinder/sign_here\u003c/a\u003e: Provides a simple command line interface for automating the creation of signing information for Apple builds (i.e. certificates and provisioning profiles)\u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eANTLR\u003c/td\u003e\n      \u003ctd\u003e\n        \u003cul\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/marcohu/rules_antlr\"\u003emarcohu/rules_antlr\u003c/a\u003e\u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eARM Mbed OS\u003c/td\u003e\n      \u003ctd\u003e\n        \u003cul\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/mjbots/rules_mbed\"\u003emjbots/rules_mbed\u003c/a\u003e\u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eBison\u003c/td\u003e\n      \u003ctd\u003e\n        \u003cul\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/jmillikin/rules_bison\"\u003ejmillikin/rules_bison\u003c/a\u003e\u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n        \u003ctr\u003e\n      \u003ctd\u003eBlender\u003c/td\u003e\n      \u003ctd\u003e\n        \u003cul\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/zaucy/rules_blender\"\u003ezaucy/rules_blender\u003c/a\u003e: Bazel rules for rendering .blend files with Blender\u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eBOSH\u003c/td\u003e\n      \u003ctd\u003e\n        \u003cul\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/calebfroese/rules_bosh\"\u003ecalebfroese/rules_bosh\u003c/a\u003e\u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eBrotli\u003c/td\u003e\n      \u003ctd\u003e\n        \u003cul\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/brightspace/rules_brotli\"\u003eBrightspace/rules_brotli\u003c/a\u003e\u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eC++\u003c/td\u003e\n      \u003ctd\u003e\n        \u003cul\u003e\n          \u003cli\u003e\u003ca href=\"https://docs.bazel.build/versions/master/be/c-cpp.html\"\u003ehttps://docs.bazel.build/versions/master/be/c-cpp.html\u003c/a\u003e\u003c/li\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/bazelbuild/rules_cc\"\u003ebazelbuild/rules_cc\u003c/a\u003e\u003c/li\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/nelhage/rules_boost\"\u003enelhage/rules_boost\u003c/a\u003e: Rules for Boost C++ libraries\u003c/li\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/hedronvision/bazel-make-cc-https-easy\"\u003ehedronvision/bazel-make-cc-https-easy\u003c/a\u003e: Rules that make HTTPS requests from C++ easy, using cpr and libcurl\u003c/li\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/erenon/bazel_clang_tidy\"\u003eerenon/bazel_clang_tidy\u003c/a\u003e: Run clang-tidy directly from bazel\u003c/li\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/rnburn/rules_cc_module\"\u003ernburn/rules_cc_module\u003c/a\u003e: Rules to build C++20 modules.\u003c/li\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/vertexwahn/rules_qt6\"\u003evertexwahn/rules_qt6\u003c/a\u003e: Bazel rules for Qt6\u003c/li\u003e\n\t  \u003cli\u003e\u003ca href=\"https://github.com/kklochkov/rules_qt\"\u003ekklochkov/rules_qt\u003c/a\u003e: Rules for Qt5 and Qt6\u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eC#\u003c/td\u003e\n      \u003ctd\u003e\n        \u003cul\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/bazelbuild/rules_dotnet\"\u003ebazelbuild/rules_dotnet\u003c/a\u003e\u003c/li\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/brightspace/rules_csharp\"\u003eBrightspace/rules_csharp\u003c/a\u003e: an alternative (unofficial) design for C# rules\u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eClojure\u003c/td\u003e\n      \u003ctd\u003e\n        \u003cul\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/simuons/rules_clojure\"\u003esimuons/rules_clojure\u003c/a\u003e\u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eClosure\u003c/td\u003e\n      \u003ctd\u003e\n        \u003cul\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/bazelbuild/rules_closure\"\u003ebazelbuild/rules_closure\u003c/a\u003e\u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eCSS\u003c/td\u003e\n      \u003ctd\u003e\n        \u003cul\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/bazelbuild/rules_postcss\"\u003ebazelbuild/rules_postcss\u003c/a\u003e\u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eCMake\u003c/td\u003e\n      \u003ctd\u003e\n        \u003cul\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/bazelbuild/rules_foreign_cc\"\u003ebazelbuild/rules_foreign_cc\u003c/a\u003e\u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eCocoaPods\u003c/td\u003e\n      \u003ctd\u003e\n        \u003cul\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/pinterest/PodToBUILD\"\u003epinterest/PodToBUILD\u003c/a\u003e\u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eCODEOWNERS\u003c/td\u003e\n      \u003ctd\u003e\n        \u003cul\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/zegl/rules_codeowners\"\u003ezegl/rules_codeowners\u003c/a\u003e\u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eD\u003c/td\u003e\n      \u003ctd\u003e\n        \u003cul\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/bazelbuild/rules_d\"\u003ebazelbuild/rules_d\u003c/a\u003e\u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eDart\u003c/td\u003e\n      \u003ctd\u003e\n        \u003cul\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/cbracken/rules_dart\"\u003ecbracken/rules_dart\u003c/a\u003e\u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eDatabricks\u003c/td\u003e\n      \u003ctd\u003e\n        \u003cul\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/acqio/rules_databricks\"\u003eacqio/rules_databricks\u003c/a\u003e\u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eDocker\u003c/td\u003e\n      \u003ctd\u003e\n        \u003cem\u003eNote: see the OCI containers section below\u003c/em\u003e\n        \u003cul\u003e\n          \u003cli\u003e\n            \u003ca href=\"https://github.com/bazelbuild/rules_docker\"\u003ebazelbuild/rules_docker\u003c/a\u003e\n          \u003c/li\u003e\n          \u003cli\u003e\n            \u003cdiv\u003e\u003ca href=\"https://github.com/rmohr/rules_container_rpm\"\u003ermohr/rules_container_rpm\u003c/a\u003e: Install RPMs without a container daemon with bazel\u003c/div\u003e\n          \u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eebook (pdf, epub, mobi)\u003c/td\u003e\n      \u003ctd\u003e\n        \u003cul\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/filmil/bazel-ebook\"\u003efilmil/bazel-ebook\u003c/a\u003e\u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eECS\u003c/td\u003e\n      \u003ctd\u003e\n        \u003cul\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/dan-compton/ecsonnet\"\u003edan-compton/ecsonnet\u003c/a\u003e\u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eElm\u003c/td\u003e\n      \u003ctd\u003e\n        \u003cul\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/EdSchouten/rules_elm\"\u003eEdSchouten/rules_elm\u003c/a\u003e\u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eEmacs Lisp (elisp)\u003c/td\u003e\n      \u003ctd\u003e\n        \u003cul\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/phst/rules_elisp\"\u003ephst/rules_elisp\u003c/a\u003e\u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eEmscripten\u003c/td\u003e\n      \u003ctd\u003e\n        \u003cul\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/ribrdb/rules_emscripten\"\u003eribrdb/rules_emscripten\u003c/a\u003e\u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eErlang\u003c/td\u003e\n      \u003ctd\u003e\n        \u003cul\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/rabbitmq/rules_erlang\"\u003erabbitmq/rules_erlang\u003c/a\u003e\u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eFlex\u003c/td\u003e\n      \u003ctd\u003e\n        \u003cul\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/jmillikin/rules_flex\"\u003ejmillikin/rules_flex\u003c/a\u003e\u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eGo\u003c/td\u003e\n      \u003ctd\u003e\n        \u003cul\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/bazelbuild/rules_go\"\u003ebazelbuild/rules_go\u003c/a\u003e\u003c/li\u003e\n        \u003c/ul\u003e\n        \u003cul\u003e\n          \u003cli\u003e\n            \u003cdiv\u003e\u003ca href=\"https://github.com/bazelbuild/bazel-gazelle\"\u003eGazelle\u003c/a\u003e: Generate Bazel BUILD files for Go related_projects \u003c/div\u003e\n          \u003c/li\u003e\n          \u003cli\u003e\n            \u003cdiv\u003e\u003ca href=\"https://github.com/bazelbuild/bazel-gazelle#update-repos\"\u003eupdate-repos\u003c/a\u003e: Tool in Gazelle for adding Go dependencies as `go_repository` to WORKSPACE\u003c/div\u003e\n          \u003c/li\u003e\n          \u003cli\u003e\n            \u003cdiv\u003e\u003ca href=\"https://github.com/ActiveState/rules_vendor\"\u003eActiveState/rules_vendor\u003c/a\u003e: Bazel support for packaging Go vendored dependencies\u003c/div\u003e\n          \u003c/li\u003e\n          \u003cli\u003e\n            \u003cdiv\u003e\u003ca href=\"https://github.com/jmhodges/bazel_gomock\"\u003ejmhodges/bazel_gomock\u003c/a\u003e: Support for generating code with `mockgen`\u003c/div\u003e\n          \u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eGraal\u003c/td\u003e\n      \u003ctd\u003e\n        \u003cul\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/andyscott/rules_graal\"\u003eandyscott/rules_graal\u003c/a\u003e\u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eGrafana\u003c/td\u003e\n      \u003ctd\u003e\n        \u003cul\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/etsy/rules_grafana\"\u003eetsy/rules_grafana\u003c/a\u003e\u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eGroovy\u003c/td\u003e\n      \u003ctd\u003e\n        \u003cul\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/bazelbuild/rules_groovy\"\u003ebazelbuild/rules_groovy\u003c/a\u003e\u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eGWT\u003c/td\u003e\n      \u003ctd\u003e\n        \u003cul\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/bazelbuild/rules_gwt\"\u003ebazelbuild/rules_gwt\u003c/a\u003e\u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eHaskell\u003c/td\u003e\n      \u003ctd\u003e\n        \u003cul\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/tweag/rules_haskell\"\u003etweag/rules_haskell\u003c/a\u003e\u003c/li\u003e\n        \u003c/ul\u003e\n        \u003cul\u003e\n          \u003cli\u003e\n            \u003cdiv\u003e\u003ca href=\"https://github.com/FormationAI/hazel\"\u003eFormationAI/hazel\u003c/a\u003e: Generate rules for third-party Haskell dependencies\u003c/div\u003e\n          \u003c/li\u003e\n          \u003cli\u003e\n            \u003cdiv\u003e\u003ca href=\"https://github.com/google/cabal2bazel\"\u003egoogle/cabal2bazel\u003c/a\u003e: Import Cabal packages from Hackage as Bazel packages\u003c/div\u003e\n          \u003c/li\u003e\n          \u003cli\u003e\n            \u003cdiv\u003e\u003ca href=\"https://github.com/google/hrepl\"\u003egoogle/hrepl\u003c/a\u003e: Interactive development for Bazel/Haskell rules\u003c/div\u003e\n          \u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eHelm (Kubernetes)\u003c/td\u003e\n      \u003ctd\u003e\n        \u003cul\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/tmc/rules_helm\"\u003etmc/rules_helm\u003c/a\u003e\u003c/li\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/dataform-co/dataform/tree/master/tools/helm\"\u003edataform-co/dataform/tools/helm\u003c/a\u003e: Repository rules for downloading Helm charts, and BUILD rules for templating them\u003c/li\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/masmovil/bazel-rules\"\u003ehelm bazel rules\u003c/a\u003e\u003c/li\u003e  Bazel rules to install and manipulate Helm charts with Bazel\n        \u003c/ul\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eHeroku\u003c/td\u003e\n      \u003ctd\u003e\n        \u003cul\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/salesforce/bazoku\"\u003esalesforce/bazoku\u003c/a\u003e: Bazel rules for deploying to Heroku\u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eHomebrew\u003c/td\u003e\n      \u003ctd\u003e\n        \u003cul\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/tmc/rules_homebrew\"\u003etmc/rules_homebrew\u003c/a\u003e\u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eHugo\u003c/td\u003e\n      \u003ctd\u003e\n        \u003cul\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/stackb/rules_hugo\"\u003estackb/rules_hugo\u003c/a\u003e\u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eIdris\u003c/td\u003e\n      \u003ctd\u003e\n        \u003cul\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/BryghtWords/rules_idris\"\u003eBryghtWords/rules_idris\u003c/a\u003e\u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eISPC\u003c/td\u003e\n      \u003ctd\u003e\n        \u003cul\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/Vertexwahn/rules_ispc\"\u003evertexwahn/rules_ispc\u003c/a\u003e\u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eJava\u003c/td\u003e\n      \u003ctd\u003e\n        \u003cul\u003e\n          \u003cli\u003e\u003ca href=\"https://docs.bazel.build/versions/master/be/java.html\"\u003ehttps://docs.bazel.build/versions/master/be/java.html\u003c/a\u003e\u003c/li\u003e\n        \u003c/ul\u003e\n        \u003cul\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/bazelbuild/rules_java\"\u003ebazelbuild/rules_java\u003c/a\u003e\u003c/li\u003e\n        \u003c/ul\u003e\n        \u003cul\u003e\n          \u003cli\u003e\n            \u003cdiv\u003e\u003ca href=\"https://github.com/bazelbuild/tools_jvm_autodeps\"\u003ebazelbuild/tools_jvm_autodeps\u003c/a\u003e (Jadep): Generate BUILD files automatically for an existing Java project with class dependency analysis.\u003c/div\u003e\n          \u003c/li\u003e\n          \u003cli\u003e\n            \u003cdiv\u003e\u003ca href=\"https://github.com/salesforce/bazel-java-builder-template\"\u003esalesforce/bazel-java-builder-template\u003c/a\u003e: A template for Java based source code generators.\u003c/div\u003e\n          \u003c/li\u003e\n          \u003cli\u003e\n            \u003cdiv\u003e\u003ca href=\"https://github.com/fmeum/rules_jni\"\u003efmeum/rules_jni\u003c/a\u003e: Java Native Interface (JNI) and Java Invocation API integration for Bazel\u003c/div\u003e\n          \u003c/li\u003e\n\t  \u003cli\u003e\n\t    \u003cdiv\u003e\u003ca href=\"https://github.com/bazel-contrib/rules_jvm\"\u003ebazel-contrib/rules_jvm\u003c/a\u003e: Contributed Bazel rules that make working with java projects more pleasant\u003c/div\u003e\n          \u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eJFlex\u003c/td\u003e\n      \u003ctd\u003e\n        \u003cul\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/jflex-de/bazel_rules\"\u003ejflex-de/bazel_rules\u003c/a\u003e\u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eKotlin\u003c/td\u003e\n      \u003ctd\u003e\n        \u003cul\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/bazelbuild/rules_kotlin\"\u003ebazelbuild/rules_kotlin\u003c/a\u003e\u003c/li\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/buildfoundation/bazel_rules_detekt\"\u003ebuildfoundation/bazel_rules_detekt\u003c/a\u003e\u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eKubernetes\u003c/td\u003e\n      \u003ctd\u003e\n        \u003cul\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/bazelbuild/rules_k8s\"\u003ebazelbuild/rules_k8s\u003c/a\u003e\u003c/li\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/acqio/rules_k8s_extension\"\u003eacqio/rules_k8s_extension\u003c/a\u003e Bazel rules for Kubernetes extension for creating configmaps and secrets.\u003c/li\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/adobe/rules_gitops\"\u003eadobe/rules_gitops\u003c/a\u003e A \u003ca href=\"https://kustomize.io/\"\u003eKustomize\u003c/a\u003e based GitOps workflow implementation.\u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eLaTeX\u003c/td\u003e\n      \u003ctd\u003e\n        \u003cul\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/ProdriveTechnologies/bazel-latex\"\u003eProdriveTechnologies/bazel-latex\u003c/a\u003e\u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eLLVM toolchain\u003c/td\u003e\n      \u003ctd\u003e\n        \u003cul\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/vsco/bazel-toolchains\"\u003evsco/bazel-toolchains\u003c/a\u003e\u003c/li\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/grailbio/bazel-toolchain\"\u003egrailbio/bazel-toolchain\u003c/a\u003e\u003c/li\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/samolisov/bazel-llvm-bridge\"\u003esamolisov/bazel-llvm-bridge\u003c/a\u003e: Bazel repository_rule for using libraries from a local LLVM in your BUILD files. Supports LLVM, Clang and MLIR. Also provides the 'tablegen' rule.\u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eLua\u003c/td\u003e\n      \u003ctd\u003e\n        \u003cul\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/svermeulen/lua_bazel_rules\"\u003esvermeulen/lua_bazel_rules\u003c/a\u003e\u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eM4\u003c/td\u003e\n      \u003ctd\u003e\n        \u003cul\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/jmillikin/rules_m4\"\u003ejmillikin/rules_m4\u003c/a\u003e\u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003eManifest of build artifacts\u003c/td\u003e\n        \u003ctd\u003e\n            \u003cul\u003e\n                \u003cli\u003e\u003ca href=\"https://github.com/kindlyops/rules_manifest\"\u003ekindlyops/rules_manifest\u003c/a\u003e: Take a list of artifacts such as zip files for AWS Lambda, and collect them into a single directory with each file named by the content hash, along with a JSON manifest of the files and original labels.\n                \u003c/li\u003e\n            \u003c/ul\u003e\n        \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eMaven\u003c/td\u003e\n      \u003ctd\u003e\n        \u003cul\u003e\n          \u003cli\u003e\n            \u003cdiv\u003e\u003ca href=\"https://github.com/johnynek/bazel-deps\"\u003ejohnynek/bazel-deps\u003c/a\u003e: Generate Bazel dependencies transitively for Maven artifacts, with Scala support.\u003c/div\u003e\n          \u003c/li\u003e\n          \u003cli\u003e\n            \u003cdiv\u003e\u003ca href=\"https://github.com/pubref/rules_maven\"\u003epubref/rules_maven\u003c/a\u003e\u003c/div\u003e\n          \u003c/li\u003e\n          \u003cli\u003e\n            \u003cdiv\u003e\u003ca href=\"https://github.com/bazelbuild/gmaven_rules\"\u003ebazelbuild/gmaven_rules\u003c/a\u003e: Repository rules for Maven artifacts hosted on Google Maven repository\u003c/div\u003e\n          \u003c/li\u003e\n          \u003cli\u003e\n            \u003cdiv\u003e\u003ca href=\"https://github.com/square/bazel_maven_repository\"\u003esquare/bazel_maven_repository\u003c/a\u003e: Access maven deps as \"@maven//some/maven/group_id:artifact_id\" (incorporating transitive dependencies)\u003c/div\u003e\n          \u003c/li\u003e\n          \u003cli\u003e\n            \u003cdiv\u003e\u003ca href=\"https://github.com/bazelbuild/rules_jvm_external\"\u003ebazelbuild/rules_jvm_external\u003c/a\u003e: Rules to resolve and fetch artifacts transitively from Maven repositories\u003c/div\u003e\n          \u003c/li\u003e\n          \u003cli\u003e\n            \u003cdiv\u003e\u003ca href=\"https://github.com/menny/bazel-mvn-deps\"\u003emenny/bazel-mvn-deps\u003c/a\u003e: A simple Maven dependency graph generator for Bazel\u003c/div\u003e\n          \u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eMicrosoft Azure\u003c/td\u003e\n      \u003ctd\u003e\n        \u003cul\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/acqio/rules_microsoft_azure\"\u003eacqio/rules_microsoft_azure\u003c/a\u003e\u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eNativeScript\u003c/td\u003e\n      \u003ctd\u003e\n        \u003cul\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/NativeScript/nativescript-dev-bazel\"\u003eNativeScript/nativescript-dev-bazel\u003c/a\u003e\u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eNixpkgs\u003c/td\u003e\n      \u003ctd\u003e\n        \u003cul\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/tweag/rules_nixpkgs\"\u003etweag/rules_nixpkgs\u003c/a\u003e\u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eNode.js / JavaScript\u003c/td\u003e\n      \u003ctd\u003e\n        \u003cul\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/bazelbuild/rules_nodejs\"\u003ebazelbuild/rules_nodejs\u003c/a\u003e\u003c/li\u003e\n\t  \u003cli\u003e\u003ca href=\"https://github.com/ecosia/bazel_rules_nodejs_contrib\"\u003eecosia/bazel_rules_nodejs_contrib\u003c/a\u003e\u003c/li\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/dropbox/rules_node\"\u003edropbox/rules_node\u003c/a\u003e\u003c/li\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/pubref/rules_node\"\u003epubref/rules_node\u003c/a\u003e\u003c/li\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/zenclabs/bazel-javascript\"\u003ezenclabs/bazel-javascript\u003c/a\u003e\u003c/li\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/vistarmedia/rules_js\"\u003evistarmedia/rules_js\u003c/a\u003e\u003c/li\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/thelgevold/rules_svelte\"\u003ethelgevold/rules_svelte\u003c/a\u003e\u003c/li\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/dataform-co/dataform/tree/master/tools/gcloud\"\u003edataform-co/dataform/tools/gcloud\u003c/a\u003e: Rules for deploying Node.js code as gcloud functions (HTTP/PubSub)\u003c/li\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/aspect-build/rules_js\"\u003easpect_rules_js\u003c/a\u003e: Bazel rules for building JavaScript programs\u003c/li\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/aspect-build/rules_esbuild\"\u003easpect_rules_esbuild\u003c/a\u003e: Bazel rules for the \u003ca href=\"https://\u003c/esbuild.github.io\"\u003eesbuild\u003c/a\u003e JS bundler\u003c/li\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/aspect-build/rules_terser\"\u003easpect_rules_terser\u003c/a\u003e: Bazel rules for \u003ca href=\"https://terser.org\"\u003eTerser\u003c/a\u003e - a JavaScript minifier\u003c/li\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/aspect-build/rules_swc\"\u003easpect_rules_swc\u003c/a\u003e: Bazel rules for \u003ca href=\"https://swc.rs\"\u003eswc\u003c/a\u003e\u003c/li\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/aspect-build/rules_ts\"\u003easpect_rules_ts\u003c/a\u003e: Bazel rules for \u003ca href=\"http://typescriptlang.org\"\u003eTypeScript\u003c/a\u003e\u003c/li\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/aspect-build/rules_webpack\"\u003easpect_rules_webpack\u003c/a\u003e: Bazel rules for \u003ca href=\"https://webpack.js.org\"\u003eWebpack\u003c/a\u003e\u003c/li\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/aspect-build/rules_rollup\"\u003easpect_rules_rollup\u003c/a\u003e: Bazel rules for \u003ca href=\"https://rollupjs.org\"\u003eRollup\u003c/a\u003e - a JavaScript bundler\u003c/li\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/aspect-build/rules_jest\"\u003easpect_rules_jest\u003c/a\u003e: Bazel rules to run tests using \u003ca href=\"https://jestjs.io\"\u003eJest\u003c/a\u003e\u003c/li\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/aspect-build/rules_jasmine\"\u003easpect_rules_jasmine\u003c/a\u003e: Bazel rules to run tests using \u003ca href=\"https://jasmine.github.io\"\u003eJasmine\u003c/a\u003e\u003c/li\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/aspect-build/rules_cypress\"\u003easpect_rules_cypress\u003c/a\u003e: Bazel rules to run tests using \u003ca href=\"https://cypress.io\"\u003eCypress\u003c/a\u003e\u003c/li\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/aspect-build/rules_deno\"\u003easpect_rules_deno\u003c/a\u003e: Bazel rules for \u003ca href=\"http://deno.land\"\u003eDeno\u003c/a\u003e\u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eOCaml\u003c/td\u003e\n      \u003ctd\u003e\n        \u003cul\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/jin/rules_ocaml\"\u003ejin/rules_ocaml\u003c/a\u003e\u003c/li\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/obazl/rules_ocaml\"\u003eobazl/rules_ocaml\u003c/a\u003e\u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eOCI Containers\u003c/td\u003e\n      \u003ctd\u003e\n        \u003cul\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/guymers/bazel_rules_container\"\u003eguymers/bazel_rules_container\u003c/a\u003e\u003c/li\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/guymers/containers_by_bazel\"\u003eguymers/containers_by_bazel\u003c/a\u003e\u003c/li\u003e\n          \u003cli\u003e\n            \u003ca href=\"https://github.com/bazel-contrib/rules_oci\"\u003ebazel-contrib/rules_oci\u003c/a\u003e: Bazel rules for building OCI containers\n          \u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eOpenAPI/Swagger\u003c/td\u003e\n      \u003ctd\u003e\n        \u003cul\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/meetup/rules_openapi\"\u003emeetup/rules_openapi\u003c/a\u003e\u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003ePackaging (RPM/DEB)\u003c/td\u003e\n      \u003ctd\u003e\n        \u003cul\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/bazelbuild/rules_pkg\"\u003ebazelbuild/rules_pkg\u003c/a\u003e\u003c/li\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/ericnorris/rules_nfpm\"\u003eericnorris/rules_nfpm\u003c/a\u003e\u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003ePandoc\u003c/td\u003e\n      \u003ctd\u003e\n        \u003cul\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/ProdriveTechnologies/bazel-pandoc\"\u003eProdriveTechnologies/bazel-pandoc\u003c/a\u003e\u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003ePHP\u003c/td\u003e\n      \u003ctd\u003e\n        \u003cul\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/kburnik/php_codebase\"\u003ekburnik/php_codebase\u003c/a\u003e\u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003ePrometheus\u003c/td\u003e\n      \u003ctd\u003e\n        \u003cul\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/5h4d0w4rt/rules_prometheus\"\u003e5h4d0w4rt/rules_prometheus\u003c/a\u003e: Bazel rules for managing Prometheus, including running server, running \"promtool\", unit testing rules, etc.\u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eProtobuf\u003c/td\u003e\n      \u003ctd\u003e\n        \u003cul\u003e\n          \u003cli\u003e\u003ca href=\"https://docs.bazel.build/versions/master/be/protocol-buffer.html\"\u003ehttps://docs.bazel.build/versions/master/be/protocol-buffer.html\u003c/a\u003e: Native protocol buffer rules\u003c/li\u003e\n        \u003c/ul\u003e\n        \u003cul\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/rules-proto-grpc/rules_proto_grpc\"\u003erules-proto-grpc/rules_proto_grpc\u003c/a\u003e: Bazel rules for building Protocol Buffers \u0026 gRPC code and libraries\u003c/li\u003e\n        \u003c/ul\u003e\n        \u003cul\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/stackb/rules_proto\"\u003estackb/rules_proto\u003c/a\u003e: Modern bazel build rules for protobuf / gRPC\u003c/li\u003e\n        \u003c/ul\u003e\n        \u003cul\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/bazelbuild/rules_proto\"\u003ebazelbuild/rules_proto\u003c/a\u003e: Starlark implementation of the Protobuf rules in Bazel\u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003ePurescript\u003c/td\u003e\n      \u003ctd\u003e\n        \u003cul\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/felixmulder/rules_purescript\"\u003efelixmulder/rules_purescript\u003c/a\u003e\u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003ePython\u003c/td\u003e\n      \u003ctd\u003e\n        \u003cul\u003e\n          \u003cli\u003e\u003ca href=\"https://docs.bazel.build/versions/master/be/python.html\"\u003ehttps://docs.bazel.build/versions/master/be/python.html\u003c/a\u003e\u003c/li\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/bazelbuild/rules_python/\"\u003ebazelbuild/rules_python\u003c/a\u003e\u003c/li\u003e\n        \u003c/ul\u003e\n        \u003cul\u003e\n          \u003cli\u003e\n            \u003cdiv\u003e\u003ca href=\"https://github.com/benley/bazel_rules_pex\"\u003ebenley/rules_pex\u003c/a\u003e\u003c/div\u003e\n          \u003c/li\u003e\n          \u003cli\u003e\n            \u003cdiv\u003e\u003ca href=\"https://github.com/georgeliaw/rules_wheel\"\u003egeorgeliaw/rules_wheel\u003c/a\u003e: Rules for building Python wheels \u003c/div\u003e\n          \u003c/li\u003e\n          \u003cli\u003e\n            \u003cdiv\u003e\u003ca href=\"https://github.com/tuomasr/pazel\"\u003etuomasr/pazel\u003c/a\u003e: Generate Bazel BUILD files for Python \u003c/div\u003e\n          \u003c/li\u003e\n          \u003cli\u003e\n            \u003cdiv\u003e\u003ca href=\"https://github.com/zenreach/ramsay\"\u003ezenreach/ramsay\u003c/a\u003e: Generate Bazel BUILD files for Python rules_pyz \u003c/div\u003e\n          \u003c/li\u003e\n          \u003cli\u003e\n            \u003cdiv\u003e\u003ca href=\"https://github.com/weisi/bazel_for_gcloud_python\"\u003eweisi/bazel_for_gcloud_python\u003c/a\u003e: Rules to build Python 3 and deploy to Google App Engine and Google Cloud Functions\u003c/div\u003e\n          \u003c/li\u003e\n          \u003cli\u003e\n            \u003cdiv\u003e\u003ca href=\"https://github.com/apt-itude/rules_pip\"\u003eapt-itude/rules_pip\u003c/a\u003e: Rules for \u003ccode\u003epip\u003c/code\u003e requirements files \u003c/div\u003e\n          \u003c/li\u003e\n\t  \u003cli\u003e\n            \u003cdiv\u003e\u003ca href=\"https://github.com/tubular/rules_pygen\"\u003etubular/rules_pygen\u003c/a\u003e: Rules for generating Bazel Python libraries from requirements.txt \u003c/div\u003e\n\t  \u003c/li\u003e\n         \u003cli\u003e\n            \u003cdiv\u003e\u003ca href=\"https://github.com/TriggerMail/rules_pyz\"\u003eTriggerMail/rules_pyz\u003c/a\u003e: Python rules with PyPI package support (Unmaintained)\u003c/div\u003e\n         \u003c/li\u003e\n         \u003cli\u003e\u003ca href=\"https://github.com/aspect-build/rules_py\"\u003easpect_rules_py\u003c/a\u003e: Bazel rules for running Python tools and building Python projects\u003c/li\u003e\n         \u003cli\u003e\u003ca href=\"https://github.com/stackb/pycross_image\"\u003estackb/pycross_image\u003c/a\u003e: Bazel rules for building/cross-compiling container images for python apps\u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eRagel\u003c/td\u003e\n      \u003ctd\u003e\n        \u003cul\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/jmillikin/rules_ragel\"\u003ejmillikin/rules_ragel\u003c/a\u003e\u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eR\u003c/td\u003e\n      \u003ctd\u003e\n        \u003cul\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/grailbio/rules_r\"\u003egrailbio/rules_r\u003c/a\u003e\u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eReasonML, BuckleScript\u003c/td\u003e\n      \u003ctd\u003e\n        \u003cul\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/ostera/rules_reason\"\u003eostera/rules_reason\u003c/a\u003e\u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eRuby\u003c/td\u003e\n      \u003ctd\u003e\n        \u003cul\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/bazelruby/rules_ruby\"\u003ebazelruby/rules_ruby\u003c/a\u003e\u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eRust\u003c/td\u003e\n      \u003ctd\u003e\n        \u003cul\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/bazelbuild/rules_rust\"\u003ebazelbuild/rules_rust\u003c/a\u003e\u003c/li\u003e\n        \u003c/ul\u003e\n        \u003cul\u003e\n          \u003cli\u003e\n            \u003cdiv\u003e\u003ca href=\"https://github.com/google/cargo-raze\"\u003egoogle/cargo-raze\u003c/a\u003e: Generate Bazel BUILD files for Rust Crates\u003c/div\u003e\n          \u003c/li\u003e\n          \u003cli\u003e\n            \u003cdiv\u003e\u003ca href=\"https://github.com/wildarch/blackjack\"\u003ewildarch/blackjack\u003c/a\u003e: Generate Bazel targets for crates.io dependencies in your Cargo.toml\u003c/div\u003e\n          \u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eSass\u003c/td\u003e\n      \u003ctd\u003e\n        \u003cul\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/bazelbuild/rules_sass\"\u003ebazelbuild/rules_sass\u003c/a\u003e\u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eScala\u003c/td\u003e\n      \u003ctd\u003e\n        \u003cul\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/bazelbuild/rules_scala\"\u003ebazelbuild/rules_scala\u003c/a\u003e\u003c/li\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/higherkindness/rules_scala\"\u003ehigherkindness/rules_scala\u003c/a\u003e\u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eShell\u003c/td\u003e\n      \u003ctd\u003e\n        \u003cul\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/tweag/rules_sh\"\u003etweag/rules_sh\u003c/a\u003e\u003c/li\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/filmil/bazel-bats\"\u003efilmil/bazel-bats\u003c/a\u003e\n\t\t    (bats: bash automated testing system)\u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eSonarQube\u003c/td\u003e\n      \u003ctd\u003e\n        \u003cul\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/Zetten/bazel-sonarqube\"\u003eZetten/bazel-sonarqube\u003c/a\u003e\u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eSpring\u003c/td\u003e\n      \u003ctd\u003e\n        \u003cul\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/salesforce/rules_spring\"\u003esalesforce/rules_spring\u003c/a\u003e\u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eSwift\u003c/td\u003e\n      \u003ctd\u003e\n        \u003cul\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/bazelbuild/rules_swift\"\u003ebazelbuild/rules_swift\u003c/a\u003e\u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eTerraform\u003c/td\u003e\n      \u003ctd\u003e\n        \u003cul\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/ceason/rules_terraform\"\u003eceason/rules_terraform\u003c/a\u003e\u003c/li\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/mitchelldavis/rules_terraform\"\u003emitchelldavis/rules_terraform\u003c/a\u003e\u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eTwirl\u003c/td\u003e\n      \u003ctd\u003e\n        \u003cul\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/lucidsoftware/rules_twirl\"\u003elucidsoftware/rules_twirl\u003c/a\u003e\u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eTypeScript\u003c/td\u003e\n      \u003ctd\u003e\n        \u003cul\u003e\n          \u003cli\u003e\u003ca href=\"https://www.npmjs.com/package/@bazel/typescript\"\u003e@bazel/typescript on npm (from https://github.com/bazelbuild/rules_nodejs)\u003c/a\u003e\u003c/li\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/sconover/rules_multi_tsc\"\u003esconover/rules_multi_tsc\u003c/a\u003e: Bazel rules that support breaking a typescript codebase into small, independently-compilable libraries.\u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eVerilog\u003c/td\u003e\n      \u003ctd\u003e\n        \u003cul\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/Lightelligence/rules_verilog\"\u003eLightelligence/rules_verilog\u003c/a\u003e\u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eWeb (HTML, CSS, JS, assets)\u003c/td\u003e\n      \u003ctd\u003e\n        \u003cul\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/quittle/rules_web\"\u003equittle/rules_web\u003c/a\u003e\u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eYAML\u003c/td\u003e\n      \u003ctd\u003e\n        \u003cul\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/ekhabarov/rules_ytt\"\u003eekhabarov/rules_ytt\u003c/a\u003e: Bazel rules for \u003ca href=\"https://carvel.dev/ytt/\"\u003eYAML templating tool (ytt)\u003c/a\u003e.\u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eZig\u003c/td\u003e\n      \u003ctd\u003e\n        \u003cul\u003e\n          \u003cli\u003e\u003ca href=\"https://github.com/aherrmann/rules_zig\"\u003eaherrmann/rules_zig\u003c/a\u003e: Bazel rules for \u003ca href=\"https://ziglang.org\"\u003eZig\u003c/a\u003e.\u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\n## Tooling\n\n### General\n\n- [graknlabs/bazel-distribution](https://github.com/graknlabs/bazel-distribution) - Assemble and deploy software distributions to common platforms, e.g. APT, Brew, GitHub, Maven, NPM, PIP, RPM, etc.\n- [bazelbuild/bazel-watcher](https://github.com/bazelbuild/bazel-watcher) - Automatically run Bazel commands when source files change\n- [nadirizr/dazel](https://github.com/nadirizr/dazel) - Run Bazel inside a Docker container via a seamless proxy\n- [spotify/bazel-tools](https://github.com/spotify/bazel-tools) - Spotify's production tools for dealing with very large Bazel-managed repositories.\n- [atlassian/bazel-tools](https://github.com/atlassian/bazel-tools) - Atlassian's reusable bits for Bazel\n- [gerrit/bazlets](https://github.com/GerritCodeReview/bazlets) - Gerrit's re-usable building blocks for Bazel build tool\n- [Bazel Code Search](https://source.bazel.build) - Browse Bazel's codebase with cross references.\n- [heroku-buildpack-bazel](https://github.com/google/heroku-buildpack-bazel) - Heroku buildpack for Bazel\n- [hchauvin/bazel-coverage-report](https://github.com/hchauvin/bazel-coverage-report) - A multi-language coverage report generator for Bazel\n- [acqio/bazel-arcanist](https://github.com/acqio/bazel-arcanist) - Integration with Arcanist with `arc test` and `arc lint`\n- [Asana/bazeltsc](https://github.com/Asana/bazeltsc) - TypeScript compiler that knows how to run as a Bazel persistent worker\n- [bazelbuild/sandboxfs](https://github.com/bazelbuild/sandboxfs) - A virtual file system for sandboxing\n- [JetBrains/teamcity-bazel-plugin](https://github.com/JetBrains/teamcity-bazel-plugin) - TeamCity plugin for Bazel ([blogpost](https://blog.jetbrains.com/teamcity/2018/11/bazel-plugin-for-teamcity/))\n- [philwo/bazelisk](https://github.com/philwo/bazelisk) - A user-friendly launcher for Bazel\n- [bzl-io/bzl](https://github.com/bzl-io/bzl) - a wrapper around the bazel build tool to extend its functionality\n- [Aspect CLI](https://aspect.build/cli) - a wrapper around Bazel that allows interactivity and plugin extensions\n- [bazelbuild/bazel-integration-testing](https://github.com/bazelbuild/bazel-integration-testing) - Framework for integration tests that call Bazel\n- [bazel-diff](https://github.com/Tinder/bazel-diff) - Bazel Target Diffing between two revisions in Git, allowing for Test Target Selection and Selective Building\n- [renovate](https://github.com/renovatebot/renovate) - Automate WORKSPACE dependencies updates\n- [bazel-super-formatter](https://github.com/aspect-build/bazel-super-formatter) - Hermetic aggregation formatter to format code in most languages\n- [stackb/bazel-aquery-differ](https://github.com/stackb/bazel-aquery-differ) - View differences between two different aquery invocations.\n- [Bazel Steward](https://virtuslab.github.io/bazel-steward/) - Automate external dependency updates (Rules, Maven, Bazel itself)\n\n### Toolchains\n\nToolchains enable authors to decouple their rule logic from platform-based selection of tools.\n\n- [bazelbuilds/bazel-toolchains](https://github.com/bazelbuild/bazel-toolchains) -  Bazel toolchain configurations to enable Google Cloud Remote Build Execution via Docker containers\n- [vsco/bazel-toolchains](https://github.com/vsco/bazel-toolchains) - A collection of Bazel C++ build infrastructure based on Chromium's LLVM toolchain\n- [grailbio/bazel-toolchain](https://github.com/grailbio/bazel-toolchain) - LLVM toolchain for bazel\n- [bazelembedded/bazel-embedded](https://github.com/bazelembedded/bazel-embedded) - Set of bazel toolchains and tools, for compiling and uploading to embedded targets\n- [hexdae/bazel-arm-none-eabi](https://github.com/hexdae/bazel-arm-none-eabi) - embedded ARM toolchain\n- [hexdae/toolchains_riscv_gnu](https://github.com/hexdae/toolchains_riscv_gnu) - RISC-V toolchain\n- [f0rmiga/gcc-toolchain](https://github.com/f0rmiga/gcc-toolchain) - A fully-hermetic Bazel GCC toolchain for Linux\n\n### Starlark\n\nStarlark (formerly called Skylark) is Bazel's domain-specific language for writing BUILD definitions and rules.\n\n- [Official documentation](https://docs.bazel.build/versions/master/skylark/language.html)\n- [Language description](https://github.com/bazelbuild/starlark/)\n- [Starlark in Go](https://github.com/google/skylark)\n- [Starlark in Rust](https://github.com/google/starlark-rust)\n- [Starlet](https://github.com/1set/starlet) - Go wrapper for [Starlark in Go](https://github.com/google/starlark-go) that simplifies script execution, offers data conversion, and useful Starlark libraries and extensions.\n- [Stardoc](https://github.com/bazelbuild/stardoc) - Starlark documentation generator\n- [Sphinx-Bazel](https://sphinx-bazel.readthedocs.io/en/latest/) - [Sphinx](http://www.sphinx-doc.org/en/master/) extension to read Bazel files to generate documentation ([GitHub](https://github.com/useblocks/sphinx-bazel))\n- [Skylib](https://github.com/bazelbuild/bazel-skylib) - Common useful functions for writing custom build rules with Starlark\n- [aspect_bazel_lib](https://github.com/aspect-build/bazel-lib) - More common useful functions for writing custom build rules with Starlark\n- [Bazel Common Libraries](https://github.com/google/bazel-common) - **Java-specific** Common functionality for Google's open-source libraries that are built with Bazel.\n- [Stardbg](https://github.com/laurentlb/stardbg) - A standalone debugger for Starlark\n\n### Remote caching and execution\n\n- [bazel-remote](https://github.com/buchgr/bazel-remote) - A simple remote cache for Bazel that supports HTTP and gRPC, with optional proxy backends for S3/GCS/HTTP.\n- [bazelbuild/bazel-buildfarm](https://github.com/bazelbuild/bazel-buildfarm) - Self-hosted remote caching and execution service written in Java\n- [Buildbarn](https://github.com/buildbarn) - Self-hosted remote caching and execution service written in Go\n- [buildbuddy-io/buildbuddy](https://github.com/buildbuddy-io/buildbuddy) - Cloud or self-hosted remote caching and execution service written in Go, with Web UI for viewing and debugging build logs\n- [BuildGrid](https://gitlab.com/BuildGrid/buildgrid) - Self-hosted remote caching and execution service written in Python\n- [Asana/bazels3cache](https://github.com/Asana/bazels3cache) - Small web server for a Bazel cache that proxies to S3, allowing Bazel to work offline and has async uploads to make Bazel faster.\n- [EngFlow](https://engflow.com) - Cloud or self-hosted [remote caching and execution](https://www.engflow.com/product/remoteExecution), with build analytics UI for diagnosing and fixing performance issues, flaky tests, and build failures.\n\n### Project generators\n\nTools for generating WORKSPACE and BUILD files from source code.\n\n- [blakefiler.py](https://gist.github.com/jart/082b1078a065b79949508bbe1b7d8ef0) - Generate a Makefile and tarball-able distribution using `bazel query`\n- [Lavender](https://github.com/tmandry/lavender) - Generate Visual Studio projects that uses Bazel for the actual building\n- [bazel-to-msbuild](https://github.com/sammi/bazel-to-msbuild) - Generate Visual Studio solution and projects from bazel workspace, command line tool build by Java.\n- [Jadep: Java Automated Dependencies](https://github.com/bazelbuild/tools_jvm_autodeps) - Generate BUILD files automatically for an existing Java project with class dependency analysis.\n- [BUILD File Generator](https://github.com/bazelbuild/BUILD_file_generator) - Similar tool for existing Java projects.\n- [Gazelle](https://github.com/bazelbuild/bazel-gazelle) - BUILD file generator with extensions for many languages. See the list of available plugins in the project README: \u003chttps://github.com/bazelbuild/bazel-gazelle#supported-languages\u003e\n- [Pazel](https://github.com/tuomasr/pazel) - Generate Bazel BUILD files for Python\n- [Tulsi for Xcode](https://github.com/bazelbuild/tulsi) - A project generator for Xcode projects\n- [pinterest/xchammer](https://github.com/pinterest/xchammer) - XCHammer generates Xcode projects from a Bazel Workspace\n- [create-bazel-workspace](https://github.com/jin/create-bazel-workspace) - Generate a new multi-language Bazel workspace with minimal configuration\n- [@bazel/create](http://npmjs.com/package/@bazel/create) - Project generator for NodeJS projects\n- [llvmbzlgen](https://github.com/kythe/llvmbzlgen) - Tools for generating Bazel BUILD targets from LLVM CMakeLists\n\n### Editors\n\n- [IntelliJ plugin (compatible with Android Studio and CLion)](https://ij.bazel.build)\n- Eclipse Support\n  - [Bazel Eclipse Feature (BEF)](https://github.com/salesforce/bazel-eclipse) - Fork of the abandoned [Google Bazel Eclipse plugin](https://github.com/bazelbuild/eclipse)\n  - [B2Eclipse](https://github.com/salesforce/bazel-ls-eclipse) - Bazel Eclipse plugin based on [Eclipse JDT LS](https://github.com/eclipse/eclipse.jdt.ls)\n- [Vim plugin](https://github.com/bazelbuild/vim-bazel)\n- Emacs Support\n\t- [codesuki/bazel-mode](https://github.com/codesuki/bazel-mode):\n\t- [brown/bazel-mode](https://github.com/brown/bazel-mode)\n- VSCode Support\n  - [bazelbuild/vscode-bazel](https://github.com/bazelbuild/vscode-bazel)\n  - [stackb/bazel-stack-vscode](https://github.com/stackb/bazel-stack-vscode).  Includes syntax highlighting / flag completion for bazelrc files.  Hover support for inline builtin-function and bazel rule documentation.  [VSCode Marketplace](https://marketplace.visualstudio.com/items?itemName=StackBuild.bazel-stack-vscode).\n  - [stackb/bazel-stack-vscode-cc](https://github.com/stackb/bazel-stack-vscode-cc).  Supports generation of clang compilation databases.  [VSCode Marketplace](https://marketplace.visualstudio.com/items?itemName=StackBuild.bazel-stack-vscode-cc).\n  - [VSCode Bazel Java extension](https://github.com/salesforce/bazel-ls-vscode) - Proof-of-concept (POC) of a Bazel Java development extension for VS Code\n- [rules_xcodeproj](https://github.com/MobileNativeFoundation/rules_xcodeproj) - Generates Xcode projects for your workspace that builds with Bazel\n- [hedronvision/bazel-compile-commands-extractor](https://github.com/hedronvision/bazel-compile-commands-extractor) enables autocomplete, smart navigation, quick fixes, and more in a wide variety of extensible editors, including VSCode, Vim, Emacs, Atom, and Sublime. It lets language servers, like clangd, ccls, and other types of tooling, draw upon Bazel’s understanding of how `cc` and `objc` code will be compiled, including how it configures cross-compilation for other platforms.\n- [PyCharm](https://github.com/tomhanetz/bazel-for-human-beings)\n- [sconover/rules_intellij_generate](https://github.com/sconover/rules_intellij_generate) - Plugin-less Bazel/IntelliJ integration\n- [georgewfraser/java-language-server](https://github.com/georgewfraser/java-language-server) - Java Language Server (LSP) with support for Bazel-built projects\n\n### BUILD file tools\n\n[bazelbuild/buildtools](https://github.com/bazelbuild/buildtools) contains:\n\n- Buildifier - Prettifier for `BUILD` and `.bzl` files\n- Buildozer - Manipulate `BUILD` file contents from the command line\n- unused_deps - Find unneeded dependencies in BUILD files\n\n### Migration\n\n- [bazelbuild/migration-tooling](https://github.com/bazelbuild/migration-tooling) - Migrate an existing Maven project to Bazel.\n- [johnynek/bazel-deps](https://github.com/johnynek/bazel-deps) - Generate bazel dependencies transitively for Maven artifacts, with scala support.\n- [rules_maven](https://github.com/pubref/rules_maven) - Rules to define Maven dependencies\n- [bazelize-maven-plugin](https://github.com/OrhanKupusoglu/bazelize-maven-plugin) - Maven plugin for migration from Maven to Bazel\n- [bazelbuild/gmaven_rules](https://github.com/bazelbuild/gmaven_rules) - Transitive WORKSPACE rules for Google's Maven repository\n- [stripe/sbt-bazel](https://github.com/stripe/sbt-bazel) - Easily convert SBT projects to Bazel workspaces\n- [wix-incubator/exodus](https://github.com/wix-incubator/exodus) - Easily migrate your JVM code from Maven to Bazel\n\n### \u003ca name=\"misc-tooling\"\u003e\u003c/a\u003eMisc\n\n- [salesforce/bazel-maven-proxy](https://github.com/salesforce/bazel-maven-proxy/) - A local proxy to access Maven resources behind secure repositories or from the local repo\n\n## Resources\n\n### Designs\n\n- [bazelbuild/proposals](https://github.com/bazelbuild/proposals) - Index of all design documents and proposals for Bazel.\n- [Bazel's design process](https://bazel.build/designs/index.html)\n\n### Documentation\n\n- [Bazel rules API documentation](https://docs.aspect.build), hosted by Aspect\n\n### Tutorials\n\n#### Official\n\n- [Java](https://docs.bazel.build/versions/master/tutorial/java.html)\n- [C++](https://docs.bazel.build/versions/master/tutorial/cpp.html)\n- [Android](https://docs.bazel.build/versions/master/tutorial/android-app.html)\n- [iOS](https://docs.bazel.build/versions/master/tutorial/ios-app.html)\n\n#### Toolchains\n- [c++ toolchains](https://docs.bazel.build/versions/master/tutorial/cc-toolchain-config.html)\n\n#### Codelabs\n\n- [Building Android Apps with Bazel](https://codelabs.developers.google.com/codelabs/bazel-android-intro/index.html)\n\n#### Community\n\n- [Aspects: the fan-fic of build rules](https://www.kchodorow.com/blog/2017/01/10/aspects-the-fan-fic-of-build-rules/)\n- [Real-world Bazel](https://github.com/cgbystrom/real-world-bazel) - BUILD files collected from public GitHub projects for reference and learning purposes.\n- [Bazel Lesson 1](https://github.com/sayrer/bazel-lesson-1) and [Bazel Lesson 2](https://github.com/sayrer/bazel-lesson-2) - Gradually build a multi-language Bazel project.\n- [Bazel Mystery](https://github.com/salesforce/bazel-mystery) - Gamified workspace to learn about Bazel.\n- [Bazel and Bazel rules tutorials from Jay Conrod](https://jayconrod.com/tags/bazel), e.g.\n  - [Migrating to Bazel Part 1](https://jayconrod.com/posts/97/migrating-to-bazel--part-1)\n  - [Migrating to Bazel Part 2](https://jayconrod.com/posts/98/migrating-to-bazel--part-2)\n  - [Binary rule](https://jayconrod.com/posts/106/writing-bazel-rules--simple-binary-rule)\n  - [Library rule, depsets, providers](https://jayconrod.com/posts/107/writing-bazel-rules--library-rule--depsets--providers)\n  - [Data and runfiles](https://jayconrod.com/posts/108/writing-bazel-rules--data-and-runfiles)\n  - [Execution](https://jayconrod.com/posts/109/writing-bazel-rules--moving-logic-to-execution)\n  - [Repository rules](https://jayconrod.com/posts/110/writing-bazel-rules--repository-rules)\n  - [Platforms and toolchains](https://jayconrod.com/posts/111/writing-bazel-rules-platforms-and-toolchains)\n  - [WORKSPACE files](https://jayconrod.com/posts/115/organizing-bazel-workspace-files)\n\n### Projects\n\nA list of projects built with Bazel:\n\n- [bazelment/trunk](https://github.com/bazelment/trunk): A collection of C++/Java OSS with BUILD files. e.g. grpc, guava, netty.\n- [tensorflow/tensorflow](https://github.com/tensorflow/tensorflow): Computation using data flow graphs for scalable machine learning.\n- [abseil/abseil-cpp](https://github.com/abseil/abseil-cpp) - OSS collection of C++ code (compliant to C++11) designed to augment the C++ standard library.\n- [GoogleCloudPlatform/distroless](https://github.com/GoogleCloudPlatform/distroless) - Language focused docker images, minus the operating system.\n- [google/subpar](https://github.com/google/subpar) - Subpar is a utility for creating self-contained python executables. It is designed to work well with Bazel.\n- [alexeagle/angular-bazel-example](https://github.com/alexeagle/angular-bazel-example): Building an Angular application with Bazel\n\t- ABC: Angular Buildtools Convergence [https://g.co/ng/abc](https://g.co/ng/abc)\n- [google/startup-os](https://github.com/google/startup-os) - Working examples of Google's Open Source tools and Cloud.\n- [lucperkins/colossus](https://github.com/lucperkins/colossus) - An example microservice architecture for Kubernetes using Bazel, Go, Java, Docker, Kubernetes, Minikube, Gazelle, gRPC, Prometheus, Grafana, and more.\n- [squzy/squzy](https://github.com/squzy/squzy) - is a high-performance open-source monitoring system written in Golang with Bazel. Using Bazel for testing, building and dockerize.\n\n### Demos\n\nBazel demo projects:\n\n- [kastiglione/bazel-xcode-demo-swift-driver](https://github.com/kastiglione/bazel-xcode-demo-swift-driver): Demonstrates using Bazel and Xcode, to build [apple/swift-driver](https://github.com/apple/swift-driver).\n- [nickdecooman/bazel-rust-docker-example](https://github.com/nickdecooman/bazel-rust-docker-example): Demonstrating Bazel setup for Rust services with Cargo and Docker support.\n- [kriscfoster/multi-language-bazel-monorepo](https://github.com/kriscfoster/multi-language-bazel-monorepo): Bazel monorepo that includes example golang, python and javascript libraries, binaries and Docker image targets.\n- [ekhabarov/bazel-k8s-envoy](https://github.com/ekhabarov/bazel-k8s-envoy): Build Go gRPC micoservices with Bazel and deploy them to k8s.\n\n### Articles\n\n- [Build mobile apps with Bazel. Part 2: iOS](https://tulipemoutarde.be/posts/bazel-for-mobile-apps-part-2/) - Francois Stephany\n- [Build mobile apps with Bazel. Part 1: Android](https://tulipemoutarde.be/posts/bazel-for-mobile-apps-part-1/) - Francois Stephany\n- [(In Japanese) Building C++ with Bazel / C++ビルド環境としてのBazel導入試行](http://blog.matsuokah.jp/entry/2015/12/15/080000)\n- [Nix + Bazel = fully reproducible, incremental builds](https://www.tweag.io/posts/2018-03-15-bazel-nix.html)\n- [Production Code Splitting With Bazel](https://medium.com/@gregmagolan/production-code-splitting-with-bazel-8a7da242bf83) - Greg Magolan (Google)\n- [Build large polyglot projects with Bazel... now with Haskell support](https://www.tweag.io/posts/2018-02-28-bazel-haskell.html)\n- [Managing a Go monorepo with Bazel](https://filipnikolovski.com/posts/managing-go-monorepo-with-bazel/) - Filip Nikolovski (InPlayer)\n- [How to Create a Persistent Worker for Bazel](https://medium.com/@mmorearty/how-to-create-a-persistent-worker-for-bazel-7738bba2cabb) - Mike Morearty (Asana)\n- [We Switched from Maven to Bazel and Builds Got 10x Faster](https://redfin.engineering/we-switched-from-maven-to-bazel-and-builds-got-10x-faster-b265a7845854) - Jason Lunz (Redfin)\n- [Angular Bazel Build With Dev Server](http://www.syntaxsuccess.com/viewarticle/angular-bazel-build-with-dev-server) - Torgeir \"Tor\" Helgevold\n- [Bazel Conference 2017](https://medium.com/@justin_16029/bazel-conference-2017-85a4f397d69c) - Justin Poehnelt\n- [What Angular is doing with Bazel and Closure](https://medium.com/@Jakeherringbone/what-angular-is-doing-with-bazel-and-closure-21f526f64a34)\n- [Building Docker Images Without Docker](https://medium.com/bitnami-perspectives/building-docker-images-without-docker-c619061b13a9)\n- [Bazel Golang Hello World](https://chrislovecnm.com/golang/bazel/bazel-hello-world)\n- [Migrating from Gradle to Bazel](https://www.pgrs.net/2015/09/01/migrating-from-gradle-to-bazel)\n- [Benchmarking the Bazel build system on real-life C++](http://nicolovaligi.com/benchmark-bazel-build-cpp.html)\n- [Migrating Gypsum and CodeSwitch to Bazel](http://jayconrod.com/posts/97/migrating-to-bazel-part-1) - Jay Conrod (Google)\n- [Create Go Monorepo with Go-modules and Bazel](https://medium.com/@tduble94/create-go-monorepo-with-go-modules-and-bazel-95f00cf571d3) - Iurii Panarin\n\n### Videos\n\n- [Bazel Opportunities, Tradeoffs, and Rollout](https://www.youtube.com/watch?v=vYTpnTgK0Z4) - Kyle Cordes (Oasis Digital)\n- [code::dive 2020: Introduction to Bazel to build C++ and Python](https://www.youtube.com/watch?v=vEQQ9QOVpdU) - Xavier Bonaventura (BMW Group)\n- [KubeCon Europe 2019: Reproducible Development and Deployment with Bazel and Telepresence](https://www.youtube.com/watch?v=tD0FIlxO1AQ) - Christian Roggia (Engel \u0026 Völkers)\n- [ScalaSphere 2018: Using Bazel to build Scala](https://www.youtube.com/watch?v=iSLDQPsWvGs) - Andy Scott (Stripe)\n- [GopherChina 2018: Bazel build //:Go](https://www.youtube.com/watch?v=oTS_xxZyhG8) - Yuan He (流利说/liulishuo.com)\n- [How I love being ejected: Customizing your Angular build with Bazel](https://www.youtube.com/watch?v=ieRJwFGWEOM) - Greg Magolan (Angular team)\n- [SF Scala: Bazel - a Brief Overview](https://www.youtube.com/watch?v=m9Vypu4AYc4) - Ulf Adams (Google)\n- [Bazel for building Angular applications at Angular Lunch](https://www.youtube.com/watch?v=KmaE6z_ECRg) - Kyle Cordes\n- [Deep Dive of Google's Angular Build Toolchain](https://www.youtube.com/watch?v=z9Q_2N9oaG8) - Alex Eagle (Google)\n- [Bazel Conference 2017 Opening Remarks](https://www.youtube.com/watch?v=3eFllvz8_0k) - Helen Altshuler, John Field, Ulf Adams (Google)\n- [Bazel Remote Execution and Remote Caching w/ Two Sigma and Uber](https://www.youtube.com/watch?v=_bPyEbAyC0s) - Alpha Lam (Two Sigma), George Gensure (Uber)\n- [Tensorflow with Bazel — Lessons Learned](https://www.youtube.com/watch?v=Rw-KrbfyABQ) - Gunhan Gulsoy (Google)\n- [Building Real-time Systems with Bazel w/ SpaceX](https://www.youtube.com/watch?v=t_3bckhV_YI) - Matt Sachtler, Patrick Conrad (SpaceX)\n- [Hacks and Tips for Incremental Adoption of Bazel for iOS w/ Pinterest](https://www.youtube.com/watch?v=wewAVF-DVhs) - Rahul Malik, Brandon Kase, Jerry Marino (Pinterest)\n- [Front End Development with Bazel: Angular/TypeScript and Persistent Workers w/ Asana](https://www.youtube.com/watch?v=0pgERydGyqo) - Mike Morearty (Asana), Alex Eagle (Google)\n- [Scala with Bazel w/ Wix, Stripe, Databricks](https://www.youtube.com/watch?v=wCkqtM44BvU) - Ittai Zeidman (Wix), Oscar Boykin (Stripe), Ahir Reddy (DataBricks)\n- [Skylark: The Bazel Extensibility Language](https://www.youtube.com/watch?v=xLgIKcbF6SA) - Laurent Le Brun (Google)\n- [Using Bazel for Fast, Correct Docker Deployments w/ Databricks](https://www.youtube.com/watch?v=RS1aiQqgUTA) - Miles Yucht (Databricks), Matthew Moore (Google)\n- [Platforms and Toolchains in Bazel](https://www.youtube.com/watch?v=TXwmwPB0i_Y) - John Cater (Google)\n- [Building Kubernetes \\[a Go binary\\] with Bazel](https://www.youtube.com/watch?v=j6ZVaJlokhM) - Jeff Grafton (Google)\n- [Integration testing with Bazel w/Dropbox](https://www.youtube.com/watch?v=muvU1DYrY0w) - Benjamin Peterson (Dropbox)\n- [Bazel Conference 2017 playlist](https://www.youtube.com/playlist?list=PLxNYxgaZ8RseY0KmkXQSt0StE71E7yizG)\n- [GothamGo 2017: A Go implementation of the Skylark Configuration Language](https://www.youtube.com/watch?v=9P_YKVhncWI) - Alan Donovan (Google)\n- [Bazel: Google's Extensible, Multilingual, Scalable Build System DevTools@Scale2017](https://www.youtube.com/watch?v=-M0FoRNpF8s) - Dmitry Lomov (Google)\n- [Building Go with Bazel at Golang UK Conference 2017](https://www.youtube.com/watch?v=2TKxuERTnks) - Paul Bellamy\n- [Building Software At Google Scale](https://www.youtube.com/watch?v=6GCDfoAOKIY) - Ulf Adams, Helen Altshuler, David Stanke (Google)\n- [Bazel: Google's own build tool, now publicly available in Beta](https://www.youtube.com/watch?v=G-4jqDgILCM) - Paul Johnston\n- [Bazel at FrOSCon](https://www.youtube.com/watch?v=8p0RquTT69M) - Klaus Aehlig (Google)\n- [Building Python with Bazel](https://www.youtube.com/watch?v=zaymCO1A1dM) - Benjamin Peterson (Dropbox)\n- [Bazel at the Dart Developer Summit 2016](https://www.youtube.com/watch?v=zZnGUknpFMM) - Damien Martin-Guillerez (Google)\n\n### Podcasts\n- [Bazel; CppCast](https://cppcast.com/bazel/) Oct 16th, 2020 - Lukács Berki and Julio Merino\n- [Bazel with Tony Aiuto; Google Cloud Podcast #153](https://www.gcppodcast.com/categories/bazel/) Oct 31st, 2018 - Tony Aiuto\n- [AiA 247: Bazel with Alex Eagle; Adventures in Angular](https://player.fm/series/all-angular-podcasts-by-devchattv/aia-247-bazel-with-alex-eagle) Jul 9th, 2019 - Alex Eagle (Google)\n\n### Books\n- [Beginning Bazel: Building and Testing for Java, Go, and More](https://www.amazon.com/Beginning-Bazel-Building-Testing-Java/dp/1484251938) - P.J. McNerney;  Apress, 1st ed. edition (December 24, 2019) 978-1484251935\n- [Core Bazel: Fast Builds For Busy People](https://www.amazon.com/Core-Bazel-Fast-Builds-People-ebook/dp/B08DXBR2TF/ref=cm_cr_arp_d_product_top?ie=UTF8) -  B. Mustiata; Amazon Kindle (July 28, 2020) ASIN: B08DXBR2TF\n- [Getting Started with Bazel](https://learning.oreilly.com/library/view/getting-started-with/9781492077107/) - B. Muschko; O'Reilly Media (February 2020)\n\n### Slides\n\n- [Building Gerrit with Bazel at Gerrit User Conference 2016](http://ostrovsky.org/gerrit/bazel-build-gerrit/) - David Ostrovsky\n\n### Blogs\n\n- [Official Bazel Blog](https://blog.bazel.build)\n- [Kristina Chodorow's blogposts on Bazel](https://kchodorow.com/category/bazel/)\n- [Envoy as an API Gateway](https://ekhabarov.com/post/envoy-as-an-api-gateway/) - Build Go microservices with Bazel.\n\n### Community\n\n- [#bazelbuild on Slack](https://slack.bazel.build)\n- [BuildTeamWorld on Slack](https://buildteamworld.herokuapp.com) - A community slack for BuildFarm, BuildGrid, Bazel and general build teams.\n- [`#bazel` on Freenode](http://webchat.freenode.net/?channels=bazel)\n- [Stack Overflow](http://stackoverflow.com/questions/tagged/bazel)\n- [Bazel users mailing list](https://groups.google.com/forum/#!forum/bazel-discuss)\n- [Bazel developers mailing list](https://groups.google.com/forum/#!forum/bazel-dev)\n\n### \u003ca name=\"misc-resources\"\u003e\u003c/a\u003eMisc\n\n- [Why Google Stores Billions of Lines of Code in a Single Repository\n](https://cacm.acm.org/magazines/2016/7/204032-why-google-stores-billions-of-lines-of-code-in-a-single-repository/fulltext) ([Video](https://www.youtube.com/watch?v=W71BTkUbdqE) at @Scale 2015)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjin%2Fawesome-bazel","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjin%2Fawesome-bazel","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjin%2Fawesome-bazel/lists"}