Book Image

Gradle Effective Implementation Guide

Book Image

Gradle Effective Implementation Guide

Overview of this book

Gradle is the next generation in build automation. It uses convention-over-configuration to provide good defaults, but is also flexible enough to be usable in every situation you encounter in daily development. Build logic is described with a powerful DSL and empowers developers to create reusable and maintainable build logic."Gradle Effective Implementation Guide" is a great introduction and reference for using Gradle. The Gradle build language is explained with hands on code and practical applications. You learn how to apply Gradle in your Java, Scala or Groovy projects, integrate with your favorite IDE and how to integrate with well-known continuous integration servers.Start with the foundations and work your way through hands on examples to build your knowledge of Gradle to skyscraper heights. You will quickly learn the basics of Gradle, how to write tasks, work with files and how to use write build scripts using the Groovy DSL. Then as you develop you will be shown how to use Gradle for Java projects. Compile, package, test and deploy your applications with ease. When you've mastered the simple, move on to the sublime and integrate your code with continuous integration servers and IDEs. By the end of the "Gradle Effective Implementation Guide" you will be able to use Gradle in your daily development. Writing tasks, applying plugins and creating build logic will be second nature.
Table of Contents (20 chapters)
Gradle Effective Implementation Guide
Credits
About the Author
Acknowledgement
About the Reviewers
www.PacktPub.com
Preface
Index

Build scripts are Groovy code


We must keep in mind that Gradle scripts use Groovy. This means we can use all the Groovy's good stuff in our scripts. We already saw in our sample script the use of the so-called Groovy GString. The GString is defined as a string with double quotes and can contain references to variables defined in a ${...} section. The variabled reference is resolved when we get the value of the GString.

But other great Groovy constructs can also be used in Gradle scripts. The following sample script shows some of these constructs:

task numbers << {
    (1..4).each { number ->
        def squared = number * number
        println "Square of ${number} = ${squared}"
    }
}

task list {
    doFirst {
        def list = ['Groovy', 'Gradle']
        println list.collect { it[0].toLowerCase() }.join('&')
    }
}

And when we run the script we get the following output:

$ gradle -q numbers list
:numbers
Square of 1 = 1
Square of 2 = 4
Square of 3 = 9
Square of 4 = 16
...