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
About the Author
About the Reviewer

Using the CodeNarc plugin

To check code written in the Groovy language, we can use CodeNarc. CodeNarc has several rules to do a static analysis of Groovy code. Gradle has a codenarc plugin, so we can apply the rules from CodeNarc to our Groovy code base. If we apply the plugin, we automatically get a codenarcMain and codenarcTest target. Also, for each custom source set, we get a new codenarc<SourceSet> task. All these tasks are dependency tasks of the check task.

The CodeNarc library is not included with Gradle. We need to define a repository in our build file that contains CodeNarc. If we invoke a codenarc task, then Gradle sets CodeNarc dependencies. We can change the version of CodeNarc that we want to use by setting toolVersion of the codenarc property of the plugin extension.

The plugin defines that we provide a CodeNarc configuration file with the name codenarc.xml in the config/codenarc directory. We can change the reference to the configuration file with the configFile property...