Subject: [PATCH 6/8] gnu: Add java-janino.

From: Julien Lepiller <[email-masked]>
Date: Sat, 26 May 2018 14:45:48 +0200

* gnu/packages/java.scm (java-janino): New variable.
---
 gnu/packages/java.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index cfd8f8159..a810a5358 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -10017,3 +10017,26 @@ adds Plexus support to the Sisu-Inject container.")
 @code{IExpressionEvaluator}, @code{IScriptEvaluator}, @code{IClassBodyEvaluator}
 and @code{ISimpleCompiler} interfaces.")
     (license license:bsd-3)))
+
+(define-public java-janino
+  (package
+    (inherit java-commons-compiler)
+    (name "java-janino")
+    (arguments
+     `(#:jar-name "janino.jar"
+       #:source-dir "src/main/java"
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'configure 'chdir
+           (lambda _
+             (chdir "janino"))))))
+    (inputs
+     `(("java-commons-compiler" ,java-commons-compiler)))
+    (native-inputs
+     `(("java-junit" ,java-junit)
+       ("java-hamcrest-core" ,java-hamcrest-core)))
+    (description "Janino is a Java compiler.  Janino can compile a set of
+source files to a set of class files like @code{javac}, but also compile a
+Java expression, block, class body or source file in memory, load the bytecode
+and execute it directly in the same JVM.  @code{janino} can also be used for
+static code analysis or code manipulation.")))
-- 
2.17.0