A deep dive in to Artifact transforms and how they affect Gradle builds
Presented at Droidcon SF 2024
Which tasks are the slowest running tasks? Who has the slowest builds on my team? Which task is getting the most cache misses?
These questions and more can be easily answered with the new Gradle Enterprise API.
Come learn about how to automatically check your build's cacheability and find out who on your team is suffering the most painful builds.
Presented at Droidcon San Francisco June 2nd 2022, Droidcon Berlin July 6, 2022, Droidcon London Oct 26, and Droidcon NYC Sep 13, 2023
This talk covers why cache misses happen, how to diagnose them, and why Gradle can't always automatically fix them for you. We'll also dive under the hood of the Android Cache Fix plugin to figure out some of the dirtiest cache misses in the Android ecosystem and why they still exist.
Presented at Droidcon Berlin Oct 20, 2021 and Droidcon London Oct 29, 2021
In this episode, we talk about Gradle Doctor with its author Nelson Osacky. Gradle Doctor finds and fixes performance problems and errors in your Gradle build. The tool works as a Gradle plugin - emitting prescriptions for all the problems found. Nelson tells us how he came up with the idea behind this tool, and what the future is for Gradle Doctor.
This talk covers some of the most common build issues causing slow Gradle builds from seeing many different builds as a Gradle Solutions engineer. This also covers future performance improvements to the Gradle Build tool regarding ease of use and performance.
Presented at Droidcon America Online Nov 16, 2020
Video is available here
Slides here
Tips and tricks on how to scale your Android build with Gradle.
How to measure performance improvements and gain insights using Gradle Enterprise.
Watch the talk here
Slides are here
Build scans provide some very useful information about Gradle Builds. Build time, configuration time, task execution time. Scans even show garbage collection time, time spent downloading dependencies, time spent in annotation processors? What can you do with all this data?
In this talk I'll share how to surface actionable information from your Gradle build immediately to developers without using the build scan plugin or Gradle Enterprise.
Watch the talk here.
Android Makers April 20, 2020
SpeakerDeck Slides
Back in the day Java dependency injection frameworks were purely runtime based like Spring and Guava. Dagger 1 introduced a compile time component as well as compile time safety and Dagger 2 took the concept even further. Now we're going back to runtime with Dagger Reflect in an effort to improve local developer build speeds. This talk will cover the reasons for building dagger reflect, how it works under the hood, how to use it in your project as well as how it is developed.
Given at DroidCon Berlin - 2 July 2019
This talk covers what Gradle task caching is, some details about how we use our remote build cache at SoundCloud, and how we massively improved the effectiveness of our cache by solving remote build cache misses.
Given at Gradle Night Berlin - 8 April 2019
This talk covers migrating your build.gradle files from Groovy to the new Kotlin DSL. It also covers some advantages and disadvantages of doing so as well as how the DSL works under the hood.
Recording is here. Slides here.
Given at DroidCon Berlin, 27, June 2018
How to scale UI testing from 1 Espresso test to hundreds and get results quickly with little infrastructure in a small startup.
Given at BerlinDroid, 29 Nov 2017