Dependency Graph in OSGi
EPL-2.0 License
This is an easy to use tool to visualize OSGi Dependencies in a graph. In addition, this tool also supports detection of cyclic dependencies in the plotted graph. The primary goal is to minimize the effort in analyzing big software projects based on OSGi.
Java 8+
Want to contribute? Great! Check out Contribution Guide
Import as Maven Project
Import the project as an Existing Maven Project
(File -> Import -> Maven -> Existing Maven Projects
)
mvn clean package
in com.amitinside.dependency.graph.osgi
dependency.graph.osgi-0.0.1-SNAPSHOT-jar-with-dependencies.jar
This project is licensed under EPL-2.0
To use this application, you need an OBR (OSGi Bundle Repository
) Index XML File.
java -jar biz.aQute.bnd.jar index */target/*.jar
target
directory in the respective projectsjava -jar biz.aQute.bnd.jar index *.jar
index.xml
in the respective directories where the command is executedbundles.txt
(or give it a name of your choice) with bundle symbolic names in separate lines. You can also use wildcards. For example, com.google.*
will consider all the bundles whose symbolic names start with com.google.
Apart from it, you can also use negations. For example, !org.apache*
would remove all the bundles from the Graph whose symbolic names start with org.apache
.Help Command:
usage: Dependency Graph in OSGi - Help
-? Show Help
-bundles <arg> Bundle List File Location
-cycle Check for Cycle Existence
-debug Turn on Debug Mode
-edge Show Edge Labels
-help Show Help
-ns <arg> Namespace Type to Plot [ALL, PACKAGE, SERVICE,
IDENTITY, EE, NATIVE, CONTENT, IMPLEMENTATION,
CONTRACT, BUNDLE, HOST, CUSTOM] (Default ALL)
-ns_custom <arg> Custom Namespace (Needs to be set if ns option is set
to CUSTOM
-obr <arg> OBR Index File Location
java -jar dependency.graph.osgi-0.0.1-SNAPSHOT-jar-with-dependencies.jar -obr index.xml -bundles bundles.txt -edge
- Plot the matched bundles from bundles.txt using the specified OBR index.xml with edge labels