<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Amanda Martin on foojay.io - Friends of OpenJDK</title><link>https://foojayio.github.io/website/today/author/amanda-martin/</link><description>Articles written by Amanda Martin on foojay.io - Friends of OpenJDK</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Tue, 13 Dec 2022 15:35:31 +0000</lastBuildDate><atom:link href="https://foojayio.github.io/website/today/author/amanda-martin/index.xml" rel="self" type="application/rss+xml"/><item><title>Compilation Avoidance with Gradle</title><link>https://foojayio.github.io/website/today/compilation-avoidance-with-gradle/</link><pubDate>Tue, 13 Dec 2022 15:35:31 +0000</pubDate><guid>https://foojayio.github.io/website/today/compilation-avoidance-with-gradle/</guid><description>&lt;p&gt;We at Gradle recently noticed some community chatter about speeding up Gradle compilation on the JVM by ignoring changes not affecting the application binary interface (ABIs) of dependencies.&lt;/p&gt;
&lt;p&gt;What a great idea! In fact, Gradle has used ABIs for Java out of the box for this without any extra configuration &lt;a href="https://blog.gradle.org/incremental-compiler-avoidance" target="_blank" rel="noopener noreferrer"&gt;since version 3.4&lt;/a&gt;
.&lt;/p&gt;
&lt;p&gt;We refer to this feature as &lt;strong&gt;&lt;a href="https://docs.gradle.org/current/userguide/java_plugin.html#sec:java_compile_avoidance" target="_blank" rel="noopener noreferrer"&gt;compilation avoidance&lt;/a&gt;
&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;This post explains what ABI-based compilation means for the average workflow. Spoiler: utilizing compilation avoidance is one of the best performance enhancements for any build.&lt;/p&gt;</description></item></channel></rss>