guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

02/10: gnu: Add java-mockito-1.


From: Ricardo Wurmus
Subject: 02/10: gnu: Add java-mockito-1.
Date: Mon, 15 May 2017 16:00:58 -0400 (EDT)

rekado pushed a commit to branch master
in repository guix.

commit 90e65abe426828d2077b1ae935f9c2d4075c4d5c
Author: Ricardo Wurmus <address@hidden>
Date:   Tue Mar 7 19:51:50 2017 +0100

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

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 13e2614..900dbc8 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -1975,6 +1975,68 @@ logging implementations.  A library that uses the 
commons-logging API can be
 used with any logging implementation at runtime.")
     (license license:asl2.0)))
 
+;; This is the last release of the 1.x series.
+(define-public java-mockito-1
+  (package
+    (name "java-mockito")
+    (version "1.10.19")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "http://repo1.maven.org/maven2/";
+                                  "org/mockito/mockito-core/" version
+                                  "/mockito-core-" version "-sources.jar"))
+              (sha256
+               (base32
+                "0vmiwnwpf83g2q7kj1rislmja8fpvqkixjhawh7nxnygx6pq11kc"))))
+    (build-system ant-build-system)
+    (arguments
+     `(#:jar-name "mockito.jar"
+       #:tests? #f ; no tests included
+       ;; FIXME: patch-and-repack does not support jars, so we have to apply
+       ;; patches in build phases.
+       #:phases
+       (modify-phases %standard-phases
+         ;; Mockito was developed against a different version of hamcrest,
+         ;; which does not require matcher implementations to provide an
+         ;; implementation of the "describeMismatch" method.  We add this
+         ;; simple definition to pass the build with our version of hamcrest.
+         (add-after 'unpack 'fix-hamcrest-build-error
+           (lambda _
+             (substitute* 
"src/org/mockito/internal/matchers/LocalizedMatcher.java"
+               (("public Matcher getActualMatcher\\(\\) .*" line)
+                (string-append "
+    public void describeMismatch(Object item, Description description) {
+        actualMatcher.describeMismatch(item, description);
+    }"
+                               line)))
+             #t))
+         ;; Mockito bundles cglib.  We have a cglib package, so let's use
+         ;; that instead.
+         (add-after 'unpack 'use-system-libraries
+           (lambda _
+             (with-directory-excursion 
"src/org/mockito/internal/creation/cglib"
+               (substitute* '("CGLIBHacker.java"
+                              "CglibMockMaker.java"
+                              "ClassImposterizer.java"
+                              "DelegatingMockitoMethodProxy.java"
+                              "MethodInterceptorFilter.java"
+                              "MockitoNamingPolicy.java"
+                              "SerializableMockitoMethodProxy.java"
+                              "SerializableNoOp.java")
+                 (("import org.mockito.cglib") "import net.sf.cglib")))
+             #t)))))
+    (inputs
+     `(("java-junit" ,java-junit)
+       ("java-objenesis" ,java-objenesis)
+       ("java-cglib" ,java-cglib)
+       ("java-hamcrest-core" ,java-hamcrest-core)))
+    (home-page "http://mockito.org";)
+    (synopsis "Mockito is a mock library for Java")
+    (description "Mockito is a mocking library for Java which lets you write
+tests with a clean and simple API.  It generates mocks using reflection, and
+it records all mock invocations, including methods arguments.")
+    (license license:asl2.0)))
+
 (define-public java-commons-cli
   (package
     (name "java-commons-cli")



reply via email to

[Prev in Thread] Current Thread [Next in Thread]