Hi all,

Currently each module in DOSGi has its own utility methods and classes, and I recently did some refactoring to extract a few more of them out of the business logic. However, there is some duplication between them which is bad for structure an maintenance (e.g. 5 different versions of getting a String+ service property). There is also currently a runtime dependency of the discovery-distributed bundle on the discovery-local bundle due to import of its utils. As I see it, there are 3 main options:

1. Keep the bundles independent with duplicate code (and decide whether to leave the existing discovery modules' dependency or remove that one too via duplication).

2. Create a separate util module but without a runtime dependency between bundles, by adding the util package to the Private-Package bundle configuration of the other bundles (which causes the classes from that package to be copied into the other generated bundle jars).

3. Create a separate util module with its own bundle that the other bundles depend on at runtime.

I'm undecided between #2 and #3, but prefer to move away from the current situation (#1).

I figured I'd open it up for discussion here - what do you all think? Any other ideas?

Amichai


Reply via email to