Book Image

Gradle Essentials

By : Kunal Dabir, Abhinandan Maheshwari
Book Image

Gradle Essentials

By: Kunal Dabir, 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
About the Authors
About the Reviewers

Generating IDE project files

IDEs are an integral part of a Java developer's tool chain and workflow. However, manually setting up an IDE to correctly identify the project structure and dependencies for any moderately sized project is not an easy task.

Checking-in IDE-specific files or directories such as .classpath, .project, .ipr, .iws, .nbproject, .idea, .settings, .iml, is not a good idea. We know that some still do it because it's hard to generate the IDE file manually every time someone checks the project out of the version control system. However, checking in such files creates problems as they eventually go out of sync from the main build file. Also, this forces the whole team to use the same IDE and manually update the IDE files whenever there is a change in the build.

How nice would it be if we could just check-in only those files that are necessary for a project to be built independent of IDE and let our build system generate a file specific to our favorite IDE? Our wish is granted...