StackShareStackShare
Follow on
StackShare

Discover and share technology stacks from companies around the world.

Product

  • Stacks
  • Tools
  • Companies
  • Feed

Company

  • About
  • Blog
  • Contact

Legal

  • Privacy Policy
  • Terms of Service

© 2025 StackShare. All rights reserved.

API StatusChangelog
Bazel
ByBazelBazel

Bazel

#56in Build Automation
Stacks310Discussions1
Followers579
OverviewDiscussions1

What is Bazel?

Bazel is a build tool that builds code quickly and reliably. It is used to build the majority of Google's software, and thus it has been designed to handle build problems present in Google's development environment.

Bazel is a tool in the Build Automation category of a tech stack.

Key Features

Multi-language support: Bazel supports Java, Objective-C and C++ out of the box, and can be extended to support arbitrary programming languagesHigh-level build language: Projects are described in the BUILD language, a concise text format that describes a project as sets of small interconnected libraries, binaries and tests. By contrast, with tools like Make you have to describe individual files and compiler invocationsMulti-platform support: The same tool and the same BUILD files can be used to build software for different architectures, and even different platforms. At Google, we use Bazel to build both server applications running on systems in our data centers and client apps running on mobile phonesReproducibility: In BUILD files, each library, test, and binary must specify its direct dependencies completely. Bazel uses this dependency information to know what must be rebuilt when you make changes to a source file, and which tasks can run in parallel. This means that all builds are incremental and will always produce the same resultScalable: Bazel can handle large builds

Bazel Pros & Cons

Pros of Bazel

  • ✓Fast
  • ✓Deterministic incremental builds
  • ✓Correct
  • ✓Multi-language
  • ✓Enforces declared inputs/outputs
  • ✓High-level build language
  • ✓Scalable
  • ✓Multi-platform support
  • ✓Sandboxing
  • ✓Dependency management

Cons of Bazel

  • ✗No Windows Support
  • ✗Bad IntelliJ support
  • ✗Constant breaking changes
  • ✗Lack of Documentation
  • ✗Learning Curve
  • ✗Poor windows support for some languages

Bazel Alternatives & Comparisons

What are some alternatives to Bazel?

Gradle

Gradle

Gradle is a build tool with a focus on build automation and support for multi-language development. If you are building, testing, publishing, and deploying software on any platform, Gradle offers a flexible model that can support the entire development lifecycle from compiling and packaging code to publishing web sites.

CMake

CMake

It is used to control the software compilation process using simple platform and compiler independent configuration files, and generate native makefiles and workspaces that can be used in the compiler environment of the user's choice.

Apache Maven

Apache Maven

Maven allows a project to build using its project object model (POM) and a set of plugins that are shared by all projects using Maven, providing a uniform build system. Once you familiarize yourself with how one Maven project builds you automatically know how all Maven projects build saving you immense amounts of time when trying to navigate many projects.

Sonatype Nexus

Sonatype Nexus

It is an open source repository that supports many artifact formats, including Docker, Java™ and npm. With the Nexus tool integration, pipelines in your toolchain can publish and retrieve versioned apps and their dependencies

JFrog Artifactory

JFrog Artifactory

It integrates with your existing ecosystem supporting end-to-end binary management that overcomes the complexity of working with different software package management systems, and provides consistency to your CI/CD workflow.

Apache Ant

Apache Ant

Ant is a Java-based build tool. In theory, it is kind of like Make, without Make's wrinkles and with the full portability of pure Java code.

Bazel Integrations

Kind, Tulsi, Java, Objective-C, C++ and 1 more are some of the popular tools that integrate with Bazel. Here's a list of all 6 tools that integrate with Bazel.

Kind
Kind
Tulsi
Tulsi
Java
Java
Objective-C
Objective-C
C++
C++
Trunk
Trunk

Bazel Discussions

Discover why developers choose Bazel. Read real-world technical decisions and stack choices from the StackShare community.

Joshua Dean Küpper
Joshua Dean Küpper

CEO at Scrayos UG (haftungsbeschränkt)

Oct 30, 2016

Needs adviceonApache MavenApache MavenApache AntApache AntGradleGradle

All Java-Projects are compiled using Apache Maven. We prefer it over Apache Ant and Gradle as it combines lightweightness with feature-richness and offers basically all we can imagine from a software project-management tool and more. We're open however to re-evaluate this decision in favor of Gradle or Bazel in the future if we feel like we're missing out on anything.

0 views0
Comments

Try It

Visit Website

Adoption

On StackShare

Companies
40
AGPSVW+34
Developers
250
夏ABADJ+244