Overall Satisfaction with Gradle
Gradle is being used to build the server service. We use it to compile Java, run tests, and some of the deployment work. The backend team uses the service, as well as the integration test project. Gradle allows us to share the build process between developers and the various build machines.
- It allows us to share configurations between machines and developers
- It makes builds reproducible
- It allows us to tweak how our server gets bundled and deployed
- Still under development, not as mature as Maven
- Build files aren't as easy to follow because they are so loose
- The community isn't as large as Maven
- Gradle has been a roadblock lately to our move to another hosting service
- Developers can't get started on a project with the latest tools, leading to delays in change efforts
- Gradle builds can be fast, once up and running, allowing for faster development turnaround
Maven is a much more mature build tool. The community behind maven plugins has continued to grow over time, and there are several mature products that continue to receive support. Gradle can use some of these features, but appears to be losing steam over time. The effort to build a maven project can be a little more up front than Gradle, but overall it provides a much better experience.