Gradle

JVM application build using Gradle

Gradle represent the third generation of build tools. Unlike the predecessors, Gradle uses a programming language (Groovy) for script definition, which means that it is simple to formulate programmatic build rules.

In this course we effectively go through what you need to know to start working with Gradle direct after the course

This is what you will learn
  • Compile and build Java applications
  • Build Java web-applications
  • Manage Maven repositories and proxies with Gradle
  • Configurate multi-project
Course Contents

Översikt och bakgrund

Short about why and how Gradle was developed

  • Build tools for Java
  • Merits and limitations of Ant and Maven
  • GAnt
  • Properties and objectives of Gradle

Gradle installation

  • Installation
  • Configuration
  • Simple tasks
  • Dependent tasks
  • Log levels
  • Getting help from Gradle

Intro to Groovy

Gradle uses the language Groovy (~ Java++) as script-language. Here we go through the most important so you can understand the syntax in a Gradele script.

  • Basic syntax
  • Data types
  • Operators
  • Closures (lambda expressions)
  • Java API enhancements
  • Builders
  • Overview of Groovy frameworks

The target application

Walk-through of the example-project we use for all the exercises

    Building Java applications

    • Applying plugins
    • Standard project layout
    • Customizations
    • Source sets
    • Creating JARs
    • Executable JARs
    • Generating JavaDocs

    Dependency Management

    • What is a dependency
    • What is an artefact repository
    • What is transitive dependencies
    • How to configure dependencies
    • Preconfigured public repositories
    • Configuration of repositories
    • How to find 3rd party JAR files

    Testing

    • Test sources layout
    • Test dependencies
    • Test reports
    • JUnit
    • TestNG
    • Spock

    Building Web Applications

    • The web project layout
    • Customizations
    • Using the jetty plugin

    Gradle Tools

    • The Gradle GUI App
    • The Gradle Wrapper
    • The Gradle Daemon
    • The init task
    • IDE support

    The Gradle API

    • The Gradle API JavaDocs
    • The Project interface
    • The Task interface
    • Different ways to define properties
    • Build phases

    Using Maven Proxies & Repos

    • Maven proxy
    • Internal Maven repo
    • Overview of servers
    • Configure an internal repo
    • Configure publishing of artefact

    Multi-Project Builds

    • Multi-project layout
    • Common configurations
    • Sub-project dependencies

    Using Gradle Plugins

    • Overview of standard plugins
    • Installation of plugins
    • Searching for community plugins
    • Installation and configuration of community plugins

    Generating Reports

    • Overview of standard report plugins
    • Usage of some report pluginsm such as summary, checkstyle, findbugs and more

    Programming Gradle

    • Default task
    • Task type
    • Dynamic tasks
    • Useful factory methods
    • Using Ant tasks in Gradle scripts
    • Task documentation

    Writing Plugins

    • Understanding the difference between tasks and plugins
    • How to define tasks and plugins
    • User-defined tasks
    • Task configuration
    • User-defined plugins
    • Plugin configuration
    Facts
    NameGradle
    Duration 2 Days
    LevelBeginner
    AudienceJava programmers
    PrerequisitesFluent in Java programming
    Tools
    • Java JDK, version 8+
    • Gradle
    Price 15 000 kr + moms 15000
    Course Dates
    DatePlace
    Loading course dates...
    Same-Company Discout

    We offer a 20% discount for additional participants from the same company and at the same course date. Read more here.

    On-Site Course

    If you order an On-Site course, we will come to you and hold the course in your office. The price is determined by our price model and is based on the number of course days, number of participants and any travel and lodging.

    Read more about out price modell and term of sales here.

    Related Courses
    CourseDaysLevel
    Groovy3Beginner Show
    Maven1BeginnerShow
    Apache Ant 1BeginnerShow