summary refs log tree commit diff
path: root/gnu/packages/java.scm
diff options
context:
space:
mode:
authorMike Gerwitz <mtg@gnu.org>2021-04-15 21:24:26 -0400
committerLudovic Courtès <ludo@gnu.org>2021-05-05 16:56:45 +0200
commit674b4bd1a611f55be401c53e065359ae6e9dec54 (patch)
treecfbba8559856a129150a06d546dd4519efeb5482 /gnu/packages/java.scm
parent1700dfefbe17efd759569e3907f7739ee71b0e8d (diff)
downloadguix-674b4bd1a611f55be401c53e065359ae6e9dec54.tar.gz
gnu: Add java-jline-reader.
This package is part of JLine 3.

* gnu/packages/java.scm (java-jline-reader): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Diffstat (limited to 'gnu/packages/java.scm')
-rw-r--r--gnu/packages/java.scm41
1 files changed, 41 insertions, 0 deletions
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 68ab8683ab..d73f1acbf8 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -12561,6 +12561,47 @@ find most of the command editing features of JLine to be familiar.
 This package includes the @var{Terminal} API and implementations.")
     (license license:bsd-3)))
 
+(define-public java-jline-reader
+  (package
+    (name "java-jline-reader")
+    (version "3.14.1")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/jline/jline3")
+                    (commit (string-append "jline-parent-" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0ilhk9ljp0pivl1rn0bb06syshc67p6imcjhrg6vr7kv15p3w4lr"))))
+    (build-system ant-build-system)
+    (arguments
+     `(#:jar-name "jline-reader.jar"
+       #:jdk ,openjdk11
+       #:source-dir "reader/src/main/java"
+       #:test-dir "reader/src/test"
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'build 'remove-build-file
+           (lambda _
+             ;; conflicts with build directory generated by ant-build-system
+             (delete-file "build"))))))
+    (native-inputs
+     `(("java-junit" ,java-junit)
+       ("java-easymock" ,java-easymock)))
+    (inputs
+     `(("java-jline-terminal" ,java-jline-terminal)))
+    (home-page "https://github.com/jline/jline3")
+    (synopsis "Java JLine line reader")
+    (description "JLine is a Java library for handling console input.  It is
+similar in functionality to BSD editline and GNU readline but with additional
+features that bring it in par with ZSH line editor.  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.
+
+This package includes the line reader.")
+    (license license:bsd-3)))
+
 (define-public java-xmlunit
   (package
     (name "java-xmlunit")