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