diff mbox series

[bug#47789,5/6] gnu: Add java-jline-reader.

Message ID ec42242cb183cb1a446d9eed3d683af5dd8bfbd9.1618536137.git.mtg@gnu.org
State Accepted
Headers show
Series None | expand

Commit Message

Mike Gerwitz April 16, 2021, 1:24 a.m. UTC
This package is part of JLine 3.

* gnu/packages/java.scm (java-jline-reader): New variable.
---
 gnu/packages/java.scm | 41 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 41 insertions(+)
diff mbox series

Patch

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 9bf26b1dc7..a474c40ebb 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -12523,6 +12523,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")