frankiesardo/icepick

Support incremental annotation processing

stephanenicolas opened this issue · 11 comments

Gradle 4.7 provides support for incremental annotation processing.
https://docs.gradle.org/nightly/userguide/java_plugin.html#sec:incremental_annotation_processing

It would be nice to see icepick supporting it. The change is not that big as IcePick is an isolating AP, and even simpler as it doesn't handle inheritance.

@frankiesardo, is this project still maintained ?

Hi @stephanenicolas I am still maintaining it in terms of bug fixing but I'm not that interested in adding new features.

@frankiesardo I understand that maintaining an old project is quite difficult sometimes, especially when you have moved on. Though, this feature is important to the Android community. Currently when you use any annotation processor (AP), gradle will do a clean build instead of an incremental build.

The new system requires all APs to comply to the incremental system to get an incremental build. And it's not a big change for most APs. If we can't make the change within IcePick, android users will have either to stop using it or to fork it. Can we submit a PR and you see if you wanna take it or not ? Or can we be added as contributors ? We don't really like clojure but we can get motivated for a PR or 2 ;)

It is not new feature it is the total blocker of using this library in the future projects.
At least please not close this Issue, maybe somebody will do pull request for it.
It is a quite important thing.

I can reopen the issue in case somebody would like to pick it up. If it is a total blocker then it's the responsibility of the Gradle team since they've broken a perfectly working project. It shouldn't be a burden of the project maintainer to continuously update their projects.

It will still work, but it will significantly slow down the building, so for small projects, it is OK.
It is already implemented here
JakeWharton/butterknife#1230

Or maybe would be enough if support will be added here if it is a fork under active development.
evernote/android-state#48
We will see.

I've created a PR for evernote/android-state#49

https://github.com/evernote/android-state/ supports incremental annotation processing now.

We have switched to android-state. Thanks @vRallev for suggesting it. We really appreciate that it's in java and is already incremental.

Thx @frankiesardo for have created Icepick. It has really been very useful for us. Nice work !
May I encourage you to advertise using android-state and slowly prepare for freezing Icepick ?