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