h1. 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.
|
Apache Felix Gogo is a subproject of Apache Felix implementing the OSGi RFC 147, which describes a standard shell for OSGi-based environments. See [RFC 147 Overview] for more information.
|
|
See [RFC 147 Overview] for more information.
|
h2. Using Gogo with the Felix Framework
|
|
h2. Configuring Felix to use Gogo
|
The Gogo subproject consists of three bundles:
|
|
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.
|
# *runtime* \- implements the core command processing functionality. # *shell* \- provides a simple textual user interface to interact with the command processor. # *command* \- implements a set of basic commands.
|
|
This is similar to the relationship between the existing Felix Shell and Shell TUI bundles.
|
As of the Apache Felix Framework 3.0.0, Gogo is included as the default shell in the framework distribution. To use it, you just start the framework like normal:
|
|
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:
|
{noformat}
|
$ cd felix-framework-2.0.1 felix-framework-3.0.0
|
$ ls bundle
|
$ java -jar bin/felix.jar
|
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
|
Welcome to Apache Felix Gogo
|
|
$ java -jar bin/felix.jar Welcome to Felix ================ $ ps
|
g! lb
|
START LEVEL 1
|
ID State Level Name
|
ID|State |Level|Name
|
[ 0|Active 0] [Active | ] [ 0] System 0|System Bundle (2.0.1) (2.1.0.SNAPSHOT)
|
[ 1|Active 1] [Active | ] [ 1] Apache 1|Apache Felix Bundle Repository (1.46.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)
|
2|Active | 1|Apache Felix Gogo Command (0.5.0.SNAPSHOT) 3|Active | 1|Apache Felix Gogo Runtime (0.5.0.SNAPSHOT) 4|Active | 1|Apache Felix Gogo Shell (0.5.0.SNAPSHOT) g!
|
{noformat}
|
Gogo shell integration in the framework distribution is also discussed in the [framework usage document|Apache Felix Framework Usage Documentation]
|