Hi Charles may have pointed out about the naming of the features file.
Should it be a file in META-INF which has this long name with all the dots? Or should it be a features.xml file in META-INF/org/apache/... eg deep down in a sub dir On Fri, Jan 18, 2013 at 3:41 PM, Claus Ibsen <[email protected]> wrote: > Hi > > > > On Fri, Jan 18, 2013 at 2:30 PM, Guillaume Nodet <[email protected]> wrote: >> Are you talking about the features deployer ? >> Karaf has it already. You can use osgi:install feature:mvn:xxx or drop the >> features file in the deploy directory, or deploy any bundle which has a >> META-INF/org.apache.karaf.shell.features/*.xml file inside. >> > > Thanks I did not know about that. > > I looked in the docs at: > http://karaf.apache.org/manual/latest-2.3.x/users-guide/provisioning.html > > And didn't find any reference about that META-INF dir. > > So I tried this on Camel trunk. But didn't have the luck yet. > Notice how the bundle get installed with 2.11-SNAPSHOT as its name. I > guess maybe I do the install command wrong. > > > > davsclaus:/opt/apache-karaf-2.3.0$ bin/karaf > __ __ ____ > / //_/____ __________ _/ __/ > / ,< / __ `/ ___/ __ `/ /_ > / /| |/ /_/ / / / /_/ / __/ > /_/ |_|\__,_/_/ \__,_/_/ > > Apache Karaf (2.3.0) > > Hit '<tab>' for a list of available commands > and '[cmd] --help' for help on a specific command. > Hit '<ctrl-d>' or 'osgi:shutdown' to shutdown Karaf. > > karaf@root> features: > features:addurl features:chooseurl > features:info features:install > features:list features:listrepositories > features:listurl features:listversions > features:refreshurl features:removerepository > features:removeurl features:uninstall > karaf@root> features:chooseurl camel 2.11-SNAPSHOT > adding feature url > mvn:org.apache.camel.karaf/apache-camel/2.11-SNAPSHOT/xml/features > karaf@root> osgi:install > feature:mvn:org.apache.camel/camel-example-sql/2.11-SNAPSHOT > Bundle ID: 54 > karaf@root> la > START LEVEL 100 , List Threshold: 0 > ID State Blueprint Level Name > [ 0] [Active ] [ ] [ 0] System Bundle (4.0.3) > [ 1] [Active ] [ ] [ 5] OPS4J Pax Url - mvn: (1.3.5) > [ 2] [Active ] [ ] [ 5] OPS4J Pax Url - wrap: (1.3.5) > [ 3] [Active ] [ ] [ 8] OPS4J Pax Logging - Service > (1.7.0) > [ 4] [Active ] [ ] [ 8] OPS4J Pax Logging - API (1.7.0) > [ 5] [Active ] [ ] [ 10] Apache Felix Configuration > Admin Service (1.4.0) > [ 6] [Active ] [ ] [ 11] Apache Felix File Install (3.2.6) > [ 7] [Active ] [Created ] [ 20] Apache Aries Blueprint Core > (1.0.1) > [ 8] [Active ] [ ] [ 20] Apache Aries Util (1.0.0) > [ 9] [Active ] [ ] [ 20] Apache Aries Proxy API (1.0.0) > [ 10] [Active ] [ ] [ 20] ASM all classes (4.0) > [ 11] [Active ] [ ] [ 20] Apache Aries Blueprint API (1.0.0) > [ 12] [Active ] [ ] [ 20] Apache Aries Proxy Service (1.0.0) > [ 13] [Active ] [Created ] [ 20] Apache Aries Blueprint CM (1.0.0) > [ 14] [Active ] [Created ] [ 25] Apache Karaf :: Shell :: > Console (2.3.0) > [ 15] [Active ] [Created ] [ 28] Apache Karaf :: Deployer > :: Blueprint (2.3.0) > [ 16] [Active ] [Created ] [ 28] Apache Karaf :: Deployer > :: Spring (2.3.0) > [ 17] [Active ] [Created ] [ 30] Apache Karaf :: Shell :: SSH > (2.3.0) > [ 18] [Active ] [Created ] [ 30] Apache Karaf :: Management (2.3.0) > [ 19] [Active ] [Created ] [ 30] Apache Karaf :: Shell :: > Various Commands (2.3.0) > [ 20] [Active ] [Created ] [ 30] Apache Karaf :: Features > :: Core (2.3.0) > [ 21] [Active ] [Created ] [ 30] Apache Karaf :: Shell :: > Log Commands (2.3.0) > [ 22] [Active ] [Created ] [ 30] Apache Karaf :: Features > :: Command (2.3.0) > [ 23] [Active ] [Created ] [ 30] Apache Karaf :: Diagnostic > :: Management (2.3.0) > [ 24] [Active ] [ ] [ 30] Apache Mina SSHD :: Core (0.8.0) > [ 25] [Active ] [Created ] [ 30] Apache Karaf :: Deployer > :: Wrap Non OSGi Jar (2.3.0) > [ 26] [Active ] [ ] [ 30] Apache MINA Core (2.0.7) > [ 27] [Active ] [Created ] [ 30] Apache Karaf :: Admin :: > Command (2.3.0) > [ 28] [Active ] [Created ] [ 30] Apache Karaf :: Diagnostic > :: Command (2.3.0) > [ 29] [Active ] [ ] [ 30] Apache Aries JMX Core (1.0.1) > [ 30] [Active ] [ ] [ 30] Apache Karaf :: Diagnostic > :: Core (2.3.0) > [ 31] [Active ] [Created ] [ 30] Apache Karaf :: Admin :: > Management (2.3.0) > [ 32] [Active ] [ ] [ 30] Apache Aries JMX API (1.0.0) > [ 33] [Active ] [Created ] [ 30] Apache Karaf :: Diagnostic > :: Common (2.3.0) > [ 34] [Active ] [Created ] [ 30] Apache Karaf :: Shell :: > Development Commands (2.3.0) > [ 35] [Active ] [Created ] [ 30] Apache Karaf :: Deployer > :: Features (2.3.0) > [ 36] [Active ] [ ] [ 30] Apache Aries JMX Blueprint > API (1.0.0) > [ 37] [Active ] [Created ] [ 30] Apache Karaf :: Jaas :: > Command (2.3.0) > [ 38] [Active ] [Created ] [ 30] Apache Karaf :: JAAS :: > Modules (2.3.0) > [ 39] [Active ] [Created ] [ 30] Apache Karaf :: Shell :: > OSGi Commands (2.3.0) > [ 40] [Active ] [Created ] [ 30] Apache Karaf :: Features > :: Management (2.3.0) > [ 41] [Active ] [Created ] [ 30] Apache Karaf :: Shell :: > PackageAdmin Commands (2.3.0) > [ 42] [Active ] [ ] [ 30] Apache Aries JMX Blueprint > Core (1.0.1) > [ 43] [Active ] [Created ] [ 30] Apache Karaf :: Admin :: > Core (2.3.0) > [ 44] [Active ] [Created ] [ 30] Apache Karaf :: Deployer > :: Karaf Archive (.kar) (2.3.0) > [ 45] [Active ] [Created ] [ 30] Apache Karaf :: JAAS :: > Config (2.3.0) > [ 46] [Active ] [Created ] [ 30] Apache Karaf :: Shell :: > ConfigAdmin Commands (2.3.0) > [ 47] [Active ] [Created ] [ 30] Apache Karaf :: Management > :: MBeans :: System (2.3.0) > [ 48] [Active ] [Created ] [ 30] Apache Karaf :: Management > :: MBeans :: Bundles (2.3.0) > [ 49] [Active ] [Created ] [ 30] Apache Karaf :: Management > :: MBeans :: Services (2.3.0) > [ 50] [Active ] [Created ] [ 30] Apache Karaf :: Management > :: MBeans :: Config (2.3.0) > [ 51] [Active ] [Created ] [ 30] Apache Karaf :: Management > :: MBeans :: Log (2.3.0) > [ 52] [Active ] [Created ] [ 30] Apache Karaf :: Management > :: MBeans :: Packages (2.3.0) > [ 53] [Active ] [Created ] [ 30] Apache Karaf :: Management > :: MBeans :: Dev (2.3.0) > [ 54] [Installed ] [ ] [ 80] 2.11-SNAPSHOT (0.0.0) > > > And the example contains the features.xml in that directory. > > > davsclaus:~/workspace/camel/examples/camel-example-sql$ tar -tf > target/camel-example-sql-2.11-SNAPSHOT.jar > META-INF/MANIFEST.MF > META-INF/ > META-INF/DEPENDENCIES > META-INF/LICENSE > META-INF/LICENSE.txt > META-INF/NOTICE > META-INF/NOTICE.txt > META-INF/maven/ > META-INF/maven/org.apache.camel/ > META-INF/maven/org.apache.camel/camel-example-sql/ > META-INF/maven/org.apache.camel/camel-example-sql/pom.properties > META-INF/maven/org.apache.camel/camel-example-sql/pom.xml > META-INF/org/ > META-INF/org/apache/ > META-INF/org/apache/karaf/ > META-INF/org/apache/karaf/shell/ > META-INF/org/apache/karaf/shell/features/ > META-INF/org/apache/karaf/shell/features/features.xml > META-INF/spring/ > META-INF/spring/camel-context.xml > log4j.properties > org/ > org/apache/ > org/apache/camel/ > org/apache/camel/example/ > org/apache/camel/example/sql/ > org/apache/camel/example/sql/DatabaseBean.class > org/apache/camel/example/sql/OrderBean.class > sql.properties > > > >> >> On Fri, Jan 18, 2013 at 12:46 PM, Achim Nierbeck >> <[email protected]>wrote: >> >>> Hi Clause, >>> >>> thanks for summing up what we talked of on IRC :) >>> >>> I think it could be even easier. >>> We could add a bundle tracker for features.xml files that will install >>> those with the features service. >>> For this we don't even need a special syntax of the osgi:install url >>> (and actually if you want a url-handler to take control of it you need >>> osgi:install features:mvn:xxxx) >>> >>> Something like the web-extender of pax-web could be done, and should be >>> quite easy. >>> >>> regards, Achim >>> >>> >>> 2013/1/18 Claus Ibsen <[email protected]> >>> >>> > Hi >>> > >>> > So when people get started with Apache Karaf and Camel (eg not going >>> > down the full ESB with SMX) then I would like to make that much >>> > easier. >>> > For example to tell them how easy you can install some of the examples >>> > we provided with Apache Camel >>> > http://camel.apache.org/examples >>> > >>> > Many of these examples have been prepared for OSGi and have embedded >>> > features.xml file, so in theory they are ready to install. >>> > >>> > Though I could not find a way to install the example in Karaf without >>> pain. >>> > >>> > eg I want to do >>> > >>> > cd apache-karaf-2.3.0 >>> > bin/karaf >>> > >>> > features:choose camel 2.11.0 >>> > >>> > // and how to install my example, such as camel-example-sql >>> > ????? >>> > >>> > >>> > The camel features does not contain examples. >>> > And frankly I would like Karaf to be able to install a bundle but use >>> > the features.xml file that is included in the JAR in the root >>> > classpath. (Or some other directory if Karaf has a standard for that). >>> > >>> > Maybe I can type, eg notice the :feature in the command >>> > >>> > osgi:install mvn:feature:org.apache/camel/camel-example-sql/2.11.0 >>> > >>> > Or some other way to install it. >>> > >>> > Then people just need to download Karaf, and they can install Camel >>> > and the examples from Maven. >>> > >>> > Now I want them to be able to do this for their custom application as >>> > well, so they can do >>> > >>> > osgi:install file:feature:/dev/myproject/target/myapp-1.0.jar >>> > >>> > Or something like that. >>> > >>> > >>> > So how can we make it easier for people to install and try Camel >>> > examples in vanilla Apache Karaf containers? >>> > And how can we make it easier for people to install their own >>> > applications in vanilla Apache Karaf containers, >>> > which uses features.xml file to declare their dependencies. >>> > >>> > And NO they do NOT want to use KAR files or some Karaf specific. Their >>> > applications should be plain JARs >>> > that can also run outside Karaf as well. >>> > >>> > >>> > >>> > >>> > >>> > >>> > >>> > -- >>> > Claus Ibsen >>> > ----------------- >>> > Red Hat, Inc. >>> > FuseSource is now part of Red Hat >>> > Email: [email protected] >>> > Web: http://fusesource.com >>> > Twitter: davsclaus >>> > Blog: http://davsclaus.com >>> > Author of Camel in Action: http://www.manning.com/ibsen >>> > >>> >>> >>> >>> -- >>> >>> Apache Karaf <http://karaf.apache.org/> Committer & PMC >>> OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/> Committer & >>> Project Lead >>> OPS4J Pax for Vaadin <http://team.ops4j.org/wiki/display/PAXVAADIN/Home> >>> Commiter & Project Lead >>> blog <http://notizblog.nierbeck.de/> >>> >> >> >> >> -- >> ------------------------ >> Guillaume Nodet >> ------------------------ >> Blog: http://gnodet.blogspot.com/ >> ------------------------ >> FuseSource, Integration everywhere >> http://fusesource.com > > > > -- > Claus Ibsen > ----------------- > Red Hat, Inc. > FuseSource is now part of Red Hat > Email: [email protected] > Web: http://fusesource.com > Twitter: davsclaus > Blog: http://davsclaus.com > Author of Camel in Action: http://www.manning.com/ibsen -- Claus Ibsen ----------------- Red Hat, Inc. FuseSource is now part of Red Hat Email: [email protected] Web: http://fusesource.com Twitter: davsclaus Blog: http://davsclaus.com Author of Camel in Action: http://www.manning.com/ibsen
