gnu: Add java-mockito-1.
* gnu/packages/java.scm (java-mockito): New variable.
This commit is contained in:
parent
cdb2a21160
commit
90e65abe42
|
@ -1975,6 +1975,68 @@ logging implementations. A library that uses the commons-logging API can be
|
||||||
used with any logging implementation at runtime.")
|
used with any logging implementation at runtime.")
|
||||||
(license license:asl2.0)))
|
(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
|
(define-public java-commons-cli
|
||||||
(package
|
(package
|
||||||
(name "java-commons-cli")
|
(name "java-commons-cli")
|
||||||
|
|
Loading…
Reference in New Issue