Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Modern Gradle Fundamentals
Rating: 4.4 out of 5(1,006 ratings)
4,850 students

Modern Gradle Fundamentals

Learn how to efficiently structure and build software projects with Gradle 7, 8 or 9
Last updated 11/2024
English

What you'll learn

  • The fundamental Gradle concepts
  • How to structure Gradle projects - efficiently to work with and maintainable
  • Understanding the Gradle DSL (Kotlin and Groovy variant)
  • Gradle build configuration: Settings File, Build Files and Convention Plugins
  • Gradle build execution: Tasks, Task Inputs/Outputs, Task Dependencies
  • Dependency management: Scopes/Configurations, Repositories, Versioning
  • Configuring Testing with Gradle
  • Using Java to configure Gradle

Course content

6 sections20 lectures2h 50m total length
  • Introduction1:05
  • Gradle Configuration Language - Gradle's DSL3:44

    Get a basic understanding of what Gradle is.

  • Define a Project Structure - Settings File and Gradle Wrapper13:59

    Learn how to define a project structure with Gradle and how to tell Gradle where to discover existing software components and Gradle plugins.

  • Give Meaning to Components/Subprojects - Build Files9:10

    Learn how to give meaning to each component of your software by applying Gradle plugins.

  • Centralise Build Configuration - Convention Plugins14:51

    Learn how to organise your build configuration by defining your own Gradle Convention Plugins.

  • Compose an Application - add Dependencies7:26

    Learn how to connect the components of your software to a complete application by defining dependencies.

  • Run the Build - with Incremental Building and Caching11:57

    Learn what Gradle does when you execute a build and which mechanisms make a Gradle build efficient.

Requirements

  • You should be familiar with IntelliJ IDEA and the programming languages (e.g. Java) for which you want to setup a project with Gradle. You do not need any prior knowledge about Gradle itself.

Description

Gradle is one of the most advanced build tools for Java and other JVM languages like Kotlin, Groovy and Scala.

In this course you learn how to structure your software project with Gradle to get the most out of it.

This course is hands-on. Together, we build up a project from scratch, learning Gradle features one-by-one. While we do this on the example of a Java project, the gained knowledge can be transferred to any kind of software project built with Gradle.

Whatever automation task you would like to tackle: This course is for you to unlock the full power of Gradle.

No prior Gradle knowledge is required and you learn the latest best practices for current Gradle versions (established since Gradle 7).

The video instructions are packed with information. To follow along, you will likely pause the videos regularly to explore the example and make sure it works for you. You should plan in ~3 times the duration of a video to work through the corresponding lecture.

Topics Overview

  • Gradle Configuration Language (Gradle's DSL)

  • Define a Project Structure - Settings File and Gradle Wrapper

  • Give Meaning to Components/Subprojects - Build Files

  • Centralise Build Configuration - Convention Plugins

  • Compose an Application - add Dependencies

  • Run the Build - with Incremental Building and Caching

  • Configure Tasks added by Plugins

  • Register new Tasks using existing Task Implementations

  • Implement your own Build Logic in a Task

  • Make your Project accessible through Lifecycle Tasks

  • Dependency Scopes (aka Configurations)

  • Central Places for Dependency Versions - Platform Projects / Dependency Version Catalogs

  • Conflicts and Component Metadata Rules

  • Source Sets

  • Configuring Testing

  • Kotlin vs Groovy DSL

  • Writing Build Configuration in Java

Who this course is for:

  • Java Developers
  • Android Developers
  • Kotlin Developers
  • Scala Developers
  • Groovy Developers