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
