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

Reply via email to