Subject: [bug#36605] [PATCH 11/12] gnu: Add java-commons-lang3.

From: Hartmut Goebel <[email-masked]>
Date: Thu, 11 Jul 2019 22:26:33 +0200

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

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 5a90d05..b7971a3 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -1518,3 +1518,55 @@ in the java.lang package in the Sun JDK.  The following classes are included:
  * Builder package - A sub-package for the creation of equals, hashCode,
    compareTo and toString methods.")
     (license license:asl2.0)))
+
+(define-public java-commons-lang3
+  (package
+    (name "java-commons-lang3")
+    (version "3.4")
+    (source (origin
+      (method url-fetch)
+      (uri (apache-commons-url "lang" version "commons-lang3"))
+      (sha256
+       (base32 "0xpshb9spjhplq5a7mr0y1bgfw8190ik4xj8f569xidfcki1d6kg"))))
+    (build-system ant-build-system)
+    (outputs '("out" "doc"))
+    (arguments
+     `(#:tests? #f
+       #:test-target "test" ; requirements are missing, see below
+       #:phases
+       (modify-phases %standard-phases
+         (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)))
+    ; todo: tests. Requier hamcrest, commons-io, easymock. jar paths need to
+    ; be written into a properties files. See buld.xml in the source.
+    (home-page "http://commons.apache.org/lang/")
+    (synopsis "Extension of the java.lang package (for Java 5+)")
+    (description "The Commons Lang components contains a set of Java classes
+that provide helper methods for standard Java classes, especially those found
+in the java.lang package in the JDK 5+.  The following classes are included:
+
+ * StringUtils - Helper for java.lang.String.
+ * CharSetUtils - Methods for dealing with CharSets, which are sets of
+   characters such as [a-z] and [abcdez].
+ * RandomStringUtils - Helper for creating randomised Strings.
+ * NumberUtils - Helper for java.lang.Number and its subclasses.
+ * NumberRange - A range of numbers with an upper and lower bound.
+ * ObjectUtils - Helper for java.lang.Object.
+ * SerializationUtils - Helper for serializing Objects.
+ * SystemUtils - Utility class defining the Java system properties.
+ * NestedException package - A sub-package for the creation of nested
+   exceptions.
+ * Enum package - A sub-package for the creation of enumerated types.
+ * Builder package - A sub-package for the creation of equals, hashCode,
+   compareTo and toString methods.
+
+Commons Lang 3.x use a different package (org.apache.commons.lang3) than the
+previous versions (Commonas Lang 1.x and 2.x, which use
+org.apache.commons.lang), allowing it to be used at the same time as an
+earlier version.
+
+Commons Lang 3.x is only compatible with JDK 1.5+ ")
+    (license license:asl2.0)))
-- 
2.7.4