Since META-INF/services registration is being replaced with annotations, we have a regression in functionality from
apisupport - if you are working on a module that is unfamiliar, it is difficult to find out what it registers as
services, which slows down the person trying to fix it.
You can use Find Usages on ServiceProvider, or just look at the info messages printed during the build. But yes we plan
to have some kind of "registration overview" action.
Created attachment 81233 [details]
Patch to add Important Files > Default Lookup to module projects
The attached patch scans all Java sources in the source classpath, and finds all annotated with ServiceProvider. It
could certainly be more efficient about detecting renames and such (right now any save of a Java file results in a
rescan if the child nodes are expanded), but it works.
Note with the attached patch, you'll need to provide some icon at
Created attachment 81249 [details]
Slightly improved patch - also supports legacy META-INF/services entires + better listening for deletions
Tim, don't use the IDE's Diff facility. Use 'hg diff', and make sure you have set
This can represent renames, binary files, etc.
We probably want to scan for any annotations which have an associated LayerGeneratingProcessor in the classpath. The
proper UI for all this is not clear.
Not sure that we want to resurrect the permanode UI of the old services browser. It was never very efficient or stable.
A one-off scan of sources upon request, say going to the Output Window with hyperlinks, would be simpler to implement
and have no performance risk.
Created attachment 81259 [details]
Well, the code in the attached patch could easily be adapted to print output instead of creating nodes, so either way
this should now be trivial to implement. I'd suggest we do *something* either way - I'm not terribly attached to which
thing we do.