karaf-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Matt Sicker <boa...@gmail.com>
Subject Re: [PROPOSAL] Karaf Boot roadmap
Date Thu, 12 May 2016 23:47:34 GMT
I'd imagine the equivalent Karaf Boot CLI tools would be maven plugin goals.

On 12 May 2016 at 16:39, Serge Huber <shuber@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é <jb@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é
> > jbonofre@apache.org
> > http://blog.nanthrax.net
> > Talend - http://www.talend.com
>
>


-- 
Matt Sicker <boards@gmail.com>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message