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/)
