Using ServiceTracker means that any other plugin can replace core services of Buildship. This does not really sounds like something we should allow.
The only use case I can currently think of is testing with Mocks. But all those cases could also have been implemented in another way (e.g. with a log listener) and that would even make the tests more realistic.
Proposed Change
Get rid of the ServiceTracker mechanism and use plain old fields for our internal services.
Code review
[ ] Does the change work?
[ ] Is the change sufficiently tested?
[ ] Is the public API modification handled appropriately?
Issue by oehme Thursday May 19, 2016 at 09:39 GMT
Motivation
Using ServiceTracker means that any other plugin can replace core services of Buildship. This does not really sounds like something we should allow.
The only use case I can currently think of is testing with Mocks. But all those cases could also have been implemented in another way (e.g. with a log listener) and that would even make the tests more realistic.
Proposed Change
Get rid of the ServiceTracker mechanism and use plain old fields for our internal services.
Code review
See also the full checklist.