Github user aledsage commented on the issue: https://github.com/apache/brooklyn-server/pull/884 Turns out this might only be working because of an error in https://github.com/apache/brooklyn-server/blob/master/server-cli/pom.xml#L118 - there's a missing comma, so this seems to behave the same as `<Import-Package>!*</ImportPackage>`. The `org.apache.brooklyn.cli` OSGi bundle has no `Import-Package` in its manifest! If it did generate that correctly, then it would include an import package dependency on `org.apache.brooklyn.camp.brooklyn`, which comes from `brooklyn-camp`. The order the features are declared means it might try to install `brooklyn-cli` before `brooklyn-camp`, so its dependencies wouldn't resolve. Or maybe it would all be fine, with karaf correctly figuring out all the dependencies at startup. --- However, the fundamentally concern is that there is no reason to include the `brooklyn-cli` module in karaf. Its java code is pretty-much unusable (we've excluded the `airlift` package import because that is not in karaf). If we're just doing this to get the contents of its catalog.bom, maybe we should move its catalog.bom somewhere else instead. As was discussed on the mailing list previously, we agreed to delete from production-code the brooklyn classic mode (i.e. the `Main` class way of launching brooklyn that is in `brooklyn-cli`). The suggestion was to move it to tests-only so developers could still launch it from their IDE if they really wanted. Therefore it would be nice to consider the `brooklyn-cli` module as deprecated. Thoughts @Graeme-Miller @ahgittin @tbouron?
---