Book Image

Gradle Essentials

By : Abhinandan Maheshwari
Book Image

Gradle Essentials

By: Abhinandan Maheshwari

Overview of this book

Gradle is an advanced and modern build automation tool. It inherits the best elements of the past generation of build tools, but it also differs and innovates to bring terseness, elegance, simplicity, and the flexibility to build. Right from installing Gradle and writing your first build file to creating a fully-fledged multi-module project build, this book will guide you through its topics in a step-by-step fashion. You will get your hands dirty with a simple Java project built with Gradle and go on to build web applications that are run with Jetty or Tomcat. We take a unique approach towards explaining the DSL using the Gradle API, which makes the DSL more accessible and intuitive. All in all, this book is a concise guide to help you decipher the Gradle build files, covering the essential topics that are most useful in real-world projects. With every chapter, you will learn a new topic and be able to readily implement your build files.
Table of Contents (17 chapters)
Gradle Essentials
Credits
About the Authors
Acknowledgments
About the Reviewers
www.PacktPub.com
Preface
Index

Migrating from an Ant-based project


Ant is one of the initial and most popular build tools, which made build and deployment processes much simpler as compared to other native script-based build tools. Still, you can find many projects that use Ant build script to build the project. Ant was developed on the philosophy of imperative programming model, which tells the system what to do and also how to do it. Thus, you have the benefit of controlling each and every action or step of your build script. The following is the sample Ant build script to build any Java project. Here, we are considering only minimal required tasks to build a Java project, since our purpose is to discuss the strategies to migrate from Ant scripts to Gradle scripts:

<project name="Ant build project" default="createJar">
  <target name="clean" description="clean the existing dirs">
    <delete dir="build"/>
    <delete dir="dist"/>
  </target>

  <target name="compile" description="compile...