Skip to content

Commit

Permalink
Improve readme, fixes #234
Browse files Browse the repository at this point in the history
  • Loading branch information
gnodet committed Apr 3, 2018
1 parent 29a1045 commit 4eedaae
Showing 1 changed file with 56 additions and 5 deletions.
61 changes: 56 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,29 +32,51 @@ JLine is distributed under the [BSD License](http://www.opensource.org/licenses/
* [jline-users](https://groups.google.com/group/jline-users)
* [jline-dev](https://groups.google.com/group/jline-dev)

# Artifacts

JLine can be used with a single bundle or smaller fined grained jars.
The big bundle is named:

jline-${jline.version}.jar

The dependencies are minimal: you may use JLine without any dependency on *nix systems, but in order to support windows or more advanced usage, you will need to add either [`jansi`](https://repo1.maven.org/maven2/org/fusesource/jansi/jansi/1.17/jansi-1.17.jar) or [`jna`](https://repo1.maven.org/maven2/net/java/dev/jna/jna/4.5.1/jna-4.5.1.jar) library.

You can also use finer grained jars:
* `jline-terminal`: the `Terminal` api and implementations
* `jline-terminal-jansi`: terminal implementations leveraging the `jansi` library
* `jline-terminal-jna`: terminal implementations leveraging the `jna` library
* `jline-reader`: the line reader (including completion, history, etc...)
* `jline-style`: styling api
* `jline-remote-ssh`: helpers for using jline with [Mina SSHD](http://mima.apache.org/sshd/)
* `jline-remote-telnet`: helpers for using jline over telnet (including a telnet server implementation)
* `jline-builtins`: several high level tools: `less` pager, `nano` editor, `screen` multiplexer, etc...


# Maven Usage

Use the following definition to use JLine in your maven project:

<dependency>
<groupId>org.jline</groupId>
<artifactId>jline</artifactId>
<version>3.5.1</version>
<version>${jline.version}</version>
</dependency>

JLine can also be used with more low-level jars:

<dependency>
<groupId>org.jline</groupId>
<artifactId>jline-terminal</artifactId>
<version>3.5.1</version>
<version>${jline.version}</version>
</dependency>
<dependency>
<groupId>org.jline</groupId>
<artifactId>jline-reader</artifactId>
<version>3.5.1</version>
<version>${jline.version}</version>
</dependency>

All the jars and releases are available from Maven Central, so you'll find everything at the following location <https://repo1.maven.org/maven2/org/jline/>.

# Building

## Requirements
Expand All @@ -66,8 +88,37 @@ Check out and build:

git clone git://github.com/jline/jline3.git
cd jline3
mvn install

./build rebuild

## Results

The following artifacts are build:

The big bundle includes everything and is located at:

jline/target/jline-${jline.version}.jar

The finer grained bundles are located at:

terminal/target/jline-terminal-${jline.version}.jar
terminal-jansi/target/jline-jansi-${jline.version}.jar
terminal-jna/target/jline-jna-${jline.version}.jar
reader/target/jline-reader-${jline.version}.jar
style/target/jline-style-${jline.version}.jar
builtins/target/jline-builtins-${jline.version}.jar
remote-telnet/target/jline-remote-telnet-${jline.version}.jar
remote-ssh/target/jline-remote-ssh-${jline.version}.jar

Maven has a concept of `SNAPSHOT`. During development, the jline version will always ends with `-SNAPSHOT`, which means that the version is in development and not a release.

Note that all those artifacts are also installed in the local maven repostitory, so you will usually find them in the following folder: `~/.m2/repository/org/jline/`.

## Running the demo

To run the demo, simply use the following command after having build `JLine`

./build demo

## Continuous Integration

* [Travis](https://travis-ci.org/jline/jline3)
Expand Down

0 comments on commit 4eedaae

Please sign in to comment.