Subject: [bug#31333] [PATCH 03/22] gnu: Add groovy-tests-bootstrap.

From: Julien Lepiller <[email-masked]>
Date: Tue, 1 May 2018 17:44:30 +0200

* gnu/packages/groovy.scm (groovy-tests-bootstrap): New variable.
---
 gnu/packages/groovy.scm | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/gnu/packages/groovy.scm b/gnu/packages/groovy.scm
index 016d7e66b..97944e1ef 100644
--- a/gnu/packages/groovy.scm
+++ b/gnu/packages/groovy.scm
@@ -168,3 +168,38 @@ groovy submodules.")
     (description "This package contains the first version of the Groovy compiler.
 Although already usable, it doesn't contain the groovy library yet.  This package
 is used to build the groovy submodules written in groovy.")))
+
+(define groovy-tests-bootstrap
+  (package
+    (inherit groovy-bootstrap)
+    (name "groovy-tests-bootstrap")
+    (arguments
+     `(#:jar-name "groovy-tests-bootstrap.jar"
+       #:jdk ,icedtea-8
+       #:tests? #f; no tests
+       #:phases
+       (modify-phases %standard-phases
+         (replace 'build
+           (lambda _
+             (mkdir-p "build/classes")
+             (mkdir-p "build/jar")
+             (and
+               (zero? (apply system* "java" "-cp" (getenv "CLASSPATH")
+                               "org.codehaus.groovy.tools.FileSystemCompiler"
+                               "-d" "build/classes"
+                               "-j"; joint compilation
+                               (append
+                                 (find-files "src/test" "TestSupport.java")
+                                 (find-files "src/test" "HeadlessTestSupport.java")
+                                 (find-files "src/test" "XmlAssert.java"))))
+               (zero? (system* "jar" "-cf" "build/jar/groovy-tests-bootstrap.jar"
+                               "-C" "build/classes" "."))))))))
+    (inputs
+     `(("groovy-test" ,groovy-test)
+       ,@(package-inputs groovy-bootstrap)))
+    (native-inputs
+     `(("groovy-bootstrap" ,groovy-bootstrap)
+       ,@(package-native-inputs groovy-java-bootstrap)))
+    (synopsis "Groovy test classes")
+    (description "This package contains three classes required for testing
+other groovy submodules.")))
-- 
2.17.0