Author: buildbot Date: Tue Oct 23 22:35:50 2018 New Revision: 1036503 Log: Staging update by buildbot for felix
Added: websites/staging/felix/trunk/content/documentation/subprojects/apache-felix-dependency-manager/tutorials/sample-code.html Modified: websites/staging/felix/trunk/content/ (props changed) Propchange: websites/staging/felix/trunk/content/ ------------------------------------------------------------------------------ --- cms:source-revision (original) +++ cms:source-revision Tue Oct 23 22:35:50 2018 @@ -1 +1 @@ -1844703 +1844705 Added: websites/staging/felix/trunk/content/documentation/subprojects/apache-felix-dependency-manager/tutorials/sample-code.html ============================================================================== --- websites/staging/felix/trunk/content/documentation/subprojects/apache-felix-dependency-manager/tutorials/sample-code.html (added) +++ websites/staging/felix/trunk/content/documentation/subprojects/apache-felix-dependency-manager/tutorials/sample-code.html Tue Oct 23 22:35:50 2018 @@ -0,0 +1,165 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- + + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE- 2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + <head> + <title>Apache Felix - Dependency Manager - Getting Started</title> + <link rel="icon" href="/res/favicon.ico"> + <link rel="stylesheet" href="/res/site.css" type="text/css" media="all"> + <link rel="stylesheet" href="/res/codehilite.css" type="text/css" media="all"> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> + </head> + <body> + <div class="title"> + <div class="logo"> + <a href="http://felix.apache.org/"> + <img border="0" alt="Apache Felix" src="/res/logo.png"> + </a> + </div> + <div class="header"> + <a href="http://www.apache.org/"> + <img border="0" alt="Apache" src="/res/apache.png"> + </a> + </div> + </div> + + <div class="menu"> + <style type="text/css"> +/* The following code is added by mdx_elementid.py + It was originally lifted from http://subversion.apache.org/style/site.css */ +/* + * Hide class="elementid-permalink", except when an enclosing heading + * has the :hover property. + */ +.headerlink, .elementid-permalink { + 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><a href="/news.html">News</a> <br /> +<a href="/license.html">License</a> <br /> +<a href="/downloads.cgi">Downloads</a> <br /> +<a href="/documentation.html">Documentation</a> <br /> +<a href="/mailinglists.html">Mailing Lists</a> <br /> +<a href="/documentation/community/contributing.html">Contributing</a> <br /> +<a href="/sitemap.html">Site Map</a> <br /> +<a href="http://www.apache.org/">ASF</a> <br /> +<a href="http://www.apache.org/security/">Security</a> <br /> +<a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> <br /> +<a href="http://www.apache.org/foundation/thanks.html">Sponsors</a> </p> +<iframe + src="http://www.apache.org/ads/button.html" + style="border-width:0; float: left" + frameborder="0" + scrolling="no" + width="135" + height="135"> +</iframe> + </div> + + <div class="main"> + <div class="breadcrump" style="font-size: 80%;"> + <a href="/">Home</a> » <a href="/documentation.html">Documentation</a> » <a href="/documentation/subprojects.html">Apache Felix Subproject Documentation</a> » <a href="/documentation/subprojects/apache-felix-dependency-manager.html">Apache Felix Dependency Manager</a> + </div> + + <h1>Dependency Manager - Getting Started</h1> + <style type="text/css"> +/* The following code is added by mdx_elementid.py + It was originally lifted from http://subversion.apache.org/style/site.css */ +/* + * Hide class="elementid-permalink", except when an enclosing heading + * has the :hover property. + */ +.headerlink, .elementid-permalink { + 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> +<h1 id="dependency-manager-sample-code">Dependency Manager sample code<a class="headerlink" href="#dependency-manager-sample-code" title="Permanent link">¶</a></h1> +<p>You can download this <a href="dm.hello.tgz">archive</a> which contains the following directories:</p> +<ul> +<li>felix-framework-6.0.1/ -> this is a felix framework with pre-installed dependency manager r13 artifacts, as well as with +configadmin and metatype bundles (these dependencies are required by dm)</li> +<li>hello.api/ -> provides a sample component using the dependency manager API. </li> +<li>hello.lambda/ -> provides a sample component using the dependency manager Lambda API. </li> +<li>hello.annotations -> provides a sample component using the dependency manager annotations.</li> +</ul> +<p>All samples can be built using either gradle or maven. +To build with gradle, simply type "./gradlew jar", and to build with maven, type "mvn clean install". +If you are using an http proxy, you must set the following environment:</p> +<ul> +<li>for gradle: export GRADLE_OPTS="-Dhttp.proxyHost=<ip> -Dhttp.proxyPort=<port> -Dhttps.proxyHost=<ip> -Dhttps.proxyPort=<port></li> +<li>for maven, you must setup your http proxy in your ~/.m2/settings.xml</li> +</ul> +<p>Once built, the three jars for all hello projects can be put in the felix-framework-6.0.1/bundles/ directory. +Now start felix like this:</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>6<span class="p">.</span>0<span class="p">.</span>1 +<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> +</pre></div> + + +<p>You should then see the following logs displayed to stdout:</p> +<div class="codehilite"><pre><span class="n">HelloComponent</span> <span class="n">started</span> <span class="n">using</span> <span class="n">Dependency</span> <span class="n">Manager</span> <span class="n">API</span> +<span class="n">HelloComponent</span> <span class="n">started</span> <span class="n">using</span> <span class="n">Dependency</span> <span class="n">Manager</span> <span class="n">Lambda</span> +<span class="n">HelloComponent</span> <span class="n">started</span> <span class="n">using</span> <span class="n">Dependency</span> <span class="n">Manager</span> <span class="n">Annotations</span> +</pre></div> + + +<p>You can also play with the dm shell commands. First, type "help dm":</p> +<div class="codehilite"><pre><span class="n">g</span>! <span class="n">help</span> <span class="n">dm</span> + +<span class="n">dm</span> <span class="o">-</span> <span class="n">List</span> <span class="n">dependency</span> <span class="n">manager</span> <span class="n">components</span> + <span class="n">scope</span><span class="p">:</span> <span class="n">dependencymanager</span> + <span class="n">flags</span><span class="p">:</span> + <span class="n">compact</span><span class="p">,</span> <span class="n">cp</span> <span class="n">Displays</span> <span class="n">components</span> <span class="n">using</span> <span class="n">a</span> <span class="n">compact</span> <span class="n">form</span> + <span class="n">nodeps</span><span class="p">,</span> <span class="n">nd</span> <span class="n">Hides</span> <span class="n">component</span> <span class="n">dependencies</span> + <span class="n">notavail</span><span class="p">,</span> <span class="n">na</span> <span class="n">Only</span> <span class="n">displays</span> <span class="n">unavailable</span> <span class="n">components</span> + <span class="n">stats</span><span class="p">,</span> <span class="n">stat</span><span class="p">,</span> <span class="n">st</span> <span class="n">Displays</span> <span class="n">components</span> <span class="n">statistics</span> + <span class="n">wtf</span> <span class="n">Detects</span> <span class="n">where</span> <span class="n">are</span> <span class="n">the</span> <span class="n">root</span> <span class="n">failures</span> + <span class="n">options</span><span class="p">:</span> + <span class="n">bundleIds</span><span class="p">,</span> <span class="n">bid</span><span class="p">,</span> <span class="n">bi</span><span class="p">,</span> <span class="n">b</span> <span class="o"><</span><span class="n">List</span> <span class="n">of</span> <span class="n">bundle</span> <span class="n">ids</span> <span class="n">or</span> <span class="n">bundle</span> <span class="n">symbolic</span> <span class="n">names</span> <span class="n">to</span> <span class="n">display</span> <span class="p">(</span><span class="n">comma</span> <span class="n">separated</span><span class="p">)</span><span class="o">></span> <span class="p">[</span><span class="n">optional</span><span class="p">]</span> + <span class="n">componentIds</span><span class="p">,</span> <span class="n">cid</span><span class="p">,</span> <span class="n">ci</span> <span class="o"><</span><span class="n">List</span> <span class="n">of</span> <span class="n">component</span> <span class="n">identifiers</span> <span class="n">to</span> <span class="n">display</span> <span class="p">(</span><span class="n">comma</span> <span class="n">separated</span><span class="p">)</span><span class="o">></span> <span class="p">[</span><span class="n">optional</span><span class="p">]</span> + <span class="n">components</span><span class="p">,</span> <span class="n">c</span> <span class="o"><</span><span class="n">Regex</span><span class="p">(</span><span class="n">s</span><span class="p">)</span> <span class="n">used</span> <span class="n">to</span> <span class="n">filter</span> <span class="n">on</span> <span class="n">component</span> <span class="n">implementation</span> <span class="n">class</span> <span class="n">names</span> <span class="p">(</span><span class="n">comma</span> <span class="n">separated</span><span class="p">),</span> <span class="n">can</span> <span class="n">be</span> <span class="n">negated</span> <span class="n">using</span> "!" <span class="n">prefix</span><span class="o">></span> <span class="p">[</span><span class="n">optional</span><span class="p">]</span> + <span class="n">services</span><span class="p">,</span> <span class="n">s</span> <span class="o"><</span><span class="n">OSGi</span> <span class="n">filter</span> <span class="n">used</span> <span class="n">to</span> <span class="n">filter</span> <span class="n">some</span> <span class="n">service</span> <span class="k">properties</span><span class="o">></span> <span class="p">[</span><span class="n">optional</span><span class="p">]</span> + <span class="n">top</span> <span class="o"><</span><span class="n">Max</span> <span class="n">number</span> <span class="n">of</span> <span class="n">top</span> <span class="n">components</span> <span class="n">to</span> <span class="n">display</span> <span class="p">(</span>0<span class="p">=</span><span class="n">all</span><span class="p">)</span><span class="o">></span> <span class="n">This</span> <span class="n">command</span> <span class="n">displays</span> <span class="n">components</span> <span class="n">callbacks</span> <span class="p">(</span><span class="n">init</span><span class="o">/</span><span class="n">start</span><span class="p">)</span> <span class="n">times</span><span class="o">></span> <span class="p">[</span><span class="n">optional</span><span class="p">]</span> +</pre></div> + + +<p>Now type "dm" in order to see all dependency manager components:</p> +<div class="codehilite"><pre> <span class="n">g</span>! <span class="n">dm</span> +<span class="p">[</span>1<span class="p">]</span> <span class="n">hello</span><span class="p">.</span><span class="n">annotations</span> + <span class="p">[</span>3<span class="p">]</span> <span class="n">hello</span><span class="p">.</span><span class="n">HelloComponent</span> <span class="n">registered</span> +<span class="p">[</span>2<span class="p">]</span> <span class="n">hello</span><span class="p">.</span><span class="n">api</span> + <span class="p">[</span>0<span class="p">]</span> <span class="n">hello</span><span class="p">.</span><span class="n">HelloComponent</span> <span class="n">registered</span> +<span class="p">[</span>3<span class="p">]</span> <span class="n">hello</span><span class="p">.</span><span class="n">lambda</span> + <span class="p">[</span>1<span class="p">]</span> <span class="n">hello</span><span class="p">.</span><span class="n">HelloComponent</span> <span class="n">registered</span> +<span class="p">[</span>10<span class="p">]</span> <span class="n">org</span><span class="p">.</span><span class="n">apache</span><span class="p">.</span><span class="n">felix</span><span class="p">.</span><span class="n">dependencymanager</span><span class="p">.</span><span class="n">runtime</span> + <span class="p">[</span>2<span class="p">]</span> <span class="n">org</span><span class="p">.</span><span class="n">apache</span><span class="p">.</span><span class="n">felix</span><span class="p">.</span><span class="n">dm</span><span class="p">.</span><span class="n">runtime</span><span class="p">.</span><span class="n">DependencyManagerRuntime</span> <span class="n">registered</span> + <span class="n">active</span> <span class="p">(</span><span class="n">DependencyManager</span><span class="o">-</span><span class="n">Component</span><span class="p">=</span><span class="o">*</span><span class="p">)</span> <span class="n">bundle</span> <span class="n">optional</span> <span class="n">available</span> + <span class="n">org</span><span class="p">.</span><span class="n">osgi</span><span class="p">.</span><span class="n">service</span><span class="p">.</span><span class="n">packageadmin</span><span class="p">.</span><span class="n">PackageAdmin</span> <span class="n">service</span> <span class="n">required</span> <span class="n">available</span> + <span class="n">org</span><span class="p">.</span><span class="n">osgi</span><span class="p">.</span><span class="n">service</span><span class="p">.</span><span class="nb">log</span><span class="p">.</span><span class="n">LogService</span> <span class="n">service</span> <span class="n">optional</span> <span class="n">unavailable</span> +</pre></div> + <div class="timestamp" style="margin-top: 30px; font-size: 80%; text-align: right;"> + Rev. 1844705 by pderop on Tue, 23 Oct 2018 22:35:11 +0000 + </div> + <div class="trademarkFooter"> + Apache Felix, Felix, Apache, the Apache feather logo, and the Apache Felix project + logo are trademarks of The Apache Software Foundation. All other marks mentioned + may be trademarks or registered trademarks of their respective owners. + </div> + </div> + </body> +</html>