commit:     9ae834de24375aa9fd88b0868601830da6f748b7
Author:     Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net>
AuthorDate: Wed Dec 10 19:13:04 2025 +0000
Commit:     Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
CommitDate: Sun Dec 14 20:27:09 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9ae834de

dev-java/mockito: add 5.21.0

Signed-off-by: Volkmar W. Pogatzki <gentoo <AT> pogatzki.net>
Part-of: https://github.com/gentoo/gentoo/pull/44443
Closes: https://github.com/gentoo/gentoo/pull/44443
Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>

 dev-java/mockito/Manifest              |  1 +
 dev-java/mockito/mockito-5.21.0.ebuild | 97 ++++++++++++++++++++++++++++++++++
 2 files changed, 98 insertions(+)

diff --git a/dev-java/mockito/Manifest b/dev-java/mockito/Manifest
index d2e824d6d275..dcaa58cf7561 100644
--- a/dev-java/mockito/Manifest
+++ b/dev-java/mockito/Manifest
@@ -1,4 +1,5 @@
 DIST mockito-2.28.2.tar.gz 875085 BLAKE2B 
d0aab378c028530724156f999700506fe64f5bf19371dc9b957e34924d3d17b8191f093054c6dde4f5879d61ddf9614a60b1fd597aae09b92abf559c08fbcdf7
 SHA512 
9921fe9ffbdff4d7a9a8de56aa5078e68eb6bee38f379f58059dcc42da07a59b7e5953309d646e1fb760f7135f5076e201529370cc5df56d685f7acb08311ea5
 DIST mockito-4.11.0.tar.gz 1050218 BLAKE2B 
7f7298e233c9cdb0b475aa201300a1063fd8efc587f3a4de0cb1caedd6f6506a32f8e9b0548fa5898892515ec96625153a1a2ad65fc8070b7dc6c254206fbbfd
 SHA512 
b1de01c8e9b2fc4eef0013af562efeac7e22babdebbd8c7842ecd55071627e11c5e6ab575436990ea70d4ceefb56fc260333278c8d4b833e454956bf89841fc5
 DIST mockito-5.20.0.tar.gz 897211 BLAKE2B 
605a8b9953509e8ffc5f6e1c89f3174256d0b563faa43d497e82fe780d2a47f13d89d6b0f410acabbb1e7b13395690cbad87a3c767fe807ae7dfbe52c97e1d38
 SHA512 
3c929e1469421335a13d6651bc39f6dd10c99d761d89c9c5daa6da44a8fb6732f23b99c27017dd8cccd90e6dd159187fda34f4d61893f620d6fd54ac13377441
+DIST mockito-5.21.0.tar.gz 899886 BLAKE2B 
22c21bc89d1d52227cd818bdea082bffa136bb295c63b6fa5ef4dc4a551274456da68931c3143a664d6f7b93d5ef96fd8735b86ef4e0a2db4bebe08dc75b2061
 SHA512 
e3798d78609351d69fbe460816b570f891bd425c5b2d0677018279637de522f3e3ad8d5ec6dbefb94e20e3ff6082af6a4edc3c13122784503c170bafacbcf54d
 DIST mockito-core-1.9.5-sources.jar 723074 BLAKE2B 
e553a923542a1a2574ee0cda5979d168cc3e9644dbbc9fceed2301ae1bac150c4e35dbc4432d50e2479efea2a6cd35ec19c62c3598f61709f1f5dc8959cc0155
 SHA512 
271e626c3b5be9a7d7c82a2f0bf44077aabd51924b0956a88633ace7fe8c134d8cd1f89ce348ce0d15ccce55a50027e303836d2d2f430500317b6136d308d3d4

diff --git a/dev-java/mockito/mockito-5.21.0.ebuild 
b/dev-java/mockito/mockito-5.21.0.ebuild
new file mode 100644
index 000000000000..61f1e6c08b69
--- /dev/null
+++ b/dev-java/mockito/mockito-5.21.0.ebuild
@@ -0,0 +1,97 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+JAVA_TESTING_FRAMEWORKS="junit-jupiter"
+
+inherit java-pkg-2 java-pkg-simple junit5
+
+DESCRIPTION="Mockito mock objects library core API and implementation"
+HOMEPAGE="https://github.com/mockito/mockito";
+SRC_URI="https://github.com/mockito/mockito/archive/v${PV}.tar.gz -> 
${P}.tar.gz"
+S="${WORKDIR}/${P}"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64"
+
+DEPEND="
+       >=dev-java/apiguardian-api-1.1.2-r1:0
+       >=dev-java/asm-9.9.1:0
+       >=dev-java/byte-buddy-1.18.2:0
+       >=dev-java/hamcrest-3.0:0
+       >=dev-java/jna-5.18.1:0
+       >=dev-java/jsr305-3.0.2-r1:0
+       >=dev-java/junit-4.13.2_p20240222:4
+       dev-java/junit:5
+       >=dev-java/objenesis-3.4:0
+       >=dev-java/opentest4j-1.3.0-r1:0
+       >=virtual/jdk-11:*
+       test? ( >=dev-java/assertj-core-3.27.6:0 )
+"
+
+# virtual/jre lower than 11 would cause a compilation error:
+# 
src/main/java/org/mockito/internal/stubbing/defaultanswers/ReturnsDeepStubs.java:57:
+# error: cannot find symbol
+#         final var emptyValue = 
ReturnsEmptyValues.returnCommonEmptyValueFor(rawType);
+#               ^
+#   symbol:   class var
+RDEPEND=">=virtual/jre-11:*"
+
+JAVA_CLASSPATH_EXTRA="apiguardian-api asm byte-buddy hamcrest jna jsr305 
objenesis opentest4j"
+JAVA_TEST_SRC_DIR="mockito-core/src/test/java"
+
+src_prepare() {
+       java-pkg-2_src_prepare
+       # prevent junit:{4,5} to pull hamcrest-core on classpath
+       JAVA_GENTOO_CLASSPATH_EXTRA=":$(java-pkg_getjars --build-only junit-4)"
+       JAVA_GENTOO_CLASSPATH_EXTRA+=":$(java-pkg_getjars --build-only junit-5)"
+
+       # dev-java/byte-buddy is built from byte-buddy-dep without shaded stuff.
+       sed \
+               -e 's:net.bytebuddy.jar.asm:org.objectweb.asm:' \
+               -i 
mockito-core/src/main/java/org/mockito/internal/creation/bytebuddy/MockMethodAdvice.java
 \
+               -i 
mockito-core/src/main/java/org/mockito/internal/creation/bytebuddy/InlineBytecodeGenerator.java
 || die
+}
+
+src_compile() {
+       JAVA_JAR_FILENAME="mockito-core.jar"
+       JAVA_SRC_DIR="mockito-core/src/main/java"
+       java-pkg-simple_src_compile
+       JAVA_GENTOO_CLASSPATH_EXTRA+=":mockito-core.jar"
+       # whatever '.raw' is good for, upstream does it and we follow (and 
re-create the jar).
+       mv 
target/classes/org/mockito/internal/creation/bytebuddy/inject/MockMethodDispatcher.class
 \
+               
target/classes/org/mockito/internal/creation/bytebuddy/inject-MockMethodDispatcher.raw
 || die
+       rm mockito-core.jar || die "remove core.jar"
+       jar cf mockito-core.jar -C target/classes . || die "refresh core.jar"
+
+       rm -r target/classes || die "clean classes"
+       JAVA_JAR_FILENAME="mockito-junit-jupiter.jar"
+       JAVA_SRC_DIR="mockito-extensions/mockito-junit-jupiter/src/main/java"
+       java-pkg-simple_src_compile
+}
+
+src_test() {
+       # 
mockito-core/src/test/java/org/mockito/internal/creation/bytebuddy/InlineDelegateByteBuddyMockMakerTest.java:347:
 error: cannot access MockMethodDispatcher
+       #         throwable = MockMethodAdvice.removeRecursiveCalls(throwable, 
SampleInterface.class);
+       #                                     ^
+       #   class file for 
org.mockito.internal.creation.bytebuddy.inject.MockMethodDispatcher not found
+       rm -v 
mockito-core/src/test/java/org/mockito/internal/creation/bytebuddy/InlineDelegateByteBuddyMockMakerTest.java
 || die
+       rm -v 
mockito-core/src/test/java/org/mockito/internal/creation/bytebuddy/sample/DifferentPackage.java
 || die
+
+       # assertj-core --with-dependencies seems to pull another hamcrest into 
classpath.
+       JAVA_GENTOO_CLASSPATH_EXTRA+=":$(java-pkg_getjars --build-only 
assertj-core)"
+       rm -r target/classes || die "clean classes"
+       JAVA_JAR_FILENAME="testFixtures.jar"
+       JAVA_SRC_DIR="mockito-core/src/testFixtures/java"
+       java-pkg-simple_src_compile
+       JAVA_GENTOO_CLASSPATH_EXTRA+=":testFixtures.jar"
+       junit5_src_test
+}
+
+src_install() {
+       java-pkg-simple_src_install
+       java-pkg_dojar mockito-core.jar
+}

Reply via email to