Apache Felix Gogo
Apache Felix Gogo is a subproject of Apache Felix aiming at implementing the OSGi RFC-147.
The code has been donated by Peter Kriens and further developed by the Felix team.
The RFC-147 draft is not yet publicly available. It used to be called RFC-132, which can be found about 40% into http://www.osgi.org/download/osgi-4.2-early-draft.pdf
Configuring Felix to use Gogo
Gogo consists of two main bundles:
- runtime - this implements the RFC-147 Command service and shell interpreter.
- console - this is a simple tty console that reads terminal input and submits it to the RFC-147 Command service.
This is similar to the relationship between the existing Felix Shell and Shell TUI bundles.
To use Gogo, remove the Shell TUI bundle and add the Gogo runtime and console bundles to the bundle directory of the binary Felix distribution. Leave the existing Felix Shell bundle, as Gogo can execute existing Felix commands as well as new RFC-147 commands:
$ cd felix-framework-2.0.1 $ ls bundle org.apache.felix.bundlerepository-1.4.2.jar org.apache.felix.gogo.console-0.2.2.jar org.apache.felix.gogo.runtime-0.2.2.jar org.apache.felix.shell-1.4.1.jar $ java -jar bin/felix.jar Welcome to Felix ================ $ ps START LEVEL 1 ID State Level Name [ 0] [Active ] [ 0] System Bundle (2.0.1) [ 1] [Active ] [ 1] Apache Felix Bundle Repository (1.4.2) [ 2] [Active ] [ 1] Apache Felix Gogo Shell Console (0.2.2) [ 3] [Active ] [ 1] Apache Felix Gogo Shell Runtime (0.2.2) [ 4] [Active ] [ 1] Apache Felix Shell Service (1.4.1)