[ 
https://issues.apache.org/jira/browse/KARAF-2772?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13910174#comment-13910174
 ] 

Christian Schneider edited comment on KARAF-2772 at 2/24/14 10:29 AM:
----------------------------------------------------------------------

Pushed the API separation into a new branch command-api based on current master

https://git-wip-us.apache.org/repos/asf?p=karaf.git;a=shortlog;h=refs/heads/command-api


was (Author: ch...@die-schneider.net):
Pushed the API separation into a new branch command-api based on current master

> Separate command api and support classes from shell
> ---------------------------------------------------
>
>                 Key: KARAF-2772
>                 URL: https://issues.apache.org/jira/browse/KARAF-2772
>             Project: Karaf
>          Issue Type: Improvement
>          Components: karaf-shell
>    Affects Versions: 3.0.0
>            Reporter: Christian Schneider
>            Assignee: Christian Schneider
>             Fix For: 3.1.0
>
>
> Like discussed on irc we would like to make karaf commands more reusable 
> outside karaf.
> The goal is to run karaf commands without the karaf shell.
> So we need to split the shell project in two parts:
> - command-api (proposed name)
>   contains command API + supporting classes like AbstractCommand which are 
> necessary to run Action classes
> - shell.console impls
> The command-api bundle should only depend on the OSGi APIs and gogo to make 
> it lightweight. So projects implementing commands can do this while having 
> minimal compile time dependencies to karaf.
> I already took a peek into the shell to see how difficult this is. I found 
> very few problematic classes.
> One is ConsoleFactory which depends on jline and several exceptions which use 
> jansi. 
> -> I propose we move this to a new package console.factory. This package then 
> needs to remain in shell.console
> The other is NamespaceHandler
> -> The blueprint NamespaceHandler can not go to the API bundle as it depends 
> on aries. So for now we could move it to console.commands.blueprint.impl or 
> similar and leave it in shell.console



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Reply via email to