You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by bu...@apache.org on 2017/03/24 08:32:44 UTC

svn commit: r1008897 - in /websites/staging/felix/trunk/content: ./ documentation/subprojects/apache-felix-gogo.html

Author: buildbot
Date: Fri Mar 24 08:32:44 2017
New Revision: 1008897

Log:
Staging update by buildbot for felix

Modified:
    websites/staging/felix/trunk/content/   (props changed)
    websites/staging/felix/trunk/content/documentation/subprojects/apache-felix-gogo.html

Propchange: websites/staging/felix/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Fri Mar 24 08:32:44 2017
@@ -1 +1 @@
-1786937
+1788377

Modified: websites/staging/felix/trunk/content/documentation/subprojects/apache-felix-gogo.html
==============================================================================
--- websites/staging/felix/trunk/content/documentation/subprojects/apache-felix-gogo.html (original)
+++ websites/staging/felix/trunk/content/documentation/subprojects/apache-felix-gogo.html Fri Mar 24 08:32:44 2017
@@ -88,35 +88,183 @@ h2:hover > .headerlink, h3:hover > .head
   visibility: hidden;
 }
 h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style>
-<p>Apache Felix Gogo is a subproject of Apache Felix implementing the OSGi RFC 147, which describes a standard shell for OSGi-based environments. See <a href="/documentation/subprojects/apache-felix-gogo/rfc-147-overview.html">RFC 147 Overview</a> for more information.</p>
-<h2 id="using-gogo-with-the-felix-framework">Using Gogo with the Felix Framework<a class="headerlink" href="#using-gogo-with-the-felix-framework" title="Permanent link">&para;</a></h2>
+<p>Apache Felix Gogo is a subproject of Apache Felix implementing a command line shell for OSGi. It is used in many OSGi runtimes and servers (Felix distro, Eclipse IDE, Apache Karaf, ...).</p>
+<h2 id="overview">Overview<a class="headerlink" href="#overview" title="Permanent link">&para;</a></h2>
 <p>The Gogo subproject consists of three bundles:</p>
-<ol>
+<ul>
 <li><em>runtime</em> - implements the core command processing functionality.</li>
-<li><em>shell</em> - provides a simple textual user interface to interact with the command processor.</li>
 <li><em>command</em> - implements a set of basic commands.</li>
-</ol>
-<p>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:</p>
-<div class="codehilite"><pre>$ <span class="n">cd</span> <span class="n">felix</span><span class="o">-</span><span class="n">framework</span><span class="o">-</span>3<span class="p">.</span>0<span class="p">.</span>0
-$ <span class="n">java</span> <span class="o">-</span><span class="n">jar</span> <span class="n">bin</span><span class="o">/</span><span class="n">felix</span><span class="p">.</span><span class="n">jar</span>
+<li><em>jline</em> - Advanced textual user interface with features like completion and colors</li>
+<li><em>shell</em> - provides a simple textual user interface to interact with the command processor.</li>
+</ul>
+<h2 id="working-with-the-sources">Working with the sources<a class="headerlink" href="#working-with-the-sources" title="Permanent link">&para;</a></h2>
+<p>You can find the <a href="https://svn.apache.org/repos/asf/felix/trunk/gogo/">sources on apache svn</a> there is also <a href="https://github.com/apache/felix/tree/trunk/gogo">a mirror at github</a>.</p>
+<p>Clone
+    git clone https://github.com/apache/felix</p>
+<p>Build
+    cd gogo
+    mvn clean install</p>
+<h2 id="using-gogo-with-the-felix-framework">Using Gogo with the Felix Framework<a class="headerlink" href="#using-gogo-with-the-felix-framework" title="Permanent link">&para;</a></h2>
+<p>Gogo is included as the default shell in the felix framework distribution. To use it, you just start the framework like normal:</p>
+<div class="codehilite"><pre>$ <span class="n">java</span> <span class="o">-</span><span class="n">jar</span> <span class="n">bin</span><span class="o">/</span><span class="n">felix</span><span class="p">.</span><span class="n">jar</span>
 <span class="n">_______________</span>
 <span class="n">Welcome</span> <span class="n">to</span> <span class="n">Apache</span> <span class="n">Felix</span> <span class="n">Gogo</span>
 
-<span class="n">g</span>! <span class="n">lb</span>
-<span class="n">START</span> <span class="n">LEVEL</span> 1
-   <span class="n">ID</span><span class="o">|</span><span class="n">State</span>      <span class="o">|</span><span class="n">Level</span><span class="o">|</span><span class="n">Name</span>
-    0<span class="o">|</span><span class="n">Active</span>     <span class="o">|</span>    0<span class="o">|</span><span class="n">System</span> <span class="n">Bundle</span> <span class="p">(</span>3<span class="p">.</span>0<span class="p">.</span>0<span class="p">)</span>
-    1<span class="o">|</span><span class="n">Active</span>     <span class="o">|</span>    1<span class="o">|</span><span class="n">Apache</span> <span class="n">Felix</span> <span class="n">Bundle</span> <span class="n">Repository</span> <span class="p">(</span>1<span class="p">.</span>6<span class="p">.</span>2<span class="p">)</span>
-    2<span class="o">|</span><span class="n">Active</span>     <span class="o">|</span>    1<span class="o">|</span><span class="n">Apache</span> <span class="n">Felix</span> <span class="n">Gogo</span> <span class="n">Command</span> <span class="p">(</span>0<span class="p">.</span>6<span class="p">.</span>0<span class="p">)</span>
-    3<span class="o">|</span><span class="n">Active</span>     <span class="o">|</span>    1<span class="o">|</span><span class="n">Apache</span> <span class="n">Felix</span> <span class="n">Gogo</span> <span class="n">Runtime</span> <span class="p">(</span>0<span class="p">.</span>6<span class="p">.</span>0<span class="p">)</span>
-    4<span class="o">|</span><span class="n">Active</span>     <span class="o">|</span>    1<span class="o">|</span><span class="n">Apache</span> <span class="n">Felix</span> <span class="n">Gogo</span> <span class="n">Shell</span> <span class="p">(</span>0<span class="p">.</span>6<span class="p">.</span>0<span class="p">)</span>
 <span class="n">g</span>!
 </pre></div>
 
 
 <p>Gogo shell integration in the framework distribution is also discussed in the <a href="/documentation/subprojects/apache-felix-framework/apache-felix-framework-usage-documentation.html">framework usage document</a></p>
+<h2 id="built-in-shell-features">Built in shell features<a class="headerlink" href="#built-in-shell-features" title="Permanent link">&para;</a></h2>
+<ul>
+<li>TAB </li>
+</ul>
+<p>Completion for commands and parameters</p>
+<ul>
+<li>Cursor left, Cursor right</li>
+</ul>
+<p>Edit inside current line</p>
+<ul>
+<li>Cursor up, Cursor down</li>
+</ul>
+<p>Scroll through history</p>
+<ul>
+<li>Ctrl-C</li>
+</ul>
+<p>Interrupt execution of current command</p>
+<ul>
+<li>Ctrl-D</li>
+</ul>
+<p>Exit the shell</p>
+<ul>
+<li>Ctrl-R</li>
+</ul>
+<p>Search in history</p>
+<ul>
+<li><em>[command1]</em> | <em>[command2]</em></li>
+</ul>
+<p>Pipe output of command1 as input of command2</p>
+<h2 id="basic-commands">Basic commands<a class="headerlink" href="#basic-commands" title="Permanent link">&para;</a></h2>
+<ul>
+<li>cat <em>[URI]</em></li>
+</ul>
+<p>Read URI and print to stdout</p>
+<ul>
+<li>cd <em>[path]</em></li>
+</ul>
+<p>Change working directory</p>
+<ul>
+<li>diag <em>[bundleid]</em></li>
+</ul>
+<p>Shows why a bundle is not working</p>
+<ul>
+<li>help</li>
+</ul>
+<p>Show the available commands</p>
+<ul>
+<li>help <em>[command]</em></li>
+</ul>
+<p>Shows detailed help about a command</p>
+<ul>
+<li>head <em>[bundleid]</em></li>
+</ul>
+<p>Print bundle headers</p>
+<ul>
+<li>history</li>
+</ul>
+<p>Shows the history of executed commands</p>
+<ul>
+<li>inspect capability service <em>[bundleid]</em></li>
+</ul>
+<p>Lists all services provided by a bundle</p>
+<ul>
+<li>inspect requirement service <em>[bundleid]</em></li>
+</ul>
+<p>Lists all services required by a bundle</p>
+<ul>
+<li>install <em>[URI]</em></li>
+</ul>
+<p>Install a bundle from file or URI</p>
+<ul>
+<li>lb</li>
+</ul>
+<p>List bundles</p>
+<ul>
+<li><em>[command1]</em> | less</li>
+</ul>
+<p>Show output of command1 in a paged view</p>
+<ul>
+<li>less <em>[file]</em></li>
+</ul>
+<p>Show file in a paged view</p>
+<ul>
+<li>ls <em>[directory]</em></li>
+</ul>
+<p>Show directory contents</p>
+<ul>
+<li>start <em>[bundleid]</em></li>
+</ul>
+<p>Start the given bundle</p>
+<ul>
+<li>stop <em>[bundleid]</em></li>
+</ul>
+<p>Stop the given bundle</p>
+<ul>
+<li>tac</li>
+</ul>
+<p>Capture stdin as string and optionally write to file</p>
+<ul>
+<li>tail <em>[file]</em></li>
+</ul>
+<p>Shows the last lines of a file. Using -f allows to follow the file changes.</p>
+<ul>
+<li>uninstall <em>[bundleid]</em></li>
+</ul>
+<p>Uninstall given bundle</p>
+<h2 id="changing-shell-colors">Changing shell colors<a class="headerlink" href="#changing-shell-colors" title="Permanent link">&para;</a></h2>
+<p>The colors of the command shell cane be adjusted by setting a property in an init script or directly on the shell.</p>
+<p>HIGHLIGHTER_COLORS = "rs=35:st=32:nu=32:co=32:va=36:vn=36:fu=94:bf=91:re=90"</p>
+<p>The property above forms a map from highlight type to ANSI color code.</p>
+<p>These are the highlight types</p>
+<ul>
+<li>rs : Reserved words</li>
+<li>st : Strings</li>
+<li>nu : Numbers</li>
+<li>co : Constants</li>
+<li>va : Variable</li>
+<li>vn : Variable name</li>
+<li>fu : Function</li>
+<li>bf : Bad function</li>
+<li>un : Unknown</li>
+<li>re : Repair</li>
+</ul>
+<p>The colors of the ls output can be adjusted using</p>
+<p>LS_COLORS = "dr=1;91:ex=1;92:sl=1;96:ot=34;43"</p>
+<p>The color types are these:</p>
+<ul>
+<li>dr : Directory</li>
+<li>ex : Executable</li>
+<li>sl : Symbolic Link</li>
+<li>ot : Other</li>
+</ul>
+<p>Last but not least grep can also be adjusted</p>
+<p>GREP_COLORS = "mt=1;31:fn=35:ln=32:se=36"</p>
+<p>Types:</p>
+<ul>
+<li>mt : Hits in the text (sets both ms and mc)</li>
+<li>ms : Matching text in selected line</li>
+<li>mc : Matching text in context line</li>
+<li>fn : File names</li>
+<li>ln : Line numbers</li>
+<li>se : Selected lines</li>
+<li>sl : Whole selected line</li>
+<li>cx : Context lines</li>
+<li>rv : If set and match is inverted, the meaning of sl and cx is inverted</li>
+</ul>
+<h2 id="origin-in-rfc-147">Origin in RFC 147<a class="headerlink" href="#origin-in-rfc-147" title="Permanent link">&para;</a></h2>
+<p>Gogo is based on the OSGi RFC 147, which describes a standard shell for OSGi-based environments. See <a href="/documentation/subprojects/apache-felix-gogo/rfc-147-overview.html">RFC 147 Overview</a> for more information. Unfortunately this RFC was never made a standard.</p>
       <div class="timestamp" style="margin-top: 30px; font-size: 80%; text-align: right;">
-        Rev. 1712598 by cziegeler on Wed, 4 Nov 2015 17:48:20 +0000
+        Rev. 1788377 by gnodet on Fri, 24 Mar 2017 08:32:01 +0000
       </div>
       <div class="trademarkFooter"> 
         Apache Felix, Felix, Apache, the Apache feather logo, and the Apache Felix project