Book Image

Gradle Effective Implementations Guide - Second Edition

By : Hubert Klein Ikkink
Book Image

Gradle Effective Implementations Guide - Second Edition

By: Hubert Klein Ikkink

Overview of this book

Gradle is a project automation tool that has a wide range of applications. The basic aim of Gradle is to automate a wide variety of tasks performed by software developers, including compiling computer source code to binary code, packaging binary codes, running tests, deploying applications to production systems, and creating documentation. The book will start with the fundamentals of Gradle and introduce you to the tools that will be used in further chapters. You will learn to create and work with Gradle scripts and then see how to use Gradle to build your Java Projects. While building Java application, you will find out about other important topics such as dependency management, publishing artifacts, and integrating the application with other JVM languages such as Scala and Groovy. By the end of this book, you will be able to use Gradle in your daily development. Writing tasks, applying plugins, and creating build logic will be your second nature.
Table of Contents (18 chapters)
Gradle Effective Implementations Guide - Second Edition
Credits
About the Author
About the Reviewer
www.PacktPub.com
Preface

Using the JDepend plugin


To get quality metrics for our code base, we can use JDepend. JDepend traverses the generated class files in our project and generates design quality metrics. To use JDepend, we will simply have to apply the jdepend plugin in our project. This will add jdependMain and jdependTest tasks. For each extra source set in our project, a jdepend<SourceSet> task is added. These tasks are all dependency tasks of the check task.

We must configure a repository so that Gradle can fetch the JDepend dependencies. Gradle doesn't provide the JDepend libraries in the Gradle distribution. This means that we can easily use another version of JDepend, independent of the Gradle version that we are using. We see this behavior in the other code quality plugins as well. To change a version number, we will simply have to set the toolVersion property of the jdepend plugin extension.

In the following example build file, we will apply the jdepend plugin and create an extra source set:

apply...