Live data from Hacker News

Bazel – Correct, reproducible, fast builds for everyone

bazel.io

121–130 of 185 posts

Re: Bazel – Correct, reproducible, fast builds for everyone

#121

Earlier quoted context omitted.

Tbh, if your company relies on this software, I would also make sure that it cannot just vanish - and thats the most efftive solution. Artifacts can disappear from the internet and you don't know if the downloaded stuff is still the same as before. Especially, if you look outside of the maven ecosystem, but even there you have to rely on apache and their partners. An outage can mean that you cannot deploy critical bu…

This is why you should have repository manager like JFrog Artifactory or Sonatype Nexus which can transparently proxy third-party repositories (like Maven Central).

This is true for Maven. The Maven repository project is very impressive and outstanding in its kind anyways. But leaving this great repository you are often on your own. Look at what happens to Google Code. How much stuff will be lost when its shut down? Hopefully nothing that you depend on. Its nice to have the binaries in a backup maybe but without access to the code, maintenance will be a nightmare.

Re: Bazel – Correct, reproducible, fast builds for everyone

#122

Earlier quoted context omitted.

I don't think you're interpreting that section quite right. That section is talking about whether or not Bazel is fully _developed_ in the open, and the answer is "Unfortunately not". What they mean is that changes to the internal source of Blaze often involve changes to both the open sourced part, which is Bazel, and the closed parts, which are additional rules that are neither open sourced, nor included in Bazel (B…

Can you explain or give an example of a "rule", it's unclear what this means to me.

http://bazel.io/docs/build-ref.html#rules For example, cc_binary is a rule. Rules are the things that know how to take whatever is specified as it's inputs, do something to them, then produce some specified set of outputs

Google has a large number of rules (IE far far more than just the rules you see in bazel). As part of open sourcing, they have stared out by open sourcing about 10% of those rules.

Some of this is because they are google-entangled. Some of them don't make sense to the open source community. etc

Re: Bazel – Correct, reproducible, fast builds for everyone

#123
post #111

Any reason the python support was ripped out? I've got my suspicions about not wanting/not being able to properly release the python packaging method in use internally, but I'm curious if I'd be tilting at windmills to try and get it to output pexes.

I suspect the reason was: "They need to start with something and go from there".

So they started with the use cases likely to be the most popular.

Additionally, there are definitely cases where the implementations of rules at Google are a morass, and rather than dump it on the open source community, it makes more sense to clean them up when they get rebuilt.

Re: Bazel – Correct, reproducible, fast builds for everyone

#124

Earlier quoted context omitted.

Strange, most blogs that I've read discuss the pain involved. http://spin.atomicobject.com/2014/06/06/f-sharp-mono-unix/ I guess it's the same with any new product or language: when there are a lot more great testimonials than cries of pain, then it's actually safe to use that product.

Those complaints mostly seem to be about the developer experience on Mac, which, yeah might suck. I use VS + vim, build on Windows, then copy over to Linux for deployment. The biggest issue is with complicated frameworks, like ASP.NET, since there could be all sorts of runtime things missing. Fortunately with MS's new open source kick, this should be a thing of the past relatively soon,

So, you just told me to buy a Windows machine. Kind of funny because our little subthread started because the Microsoft F# developer didn't want to be told to buy a Linux or Mac.

The world we're all looking for is one where we'd all like to mix and match our software as much as possible, and not be told to buy a different computer.

Re: Bazel – Correct, reproducible, fast builds for everyone

#126

Earlier quoted context omitted.

Having recently left Google, GRPC (stubby) was my biggest concern; I spent about two weeks hacking together a good code generator for GoRPC before GRPC came out and obviated the time. Now, I'm glad I haven't bothered with a build system, which was going to be next. Nice to see a bunch of projects that've been generalizable and heavily used internally finally see the light of the outside world. Now, to start evangeliz…

A huge +1 on this as well. I left Google a couple of years ago and we ended up building our own rpc around protos (Thrift just doesn't cut it), and our Make/maven based build has the standard problems with such things, so I'm really looking forward to using grpc and bazel in the near future. A huge thumbs up to Google!

Can you give a (very quick) pointer/explanation to what about Thrift didn't cut it for you?

Re: Bazel – Correct, reproducible, fast builds for everyone

#128

Earlier quoted context omitted.

Convince your employer to ship a half decent unix environment with its OS and it will run on windows too. It's mostly a choice by microsoft to ship a half-baked command line interface with its products, you can't blame google for that.

By 'half-baked' you mean 'not * nix compatible' command line. Powershell is amazing .

I'm a Microsoft fanboy and Powershell is bad Python.

How 'bout we meet in the middle and y'all make the changes the Cygwin guys need? And hey, where'd that POSIX subsystem go? Finally got C99 support almost shipped now how 'bout you reverse that other horrible decision, too?

Re: Bazel – Correct, reproducible, fast builds for everyone

#129
post #4

Working at Google, Blaze is one of the technologies that amazes me most. Any engineer can build any Google product from source on any machine just by invoking a Blaze command. I may not want to build GMail from source (could take a while) but it's awesome to know that I can. I think this could be hugely useful to very large open source projects (like databases or operating systems) that may be intimidating for contri…

Look at Nix & NixOS: http://nixos.org/ It would be interesting to see a comparison of Bazel/Blaze to Nix.

Re: Bazel – Correct, reproducible, fast builds for everyone

#130
post #4

Working at Google, Blaze is one of the technologies that amazes me most. Any engineer can build any Google product from source on any machine just by invoking a Blaze command. I may not want to build GMail from source (could take a while) but it's awesome to know that I can. I think this could be hugely useful to very large open source projects (like databases or operating systems) that may be intimidating for contri…

> Any engineer can build any Google product from source on any machine A little too optimistic :) You can't build Android, Chrome, ChromeOS, iOS apps, etc. via blaze.

When I worked at Google I built a Blaze extension to be able to build Android apps. It worked really well, though I'm not sure how well it was maintained after I left in 2010. Internally at Google, Blaze was extremely customizable, and I hope Bazel too, so one can easily add support for building iOS apps etc.

EDIT #1: I see support for building Objective-C apps is already present in Bazel. EDIT #2: Bazel uses Skylark, a Python-like language, which could be used to implement all sorts of extensions, including the one I was referring to.

Post reply on HN