Gradle scripts are just programs so it's impossible to vouch for every single gradle script that exist. I mean you can just write
if( Random.nextBoolean()) {
project.delete(
fileTree(project)
)
}
And delete your whole project on roughly every second build.Yes, so maybe it's too easy to shoot yourself in the foot but the "non-deterministic" behavior isn't coming from anything gradle does inherently but from your build script.
In my experience most critique of gradle happens in a vacuum. Is it perfect? No. But on planet earth most people use gulp for builds and npm for dependencies that together have a superset of any issues that gradle has.