OverEasy

A Guice-driven Command Shell framework. Allows for building command shells in Java.

License

License

Categories

Categories

Net
GroupId

GroupId

net.peachjean.overeasy
ArtifactId

ArtifactId

overeasy
Last Version

Last Version

0.3.0
Release Date

Release Date

Type

Type

jar
Description

Description

OverEasy
A Guice-driven Command Shell framework. Allows for building command shells in Java.
Source Code Management

Source Code Management

https://github.com/peachjean/overeasy

Download overeasy

How to add to project

<!-- https://jarcasting.com/artifacts/net.peachjean.overeasy/overeasy/ -->
<dependency>
    <groupId>net.peachjean.overeasy</groupId>
    <artifactId>overeasy</artifactId>
    <version>0.3.0</version>
</dependency>
// https://jarcasting.com/artifacts/net.peachjean.overeasy/overeasy/
implementation 'net.peachjean.overeasy:overeasy:0.3.0'
// https://jarcasting.com/artifacts/net.peachjean.overeasy/overeasy/
implementation ("net.peachjean.overeasy:overeasy:0.3.0")
'net.peachjean.overeasy:overeasy:jar:0.3.0'
<dependency org="net.peachjean.overeasy" name="overeasy" rev="0.3.0">
  <artifact name="overeasy" type="jar" />
</dependency>
@Grapes(
@Grab(group='net.peachjean.overeasy', module='overeasy', version='0.3.0')
)
libraryDependencies += "net.peachjean.overeasy" % "overeasy" % "0.3.0"
[net.peachjean.overeasy/overeasy "0.3.0"]

Dependencies

compile (8)

Group / Artifact Type Version
org.slf4j : slf4j-api jar 1.7.2
commons-cli : commons-cli jar 1.2
jline : jline jar 2.11
com.google.inject : guice jar 3.0
com.google.inject.extensions : guice-multibindings jar 3.0
com.google.guava : guava jar 13.0.1
ch.qos.logback : logback-classic jar 1.0.6
org.hamcrest : hamcrest-library jar 1.3

test (1)

Group / Artifact Type Version
junit : junit jar 4.11

Project Modules

There are no modules declared in this project.

Build Status

Current TODO:

Document

Add "injected-command" - method call that accepts parameters auto-parsed myCommand(ItscoObject myObj, String arg1, Optional arg2,

Map method signature to "Options" objects Map CommandLine object to method call

Use Autobind for loading modules Use Auto Post Processor for finding and binding commands

Auto Post Processor Bind a "post processor" in a module and it has an opportunity to modify the elements prior to creating the injector List postProcess(List) l: loop over all elements, collect all post-processors (special binding type) loop over all post-processors, invoking postProcess, and chaining the resultant elements together after each postProcess call, determine if element list was modified if any post processor modified the element list, repeat from "l:"

Add simple declarative parsing for Shell arguments Options: bind itsco object as "global", shell injects it, or simply bind "Options" arguments?

Simple auto-complete

Maven packaging plugin?

Organize code

net.peachjean.overeasy

PeachJean Software

Versions

Version
0.3.0
0.2.2
0.2.1
0.2.0
0.1.3
0.1.2
0.1.1
0.1.0