-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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
Help popular annotation processors adopt incremental processing #5277
Comments
Toothpick: Open issue |
Realm: Open issue |
Glide: Open issue |
In addition to Room's compiler, mentioned by @TWiStErRob, Lifecycle has a compiler too LoganSquare: https://github.com/bluelinelabs/LoganSquare |
Requery: Open issue |
Butterknife is already implemented but we need some feedback for the implementation ;-) |
https://github.com/evernote/android-state/issues/48 is missing on your list |
GreenRobot's EventBus: Open issue |
@oehme Re Glide: |
@oehme Hi -- I am currently having this issue where I want to enabling compile avoidance for my project, but I am using the gradle hibernate ORM plugin with annotations, and it recompiles my entire project everytime (takes 15+ minutes to build) .. wondering if anyone could help me out. I am unsure if the hibernate ORM plugin supports compile avoidance or not, as I couldn't find it in their documentation Thanks! |
I am also interested in where Hibernate is with moving over to an annotation processor jar that will inform the gradle incremental compilation process. I haven't found them on any list of projects that are in the works for patching. Think they'll accept a community-driven PR over at https://github.com/hibernate/hibernate-orm/pulls |
@jjlueck-tock @ngattusohw As far as I can see, Hibernate doesn't do annotation processing, but post-processes the classes after compilation. I don't know why that would cause compilation to rerun. A reproducible example project would probably help them. How about you open an issue for them and ask them to improve the situation? A terminology sidenote: Compile avoidance is a different feature from incremental compilation. Compile avoidance is always on and means that only API changes will lead to recompilation of downstream projects. |
I asked Google team about DataBinding support |
@tprochazka it can be mitigated by using instant run, except if you |
I just noticed this in my build.gradle output... "All input files are considered out-of-date for incremental task ':Web:compileJava'." .. where my build.gradle compileJava looks like this
} @oehme Any direction appreciated, thanks |
As mentioned before, this is not annotation processing related. Hibernate uses bytecode enhancement. Please file a bug for their plugin. |
@oehme okay thank you. Sorry for bothering and thank you for your responsiveness! |
EclipseLink: Open Issue |
Immutables: https://immutables.github.io |
Hi @oehme, It seems to be corrected but not released yet. |
I see, they were a little too closely coupled to the Filer class hierarchy. The change looks good, much more robust. I pinged them for a release. |
@khaidinh Can you please open an issue for immutables that I can reference here? |
PermissionsDispatcher: Open issue |
Litho: Open issue |
Moxy: Open issue |
@oehme we're glad to announce that ToothPick 2 is released with incap support ! |
@oehme the butterknife PR will probably never get merged. The main author is not very supportive of the idea. So, we had to fork it to enable incremental annotation processing. We're happy to release butterfork : https://github.com/stephanenicolas/butterknife |
@oehme Could you add Auto Service to the list of supported incremental APs (google/auto#667)? And update the status of Data Binding also (https://issuetracker.google.com/110061530#comment28)? :) Thanks! |
@oehme Looks like Glide has just become incremental too: bumptech/glide#2983 |
Let me know when there is a release, so I can link that above :) |
Databinding has already a version with experimental support of the incremental compilation |
Databinding is already checked off above. |
Do you have anybody some new information about Room incremental support? It is still valid this ' Unlikely to be incremental in its default mode, as it generates files using java.io'? And it is an explanation from somebody from google team? There is no public issue for it? |
Glide 4.9.0 was released with support for incremental AP https://github.com/bumptech/glide/releases/tag/v4.9.0 |
Kotlin 1.3.30 will support incremental annotation processing with kapt! https://youtrack.jetbrains.com/issue/KT-23880 It requires opting in with |
Epoxy: Open issue |
We've moved the table of annotation processors that support incremental annotation processing to our user manual. This'll show up in 5.4 or you can check a nightly. If you have an update about an annotation processor and want it included in our docs, please submit a PR to update the table found here: Please take a look at our contribution guidelines. Thanks! |
@big-guy some of the links in that table 404. For example: https://developer.android.com/topic/libraries/architecture/room) |
Thanks @isker - I've fixed it for the next nightly build |
Hi Stephen, the engineers at airBnb don't use gradle and they have mentioned this is not a priority for them however they have 2 very popular android frameworks that don't support incremental annotation processing. Judging by the comment in epoxy issue its sounds like epoxy could involve a bit of work to support incremental annotation processing however on the other hand the airbnb engineer also mentions that deeplinkDispatch framework might not need any code changes at all. Are you are able to look at the deeplinkDispatch framework and possibly do a PR if it is a very easy fix. airbnb deeplinkDispatch - airbnb/DeepLinkDispatch#247 |
Sorry, I won't have time to look into that. Maybe someone else following this thread would be interested in doing so. |
@oehme I have started a PR for Micronaut with some changes to support this micronaut-projects/micronaut-core#2071 However I could do with some help to verify the correctness of this change and how it relates to what Micronaut does. |
@oehme Just FYI, it looks like Room has added support in version 2.2.0 - hidden behind a flag. The issuetracker ticket has more info.
Similar with Lifecycle. |
Updated url: https://docs.gradle.org/current/userguide/java_plugin.html#state_of_support_in_popular_annotation_processors |
Please submit PRs to update the list of annotation processors that support incremental annotation processing:
https://github.com/gradle/gradle/blob/master/subprojects/docs/src/docs/userguide/java_plugin.adoc#state-of-support-in-popular-annotation-processors
The text was updated successfully, but these errors were encountered: