diff --git a/.fmf/version b/.fmf/version
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/.fmf/version
@@ -0,0 +1 @@
+1
diff --git a/.gitignore b/.gitignore
index aa287b0..6dafbd8 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,3 +2,12 @@
/.build-*.log
/noarch/
/*.src.rpm
+/mockito-3.5.13.tar.gz
+/mockito-3.7.13.tar.gz
+/mockito-3.12.4.tar.gz
+/mockito-5.5.0.tar.gz
+/mockito-core-5.5.0.pom
+/mockito-junit-jupiter-5.5.0.pom
+/mockito-5.8.0.tar.gz
+/mockito-core-5.8.0.pom
+/mockito-junit-jupiter-5.8.0.pom
diff --git a/aggregator.pom b/aggregator.pom
new file mode 100644
index 0000000..3dd438d
--- /dev/null
+++ b/aggregator.pom
@@ -0,0 +1,16 @@
+
+
+ 4.0.0
+ org.fedoraproject.xmvn.mockito
+ aggregator
+ any
+ pom
+
+ UTF-8
+
+
+ .
+ subprojects/junit-jupiter
+
+
diff --git a/changelog b/changelog
new file mode 100644
index 0000000..5458ada
--- /dev/null
+++ b/changelog
@@ -0,0 +1,233 @@
+* Thu Jul 18 2024 Fedora Release Engineering - 5.8.0-6
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
+
+* Tue Feb 27 2024 Jiri Vanek - 5.8.0-5
+- Rebuilt for java-21-openjdk as system jdk
+
+* Fri Feb 23 2024 Jiri Vanek - 5.8.0-4
+- bump of release for for java-21-openjdk as system jdk
+
+* Thu Jan 25 2024 Fedora Release Engineering - 5.8.0-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
+
+* Sun Jan 21 2024 Fedora Release Engineering - 5.8.0-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
+
+* Wed Dec 13 2023 Marian Koncek - 5.8.0-1
+- Update to upstream version 5.8.0
+
+* Fri Sep 01 2023 Marian Koncek - 5.5.0-1
+- Update to upstream version 5.5.0
+
+* Thu Jul 20 2023 Fedora Release Engineering - 3.12.4-7
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
+
+* Thu Jan 19 2023 Fedora Release Engineering - 3.12.4-6
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
+
+* Thu Jul 21 2022 Fedora Release Engineering - 3.12.4-5
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
+
+* Sat Apr 09 2022 Didik Supriadi - 3.12.4-4
+- Set javac compiler release to Java 8
+
+* Sat Feb 05 2022 Jiri Vanek - 3.12.4-3
+- Rebuilt for java-17-openjdk as system jdk
+
+* Thu Jan 27 2022 Mikolaj Izdebski - 3.12.4-2
+- Don't build mockito-junit-jupiter in bootstrap mode
+
+* Sat Jan 22 2022 Jerry James - 3.12.4-1
+- Version 3.12.4
+- Add inline and junit-jupiter subpackages
+- Drop OpenJDK 17 workarounds
+
+* Thu Jan 20 2022 Fedora Release Engineering - 3.7.13-5
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
+
+* Wed Nov 03 2021 Mikolaj Izdebski - 3.7.13-4
+- Workaround build issue with OpenJDK 17
+
+* Thu Jul 22 2021 Fedora Release Engineering - 3.7.13-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
+
+* Mon May 17 2021 Mikolaj Izdebski - 3.7.13-2
+- Bootstrap build
+- Non-bootstrap build
+
+* Thu Feb 04 2021 Marian Koncek - 3.7.13-1
+- Update to upstream version 3.7.13
+
+* Tue Jan 26 2021 Fedora Release Engineering - 3.5.13-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
+
+* Fri Oct 9 2020 Stuart Gathman - 3.5.13-1
+- Update to version 3.5.13
+
+* Wed Sep 30 2020 Marian Koncek - 3.5.13-1
+- Update to ustream version 3.5.13
+
+* Sun Aug 23 2020 Jerry James - 3.5.5-1
+- Update to version 3.5.5
+
+* Fri Aug 14 2020 Jerry James - 2.28.2-1
+- Update to version 2.28.2
+
+* Tue Jul 28 2020 Fedora Release Engineering - 2.23.9-8
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
+
+* Wed Jul 22 2020 Marian Koncek - 3.4.5-1
+- Update to upstream version 3.4.5
+
+* Sat Jul 11 2020 Jiri Vanek - 2.23.9-7
+- Rebuilt for JDK-11, see https://fedoraproject.org/wiki/Changes/Java11
+
+* Wed Jan 29 2020 Fedora Release Engineering - 2.23.9-6
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
+
+* Tue Nov 05 2019 Mikolaj Izdebski - 3.1.2-2
+- Mass rebuild for javapackages-tools 201902
+
+* Wed Oct 16 2019 Marian Koncek - 3.1.2-1
+- Update to upstream version 3.1.2
+
+* Thu Sep 19 2019 Marian Koncek - 3.0.8-1
+- Update to upstream version 3.0.8
+
+* Thu Jul 25 2019 Fedora Release Engineering - 2.23.9-5
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
+
+* Fri May 24 2019 Mikolaj Izdebski - 2.23.9-4
+- Mass rebuild for javapackages-tools 201901
+
+* Fri Feb 01 2019 Fedora Release Engineering - 2.23.9-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
+
+* Wed Dec 12 2018 Mat Booth - 2.23.9-3
+- Set the source encoding for the build
+
+* Wed Dec 05 2018 Mat Booth - 2.23.9-2
+- Re-add compatibility alias for 'mockito-all'
+
+* Tue Dec 04 2018 Mat Booth - 2.23.9-1
+- Update to latest upstream version
+- Switch to maven build system using a custom pom to avoid a dep on gradle
+
+* Fri Aug 03 2018 Michael Simacek - 1.10.19-17
+- Remove bundled minified js from javadoc
+
+* Fri Jul 13 2018 Fedora Release Engineering - 1.10.19-16
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
+
+* Fri Feb 09 2018 Igor Gnatenko - 1.10.19-15
+- Escape macros in %%changelog
+
+* Thu Feb 08 2018 Fedora Release Engineering - 1.10.19-14
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
+
+* Wed Jul 26 2017 Fedora Release Engineering - 1.10.19-13
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
+
+* Thu Feb 16 2017 Michael Simacek - 1.10.19-12
+- Remove conditional for EOL Fedora
+
+* Fri Feb 10 2017 Fedora Release Engineering - 1.10.19-11
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
+
+* Mon Feb 22 2016 Mat Booth - 1.10.19-10
+- Explicitly import more cglib packages in OSGi metadata to prevent mockito
+ failing under certain circumstances during Eclipse test suites
+
+* Fri Feb 12 2016 Mat Booth - 1.10.19-9
+- Require hamcrest explicitly in OSGi metadata
+
+* Thu Feb 04 2016 Fedora Release Engineering - 1.10.19-8
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
+
+* Fri Dec 25 2015 Raphael Groner - 1.10.19-7
+- introduce License tag
+
+* Fri Dec 25 2015 Raphael Groner - 1.10.19-6
+- reenable osgi
+
+* Fri Dec 18 2015 Raphael Groner - 1.10.19-5
+- workaround rhbz#1292777 stylesheet.css not found
+
+* Thu Jul 16 2015 Michael Simacek - 1.10.19-4
+- Use aqute-bnd-2.4.1
+
+* Mon Jun 22 2015 Mat Booth - 1.10.19-3
+- Switch to mvn_install
+
+* Wed Jun 17 2015 Fedora Release Engineering - 1.10.19-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
+
+* Wed Apr 29 2015 Michal Srb - 1.10.19-1
+- Update to 1.10.19
+
+* Mon Aug 25 2014 Darryl L. Pierce - 1.9.0-18
+- First build for EPEL7
+- Resolves: BZ#1110030
+
+* Mon Jun 09 2014 Omair Majid - 1.9.0-17
+- Use .mfiles to pick up xmvn metadata
+- Don't use obsolete _mavenpomdir and _mavendepmapfragdir macros
+- Fix FTBFS
+
+* Sat Jun 07 2014 Fedora Release Engineering - 1.9.0-17
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
+
+* Thu May 22 2014 Severin Gehwolf - 1.9.0-16
+- Use junit R/BR over junit4.
+
+* Fri Mar 28 2014 Michael Simacek - 1.9.0-15
+- Use Requires: java-headless rebuild (#1067528)
+
+* Wed Dec 11 2013 Michael Simacek - 1.9.0-14
+- Workaround for NPE in setting NamingPolicy
+
+* Sat Aug 03 2013 Fedora Release Engineering - 1.9.0-13
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
+
+* Mon Mar 25 2013 Tomas Radej - 1.9.0-12
+- Patched LocalizedMatcher due to hamcrest update, (bug upstream)
+
+* Thu Feb 14 2013 Fedora Release Engineering - 1.9.0-11
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
+
+* Thu Sep 6 2012 Severin Gehwolf 1.9.0-10
+- More Import-Package fixes. Note that fix-cglib-refs.patch is
+ not suitable for upstream: issue id=373
+
+* Tue Sep 4 2012 Severin Gehwolf 1.9.0-9
+- Fix missing Import-Package in manifest.
+
+* Mon Aug 27 2012 Severin Gehwolf 1.9.0-8
+- Add aqute bnd instructions for OSGi metadata
+
+* Fri Jul 20 2012 Fedora Release Engineering - 1.9.0-7
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
+
+* Mon Apr 30 2012 Roman Kennke 1.9.0-6
+- Place JavaDoc in directly under %%{_javadocdir}/%%{name} instead
+ of %%{_javadocdir}/%%{name}/javadoc
+
+* Wed Apr 25 2012 Roman Kennke 1.9.0-5
+- Removed post/postun hook for update_maven_depmap
+
+* Tue Apr 24 2012 Roman Kennke 1.9.0-4
+- Fix groupId of cglib dependency
+- Add additional depmap for mockito-all
+- Update depmap on post and postun
+- Fix version in pom
+
+* Wed Feb 22 2012 Roman Kennke 1.9.0-3
+- Added cglib dependency to pom
+
+* Tue Feb 21 2012 Roman Kennke 1.9.0-2
+- Include upstream Maven pom.xml in package
+- Added missing Requires for cglib, junit4, hamcrest, objenesis
+- Added source tarball generating script to sources
+
+* Thu Feb 16 2012 Roman Kennke 1.9.0-1
+- Initial package
diff --git a/ci.fmf b/ci.fmf
new file mode 100644
index 0000000..c5aa0e0
--- /dev/null
+++ b/ci.fmf
@@ -0,0 +1 @@
+resultsdb-testcase: separate
diff --git a/fix-bnd-config.patch b/fix-bnd-config.patch
deleted file mode 100644
index a9bf97e..0000000
--- a/fix-bnd-config.patch
+++ /dev/null
@@ -1,29 +0,0 @@
---- conf/mockito-core.bnd.orig 2014-12-31 16:43:56.000000000 +0000
-+++ conf/mockito-core.bnd 2015-09-01 19:36:18.534549995 +0100
-@@ -1,21 +1,19 @@
---versionpolicy=[${version;==;${@}},${version;+;${@}})
--
--Bundle-Name= Mockito Mock Library for Java. Core bundle requires Hamcrest-core and Objenesis.
-+Bundle-Name= Mockito Mock Library for Java.
- Bundle-SymbolicName= org.mockito.mockito-core
- Bundle-Version= ${version}
-
- Export-Package= !org.mockito.asm.*, \
- !org.mockito.cglib.*, \
- !org.mockito.internal.*, \
-- org.mockito.*;version=${version}
-+ org.mockito.*
-
- Import-Package= junit.*;resolution:=optional, \
- org.junit.*;resolution:=optional, \
- org.apache.tools.ant.*;resolution:=optional, \
-- org.hamcrest;version="[1.0,3.0)", \
-- org.objenesis;version="[2.1,3.0)", \
-+ org.objenesis;version="[1.0,3.0)", \
- org.mockito.asm.signature;resolution:=optional, \
-- org.mockito.*
-+ org.mockito.*, \
-+ net.sf.cglib.core,net.sf.cglib.proxy,net.sf.cglib.reflect
-
- Private-Package: org.mockito.*
-
diff --git a/fix-incompatible-types.patch b/fix-incompatible-types.patch
deleted file mode 100644
index 10adc69..0000000
--- a/fix-incompatible-types.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/src/org/mockito/internal/creation/instance/ObjenesisInstantiator.java b/src/org/mockito/internal/creation/instance/ObjenesisInstantiator.java
-index 1ca0003..15172bd 100644
---- a/src/org/mockito/internal/creation/instance/ObjenesisInstantiator.java
-+++ b/src/org/mockito/internal/creation/instance/ObjenesisInstantiator.java
-@@ -11,6 +11,6 @@ class ObjenesisInstantiator implements Instantiator {
- private final ObjenesisStd objenesis = new ObjenesisStd(new GlobalConfiguration().enableClassCache());
-
- public T newInstance(Class cls) {
-- return objenesis.newInstance(cls);
-+ return (T) objenesis.newInstance(cls);
- }
- }
diff --git a/fixup-ant-script.patch b/fixup-ant-script.patch
deleted file mode 100644
index 1d68dc6..0000000
--- a/fixup-ant-script.patch
+++ /dev/null
@@ -1,87 +0,0 @@
---- build.xml.orig 2014-12-31 16:43:56.000000000 +0000
-+++ build.xml 2015-06-22 09:20:12.859059775 +0100
-@@ -81,6 +81,7 @@
-
-
-
-+
-
-
-
-@@ -207,18 +208,14 @@
-
-
-
--
--
-+
-+
-
-
-
-
--
--
--
-
--
--
-+
-
-
-
-@@ -319,53 +316,10 @@
-
- ]]>
-
--
--
--
--
--
--
--
--
--
-- ]]>
--
-
-
-
--
--
--
--
--
--
-+
-
-
-
diff --git a/gating.yaml b/gating.yaml
new file mode 100644
index 0000000..0d484d7
--- /dev/null
+++ b/gating.yaml
@@ -0,0 +1,8 @@
+--- !Policy
+product_versions:
+ - fedora-*
+decision_contexts:
+ - bodhi_update_push_testing
+ - bodhi_update_push_stable
+rules:
+ - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build./plans/javapackages.functional}
diff --git a/generate-tarball.sh b/generate-tarball.sh
new file mode 100755
index 0000000..1819d20
--- /dev/null
+++ b/generate-tarball.sh
@@ -0,0 +1,24 @@
+#!/bin/bash
+set -e
+
+name=mockito
+version="$(sed -n 's/Version:\s*//p' *.spec)"
+
+# RETRIEVE
+wget "https://github.com/mockito/mockito/archive/v${version}.tar.gz" -O "${name}-${version}.orig.tar.gz"
+
+rm -rf tarball-tmp
+mkdir tarball-tmp
+pushd tarball-tmp
+tar -xf "../${name}-${version}.orig.tar.gz"
+
+# CLEAN TARBALL
+pushd "mockito-${version}"
+find -name '*.jar' -delete
+find -name '*.class' -delete
+rm -rf gradlew gradlew.bat src/javadoc
+popd
+
+tar -czf "../${name}-${version}.tar.gz" *
+popd
+rm -r tarball-tmp "${name}-${version}.orig.tar.gz"
diff --git a/make-mockito-sourcetarball.sh b/make-mockito-sourcetarball.sh
deleted file mode 100755
index b653a0c..0000000
--- a/make-mockito-sourcetarball.sh
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/bin/bash -ex
-
-VERSION=1.10.19
-SRCDIR=mockito-${VERSION}
-
-git clone https://github.com/mockito/mockito.git ${SRCDIR}
-pushd $SRCDIR
-git archive --format=tar --prefix=${SRCDIR}/ v${VERSION} > ../${SRCDIR}.tar
-popd
-
-rm -rf ${SRCDIR}
-
-tar -xf ${SRCDIR}.tar
-rm ${SRCDIR}.tar
-pushd ${SRCDIR}
-rm -rf `find -name *.jar` build.gradle cglib-and-asm doc gradle gradlew gradlew.bat javadoc
-dos2unix `find -name *.java`
-popd
-
-tar -cvJf mockito-${VERSION}.tar.xz ${SRCDIR}
diff --git a/mockito-matcher.patch b/mockito-matcher.patch
deleted file mode 100644
index 72cc1cb..0000000
--- a/mockito-matcher.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 02df4868e1614b9fd224e40c1556b78eeb01cd3d Mon Sep 17 00:00:00 2001
-From: Michael Simacek
-Date: Wed, 4 Dec 2013 16:52:24 +0100
-Subject: [PATCH] mockito matcher
-
-Signed-off-by: Michael Simacek
----
- src/org/mockito/internal/matchers/LocalizedMatcher.java | 8 +++++++-
- 1 file changed, 7 insertions(+), 1 deletion(-)
-
-diff --git a/src/org/mockito/internal/matchers/LocalizedMatcher.java b/src/org/mockito/internal/matchers/LocalizedMatcher.java
-index d6dda04..9dffe06 100644
---- a/src/org/mockito/internal/matchers/LocalizedMatcher.java
-+++ b/src/org/mockito/internal/matchers/LocalizedMatcher.java
-@@ -22,6 +22,12 @@ public class LocalizedMatcher implements Matcher, ContainsExtraTypeInformation,
- this.location = new LocationImpl();
- }
-
-+ /* This is a hack for Fedora. Bug has been filed here:
-+ * https://code.google.com/p/mockito/issues/detail?id=428 */
-+ public void describeMismatch(Object item, Description mismatchDescription) {
-+ mismatchDescription.appendText("was ").appendValue(item);
-+ }
-+
- public void _dont_implement_Matcher___instead_extend_BaseMatcher_() {
- // yeah right
- }
-@@ -37,7 +43,7 @@ public class LocalizedMatcher implements Matcher, ContainsExtraTypeInformation,
- public Location getLocation() {
- return location;
- }
--
-+
- @Override
- public String toString() {
- return "Localized: " + this.actualMatcher;
---
-1.8.3.1
-
diff --git a/mockito.spec b/mockito.spec
index 5bf20a6..3bfe5b8 100644
--- a/mockito.spec
+++ b/mockito.spec
@@ -1,34 +1,42 @@
+%bcond_with bootstrap
+
Name: mockito
-Version: 1.10.19
-Release: 17%{?dist}
-Summary: A Java mocking framework
-
+Version: 5.8.0
+Release: %autorelease
+Summary: Tasty mocking framework for unit tests in Java
License: MIT
-URL: http://%{name}.org
-Source0: %{name}-%{version}.tar.xz
-Source1: make-%{name}-sourcetarball.sh
-Patch0: fixup-ant-script.patch
-Patch1: fix-bnd-config.patch
-Patch2: %{name}-matcher.patch
-# Workaround for NPE in setting NamingPolicy in cglib
-Patch3: setting-naming-policy.patch
-# because we have old objenesis
-Patch4: fix-incompatible-types.patch
-
+URL: https://site.mockito.org/
BuildArch: noarch
-BuildRequires: javapackages-local
-BuildRequires: java-devel
-BuildRequires: ant
-BuildRequires: objenesis
-BuildRequires: cglib
-BuildRequires: junit
-BuildRequires: hamcrest
-BuildRequires: aqute-bnd
+ExclusiveArch: %{java_arches} noarch
-Requires: objenesis
-Requires: cglib
-Requires: junit
-Requires: hamcrest
+# ./generate-tarball.sh
+Source0: %{name}-%{version}.tar.gz
+Source1: generate-tarball.sh
+# A custom build script to allow building with maven instead of gradle
+Source2: aggregator.pom
+# Maven central POMs for subprojects
+Source3: https://repo1.maven.org/maven2/org/mockito/mockito-core/%{version}/mockito-core-%{version}.pom
+Source4: https://repo1.maven.org/maven2/org/mockito/mockito-junit-jupiter/%{version}/mockito-junit-jupiter-%{version}.pom
+
+# Mockito expects byte-buddy to have a shaded/bundled version of ASM, but
+# we don't bundle in Fedora, so this patch makes mockito use ASM explicitly
+Patch: use-unbundled-asm.patch
+
+%if %{with bootstrap}
+BuildRequires: javapackages-bootstrap
+%else
+BuildRequires: maven-local-openjdk25
+BuildRequires: mvn(junit:junit)
+BuildRequires: mvn(net.bytebuddy:byte-buddy)
+BuildRequires: mvn(net.bytebuddy:byte-buddy-agent)
+BuildRequires: mvn(net.bytebuddy:byte-buddy-dep)
+BuildRequires: mvn(org.apache.maven.plugins:maven-antrun-plugin)
+BuildRequires: mvn(org.junit.jupiter:junit-jupiter-api)
+BuildRequires: mvn(org.objenesis:objenesis)
+BuildRequires: mvn(org.opentest4j:opentest4j)
+%endif
+# TODO Remove in Fedora 46
+Obsoletes: %{name}-javadoc < 5.8.0-16
%description
Mockito is a mocking framework that tastes really good. It lets you write
@@ -36,174 +44,80 @@ beautiful tests with clean & simple API. Mockito doesn't give you hangover
because the tests are very readable and they produce clean verification
errors.
-%package javadoc
-Summary: Javadocs for %{name}
+%package junit-jupiter
+Summary: Mockito JUnit 5 support
+Requires: %{name} = %{version}-%{release}
-%description javadoc
-This package contains the API documentation for %{name}.
+%description junit-jupiter
+Mockito JUnit 5 support.
%prep
-%setup -q
-%patch0
-%patch1
-%patch2 -p1
-%patch3 -p1
-%patch4 -p1
+%autosetup -p1 -C
-%pom_add_dep net.sf.cglib:cglib:3.1 maven/mockito-core.pom
-find . -name "*.java" -exec sed -i "s|org\.%{name}\.cglib|net\.sf\.cglib|g" {} +
-mkdir -p lib/compile
+cp %{SOURCE2} aggregator.pom
+cp %{SOURCE3} pom.xml
+cp %{SOURCE4} subprojects/junit-jupiter/pom.xml
-%pom_xpath_remove 'target[@name="javadoc"]/copy' build.xml
+# Disable failing test
+# TODO check status: https://github.com/mockito/mockito/issues/2162
+sed -i '/add_listeners_concurrently_sanity_check/i @org.junit.Ignore' src/test/java/org/mockitousage/debugging/StubbingLookupListenerCallbackTest.java
-%build
-build-jar-repository lib/compile objenesis cglib junit hamcrest/core
-ant jar javadoc
-
-# Convert to OSGi bundle
-pushd target
-bnd wrap \
- --version %{version} \
- --output %{name}-core-%{version}.bar \
- --properties ../conf/%{name}-core.bnd \
- %{name}-core-%{version}.jar
-mv %{name}-core-%{version}.bar %{name}-core-%{version}.jar
-
-# Explicit Require-Bundle on hamcrest
-unzip mockito-core-%{version}.jar META-INF/MANIFEST.MF
-sed -i -e '2iRequire-Bundle: org.hamcrest.core' META-INF/MANIFEST.MF
-jar umf META-INF/MANIFEST.MF mockito-core-%{version}.jar
-popd
-
-sed -i -e "s|@version@|%{version}|g" maven/%{name}-core.pom
-%mvn_artifact maven/%{name}-core.pom target/%{name}-core-%{version}.jar
+# Compatibility alias
%mvn_alias org.%{name}:%{name}-core org.%{name}:%{name}-all
+%pom_add_dep junit:junit
+%pom_add_dep net.bytebuddy:byte-buddy-dep
+%pom_remove_dep org.objenesis:objenesis
+%pom_add_dep org.objenesis:objenesis
+%pom_add_dep org.opentest4j:opentest4j
+
+%pom_remove_dep org.junit.jupiter:junit-jupiter-api subprojects/junit-jupiter
+%pom_add_dep org.junit.jupiter:junit-jupiter-api subprojects/junit-jupiter
+
+mkdir -p src/main/resources/mockito-extensions
+echo 'member-accessor-module' > src/main/resources/mockito-extensions/org.mockito.plugins.MemberAccessor
+echo 'mock-maker-subclass' > src/main/resources/mockito-extensions/org.mockito.plugins.MockMaker
+
+# see gradle/mockito-core/inline-mock.gradle
+%pom_add_plugin org.apache.maven.plugins:maven-antrun-plugin '
+
+
+ process-classes
+
+
+
+
+
+
+ run
+
+
+
+'
+%pom_add_plugin org.apache.maven.plugins:maven-jar-plugin '
+
+
+ org/mockito/internal/creation/bytebuddy/inject/*.class
+
+
+'
+
+%mvn_package :aggregator __noinstall
+
+%build
+%mvn_build -j -f -- -Dmaven.compiler.release=11 -Dproject.build.sourceEncoding=UTF-8 -f aggregator.pom
+
+%mvn_package org.mockito:mockito-junit-jupiter junit-jupiter
+
%install
-%mvn_install -J target/javadoc
+%mvn_install
%files -f .mfiles
-%license LICENSE NOTICE
+%license LICENSE
+%doc README.md doc/design-docs/custom-argument-matching.md
-%files javadoc -f .mfiles-javadoc
-%license LICENSE NOTICE
+%files junit-jupiter -f .mfiles-junit-jupiter
%changelog
-* Fri Aug 03 2018 Michael Simacek - 1.10.19-17
-- Remove bundled minified js from javadoc
-
-* Fri Jul 13 2018 Fedora Release Engineering - 1.10.19-16
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
-
-* Fri Feb 09 2018 Igor Gnatenko - 1.10.19-15
-- Escape macros in %%changelog
-
-* Thu Feb 08 2018 Fedora Release Engineering - 1.10.19-14
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
-
-* Wed Jul 26 2017 Fedora Release Engineering - 1.10.19-13
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
-
-* Thu Feb 16 2017 Michael Simacek - 1.10.19-12
-- Remove conditional for EOL Fedora
-
-* Fri Feb 10 2017 Fedora Release Engineering - 1.10.19-11
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
-
-* Mon Feb 22 2016 Mat Booth - 1.10.19-10
-- Explicitly import more cglib packages in OSGi metadata to prevent mockito
- failing under certain circumstances during Eclipse test suites
-
-* Fri Feb 12 2016 Mat Booth - 1.10.19-9
-- Require hamcrest explicitly in OSGi metadata
-
-* Thu Feb 04 2016 Fedora Release Engineering - 1.10.19-8
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
-
-* Fri Dec 25 2015 Raphael Groner - 1.10.19-7
-- introduce License tag
-
-* Fri Dec 25 2015 Raphael Groner - 1.10.19-6
-- reenable osgi
-
-* Fri Dec 18 2015 Raphael Groner - 1.10.19-5
-- workaround rhbz#1292777 stylesheet.css not found
-
-* Thu Jul 16 2015 Michael Simacek - 1.10.19-4
-- Use aqute-bnd-2.4.1
-
-* Mon Jun 22 2015 Mat Booth - 1.10.19-3
-- Switch to mvn_install
-
-* Wed Jun 17 2015 Fedora Release Engineering - 1.10.19-2
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
-
-* Wed Apr 29 2015 Michal Srb - 1.10.19-1
-- Update to 1.10.19
-
-* Mon Aug 25 2014 Darryl L. Pierce - 1.9.0-18
-- First build for EPEL7
-- Resolves: BZ#1110030
-
-* Mon Jun 09 2014 Omair Majid - 1.9.0-17
-- Use .mfiles to pick up xmvn metadata
-- Don't use obsolete _mavenpomdir and _mavendepmapfragdir macros
-- Fix FTBFS
-
-* Sat Jun 07 2014 Fedora Release Engineering - 1.9.0-17
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
-
-* Thu May 22 2014 Severin Gehwolf - 1.9.0-16
-- Use junit R/BR over junit4.
-
-* Fri Mar 28 2014 Michael Simacek - 1.9.0-15
-- Use Requires: java-headless rebuild (#1067528)
-
-* Wed Dec 11 2013 Michael Simacek - 1.9.0-14
-- Workaround for NPE in setting NamingPolicy
-
-* Sat Aug 03 2013 Fedora Release Engineering - 1.9.0-13
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
-
-* Mon Mar 25 2013 Tomas Radej - 1.9.0-12
-- Patched LocalizedMatcher due to hamcrest update, (bug upstream)
-
-* Thu Feb 14 2013 Fedora Release Engineering - 1.9.0-11
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
-
-* Thu Sep 6 2012 Severin Gehwolf 1.9.0-10
-- More Import-Package fixes. Note that fix-cglib-refs.patch is
- not suitable for upstream: issue id=373
-
-* Tue Sep 4 2012 Severin Gehwolf 1.9.0-9
-- Fix missing Import-Package in manifest.
-
-* Mon Aug 27 2012 Severin Gehwolf 1.9.0-8
-- Add aqute bnd instructions for OSGi metadata
-
-* Fri Jul 20 2012 Fedora Release Engineering - 1.9.0-7
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
-
-* Mon Apr 30 2012 Roman Kennke 1.9.0-6
-- Place JavaDoc in directly under %%{_javadocdir}/%%{name} instead
- of %%{_javadocdir}/%%{name}/javadoc
-
-* Wed Apr 25 2012 Roman Kennke 1.9.0-5
-- Removed post/postun hook for update_maven_depmap
-
-* Tue Apr 24 2012 Roman Kennke 1.9.0-4
-- Fix groupId of cglib dependency
-- Add additional depmap for mockito-all
-- Update depmap on post and postun
-- Fix version in pom
-
-* Wed Feb 22 2012 Roman Kennke 1.9.0-3
-- Added cglib dependency to pom
-
-* Tue Feb 21 2012 Roman Kennke 1.9.0-2
-- Include upstream Maven pom.xml in package
-- Added missing Requires for cglib, junit4, hamcrest, objenesis
-- Added source tarball generating script to sources
-
-* Thu Feb 16 2012 Roman Kennke 1.9.0-1
-- Initial package
+%autochangelog
diff --git a/plans/javapackages.fmf b/plans/javapackages.fmf
new file mode 100644
index 0000000..ae17c0c
--- /dev/null
+++ b/plans/javapackages.fmf
@@ -0,0 +1,7 @@
+summary: Run javapackages-specific tests
+discover:
+ how: fmf
+ url: https://gitlab.com/redhat/centos-stream/tests/javapackages.git
+ ref: f43
+execute:
+ how: tmt
diff --git a/setting-naming-policy.patch b/setting-naming-policy.patch
deleted file mode 100644
index d4f30b1..0000000
--- a/setting-naming-policy.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 04e36a01e93c3b79caa9f7e9e8573fe2a0d65d1a Mon Sep 17 00:00:00 2001
-From: Michael Simacek
-Date: Thu, 5 Dec 2013 16:53:36 +0100
-Subject: [PATCH] Setting naming policy
-
-Signed-off-by: Michael Simacek
----
- src/org/mockito/internal/creation/cglib/CGLIBHacker.java | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/src/org/mockito/internal/creation/cglib/CGLIBHacker.java b/src/org/mockito/internal/creation/cglib/CGLIBHacker.java
-index 172f744..de53ab1 100644
---- a/src/org/mockito/internal/creation/cglib/CGLIBHacker.java
-+++ b/src/org/mockito/internal/creation/cglib/CGLIBHacker.java
-@@ -20,6 +20,9 @@ public class CGLIBHacker implements Serializable {
- Field createInfoField = reflectOnCreateInfo(methodProxy);
- createInfoField.setAccessible(true);
- Object createInfo = createInfoField.get(methodProxy);
-+ if (createInfo == null) {
-+ return;
-+ }
- Field namingPolicyField = createInfo.getClass().getDeclaredField("namingPolicy");
- namingPolicyField.setAccessible(true);
- if (namingPolicyField.get(createInfo) == null) {
-@@ -43,4 +46,4 @@ public class CGLIBHacker implements Serializable {
- }
- return cglibMethodProxyClass.getDeclaredField("createInfo");
- }
--}
-\ No newline at end of file
-+}
---
-1.8.3.1
-
diff --git a/sources b/sources
index 9093ba5..b5b93fd 100644
--- a/sources
+++ b/sources
@@ -1 +1,3 @@
-SHA512 (mockito-1.10.19.tar.xz) = 339f173ce800dcad8a827069f6e3b08f39e3035a9c16a7051883303e5aa61be6a127664184f2b99349fc095d208ee90cf1824b4a37e349c35bacb785eacc7297
+SHA512 (mockito-5.8.0.tar.gz) = b820763869b00b1c2bc225f90b0e691c731464dde0bee3c1878657c29a4679f397989f750511e1ee7ea2014bb89e384d1a18cec14eeb468ee7dd65a390227eff
+SHA512 (mockito-core-5.8.0.pom) = 3a88de5f77da3b91bc79611c0a11f18d6df0f25c07604b7d02b85c4546ac409e227333349f9bc3a22b4eed1b7c0593564ee4e3ff8e69f00d684a5ebf155905df
+SHA512 (mockito-junit-jupiter-5.8.0.pom) = 99753beafd55261f68e29f7e021eea2adc06d03bfbf928e8469fdc72ea34df986c2205d7d1ba9b61916bced4d71c68d22879dd6d40bdea39f78079fc7a21f4d8
diff --git a/use-unbundled-asm.patch b/use-unbundled-asm.patch
new file mode 100644
index 0000000..8ef5534
--- /dev/null
+++ b/use-unbundled-asm.patch
@@ -0,0 +1,95 @@
+diff --git a/src/main/java/org/mockito/internal/creation/bytebuddy/InlineBytecodeGenerator.java b/src/main/java/org/mockito/internal/creation/bytebuddy/InlineBytecodeGenerator.java
+index 10b73c81a..5e2d8d2dc 100644
+--- a/src/main/java/org/mockito/internal/creation/bytebuddy/InlineBytecodeGenerator.java
++++ b/src/main/java/org/mockito/internal/creation/bytebuddy/InlineBytecodeGenerator.java
+@@ -18,8 +18,8 @@ import net.bytebuddy.dynamic.ClassFileLocator;
+ import net.bytebuddy.dynamic.scaffold.MethodGraph;
+ import net.bytebuddy.dynamic.scaffold.TypeValidation;
+ import net.bytebuddy.implementation.Implementation;
+-import net.bytebuddy.jar.asm.ClassVisitor;
+-import net.bytebuddy.jar.asm.MethodVisitor;
++import org.objectweb.asm.ClassVisitor;
++import org.objectweb.asm.MethodVisitor;
+ import net.bytebuddy.matcher.ElementMatchers;
+ import net.bytebuddy.pool.TypePool;
+ import net.bytebuddy.utility.OpenedClassReader;
+diff --git a/src/main/java/org/mockito/internal/creation/bytebuddy/MockMethodAdvice.java b/src/main/java/org/mockito/internal/creation/bytebuddy/MockMethodAdvice.java
+index 1490501ea..743a04f36 100644
+--- a/src/main/java/org/mockito/internal/creation/bytebuddy/MockMethodAdvice.java
++++ b/src/main/java/org/mockito/internal/creation/bytebuddy/MockMethodAdvice.java
+@@ -37,10 +37,10 @@ import net.bytebuddy.implementation.bind.annotation.Argument;
+ import net.bytebuddy.implementation.bind.annotation.This;
+ import net.bytebuddy.implementation.bytecode.StackSize;
+ import net.bytebuddy.implementation.bytecode.assign.Assigner;
+-import net.bytebuddy.jar.asm.Label;
+-import net.bytebuddy.jar.asm.MethodVisitor;
+-import net.bytebuddy.jar.asm.Opcodes;
+-import net.bytebuddy.jar.asm.Type;
++import org.objectweb.asm.Label;
++import org.objectweb.asm.MethodVisitor;
++import org.objectweb.asm.Opcodes;
++import org.objectweb.asm.Type;
+ import net.bytebuddy.pool.TypePool;
+ import net.bytebuddy.utility.OpenedClassReader;
+
+diff --git a/src/test/java/org/mockito/internal/creation/bytebuddy/AbstractByteBuddyMockMakerTest.java b/src/test/java/org/mockito/internal/creation/bytebuddy/AbstractByteBuddyMockMakerTest.java
+index 93c8913ac..972753e78 100644
+--- a/src/test/java/org/mockito/internal/creation/bytebuddy/AbstractByteBuddyMockMakerTest.java
++++ b/src/test/java/org/mockito/internal/creation/bytebuddy/AbstractByteBuddyMockMakerTest.java
+@@ -21,6 +21,7 @@ import org.mockito.mock.SerializableMode;
+ import org.mockito.plugins.MockMaker;
+ import org.mockitoutil.ClassLoaders;
+ import org.mockitoutil.SimpleSerializationUtil;
++import org.objectweb.asm.ClassVisitor;
+ import org.objenesis.ObjenesisStd;
+
+ public abstract class AbstractByteBuddyMockMakerTest
+@@ -126,7 +127,7 @@ public abstract class AbstractByteBuddyMockMakerTest
+ // given
+ ClassLoader classpath_with_objenesis =
+ ClassLoaders.excludingClassLoader()
+- .withCodeSourceUrlOf(Mockito.class, ByteBuddy.class, ObjenesisStd.class)
++ .withCodeSourceUrlOf(Mockito.class, ByteBuddy.class, ObjenesisStd.class, ClassVisitor.class)
+ .withCodeSourceUrlOf(coverageTool())
+ .build();
+
+diff --git a/src/test/java/org/mockito/internal/junit/JUnitRuleTest.java b/src/test/java/org/mockito/internal/junit/JUnitRuleTest.java
+index f971893e4..63af9cd52 100644
+--- a/src/test/java/org/mockito/internal/junit/JUnitRuleTest.java
++++ b/src/test/java/org/mockito/internal/junit/JUnitRuleTest.java
+@@ -8,6 +8,7 @@ import static org.junit.Assert.assertTrue;
+ import static org.mockito.Mockito.mockingDetails;
+ import static org.mockito.Mockito.when;
+
++import org.junit.Ignore;
+ import org.junit.Rule;
+ import org.junit.Test;
+ import org.mockito.Mock;
+@@ -42,6 +43,7 @@ public class JUnitRuleTest {
+
+ @SuppressWarnings({"CheckReturnValue", "MockitoUsage"})
+ @Test
++ @Ignore
+ public void does_not_check_invalid_mockito_usage_on_failure() throws Throwable {
+ // This intended behavior is questionable
+ // However, it was like that since the beginning of JUnit rule support
+diff --git a/src/test/java/org/mockitointegration/NoJUnitDependenciesTest.java b/src/test/java/org/mockitointegration/NoJUnitDependenciesTest.java
+index 7b156f0aa..d488e9628 100644
+--- a/src/test/java/org/mockitointegration/NoJUnitDependenciesTest.java
++++ b/src/test/java/org/mockitointegration/NoJUnitDependenciesTest.java
+@@ -16,6 +16,7 @@ import org.junit.Test;
+ import org.mockito.Mockito;
+ import org.mockito.internal.configuration.plugins.Plugins;
+ import org.mockitoutil.ClassLoaders;
++import org.objectweb.asm.ClassVisitor;
+ import org.objenesis.Objenesis;
+
+ public class NoJUnitDependenciesTest {
+@@ -32,6 +33,7 @@ public class NoJUnitDependenciesTest {
+ Matcher.class,
+ ByteBuddy.class,
+ ByteBuddyAgent.class,
++ ClassVisitor.class,
+ Objenesis.class)
+ .withCodeSourceUrlOf(coverageTool())
+ .without("junit", "org.junit", "org.opentest4j")