High Scalability
Bazel is designed to handle large codebases and complex dependency graphs efficiently, which makes it suitable for projects with millions of lines of code.
Incremental Builds
Bazel supports incremental builds by only rebuilding parts of the project that have changed, thus saving time and computational resources.
Cross-Platform Support
Bazel supports different platforms including Linux, MacOS, and Windows, enabling consistent build processes across diverse development environments.
Reproducible Builds
It ensures that the same source code will yield identical build outputs, which is beneficial for debugging and ensuring consistency across different environments.
Extensibility
Bazel is highly extensible, allowing developers to define custom build rules and macros to fit their specific needs.
Wide Language Support
Out of the box, Bazel supports many programming languages such as Java, C++, Python, and Go, with the ability to extend to other languages.
Promote Bazel. You can add any of these badges on your website.
Bazel is a powerful and robust build tool, especially for large-scale projects and organizations that require high build performance and scalability. Its advanced features can significantly improve the efficiency of development workflows. However, there is a learning curve, and the complexity of rules and configurations may not suit smaller projects or those with simpler build requirements.
We have collected here some useful links to help you find out if Bazel is good.
Check the traffic stats of Bazel on SimilarWeb. The key metrics to look for are: monthly visits, average visit duration, pages per visit, and traffic by country. Moreoever, check the traffic sources. For example "Direct" traffic is a good sign.
Check the "Domain Rating" of Bazel on Ahrefs. The domain rating is a measure of the strength of a website's backlink profile on a scale from 0 to 100. It shows the strength of Bazel's backlink profile compared to the other websites. In most cases a domain rating of 60+ is considered good and 70+ is considered very good.
Check the "Domain Authority" of Bazel on MOZ. A website's domain authority (DA) is a search engine ranking score that predicts how well a website will rank on search engine result pages (SERPs). It is based on a 100-point logarithmic scale, with higher scores corresponding to a greater likelihood of ranking. This is another useful metric to check if a website is good.
The latest comments about Bazel on Reddit. This can help you find out how popualr the product is and what people think about it.
The solution isn't always a knee-jerk switch to a polyrepo. As radwanalmsora highlighted in the discussion, more often it's about investing in robust tooling for your monorepo. Tools like Bazel, Nx, or Turborepo can build graphs to understand dependencies, ensuring CI only runs affected targets. Combined with CODEOWNERS files, these tools enable even massive monorepos (think Google or Meta scale) to function... - Source: dev.to / 2 months ago
Monorepo gave you atomic cross-service changes, a single dependency graph, unified CI/CD, and zero version skew between internal libraries. The cost was large clone sizes, slower CI without build caching, complex permission models, and the need for specialized tooling like Bazel, Pants, Nx, or Buck2 to keep builds fast. - Source: dev.to / 2 months ago
I really recommend Bazel (https://bazel.build). - Source: Hacker News / about 1 year ago
Agree regarding easiness of building rust (`cargo build`), extremely satisfying (git clone and cargo build...) Does anyone have any comments on Bazel[1] because I'm kind of settling on using it whenever it's appropriate (c/c++)?.. [1] https://bazel.build/. - Source: Hacker News / over 1 year ago
To achieve reproducibility, your build process must control for environmental differences like timestamps, file ordering, or machine-specific configurations. Tools like Bazel or Nixprovide deterministic build systems that lock down these variables. For instance, Bazel uses a content-addressable cache, meaning the same source code and dependencies always result in the same build outputs, even when run on different... - Source: dev.to / over 1 year ago
Despite following all the steps (on both Windows and Unix), I couldn't get the cmake build to succeed. After several hours of debugging, I decided to try another build method provided by the project, using bazel, which was much simpler. - Source: dev.to / almost 2 years ago
Many big companies have built their own tools to reign in this complexity and make it easier and faster for developers to work on large, multi-language code bases. Meta has buck, Amazon has brazil, and Google has bazel. But from my experience, especially, with brazil, these tools also have some rough edges, so understanding how they work can go a long way. - Source: dev.to / almost 2 years ago
Probably not what youโre thinking of, but Bazel? https://bazel.build. - Source: Hacker News / about 2 years ago
Wow, if you curl it, there's a lot of boilerplate code there. Maybe built using Bazel? https://bazel.build. - Source: Hacker News / over 2 years ago
This is a problem that Bazel (https://bazel.build) solves in a very convenient way. You can just keep using the paths relative to the repository root, and as long as you properly declare your test needs that file it will access it without problems. Or you can use the runfile libraries to access them too. - Source: Hacker News / over 2 years ago
When doing research for this lab exercise I looked at both vcpkg and conan. Both are package managers that would automate the installation and configuration of my program with its dependencies. However, when it came to releasing and sharing my program my options were limited. For example, the central public registry for conan packages is conan-center, but these packages are curated and the process is very... - Source: dev.to / over 2 years ago
NOTE: I wonโt mention SBT and Leiningen here because, with all due respect, they are niche build tools. I also wonโt discuss Kobalt for the same reason (besides, itโs no longer actively maintained). Additionally, I wonโt touch upon Bazel and Buck in this context, mainly because Iโm not very familiar with them. If you have insights or comments about these tools, please feel free to share them in the comments ๐. - Source: dev.to / over 2 years ago
> None of this solves C's only REAL problem (in my opinion) which is the lack of dependency management. Bazel solves this really nicely, I know some people have strong opinions on it but I cannot recommend it enough https://bazel.build/. - Source: Hacker News / almost 3 years ago
I know that some projects like cockroach use custom build tools like bazel. But we actually really like to use to be able to build our projects simply with the great go toolchain and don't really aim to dive deep into custom build solutions. Source: about 3 years ago
Not everyone uses CMake. In the past I've used bazel, make, premake, Unreal Build Tool, shell scripts, Visual Studio, FASTBuild and other tools. Source: about 3 years ago
Bazel is a Google project that showcases first-class support for the major languages Google uses (C++, Java, Go), and it'd probably have replaced CMake if it weren't written in Java, which brought a host of technical challenges. Then those challenges were fixed and Oracle threatened to bring legal challenges instead. Source: about 3 years ago
There is something called Bazel, which is an alternative for Gradle. Https://bazel.build/. Source: about 3 years ago
We have the same issue at work. Layer based caching wasn't viable for us. We've been working on switching to bazel. Source: about 3 years ago
I assume they're referring to the Bazel build system. Source: about 3 years ago
There're tools which do this, for example https://bazel.build/, and https://buck2.build/ However they have a learning curve, which might be steep for some folks. Source: about 3 years ago
Since Android's official site says, Android 13 introduced building kernels with Bazel, replacing build/build.sh, can I still build kernel with old method? Source: over 3 years ago
Do you know an article comparing Bazel to other products?
Suggest a link to a post with product alternatives.
Is Bazel good? This is an informative page that will help you find out. Moreover, you can review and discuss Bazel here. The primary details have not been verified within the last quarter, and they might be outdated. If you think we are missing something, please use the means on this page to comment or suggest changes. All reviews and comments are highly encouranged and appreciated as they help everyone in the community to make an informed choice. Please always be kind and objective when evaluating a product and sharing your opinion.