Tony Robalik

Tony Robalik @autonomousapps

About: I do software for a living.

Location:
Seattle
Joined:
Mar 2, 2017

Tony Robalik
articles - 38 total

This is why we can't have nice things: When POM files lie

Photo by Marco Bicca on Unsplash. I really hope there's a light at the end of this sewer. Sorry, my...

Learn More 9 0Feb 7

Gradle extensions part 2: Now with shenanigans

Photo by Karsten Würth on Unsplash Welcome to the spiritual successor to Gradle plugins and...

Learn More 3 0Dec 11 '24

One click dependencies fix

Photo by Maxim Hopman on Unsplash If you maintain a JVM1 or Android project, chances are you've...

Learn More 35 0Oct 8 '24

ACAB: Fire the (code style) cop in your head

Photo by Karsten Winegeart on Unsplash Let's get something out of the way right at the start: I hate...

Learn More 8 2Sep 29 '24

Announcing Dependency Analysis Gradle Plugin 2.0.0!

Cover photo by Sandie Clarke on Unsplash The Dependency Analysis Plugin v2.0.0 has just been...

Learn More 18 1Aug 27 '24

Gradle's leaky abstractions: Declarative(ish) shell, imperative core: Implementing a safe(ish) global configuration DSL

Gradle is very aware they have a complexity problem. Fundamentally, the problem is that Gradle build...

Learn More 26 2Mar 23 '24

Configuration roles and the blogging-industrial complex

On the perils of getting what you ask for Or, building cool stuff and making everyone think you're a...

Learn More 10 0Oct 17 '23

Become a Gradle expert in 3 easy steps!

Step 1. Your build fails "for no reason" and your small team has no dedicated build support. Everyone...

Learn More 6 3Jun 15 '23

Nihilism and the anti-corruption layer

Every now and then someone asks me if I intend a more technical follow-up to Herding Elephants, which...

Learn More 11 0Jun 24 '22

Tony's rules for Gradle plugin authors

The Gradle API surface is huge. It is also littered with unspoken rules whose enforcement mechanism...

Learn More 17 6Apr 25 '22

Defensive development: Gradle plugin development for busy engineers

This post is a direct follow-up to Gradle all the way down: Testing your Gradle plugin with Gradle...

Learn More 25 0Mar 16 '22

Gradle all the way down: Testing your Gradle plugin with Gradle TestKit

Testing Gradle plugins can be challenging. It relies on a special-purpose framework, TestKit, that is...

Learn More 26 0Mar 9 '22

Learning in public: Lessons from open source

A little more than two years ago, in October 2019, I began work on my first significant open source...

Learn More 45 2Jan 29 '22

Herding elephants: Wrangling a 3,500-module Gradle project

Note: please do not attempt to herd any actual elephants Every day in Square's Seller organization,...

Learn More 16 1Nov 12 '21

Gradle plugins and extensions: A primer for the bemused

modeling a complex domain in Gradle

Learn More 49 9Aug 21 '21

Tools of the build trade: The making of a tiny Kotlin app

Using Gradle to build a fat, minified jar

Learn More 56 2Jul 13 '21

A crash course in classpaths: Run!

Understanding classpaths on the JVM and ART

Learn More 11 0Jun 14 '21

Abusing Gradle's class loader hierarchy for fun and profit

Monkey patching Gradle plugins through classpath manipulation

Learn More 15 3Mar 30 '21

A crash course in classpaths: Build

Wherein we learn about classpaths and class loading in Gradle builds

Learn More 33 1Feb 4 '21

Build, compile, run: A crash course in classpaths

Wherein we learn about the various classpaths important in building and running your Java/Kotlin/Android projects

Learn More 87 7Jan 8 '21

Reducing my Gradle plugin's impact on configuration time: A journey

A story about diagnosing and fixing performance problems in a Gradle plugin

Learn More 15 4Sep 9 '20

Dependency Analysis Gradle Plugin: What's an ABI?

Using the Dependency Analysis Gradle Plugin to determine your library's binary API

Learn More 23 0Aug 27 '20

Benchmarking builds with Gradle-Profiler

Using the gradle-profiler tool to accurately determine the impact on a build from a build script change

Learn More 22 0Aug 20 '20

Public vs private

Software and surviving the capitalist death cult

Learn More 7 0Aug 17 '20

Dependency Analysis Gradle Plugin: Using bytecode analysis to find unused dependencies

Using bytecode analysis to find unused dependencies

Learn More 26 1Aug 13 '20

Easy modularity: Keeping your Gradle build scripts clean and eliminating duplication in your multi-module projects

Using precompiled script plugins to simplify build logic

Learn More 28 1Aug 10 '20

Dealing with a janky backend

What to do when you have a noncompliant server operated by a megacorp

Learn More 15 4Aug 4 '20

Why do I code?

Software and surviving the capitalist death cult

Learn More 6 2Jul 29 '20

Bare Metal Dagger: Wiring Subcomponents

two approaches for wiring subcomponents in Dagger

Learn More 9 1Jul 22 '20

The proper care and feeding of your Gradle build

Maintain a healthy build with the Dependency Analysis Gradle Plugin. Optimize your dependency graph and remove redundant plugins.

Learn More 51 5Jul 13 '20