Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

The tooling around gRPC with bazel when using python is so bad it’s almost impossible to work with, which is hilarious considering they both come from Google. Then I had additional problems getting it to work with Ruby. Then I had more problems getting it to work in k8s, because of load balancing with http/2. Combine those issues with a number of other problems I ran into with gRPC, and I ended up just building a small JSON-RPC implementation that fit our needs perfectly.


Another point of view is, don't use Bazel. In my experience, Gradle is less of a headache and well supported.


Gradle is an anti-pattern. Just stick with Maven and live a happy life.

As someone who's used Gradle tons, 6 months ago I wrote in detail about why not gradle:

https://news.ycombinator.com/item?id=38875936

Gradle still might less bad than Bazel, though.


I'm firmly in the Maven is better than Gradle camp. Yes, it's less flexible, that's why I like it.

Gradle might be better if it wasn't a poorly documented Groovy/Kotlin DSL where everything is a closure, but I do like the fact that if you want to do something in Maven you need a plugin that couples to known points in the lifecycle. It makes it explicit what is doing what and where.

And fully agree on the incredible pain of Gradle upgrades.


Maven is one of my favorite package managers. It's not as fancy as npm, cargo, go, etc., but it works consistently well and I never have to fight it.


For python? Gradle doesn't really support python.


I mean, gradle is a generic build tool. It could support it, just as it can be used to compile C (I have done the latter).


At Google scale, I’m sure excruciatingly horrible builds are no worry because they’re some other team’s problem. I hope JSON-RPC eats the world.


No, it's still horrible, we just don't understand why because some other team maintains it. We just suffer the long build times by killing time on memegen or visiting the MK.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: