Groovy for Domain-specific Languages - Second Edition

(nextflipdebug2) #1
[ 33 ]

Essential Groovy DSLs


It's tempting at this point in the book to dive into the Groovy language. Instead in
this chapter we will take a slightly different tack. Here we will take a look at two
essential Groovy tools and, more importantly, the DSLs that they provide. Gradle is
a build, test and deployment automation tool, which is powered by a Groovy DSL.
Spock is a unit testing and specification framework built over JUnit. The stand out
feature of Spock is its highly expressive Groovy based DSL, which allows the tests to
be written in behavior-driver development (BDD) style semantics.


In this chapter we will cover some of the basic features of both DSLs. Both Gradle
and Spock are used extensively in the code examples that accompany this book.
Where possible throughout the rest of the book we will use Spock's BDD syntax to
illustrate Groovy features. I urge you to read this chapter first before continuing with
the rest of the book. Familiarity with Spock and Gradle will be assumed in the text
from this chapter forward.


Installing Gradle


Let's start by installing Gradle using the GVM tool we used in the last chapter.
Installing Gradle is simplicity itself if you have followed the instructions from
Chapter 2, Groovy Quick Start, to install the GVM tool. Just issue the following
GVM command:


$gvm install gradle


This will install the latest available version of Gradle into your environment.
The Gradle developers, Gradleware, have a policy of first deprecating old features
and then removing them entirely. So, to avoid any future compatibility issues, you
can use the GVM tool to install the version of Gradle used when this book was
written as follows:


$gvm install gradle 2.4

Free download pdf