<feed xmlns='http://www.w3.org/2005/Atom'>
<title>github/lombok.git/src/spiProcessor, branch master</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.</subtitle>
<link rel='alternate' type='text/html' href='https://git.nea.moe/github/lombok.git/'/>
<entry>
<title>[build] the new spi processor didn't handle inner types used as SPI targets.</title>
<updated>2021-03-18T22:18:54+00:00</updated>
<author>
<name>Reinier Zwitserloot</name>
<email>r.zwitserloot@projectlombok.org</email>
</author>
<published>2021-03-18T22:18:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.nea.moe/github/lombok.git/commit/?id=15a28add9dcad2896168d69018963a413ec75f1e'/>
<id>15a28add9dcad2896168d69018963a413ec75f1e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[build] sped up the build considerable.</title>
<updated>2021-03-16T16:09:13+00:00</updated>
<author>
<name>Reinier Zwitserloot</name>
<email>r.zwitserloot@projectlombok.org</email>
</author>
<published>2021-03-16T16:09:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.nea.moe/github/lombok.git/commit/?id=476a43b970b01eafcc053eead69db57a0ab854cf'/>
<id>476a43b970b01eafcc053eead69db57a0ab854cf</id>
<content type='text'>
We used to use the mango SPI processor, but this had two major issues:
* ecj wouldn't run annotation processors, requiring a separate proc:only compile run with javac
* mangoSPI couldn't do incremental compilation, so this required a full rebuild just to generate SPI files, every time.

Addressed by updating to IPP40 which does support explicit annotation processors even for ecj, and
adding our own SPI generating annotation processor to the build which can deal with incrementals.

There are some limits; removing a `@Provides` annotation on an existing type will need a full clean to pick that up, for example.
These limits seem quite exotic, though.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We used to use the mango SPI processor, but this had two major issues:
* ecj wouldn't run annotation processors, requiring a separate proc:only compile run with javac
* mangoSPI couldn't do incremental compilation, so this required a full rebuild just to generate SPI files, every time.

Addressed by updating to IPP40 which does support explicit annotation processors even for ecj, and
adding our own SPI generating annotation processor to the build which can deal with incrementals.

There are some limits; removing a `@Provides` annotation on an existing type will need a full clean to pick that up, for example.
These limits seem quite exotic, though.
</pre>
</div>
</content>
</entry>
</feed>
