Book Image

Maven Build Customization

By : Lorenzo Anardu, Roberto Baldi, Umberto Antonio Cicero, Riccardo Giomi, Giacomo Veneri
Book Image

Maven Build Customization

By: Lorenzo Anardu, Roberto Baldi, Umberto Antonio Cicero, Riccardo Giomi, Giacomo Veneri

Overview of this book

<p>Maven is one of the most popular tools used to control the dependencies and to administer a Java project. Maven can be used by newbies without the need to learn complex mechanisms, but it is also a powerful tool for big projects developed by different teams and organized over different modules and repositories.</p> <p>This book will provide you with all the information you need, right from managing dependencies to improving the build process of your organization. Starting with a simple project, you will create your development environment step-by-step, automatically build your code from resources (XML, DB), and package your JAR, WAR, and EAR files for different environments. Furthermore, you will learn about the complex hereditary features of Maven.</p> <p>Finally, this book will benefit you by teaching Maven-Gradle and Maven-Eclipse integration using the m2e plugin, managing the Maven repository from Gradle, and building a working Maven environment from Gradle.</p>
Table of Contents (17 chapters)
Maven Build Customization
Credits
About the Authors
About the Reviewers
www.PacktPub.com
Preface
Index

How Gradle works


Gradle executes a series of commands called task declared inside the build.gradle file. The syntax to declare tasks is Groovy-based, as described before. A simple example of how to declare a task is:

task goGradle {
    doLast {
        println 'Gradle Task'
    }
}

The command to execute this simple task is:

$ gradle goGradle

The output for this command is:

Gradle Task

Another syntax to define the same task is:

task goGradle << {
    println ''Gradle Task'
}

In the first task definition, we use the doLast block to wrap actions to perform; we can use other instructions such as doFirst to decide task ordering. Thanks to doFirst and doLast, Gradle accomplishes its main characteristic to use a DAG for a task's order.

More Gradle functionalities are tasks, and they are executed with the command-line syntax explained.

Tip

If you want to know more about how Gradle's tasks work, you can consult the online manual at http://www.gradle.org/.