Subject: bug#26803: [PATCH 15/36] gnu: Add java-commons-io.

From: Ricardo Wurmus <[email-masked]>
Date: Sat, 6 May 2017 17:35:56 +0200

From: Hartmut Goebel <[email-masked]>

* gnu/packages/java.scm (java-commons-io): New variable.

Co-authored-by: Ricardo Wurmus <[email-masked]>
---
 gnu/packages/java.scm | 41 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 41 insertions(+)

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index f595af58c..c9707d0d2 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -1624,3 +1624,44 @@ are many features, including:
   such as union, intersection, and closure.
 @end itemize\n")
     (license license:asl2.0)))
+
+(define-public java-commons-io
+  (package
+    (name "java-commons-io")
+    (version "2.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://apache/commons/io/source/"
+                           "commons-io-" version "-src.tar.gz"))
+       (sha256
+        (base32
+         "0q5y41jrcjvx9hzs47x5kdhnasdy6rm4bzqd2jxl02w717m7a7v3"))))
+    (build-system ant-build-system)
+    (outputs '("out" "doc"))
+    (arguments
+     `(#:test-target "test"
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'symlink-junit.jar
+           (lambda* (#:key inputs #:allow-other-keys)
+             ;; TODO: don't do this; use make-flags
+             ;; The existence of this file is taken as indicator whether test
+             ;; dependencies will to be downloaded.
+             (let ((junit (assoc-ref inputs "java-junit"))
+                   (junit-version "4.12")) ; from build.xml
+               (mkdir-p "lib")
+               (symlink (string-append junit "/share/java/junit.jar")
+                        (string-append "lib/junit-" junit-version ".jar"))
+               #t)))
+         (add-after 'build 'build-javadoc ant-build-javadoc)
+         (replace 'install (install-jars "target"))
+         (add-after 'install 'install-doc (install-javadoc "target/apidocs")))))
+    (native-inputs
+     `(("java-junit" ,java-junit)
+       ("java-hamcrest-core" ,java-hamcrest-core)))
+    (home-page "http://commons.apache.org/io/")
+    (synopsis "Common useful IO related classes")
+    (description "Commons-IO contains utility classes, stream implementations,
+file filters and endian classes.")
+    (license license:asl2.0)))
-- 
2.12.2