Fork me on GitHub

Automation Evolved

  • Strong yet flexible conventions
  • Enterprise level control capabilities
  • Manageable and understandable builds


At its core, Gradle is a general purpose tool that is capable of building and automating anything. Focussed functionality is added by plugins that extend Gradle and allow build engineers and build users to reuse patterns and practices, avoiding boilerplate build code. For example, Gradle's support for building Java projects is fully implemented as a plugin. Plugins have very deep access into the Gradle model, making almost anything possible. Plugins can also extend and compose themselves of other plugins.

Out of the box functionality means that you can get up and running quickly, and promote consistency in your builds. However, the reality of modern day software is that building and automation is a non trivial task that sometimes requires very specific configuration and unique requirements. Gradle acknowledges this reality and employs many techniques to make plugin provided functionality flexible, scalable and malleable. This allows you to use more existing plugin functionality, saving custom development effort.

Key Plugins

Gradle ships with a number of key plugins that provide conventional support for building certain kinds of projects, such as…

This is not an exhaustive list. The full list of plugins that are part of the core distribution can be found in the user guide.

Community Plugins

There is also a growing number of free to use community developed plugins available for Gradle, such as…

There is a curated list of notable community plugins. There are also many other plugins hosted in various locations across the Internet.

Custom Plugins

There are many ways to develop and reuse your own custom plugins, be they enterprise wide or build specific. See the user guide chapter on custom plugins to get started with plugin development.

Successful Gradle Users