In Gradle, projects and tasks are two important concepts. A Gradle build always consists of one or more projects. A project defines some sort of component that we want to build. There are no defining rules about what the component is. It can be a JAR file with utility classes to be used in other projects, or a web application to be deployed to the corporate intranet. A project doesn't have to be about building and packaging code, it can also be about doing things such as copying files on a remote server or deployment of applications to servers.
A project has one or more tasks. A task is a small piece of work that is executed when we run a build, for example, compiling source code, packaging code in an archive file, generating documentation, and so on.
In this chapter, we will discuss how to define a project with tasks and use it as a Gradle build. We will cover the following topics:
Defining dependencies between tasks