Book Image

Gradle Essentials

By : Kunal Dabir, Abhinandan Maheshwari
Book Image

Gradle Essentials

By: Kunal Dabir, Abhinandan Maheshwari

Overview of this book

Gradle is an advanced and modern build automation tool. It inherits the best elements of the past generation of build tools, but it also differs and innovates to bring terseness, elegance, simplicity, and the flexibility to build. Right from installing Gradle and writing your first build file to creating a fully-fledged multi-module project build, this book will guide you through its topics in a step-by-step fashion. You will get your hands dirty with a simple Java project built with Gradle and go on to build web applications that are run with Jetty or Tomcat. We take a unique approach towards explaining the DSL using the Gradle API, which makes the DSL more accessible and intuitive. All in all, this book is a concise guide to help you decipher the Gradle build files, covering the essential topics that are most useful in real-world projects. With every chapter, you will learn a new topic and be able to readily implement your build files.
Table of Contents (17 chapters)
Gradle Essentials
About the Authors
About the Reviewers

Extracting build logic to buildSrc

Plugins are nothing but the group of tasks with specific orders and default configurations, which are created to provide a certain functionality. For example, java plugin contains tasks that provide the functionality to build a Java project, scala plugin contains tasks to build Scala projects, and so on. Although Gradle provides many standard plugins, you can also find different third-party plugins to fulfil the project's need. There might always be a case when you are not able to find the desired functionality with the existing plugins and would like to create a new one for your custom requirement. We will see the different ways in which a developer can create a plugin and use it.

The very first plugin that a user can create is in the build file itself. The following is the sample code of a plugin, which a developer can write in build.gradle and use it:

apply plugin: CustomPlugin

class CustomPlugin implements Plugin<Project> {
  void apply(Project...