I'd imagine the equivalent Karaf Boot CLI tools would be maven plugin goals.
On 12 May 2016 at 16:39, Serge Huber <shu...@jahia.com> wrote: > This looks really great. I just had a couple of suggestion : > > - Could it be possible to use the samples as “project archetypes” ? So > that users would have even less to write ? I’m thinking especially at > developing a REST service alongside with a set of integration tests that > would start the server and use a REST client to test the REST service. > - Should we think about a CLI interface similar to what exists in the > front-end development world ? I’m thinking of something like the Angular 2 > CLI that was just announced ? https://cli.angular.io > I’m not sure how this would integrate with Maven but I was mostly thinking > about total beginners to both Karaf and Maven (mostly those coming maybe > from Gradle, Ant or Bndtools). > > WDYT ? > > cheers, > Serge… officially on vacation :) > > > On 11 mai 2016, at 10:04, Jean-Baptiste Onofré <j...@nanthrax.net> 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 > > -- > > Jean-Baptiste Onofré > > jbono...@apache.org > > http://blog.nanthrax.net > > Talend - http://www.talend.com > > -- Matt Sicker <boa...@gmail.com>