-
Notifications
You must be signed in to change notification settings - Fork 16
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
Applying the checker plugin disables other annotation processors #20
Comments
Sorry you encountered this issue.
I think you're right. I'll see if I can fix that right away and make a release.
This is, unfortunately, a fundamental problem. Because the Checker Framework provides many annotation processors and expects users to specify which ones to use, it is fundamentally incompatible with annotation processors discovered through One option to fix that issue would be to re-implement that process in the plugin and then specify the processors that would have been run automatically. For now, manually specifying the processors you want to run will remain the workaround. |
Thanks for the quick response. Perhaps the plugin could just add checker to
the annotationProcessor configuration rather than declare a new
configuration?
Unfortunately I don't think gradle provides a standard way to declare
processors, so adding my other annotation processsor as a "checker" is an
acceptable solution.
Thanks!
…On Thu, Jul 18, 2019, 7:11 PM Martin Kellogg ***@***.***> wrote:
Sorry you encountered this issue.
Rather than add checker to the annotationProcessor configuration, I
believe the plugin is replacing the existing package:
I think you're right. I'll see if I can fix that right away and make a
release.
Also, specifying the -processor argument to javac disables the
auto-discovery process, which means that my annotation processor is not
found.
This is, unfortunately, a fundamental problem. Because the Checker
Framework provides many annotation processors and expects users to specify
which ones to use, it is fundamentally incompatible with annotation
processors discovered through javac's annotation processor discovery
phase.
One option to fix that issue would be to re-implement that process in the
plugin and then specify the processors that would have been run
automatically. For now, manually specifying the processors you want to run
will remain the workaround.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#20?email_source=notifications&email_token=AADO5Q5WLAJLMCB2NDNPVP3QACP5RA5CNFSM4IE3DCI2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD2JFFEQ#issuecomment-512905874>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AADO5Q2HZWSZXBLFHCYT7HLQACP5RANCNFSM4IE3DCIQ>
.
|
So is the current status still that if your build uses other annotation processors, those need to be added as checkers in order for them to still run after applying this plugin? That is going to painful for users of tools like AutoValue, which runs multiple annotation processors internally that are defined in a manifest file. Maybe the plugin could support not specifying any checkers, which would mean that custom checkers that include a relevant manifest file would still be run? It's not a general solution, but it would support our current use case. |
Slightly crazy idea @kelloggm. How about instead of using the |
Rather than add checker to the annotationProcessor configuration, I believe the plugin is replacing the existing package:
I have my own annotation processor that is part of our multi-module build and needs to run before checker, otherwise there are missing classes.
Also, specifying the
-processor
argument tojavac
disables the auto-discovery process, which means that my annotation processor is not found.I have worked around this by adding my annotation processor to the checkerFramework configuration, but it would be nice to fix this.
The text was updated successfully, but these errors were encountered: