aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/java.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/java.scm')
-rw-r--r--gnu/packages/java.scm39
1 files changed, 39 insertions, 0 deletions
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index d0f552931c..c2b81556fe 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -1484,6 +1484,45 @@ The jMock library
@end itemize\n")
(license license:bsd-3)))
+(define-public java-hamcrest-all
+ (package (inherit java-hamcrest-core)
+ (name "java-hamcrest-all")
+ (arguments
+ (substitute-keyword-arguments (package-arguments java-hamcrest-core)
+ ;; FIXME: a unit test fails because org.hamcrest.SelfDescribing is not
+ ;; found, although it is part of the hamcrest-core library that has
+ ;; just been built.
+ ;;
+ ;; Fixing this one test is insufficient, though, and upstream confirmed
+ ;; that the latest hamcrest release fails its unit tests when built
+ ;; with Java 7. See https://github.com/hamcrest/JavaHamcrest/issues/30
+ ((#:tests? _) #f)
+ ((#:build-target _) "bigjar")
+ ((#:phases phases)
+ `(modify-phases ,phases
+ ;; Some build targets override the classpath, so we need to patch
+ ;; the build.xml to ensure that required dependencies are on the
+ ;; classpath.
+ (add-after 'unpack 'patch-classpath-for-integration
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "build.xml"
+ ((" build/hamcrest-library-\\$\\{version\\}.jar" line)
+ (string-join
+ (cons line
+ (append
+ (find-files (assoc-ref inputs "java-hamcrest-core") "\\.jar$")
+ (find-files (assoc-ref inputs "java-junit") "\\.jar$")
+ (find-files (assoc-ref inputs "java-jmock") "\\.jar$")
+ (find-files (assoc-ref inputs "java-easymock") "\\.jar$")))
+ ";")))
+ #t))))))
+ (inputs
+ `(("java-junit" ,java-junit)
+ ("java-jmock" ,java-jmock-1)
+ ("java-easymock" ,java-easymock)
+ ("java-hamcrest-core" ,java-hamcrest-core)
+ ,@(package-inputs java-hamcrest-core)))))
+
(define-public java-jopt-simple
(package
(name "java-jopt-simple")