Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support incremental annotation processing #116

Open
stephanenicolas opened this issue Mar 25, 2018 · 11 comments
Open

Support incremental annotation processing #116

stephanenicolas opened this issue Mar 25, 2018 · 11 comments

Comments

@stephanenicolas
Copy link

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.

@stephanenicolas
Copy link
Author

@frankiesardo, is this project still maintained ?

@frankiesardo
Copy link
Owner

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

@stephanenicolas
Copy link
Author

@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 ;)

@frankiesardo
Copy link
Owner

frankiesardo commented Apr 7, 2018 via email

@tprochazka
Copy link

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.

@frankiesardo
Copy link
Owner

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.

@frankiesardo frankiesardo reopened this Apr 10, 2018
@tprochazka
Copy link

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

@tprochazka
Copy link

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

@vRallev
Copy link

vRallev commented May 27, 2018

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

@vRallev
Copy link

vRallev commented Jun 4, 2018

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

@stephanenicolas
Copy link
Author

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 ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants