Also as an interesting piece of trivia, I am actually targeting a non-phone hardware platform which chose to use Android as its base but which does not run conventional Android apps and does not, in fact, appear to support Java at all
But still uses the Android/Java build system
Conversation
The funny part about it is that Android SDK/NDK build system isn't what's used by Android itself. Android itself is busy replacing a far superior build system to the one they make app developers use with a better one, after previously going through a past replacement like that.
2
1
Whenever I ask why a particular weird piece of Google tooling is the way it is, the answer seems to be "well internally they use Blaze, but that's internal, so they made an external OSS tool which implements a subset of Blaze. ... another one"
1
1
gradle isn't the kind of thing they'd build though. They just made a plugin for it. The Android build system itself may not be as wonderful as Bazel would have been but it's actually the nicest build system that I've used overall. gradle could actually be the worst.
2
1
It seems like the SDK people were given the constraint that they had to use an existing public build system used by a lot of Java developers already, so they used ant and then moved to gradle.
1
1
Yeah, it's some horrifying thing from the Java ecosystem that basically seems to have been made with the goal of being way faster than Maven (which is horrible) at the expense of being way more complex and confusing.
1
Gradle has an INCREDIBLY slow null build so if Maven is slower that's terrifying D:
1
1
From the gradle documentation:
> Gradle is between 7 and 85 times faster than Maven when building incremental changes; benefits increase with number of subprojects.
The problem is that this doesn't mean gradle is fast.
1
1
I don't think they exaggeration either. I think that's actually a legitimate comparison. I've seen stuff that's built with Maven...
1
The problem with gradle basically seems to be that the only build system the people who made it have ever used is Maven and the goal was making something faster than Maven. I don't think Java programmers actually realize how ridiculously awful this stuff is to use.
I actually find Java to be surprisingly pleasant to work with in practice with github.com/google/guava and similar very pragmatic/minimalist libraries. It's the tooling and ecosystem that's horrible. It's like a super over-engineered satire of the worse is better philosophy.
1
1
I like Java, I just don't want to get sued by Sun :P and I don't like having a garbage collector in the process I don't strictly control.
1
1
Show replies

