HOME SCALA & F# JAVA .NET WEB GROOVY & GRAILS ANDROID & IOS NOSQL ARCHITECTURE AGILE & SCRUM AGILE DEVELOPER  
Hans Dockter's Core Gradle: Gradle, a Build System for Java Workshop (GRADLE-01-03)
CODE: GRADLE-01-03          DURATION: 3 DAY/S
In this intensive and highly practical 3-day Gradle course, you will become familiar with all major concepts of Gradle and how to best use Gradle for simple as well as complex build scenarios. This course is packed with hands-on exercises. You will learn about the basic language elements of the Gradle Domain Specific Language (DSL), how to use Gradle's build-by-convention for plain Java and Java web projects, and how to use the Gradle plugin system. You will find out how easy it is to customize your build. You will learn about Gradle's mighty dependency management. And much more ...

This 3-day Gradle course has been developed by Gradle’s founder and Project lead Hans Dockter.

LEARN HOW TO:
  • use the core Gradle DSL types.
  • work with external dependencies.
  • use build-in tasks and plugins.
  • hook into the build lifecycle.
  • integrate with Ant and Maven.
  • use the sophisticated Gradle logging engine to maintain a clean build output.
  • use Gradle's powerful file system abstractions.
  • apply best practices for maintainable builds.
  • work with multi-project builds.
  • achieve highly performing builds.
  • create a zero-administration environment for Gradle builds.
PROGRAMME

Day 1
Gradle Introduction
  • What is Gradle
  • Some background information about the Gradle project
  • Installing Gradle
  • Using Gradle via the command-line, the stand alone GUI and the IDE.
  • Gradle build scripts
  • A very short introduction to Groovy
The Core of Gradle - A general purpose build system
  • Background: Directed Acyclic Graphs (DAG) - The heart of (almost) every build system.
  • How to work with Gradle tasks
  • How to create custom task types.
  • Task Dependencies
  • Smart merging when executing multiple tasks.
  • Smart exclusion.
  • How to access and work with the DAG.
  • Hooking into the Gradle build lifecycle.
  • Using the Gradle logging infrastructure.
Introduction to Plugins
  • How do Gradle plugins work.
  • The different ways of applying plugins to your build.
  • Writing your own plugin.
  • A short overview of available plugins.
Gradle and the File System
  • The mighty copy functionality.
  • Archive handling
  • Custom Gradle file types: FileTree and FileCollection
Using Ant from Gradle
  • The relationship between Ant and Gradle.
  • Using Ant tasks.
  • Deep import of Ant projects.
Dependency Management
  • Overview.
  • Accessing Maven and Ivy repositories.
  • Transitive dependency handling.
  • Using repository-less dependencies.
  • Publishing artifacts.
Maven Integration
  • Pom generation and customization.
  • Publishing to a Maven repository.
  • The Maven2Gradle converter.

Day 2
Gradle's Deep API
  • Gradle's domain objects are extensible.
  • How to avoid global properties with dynamic properties.
  • Powerful construction rules for Tasks, Dependencies, ...
Gradle's Rich Model for Inputs and Outputs
  • Gradle's autowiring of task dependencies.
  • Buildable File Collections.
  • Automatic validation of task properties.
  • Declaring your inputs and outputs.
  • Incremental Build
Working with Source Sets
  • What are source set's and why we love them.
  • Declaring and configuring source sets.
  • Using the source set API.
The Java Plugin
  • The Java Plugin tasks: Clean, Javadoc, Compile, Archives
  • Configuring test tasks (A truly rich API in action).
Task Rules
  • What are task rules.
  • Working with task rules.
The Gradle Way
  • The declarative nature of Gradle.
  • Avoiding rigidity.
  • Providing a build language vs. being a framework.
  • All requirements are equal: Custom declarative elements.
  • XML, Groovy and putting lipstick on a pig.
Multi-Project Builds
  • Configuration Injection
  • Filtered Injection
  • Project Dependencies
  • Gradle follows your layout not vice versa.
  • Task and Project paths
  • Lifecycle Tasks and partial builds.
  • Reports
  • The settings.gradle
How to organize your Build Logic
  • Best practices.
  • Using jars, build sources or script plugins in your build script.
  • The gradle.properties
  • Init scripts.
The Gradle Wrapper
  • Why and when to use the Gradle wrapper.
  • Applying the wrapper to your build.

Day 3
Continuous Delivery
  • Configuration Management
  • Advanced Continuous Integration
  • Repository Management
  • Deployment Pipelines
  • Deployment & Release Management
  • Data Management
  • Infrastructure & Environment Management
ABOUT THE AUTHOR
Hans Dockter is the founder and project lead of the Gradle build system and the CEO of Gradleware Inc, a company that provides training, support and consulting for Gradle and all forms of enterprise software project automation in general.
More about Hans Dockter
IN PARTNERSHIP WITH GRADLEWARE INC
IS THIS COURSE FOR YOU?
If you have an interest in building and automating Java projects and want to learn about a build system that tremendously increases your productivity, this is the course for you.

COURSE PREREQUISITES
This course assumes a good understanding of the Java language. Some code is initially easier to understand if you also have a basic understanding of the Groovy language. But due to Groovy's similarity to Java, Groovy is not a prerequisite. There will be a very short introduction to Groovy at the beginning of the course.

COURSE LABS & EXERCISES
Lectures, discussions & practical exercises, with a heavy emphasis on gaining practical skills.

© Copyright 2003-2011, Skills Matter Ltd
  Web development by You In Control
About Us  Jobs  Find Us  Meeting & Training Rooms  Newsletter  Jobs: Sales Executive  Jobs: Student SkillsCaster  jobs - junior event coordinator  Speed Coding 2011  Open Source Journal  Ticket Raffle  Agile Expert Series  Jobs: Sponsorship Development  jobs: Marketing & Sales Graduate Internship