Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
Description
The packages:imports command by default spits out a list of imports for all bundles joined together so there is no information to which bundle which packages belong. Say someone wants to know which bundles import a given package. They could do packages:imports and search through but it gives nothing on which bundles those imports are occurring, just which bundles the package comes from. I'm proposing a -i option to the packages:imports command that would output the list like:
karaf@root> packages:imports -i OPS4J Pax Url - mvn: (1) imports: System Bundle (0): org.osgi.framework; version=1.5.0 OPS4J Pax Url - mvn: (1) imports: System Bundle (0): org.osgi.service.url; version=1.0.0 OPS4J Pax Url - mvn: (1) imports: System Bundle (0): javax.net.ssl; version=0.0.0 OPS4J Pax Url - mvn: (1) imports: System Bundle (0): javax.xml.parsers; version=0.0.0 OPS4J Pax Url - mvn: (1) imports: System Bundle (0): org.w3c.dom; version=0.0.0 OPS4J Pax Url - mvn: (1) imports: System Bundle (0): org.xml.sax; version=0.0.0 OPS4J Pax Url - mvn: (1) imports: OPS4J Pax Logging - API (3): org.apache.commons.logging; version=1.1.1 OPS4J Pax Url - mvn: (1) imports: OPS4J Pax Logging - API (3): org.apache.commons.logging; version=1.0.4 OPS4J Pax Url - mvn: (1) imports: Apache Felix Configuration Admin Service (5): org.osgi.service.cm; version=1.3.0 OPS4J Pax Url - wrap: (2) imports: System Bundle (0): org.osgi.framework; version=1.5.0 OPS4J Pax Url - wrap: (2) imports: System Bundle (0): org.osgi.service.url; version=1.0.0 OPS4J Pax Url - wrap: (2) imports: System Bundle (0): javax.net.ssl; version=0.0.0 OPS4J Pax Url - wrap: (2) imports: System Bundle (0): javax.xml.transform; version=0.0.0 OPS4J Pax Url - wrap: (2) imports: System Bundle (0): javax.xml.transform.stream; version=0.0.0 OPS4J Pax Url - wrap: (2) imports: OPS4J Pax Logging - API (3): org.apache.commons.logging; version=1.1.1 OPS4J Pax Url - wrap: (2) imports: OPS4J Pax Logging - API (3): org.apache.commons.logging; version=1.0.4 OPS4J Pax Url - wrap: (2) imports: Apache Felix Configuration Admin Service (5): org.osgi.service.cm; version=1.3.0 OPS4J Pax Logging - API (3) imports: System Bundle (0): org.osgi.framework; version=1.5.0 OPS4J Pax Logging - API (3) imports: System Bundle (0): org.osgi.util.tracker; version=1.4.0 OPS4J Pax Logging - API (3) imports: System Bundle (0): javax.xml.parsers; version=0.0.0 ...
The output syntax is basically:
<importer bundle> imports: <exporter bundle>: <package from exporter bundle>
If -i is not passed in, then the old behavior would hold. I'll attach a patch for this shortly.