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 @@ -

Click to see examples. Mockito ${version} API.

- ]]> - --
-- -- -- -- -- -- -- -- -- ]]> --
- - - -- -- -- -- -- -- -+ -
- - 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")