Attention Pyramid
Posted on 2026/07/12
Hidden Fingerprinting - Hard to Measure Gradle Task Cost
Posted on 2026/06/25
Scope Reap - What are you calling?
Posted on 2026/04/22
A Complete Library
Posted on 2026/03/05
org.gradle.internal.operations.trace
Posted on 2026/02/25
Benchmark, Profile, Trace - What's the difference?
Posted on 2026/02/20
Relationship Status of minSdk, compileSdk, targetSdk
Posted on 2026/02/13
Spray and Pray - Cost of Overly-Broad Spotless Targets
Posted on 2026/01/27
Going Offline - Steps to a hermetic Gradle build
Posted on 2025/12/19
Knocker-Uppers - PGP Validation of Gradle Wrapper and Distribution
Posted on 2025/12/12
Everchanging CI - Isolating Configuration Cache Inputs
Posted on 2025/11/21
Unreasonable Configuration - What is a Normal Amount of Gradle Configuration Time?
Posted on 2025/11/02
Cache, Cache, No Cache - When to use Gradle Build Cache?
Posted on 2025/10/28
Gradle Version Checking - Finding an API hidden deep in the basement
Posted on 2025/10/15
NoSuchFieldError - JavaVersion does not have member field 'JavaVersion$Companion Companion'
Posted on 2025/10/06
Input to Your Inputs - What Invalidates Gradle Configuration Cache?
Posted on 2025/09/30
Gradle Tower of Babel - Building on Top Of Other Plugins
Posted on 2025/09/04
LLM Bumper Rails - New Problems Same Techniques
Posted on 2025/08/18
Parallel Bits - Which Parts of Gradle Run in Parallel
Posted on 2025/07/29
New Phases - Gradle Configuration Store and Load
Posted on 2025/07/24
Exceptional JUnit4 - How Does A Test Fail Successfully?
Posted on 2025/07/02
Pom Pom Pom 🎶 - Have we reached the end of life?
Posted on 2025/06/12
Escape (de)Velocity - Artisanal Debugging of Tasks
Posted on 2025/05/01
Treasure Cache - Gradle Cache Entries
Posted on 2025/04/14
Public (API) Declaration
Posted on 2025/04/03
Options for Options - Ways to Pass Arguments to Gradle
Posted on 2025/03/24
That's Gonna Leave A Mark - Gradle Plugin Markers
Posted on 2025/03/05
Maybe Don't Run - Optional Tasks
Posted on 2025/02/23
Tragedy of Build Classpath
Posted on 2025/02/07
Stifle Hungry Tasks using BuildService
Posted on 2025/02/06
Under Siege? robots.txt!
Posted on 2025/01/27
Groovy Who? Exploring Declarative Gradle
Posted on 2025/01/24
Wrapper's delight - Gradle wrapper task uses
Posted on 2025/01/17
Kotlin Library Friends - Using the Internals
Posted on 2025/01/12
Conservative Librarian - Hold Back For Your Users To Flourish
Posted on 2025/01/10
The Task Addendum - Add Outputs to A Task You Don't Own
Posted on 2025/01/08
What The Distribution - What Is Inside Gradle Distribution Zips?
Posted on 2024/12/18
Trust But Verify - Enabling Gradle Signature Verification for An Android Project
Posted on 2024/12/12
Together in Isolation - Isolated Project Safe Way to Aggregate Optional Artifacts
Posted on 2024/12/11
DRY - Gradle Configuration Values
Posted on 2024/10/28
Where is Your Signature?
Posted on 2024/04/11
OH NIO! What is this system property?
Posted on 2024/01/18
One Bite At A Time
Posted on 2023/12/21
The Catch in Using Exceptions for Control Flow
Posted on 2023/03/09
Profiling your I/O
Posted on 2023/03/02
Evaluate your afterEvaluate
Posted on 2022/12/09
Making Gradle Inputs Just Sensitive Enough
Posted on 2022/11/07
What's inside that Gradle zip?
Posted on 2022/09/06
Better Not Depend On Tasks - That's the Old Timey Way
Posted on 2022/07/26
Stop Wasting Time - Adopt Gradle Remote Build Cache
Posted on 2022/07/13
Trust Thy Coworker
Posted on 2022/06/29
Schrödinger's Gradle Inputs
Posted on 2022/06/21
Containing Naughty Gradle
Posted on 2022/06/08
Gradle Configuration - Death by a Thousand Cuts
Posted on 2022/06/02
Profiling - the Good Kind
Posted on 2022/06/01
Gradle Security Considerations
Posted on 2022/05/13
A Bag of Properties
Posted on 2022/04/25
Caches Everywhere
Posted on 2022/04/19
Gradle repositories {} Galore
Posted on 2022/03/10