Book Reviews - Gradle Essentials

Book Reviews - Gradle Essentials
Master the fundamentals of Gradle using real-world projects with this quick and easy-to-read guide
About This Book

Write beautiful build scripts for various types of projects effortlessly
Become more productive by harnessing the power and elegance of the Gradle DSL
Learn how to use Gradle quickly and effectively with this step-by-step guide

Who This Book Is For
This book is for Java and other JVM-based language developers who want to use Gradle or are already using Gradle on their projects.
No prior knowledge of Gradle is required, but some familiarity with build-related terminologies and an understanding of the Java language would help.
What You Will Learn

Master the Gradle DSL by identifying the building blocks
Learn just enough Groovy for Gradle
Set up tests and reports for your projects to make them CI ready
Create library, stand-alone, and web projects
Craft multi-module projects quickly and efficiently
Migrate existing projects to a modern Gradle build
Extract common build logic into plugins
Write builds for languages like Java, Groovy, and Scala

In Detail
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.
Style and approach

This step-by-step guide focuses on being productive with every chapter. When required, topics are explained in-depth to give you a good foundation of the Gradle fundamentals. The book covers most aspects of builds required for conventional JVM-based projects, and when necessary, points you towards the right resources.
1. Running Your First Gradle Task
Installing Gradle
Installing manually
Installing on Mac OS X and Linux
Installing on Windows
Alternate methods of installing Gradle
Installing via OS-specific package managers
Mac OS X
Linux (Ubuntu)
Windows
Installing via SDKMAN
Verifying the installation
Setting JVM options
The Gradle command-line interface
The first Gradle build script
Task name abbreviation
Gradle Daemon
Gradle Wrapper
Generating wrapper files
Running a build via wrapper
2. Building Java Projects
Building a simple Java project
Creating a build file
Adding source files
Building the project
A brief introduction to plugins
Unit testing
Adding a unit test source
Adding the JUnit to the classpath
Running the test
Viewing test reports
Fitting tests in the workflow
Bundling an application distributable
Running the application with Gradle
Building the distribution archive
Generating IDE project files
3. Building a Web Application
Building a simple Java web project
Creating source files
Creating a build file
Building the artifact
Running the web application
Plugins to the rescue
References
Project dependencies
External libraries
The dynamic version
Transitive dependencies
Dependency configurations
Repositories
4. Demystifying Build Scripts
Groovy for Gradle build scripts
Why Groovy?
Groovy primer
Running Groovy code
Variables
Strings
Regular expressions
Closures
Data structures
List
Set
Map
Methods
Calling methods
Default values of parameters
Methods with map parameters/named parameters
Methods with varags
Methods with closure params
Classes
Constructors
Properties
Instance methods
Another look at applying plugins
Gradle – an object-oriented build tool
Build phases
Initialization
Configuration
Execution
Life cycle callbacks
Gradle Project API
Project methods
Project properties
Extra properties on a project
Tasks
Attaching actions to a task
Task flow control
dependsOn
finalizedBy
onlyIf
mustRunAfter and shouldRunAfter
Creating tasks dynamically
Setting default tasks
Task types
Using task types
Creating task types
References
Groovy
Gradle API and DSL used in this chapter
on subprojects
6. The Real-world Project with Gradle
Migrating from an Ant-based project
Importing an Ant file
Using AntBuilder API
Rewriting Ant tasks to Gradle tasks
Migrating from a Maven project
Publishing artifacts
Continuous Integration
Generating documentation
7. Testing and Reporting with Gradle
Testing with TestNG
Integration testing
Code coverage
Code analysis reports
8. Organizing Build Logic and Plugins
Extracting build logic to buildSrc
The first plugin
Configuring plugins
9. Polyglot Projects
The polyglot application
Building Groovy projects
Building Scala projects
Joint compilation
References

No comments:

Post a Comment