Hi folks,

For Carbon 5.0, we are planning to improve our existing CLI tool. Please
find below notes from the meeting held regarding Carbon CLI on 29th May
2014.

​*Participants: *Azeez, SammeraJ, Manoj, Aruna, Jayanga and myself​
​.

Points discussed as follows ​


   - ​*What we learned from our Carbon 4.x.x CLI (Equinox OSGI console
   
<http://help.eclipse.org/juno/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Fguide%2Fconsole_shell.htm>)*
   - Carbon 4.2.0 OSGI Console is based on equinox console. Therefore
      Eclipse equinox console has following dependencies
      - org.eclipse.equinox.console
         - org.apache.felix.gogo.command
         - org.apache.felix.gogo.runtime
         - org.apache.felix.gogo.shell
         - Due to apache felix dependency, equinox will inherit some of the
      gogo commands ( you will be able to see those under scope:gogo)
and custom
      commands were written using equinox *CommandProvider*
      
<http://help.eclipse.org/juno/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Fguide%2Fconsole_shell.htm>
      interface.


   - *What we lack *?
   - UX is not straightforward and it has to be improved
      - ​NO tab completion nor history support
      - ​No in-line editing ​

      - NO UNIX command support
      - No extendability of the console nor custom commands


   - ​*Next-gen Carbon 5 CLI *
   - Carbon 5 runs on top of Eclipse equinox OSGI runtime and equinox
      console as command line interface. But it is the previous (
Carbon 4.2.0 )
      CLI which is needed an upgrade.Our main concern is to upgrade it
to provide
      more flexibility and rich user experience to end users and developers.
       Following requirements are considered as must to have
      - *Requirements*
            - ​Tab Completions
            - History support
            - ​In-line editing​

            - Descriptive help
            - Extendability of Shell
            - ​Solutions
      - ​Annotation based commands, arguments and options support ( e.g.
         introducing  @Command ​@Argument and @Option ) - On going PoC
         - JLine <https://github.com/jline/jline2/wiki/JLine-2.x-Wiki> 2.x
         based CLI approach - PoC done.
         - Milestone one will be based on two part
         - Extendable Framework
            - Basic OSGI Commands ​and custom command support


​Please let us know about your thoughts on our new development, WDYT ? ​


​Thanks
- Pubudu Dissanayake ​

-- 
*Pubudu Dissanayake*
 Software Engineer
WSO2 Inc.; http://wso2.com
lean.enterprise.middleware
Mobile: 0775503304
_______________________________________________
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to