Bazel Alternatives
Similar projects and alternatives to Bazel
-
Buck
A fast build system that encourages the creation of small, reusable modules over a variety of platforms and languages.
-
mediapipe
Cross-platform, customizable ML solutions for live and streaming media.
-
Scout APM
Less time debugging, more time building. Scout APM allows you to find and fix performance issues with no hassle. Now with error monitoring and external services monitoring, Scout is a developer's best friend when it comes to application development.
-
-
-
-
-
-
SonarLint
Clean code begins in your IDE with SonarLint. Up your coding game and discover issues early. SonarLint is a free plugin that helps you find & fix bugs and security issues from the moment you start writing code. Install from your favorite IDE marketplace today.
-
-
-
-
-
-
-
Babel (Formerly 6to5)
🐠 Babel is a compiler for writing next generation JavaScript.
-
-
lerna
:dragon: Lerna is a fast, modern build system for managing and publishing multiple JavaScript/TypeScript packages from the same repository.
-
-
llvm-project
The LLVM Project is a collection of modular and reusable compiler and toolchain technologies. Note: the repository does not accept github pull requests at this moment. Please submit your patches at http://reviews.llvm.org.
-
-
Bazel reviews and mentions
-
Incremental Builds for Haskell with Bazel
I migrated a mid-size polyglot project from Makefiles to Bazel and C++ was a large component of the project.
Some obstacles:
1. Building with QT5 MOC & UI files. There is a great library[0] for it but it has hardcoded paths to the QT binaries and header files assuming a system-wide installation. I had to patch the rule to point to our QT location. Then it worked fine.
2. There is no rule to build a fully static library[1]. Since we were shipping a static library in our Makefile system, that was somewhat annoying.
3. We were using system links like `$PROJECT_ROOT/links/GCC/vX.Y.Z/ -> /opt/gcc/...` to point to all the build tools, but these didn't work in Bazel I think because it required absolute paths for any binaries it calls. We ended up putting them in a .bazelrc but we would need a different one for Windows and Linux.
4. Not good integration with IDEs
Ultimately we did not keep using Bazel because we were building Python binaries and py_binary was too slow on Windows. And we didn't have enough time to write a PyInstaller rule.
- Is there any better options for building kotlin then gradle?
-
Rust starlark interpreters purpose?
Secondly, let me check my current version of the Bazel source. The Java Starlark code (https://github.com/bazelbuild/bazel/tree/master/src/main/java/net/starlark/java) is about 22 KLoC (accoridng to "find src/main/java/net/starlark/java/ -name '*.java' | xargs wc -l"). The non-Starlark code (https://github.com/bazelbuild/bazel/tree/master/src/main/java/com/google/devtools) comes out to 217 KLoC. This is just main code that's (mostly) actually bundled into the binary: I'm ignoring tests, native wrappers, and a lot of tooling.
-
Tensorflow Compile Runs For A Long Time
So I am trying to compile TensorFlow from the source (using a clone from their git repo from 2019-01-31). I installed Bazel from their shell script (https://github.com/bazelbuild/bazel/releases/download/0.21.0/bazel-0.21.0-installer-linux-x86_64.sh).
-
Having trouble installing bazel on Mac OS
hmm might have to do a clean uninstall and do a re-install. Make sure you've deleted the cache file as well. You can find instructions here: https://github.com/bazelbuild/bazel/issues/838
no, that wont work as far as i know. did you try installing using homebrew? Seems like there's a version where it causes some conflict on .bazelversion that gies out an error (https://github.com/bazelbuild/bazel/issues/10356). They seem to have fixed it but may be it just works better as a homebrew install.
-
Google Is 2B Lines of Code–and It's All in One Place
(Opinions are my own)
> Do they do an immense amount of code generation?
Blaze (aka Bazel [0]) has provisions that make it easy to generate code but this happens as a compile step rather than something that is checked into a git repo.
[0] - https://bazel.build/
-
Bazel in Vulkan Projects. Part 1 — Environment Setup
Yeah, similarly to cmake, Bazel is a build tool. Here is its official webpage https://bazel.build/
-
Source forest creation failed error
Best to post on the bazel issue tracker https://github.com/bazelbuild/bazel/issues
-
Building a Node.js monorepo with Pnpm and Nx
About multi-language monorepos, I have not tested it by myself, but I think that maybe Nx is not the best tool. It is mainly focused on JavaScript. It has a lot of plugins for different JavaScript frameworks, but there are very few plugins for other languages. You can check a list of available community plugins here. Maybe you can try with Bazel or any other monorepo tool more focused to multi-language. This site contains a comparison between tools and other resources that may be useful before taking a decision.
-
Casync – A Content-Addressable Data Synchronization Tool
I did PoC experiments with compression, chunking, and IPFS here: https://github.com/SaveTheRbtz/bazel-cache
If you need a mature compression implementation for bazel I would recommend using recent bazel versions w/ gRPC-based bazel-remote: https://github.com/buchgr/bazel-remote
bazel nowadays supports end-to-end compression w/ `--experimental_remote_cache_compression`: https://github.com/bazelbuild/bazel/pull/14041
-
Looking for an AWS job in Germany
It’s intentionally vague because there’s so much that isn’t publicly available info that we’re not allowed to advertise or mention in a job posting. As far as I know nothing about our CI/CD stack is open sourced or based on existing open source tools outside of Bazel (https://bazel.build), which is known internally as Blaze and is publicly well documented as part of our distributed build system.
-
Run e2e tests 10x faster using firecracker VMs
> Why do you need to snapshot live processes?
Often times there are long-living processes which rarely change but take a long time to warm up. The Bazel [1] agent for C++ projects, the buildkit [2] state for docker, or the running Postgres or Redis server for a cloud native app for example.
It's why running "docker build" twice on your laptop is so fast, but running "docker build" in CI seems glacially slow.
> why is docker-in-docker a requirement, and how is that easier than qemu in qemu or qemu in docker or whatever?
The example given was running "docker-compose build", so you'd need either docker-in-firecracker (this post), docker-in-docker, or docker-in-qemu. You'd almost never run docker-compose build on bare metal in practice, because you'd immediately need to push the images you built somewhere to use them.
-
Micro-frontends building blocks: Monorepos
Tools like Lerna, Bazel, Nx, Rush, Turborepo, to name a few. Lerna is probably the grand daddy of all monorepo tools. CRA, Babel, Jest are a few projects that use it. Bazel has been refined and tested for years at Google to build heavy-duty, mission-critical infrastructure, services, and applications. Turborepo is the monorepo for Vercel, the leading platform for frontend frameworks. These tools can help keep your monorepo workspaces fast, understandable and manageable.
-
Is it normal for Jetpack Compose previews to be slow to rerender?
https://bazel.build/ Used by Google and Spotify instead of Gradle since they have like 1000 modules. Gradle isn't really fit for that
Stats
bazelbuild/bazel is an open source project licensed under Apache License 2.0 which is an OSI approved license.
Popular Comparisons
Are you hiring? Post a new remote job listing for free.