Awesome Gradle
A curated list of awesome Gradle plugins and resources for a better development workflow automation.
Inspired by the awesome, awesome-gulp and some other awesome lists.
Table of contents
- Plugins
- Language
- Code quality
- Code generation
- Java application development
- Web application development
- Android application development
- iOS and Mac application development
- Editor and IDE integration
- Templating
- Database
- Dependency management
- Debugging
- Testing
- Building
- Packaging
- Releasing
- Notification
- Cloud services
- SCM
- CI
- VM and container
- Boilerplates
- Resources
Plugins
Notice: in the following descriptions, "Official plugin" means that it's provided as a builtin plugin by Gradle.
Language
- java - Official plugin that adds Java compilation, testing and bundling capabilities.
- groovy - Official plugin that adds support for building Groovy projects.
- scala - Official plugin that adds support for building Scala projects.
- antlr - Official plugin that adds support for generating parsers using Antlr.
- assembler - Official plugin that adds native assembly language capabilities to a project.
- c - Official plugin that adds C source compilation capabilities to a project.
- cpp - Official plugin that adds C++ source compilation capabilities to a project.
- objective-c - Official plugin that adds Objective-C source compilation capabilities to a project.
- objective-cpp - Official plugin that adds Objective-C++ source compilation capabilities to a project.
- gradle-retrolambda - Get Java lambda support in Java 6, 7 and Android.
- clojurephant - Clojure/ClojureScript support for Gradle
Code quality
- findbugs - Official plugin that performs quality checks on Java source files using FindBugs.
- spotbugs - Official plugin that performs quality checks on Java source files using SpotBugs.
- checkstyle - Official plugin that performs quality checks on Java source files using Checkstyle.
- spotless - Checks and applies formatting rules using the Eclipse, google-java-format, ktlint, scalafmt, and also user-defined rules.
- pmd - Official plugin that performs quality checks on your project's Java source files using PMD.
- jdepend - Official plugin that performs quality checks on your project's source files using JDepend.
- codenarc - Official plugin that Performs quality checks on Groovy source files using CodeNarc.
- jacoco - Official plugin that provides integration with the JaCoCo code coverage library for Java.
- gradle-cobertura-plugin - Use cobertura.
- coveralls-gradle-plugin - Send coverage data to coveralls.io.
- gradle-scoverage - Enable the use of Scoverage in a Gradle Scala project.
- gradle-errorprone-plugin - Use the error-prone compiler for Java.
- gradle-spelling-plugin - Inspect spelling using custom blacklist.
- gradle-modernizer-plugin - Detect uses of legacy Java APIs.
Code generation
- gradle-protobuf-plugin - Compile Google Protocol Buffers files.
- querydsl-plugin - Generate Querydsl classes.
Java application development
- gradle-apt-plugin - Make it easier/safer to use Java annotation processors.
- vertx-gradle-plugin - Unofficial plugin for starting Vert.x projects.
Web application development
- spring-boot - Provide Spring Boot support.
- gretty - Run web apps on jetty and tomcat.
- gradle-tomcat-plugin - Support deployment of your web application to an embedded Tomcat web container.
- gradle-jrebel-plugin - Generate rebel.xml configuration file.
- gradle-js-plugin - Manage JavaScript.
- gradle-jslint-plugin - Run JSLint static analysis against JavaScipt code.
- gradle-node-plugin - Run NodeJS scripts.
- gradle-gulp-plugin - Run Gulp tasks.
- gradle-grunt-plugin - Run Grunt tasks.
- bower-installer-plugin - Manage client-side dependencies.
- apina - Creates client-side TypeScript from server-side APIs.
- asset-pipeline - Manage and process static assets in JVM applications.
- gradle-web-resource-plugin - Use CoffeeScript, LESS and Bower libraries without Node.js/npm.
- gradle-compass - Compile and watche SASS files.
- rest-gradle-plugin - Perform REST requests.
Android application development
- Dependency management
- sdk-manager-plugin - Download and manage Android SDK.
- android-native-dependencies - Gradle plugin for resolving and downloading Android native dependencies (.so)
- Alternative language
- groovy-android-gradle-plugin - Support the Groovy language for building Android apps.
- APK handling
- dexcount-gradle-plugin - Report the number of method references in APK.
- android-gradle-mulchannel-plugin - Generate multiple apks from different channel.
- gradle-android-apk-size-plugin - Gradle plugin that generates CSV files with apk size per output and variant of an apk.
- Build variant handling
- gradle-advanced-build-version - Generate the Android version code and version name automatically.
- gradle-config - Handle variant specific settings with yaml format.
- Icons
- gradle-android-ribbonizer-plugin - Add a ribbon to launcher icons of Android apps.
- gradle-android-appiconoverlay - Automatically overlay the app icon with the current git commit SHA1.
- gradle-mdicons - Manage material design icons.
- Releasing
- gradle-deploygate-plugin - Build and deploy apps to DeployGate.
- testfairy-gradle-plugin - Official plugin to upload signed builds to TestFairy.
- gradle-play-publisher - Manage your complete Play Store presence in your repository: Listing, Release Notes, APKs and App Bundles.
- Testing
- gradle-plugin-robospock - Configure robospock (gradle + spock + roboelectric) easily.
- unmock-plugin - Allow you to use selected classes from a real Android-Jarfile for Android unit testing.
- gradle-monkey-plugin - Run Android monkey tests.
- Miscellaneous
- ormlite-android-gradle-plugin - Generate an ORMLite configuration file and boost DAOs creations.
- gradle-eclipse-aar-plugin - Use Android AAR libraries on Eclipse.
- gradle-android-git - Manage Git dependency for Android apps.
- Shot - Shot is a Gradle plugin that simplifies the execution of screenshot tests using Screenshot Tests For Android by Facebook.
iOS and Mac application development
- gradle-xcodePlugin - Build iOS and Mac projects.
- j2objc-gradle - Enable Java source to be part of an iOS application's build.
Editor and IDE integration
- eclipse - Official plugin that generates files that are used by Eclipse IDE.
- idea - Official plugin that generates files that are used by Intellij IDEA IDE.
- visual-studio - Official plugin that adds integration with Visual Studio.
- goomph - Downloads an Eclipse IDE with all required plugins and creates a workspace with specified settings and projects.
- gradle-sublimetext-plugin - Generate Sublime Text 2 project file.
- gradle-syntastic-plugin - Integrate Java project with Vim and Syntastic.
Templating
- markdown-gradle-plugin - Convert Markdown to HTML.
- gradle-twirl - Provide Twirl template compilation and integration.
Database
- flyway-gradle-plugin - Flyway database migration tasks.
- liquibase-gradle-plugin - Use Liquibase to manage your database upgrades.
- gradle-migrations-plugin - Provide gradle build integration with mybatis migrations.
- ml-gradle - Automate everything involving MarkLogic.
Dependency management
- gradle-versions-plugin - Provide a task to determine which dependencies have updates.
- gradle-nuget-plugin - Execute NuGet.exe from Gradle.
- gradle-dependency-analyze - Dependency analysis plugin for gradle.
- gradle-dependency-lock-plugin - Allow people using dynamic dependency versions to lock them to specific versions.
- gradle-git-repo-plugin - Use a private git repo as a Maven repository.
- buildSrcVersions - Painless dependencies management.
Debugging
- gradle-groovysh-plugin - Start an interactive groovy shells.
Testing
- gradle-gatling-plugin - Run Gatling scenarios.
- gradle-console-reporter - Report test result to console.
- gradle-test-logger-plugin - A Gradle plugin for printing beautiful logs on the console while running tests.
- gradle-itest-plugin - This plugin adds integration testing support to the project
Building
- build-time-tracker-plugin - Continuously track and report your build times.
- gradle-metrics-plugin - Collect Gradle build metrics and persist them to an external datastore.
- nebula-plugin - A collection of Gradle plugins providing repeatable builds, immutable deployments and helping eliminate boilerplate code.
Packaging
- gradle-one-jar - Build self-contained executable jars that include all dependencies.
- gradle-build-info-plugin - Include build information such as Git commit ID to your JAR.
- gradle-replacer - Provide a minimalistic template engine feature.
Releasing
- gradle-ssh-plugin - Provide SSH facilities for continuous delivery.
- maven - Official plugin that adds support for publishing artifacts to Maven repositories.
- plugin-publish - Publish plugins to the Gradle Plugin Portal.
- gradle-bintray-plugin - Publish artifacts to Bintray.
- gradle-nexus-plugin - Configure and upload artifacts to Sonatype Nexus.
- gradle-release - Automate releasing process. Similar to the Maven release plugin.
- spotless-changelog - Parses changelog to calculate next version, then updates changelog on publish.
Notification
- announce - Official plugin that publishes messages to platforms such as Twitter or Growl.
- gradle-slack-plugin - Send messages to Slack after each build.
Cloud services
- gradle-aws-plugin - Manage AWS resouces.
- gradle-s3-plugin - Upload files to / download files from S3.
- gradle-stash-plugin - Interact with the Stash SCM.
- gradle-cf-plugin - Interact with CloudFoundry.
SCM
- gradle-git - Set of plugin to interact with Git repositories, publish files to gh-page, etc.
- gradle-svntools-plugin - Provide various SVN-related tasks.
- gradle-snapshot-plugin - Generate build metadata from SCM tools.
CI
- build-info - Artifactory's open integration layer for the CI servers and build tools.
VM and container
- gradle-vagrant-plugin - Manage Vagrant boxes.
- bmuschko/gradle-docker-plugin - Gradle plugin for managing Docker images and containers.
- nebula-docker-plugin - Nebula gradle plugin for reducing boilerplate in creating docker images.
- palantir/gradle-docker - Build and push Docker images.
- Transmode/gradle-docker - Build Docker images.
Boilerplates
- android-gradle-template - Template project for developing Android app.
- vertx-gradle-template - Template project for developing Vert.x module.
- gradle-plugin-starter - Template project for developing Gradle plugin.
- gatling-with-gradle - Sample project that demonstrates how to automate load testing with Gatling.
Resources
General Resources
Official Documentation
Contribution
Contributions welcome! Read the contribution guidelines first.
License
To the extent possible under law, Soichiro Kashima has waived all copyright and related or neighboring rights to this work.