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

Working with files

It is very common in a build script that we have to work with files and directories. For example, when we need to copy a file from one directory to another or create a directory to store the output of a task or program.

Locating files

To locate a file or directory relative to the current project, we can use the file() method. This method is actually a method of the Project object that is connected to our build script. In the previous chapter, we discussed how to use an explicit reference to the project variable or simply invoke methods and properties of the Project object implicitly.

The file() method will resolve the location of a file or directory relative to the current project and not the current working directory. This is very useful as we can run a build script from a different directory than the location of the actual build script. File or directory references that are returned by the file() method are then resolved, relative to the project directory.

We can pass any...