Live data from Hacker News

Bazel Release 1.0

github.com

11–20 of 180 posts

Re: Bazel Release 1.0

#11
post #3
post #2

Hundreds of developers around the Googleplex rejoice.

Isn’t Bazel based off another tool they use internally?

Yes. My guess is that over a long enough period of time, the internal build system will migrate to Bazel. But I don’t think it will happen soon. Large migrations are always a pain, but Bazel does make it easier (since you can isolate dependencies very well and migrate bottom-up).

I don’t work there, but I have talked to Googlers working on build systems.

Re: Bazel Release 1.0

#13
post #9

I've been using Bazel full time for over two years now to build Java/Go/Containers/gRPC and everything in between, and I must really say that it's one of the best tools that I've stumbled upon. A huge congratulations to the Bazel team for shipping 1.0!

It really is that good. I’ve been using it only over a year, but I’ve done a lot of build system work with different tools and Bazel stands out.

Most other tools seem to be competitors to Make (SCons, Jam, tup), souped-up scripting systems (Ant, Gradle), or configuration toolboxes (CMake). The ones that really stand out are the tools that tackle the problem of expressing builds in a way that’s both expressive and declarative. In my mind, these fall into two families: Gyp and Bazel (which includes Buck, Pants, Please.build, and that new custom thing Chrome uses).

(And then there’s Ninja, which I appreciate for taking a good / useful subset of Make’s features and doing it really well.)

Re: Bazel Release 1.0

#14
post #7

Did they announce the deprecation date as well? https://killedbygoogle.com/

Bazel is here to stay. Sooo many companies are jumping on this bandwagon [1]. Bazel is better than Maven, Pants... you name it. Think of this like Protobuf or Kubernetes. It's an open source tool used to build things at scale. There will be lots of users and contributors. A cottage industry will spring up, and this will grow well beyond Google. [1] https://github.com/bazelbuild/bazel/wiki/Bazel-Users

If only Android team cared to use it instead of Gradle.

Android is probably the only platform where almost at every conference there is a regular talk on how to improve build times.

Not even C++ conferences talk so much about build times.

Re: Bazel Release 1.0

#15
post #9

I've been using Bazel full time for over two years now to build Java/Go/Containers/gRPC and everything in between, and I must really say that it's one of the best tools that I've stumbled upon. A huge congratulations to the Bazel team for shipping 1.0!

It really is that good. I’ve been using it only over a year, but I’ve done a lot of build system work with different tools and Bazel stands out. Most other tools seem to be competitors to Make (SCons, Jam, tup), souped-up scripting systems (Ant, Gradle), or configuration toolboxes (CMake). The ones that really stand out are the tools that tackle the problem of expressing builds in a way that’s both expressive and dec…

I use bazel at work heavily in a very large project. I’ve always worked with scripting languages so I’m much less familiar with build systems.

I’m not sure I get what makes bazel so good. It seems pretty simple to me. You have a bunch of directories with BUIILD files that are each sort of like Makefiles.

Am I missing something? It kind of just seems like a hodgepodge of scripts. I don’t dislike it, but I’m also not seeing anything amazing.

Re: Bazel Release 1.0

#16

What is it? What can I use this for?

It’s a build system. That might not be very exciting to you, but for large projects and multi-language projects it is usually much better than other build systems.

It is designed to help give you fast distributed builds with high shared cache hit rates, reproducible builds, and a lot of tools to analyze dependencies.

Personally, I like using it any time a project starts using multiple languages, protobufs, or generated sources.

Re: Bazel Release 1.0

#17
The only contact I’ve had with bazel is via Tensorflow (more specifically tf lite). Last I tried it was not possible to set up bazel to output a static library. Has this changed?

Re: Bazel Release 1.0

#18
post #9

I've been using Bazel full time for over two years now to build Java/Go/Containers/gRPC and everything in between, and I must really say that it's one of the best tools that I've stumbled upon. A huge congratulations to the Bazel team for shipping 1.0!

It really is that good. I’ve been using it only over a year, but I’ve done a lot of build system work with different tools and Bazel stands out. Most other tools seem to be competitors to Make (SCons, Jam, tup), souped-up scripting systems (Ant, Gradle), or configuration toolboxes (CMake). The ones that really stand out are the tools that tackle the problem of expressing builds in a way that’s both expressive and dec…

In the topic of classifying build systems, there was a really interesting paper about that published at ICFP last year

https://blogs.ncl.ac.uk/andreymokhov/build-systems-a-la-cart...

They classify it based on how the build system detects what needs to be rebuilt and how the build system chooses the order things should be built in

Re: Bazel Release 1.0

#19
post #3

Earlier quoted context omitted.

Isn’t Bazel based off another tool they use internally?

Yes. My guess is that over a long enough period of time, the internal build system will migrate to Bazel. But I don’t think it will happen soon. Large migrations are always a pain, but Bazel does make it easier (since you can isolate dependencies very well and migrate bottom-up). I don’t work there, but I have talked to Googlers working on build systems.

I want to try this with a monorepo codebase now but every time I try to get started I feel overwhelmed.

I'm trying to sell my team on it, but none of us has experience with bazel. I'm trying to figure out how to do a small poc where we migrate one intermediate thing in the monorepo to bazel and try to prove out how it can take over everything.

Re: Bazel Release 1.0

#20
My company uses Java and Javascript, our build system is Maven. It starts the npm/yarn build process. We have hundreds of projects in it.

I don't like the tooks, but would it be worth the trouble to change to Bazel?

Post reply on HN