Using included builds for local settings plugins don't seem to work Build failure when including a plugin build in settings & applying a settings plugin Impossible to run modular program with 7.0-milestone-2.
FileNotFoundException in TestKit tests: lib-android/build/20210320_ Trouble using centralized dependency versions in buildSrc plugins and buildscript classpath Just look at some of these breaking changes reported for 7.0: Simply too much effort was wasted trying to keep dependencies up to date every year or so. I simply gave up, archived the repo, stopped accepting translations and moved away from Android. Multiple gradle functions replaced or removed, dozen of incompatible changes, broken syntax, incompatible gradle plugins I used for C compilation. Failed with updates for +16 hours spent on it.
#Gradle solve long path tool update
I once got updates to translation files, wanted to update gradlew as it was ~2 years old.
#Gradle solve long path tool android
Gradle is the reason why I stopped updating my opensource android projects and killed them. There does come a point when you will want to look at Buck or Bazel but most teams will never reach this point. I don't need to worry about some sort of runtime or package manager switcher like you would in Python/Ruby/Javascript land.ĭon't get me wrong, Gradle is a long lived project with lots of skeletons in the closet but overall I think it's a very pragmatic tool for small projects all the way up to mid-sized monorepos. I like that it's versioned per project when using the wrapper. This makes it easy for non-JVM members of my company to check the project out, make a small change and build the project without learning 5 other tools. The build system downloads itself, then downloads all the project dependencies.
My projects only have one local dependency, a recent JDK. I like that it downloads itself via wrapper script. This allows me to handle more complex tasks in a way that abstracts that complexity from the members of my team that don't necessarily have the same level of time invested in Gradle. Potentially contentious point but I love being able to extend Gradle on a per-project basis with buildSrc plugins. It's basically Ruby Rake but better in this regard. Type safe, null safe DSL for build configuration that also happens to be the same language I want to write my project in anyway? Yes please. As a result I now have a single language in use and no need to switch contexts. I use the Kotlin DSL and the majority of my new projects are Kotlin also. Yes it's complex, yes the learning curve is basically a cliff (you either understand Gradle or you don't) and yes it can be slow. To provide a counter-point I love Gradle.