A fork of JLine for the Scala Compiler
This repository contains a fork of JLine for the Scala compiler. The reason for using a fork is to avoid polluting the classpath of programs that embed the Scala compiler or REPL. This fork therefore changes the package name for JLine to
Releases of this fork are under the group id
"org.scala-lang.modules" % "scala-jline".
The patches applied to this fork can be inspected here. Take a look at the individual commit messages for commands that were used to create the patch.
Note that the
.java source files are not moved to folders representing the new package name. This simplifies integrating changes from the upstream repository. Resource files (
src/test/resources) on the other hand needed to be moved so that they are copied to the right target directory.
master branch in this fork is always kept in synch with the upstream
master branch. The patches for re-packaging are in the
The upstream repository uses tags of the form
jline-2.12.1. For our releases of scala-jline, we are using tags of the form
v2.12.1. These tags mark revisions in the
When building a v-shaped tag, the travis build script stages a release on sonatype.
JLine is a Java library for handling console input. It is similar in functionality to BSD editline and GNU readline. People familiar with the readline/editline capabilities for modern shells (such as bash and tcsh) will find most of the command editing features of JLine to be familiar.
JLine is distributed under the BSD License, meaning that you are completely free to redistribute, modify, or sell it with almost no restrictions.
Use the following definition to use JLine in your maven project:
<dependency> <groupId>jline</groupId> <artifactId>jline</artifactId> <version>2.12</version> </dependency>
- Maven 2+
- Java 5+
Check out and build:
git clone git://github.com/jline/jline2.git cd jline2 mvn install