A2.5: default lookup
Default look will be based only on
META-INF lookup. The content of current /Services folder from SystemFS
will be removed from default lookup. Instead of that clients should use
Registry API to access directly the context with their instances and
process them as they need.
Random thoughts:
There already exists lot of subfolders below Services folder for
concrete types of services. This pattern should be recommended for all
new kinds of services.
This change will be incompatible. Anybody using default lookup to
find for example instance of CompilerType will after this change found
nothing. One possible solution for backward compatibility could be to
hardcode all well-known types into default lookup and when somebody is
searching for that type the warning could be logged, but new place with
instances of that type could be search for some instance. Eg. searching
for CompilerType logs warning, but checks /Services/CompilerType
context for some instance. What is it "some" needs to be clarified.
This would solve backward compatibility in lot of cases, but definitely
not in all. All contracts defined outside of OpenIDE would be broken.
Instances required to be in default lookup will have to be registered in META-INF folder.
Some instances like SystemOptions should be killed from /Services folder at all.