sounds good to me jb so go ahead :) regards, Achim
2016-05-12 8:20 GMT+02:00 Sobkowiak Krzysztof <krzys.sobkow...@gmail.com>: > It's nice the boot theme goes forward. +1 for all points. Especially > waiting for the new dev guide. I think the guide should provide the both > ways - the boot one and the non-boot way. > > Regards > Krzysztof > > On 11.05.2016 17:04, Jean-Baptiste Onofré wrote: > > Hi all, > > > > Karaf Boot code is now on the Apache Git: > > > > https://git.apache.org/karaf-boot.git/ > > > > with the github mirror: > > > > https://github.com/apache/karaf-boot > > > > I created the component in Jira. > > > > I will update the website with karaf-boot description. > > > > I propose the following roadmap for karaf-boot, heading to the first 1.0 > release: > > > > 1. Bootstrapping > > ---------------- > > As a reminder, karaf-boot has two goals: > > - simplify the way to create module and application for developers > > - simplify the bootstrapping as a "standalone" application (leveraging > the container feature) > > > > Currently, we mostly address the first point. Our starters provide > annotations allowing to easily create application. The > karaf-boot-maven-plugin "calls" the annotation processor in the starters, > and other plugins behind the hood to easily generate artifacts. > > > > Now, we have to address the second point: bootstrapping. I started a PoC > on that. > > I created new starters for bootstrapping: > > - karaf-boot-starter-feature creates a feature using the dependencies > and project artifact > > - karaf-boot-starter-distribution creates both zip and tar.gz Karaf > custom distribution embedding the current project artifact and dependencies > > - karaf-boot-starter-distribution-rjar is similar to distribution, but > it's a runnable jar (using a custom Main) > > - karaf-boot-starter-docker creates a docker image embedding the custom > distribution > > > > Now, the karaf-boot-maven-plugin is checking the dependencies to find > one of these bootstrap starter, and react accordingly. > > However, most of the logic is in the plugin, leveraging > karaf-maven-plugin (assembly and archive goals for instance). > > If this approach works (and is easy), I don't think it's the most > elegant way. > > I think we should create a @bootstrap annotation on a Runnable class in > the bootstrap starters. The annotated class is responsible of the bootstrap > artifact creation. An abstract bootstrap starter provide an annotation > processor that look for @bootstrap annotation and run the class in a > thread. The karaf-boot-maven-plugin just delegates the bootstrapping to the > starter. > > > > WDYT ? > > > > 2. New starters > > --------------- > > We have to extend the coverage of the starter to address more use cases. > I'm thinking about starters for test (both utest and itest leveraging > pax-exam), for jaas, for management/MBean, for eventadmin, for decanter, > for camel, etc. > > > > 3. New samples > > -------------- > > Related to 2, each new starter should have a corresponding sample. The > samples are really important as it's where the users start. > > > > We should also provide kind of full application use case, multi-module. > I started this showing how to use different starters in different modules > (like a Logo construction set). > > > > 4. Documentation and Karaf Dev Guide > > ------------------------------------ > > The "new" Karaf Dev guide will be based mostly on karaf-boot. A second > section ("advanced") can still address non karaf-boot cases. > > > > Thoughts ? > > > > Regards > > JB > > -- > Krzysztof Sobkowiak > > JEE & OSS Architect, Integration Architect > Apache Software Foundation Member (http://apache.org/) > Apache ServiceMix Committer & PMC Member (http://servicemix.apache.org/) > Senior Solution Architect @ Capgemini SSC ( > http://www.capgeminisoftware.pl/) > -- Apache Member Apache Karaf <http://karaf.apache.org/> Committer & PMC OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/> Committer & Project Lead blog <http://notizblog.nierbeck.de/> Co-Author of Apache Karaf Cookbook <http://bit.ly/1ps9rkS> Software Architect / Project Manager / Scrum Master