diff --git a/fix-bnd-config.patch b/fix-bnd-config.patch new file mode 100644 index 0000000..8716061 --- /dev/null +++ b/fix-bnd-config.patch @@ -0,0 +1,29 @@ +--- a/conf/mockito-core.bnd.orig 2014-12-31 16:43:56.000000000 +0000 ++++ b/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 new file mode 100644 index 0000000..10adc69 --- /dev/null +++ b/fix-incompatible-types.patch @@ -0,0 +1,12 @@ +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 new file mode 100644 index 0000000..7daf9b4 --- /dev/null +++ b/fixup-ant-script.patch @@ -0,0 +1,87 @@ +--- a/build.xml.orig 2014-12-31 16:43:56.000000000 +0000 ++++ b/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/mockito-matcher.patch b/mockito-matcher.patch new file mode 100644 index 0000000..72cc1cb --- /dev/null +++ b/mockito-matcher.patch @@ -0,0 +1,39 @@ +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 new file mode 100644 index 0000000..ba0fc39 --- /dev/null +++ b/mockito.spec @@ -0,0 +1,77 @@ +Name: mockito +Version: 1.10.19 +Release: 18 +Summary: A Java mocking framework +License: MIT +URL: http://mockito.org +Source0: https://github.com/mockito/mockito/archive/v1.10.19.tar.gz +# fix bnd config to resolve build error +Patch0001: fix-bnd-config.patch +# fix ant script to resolve build error +Patch0002: fixup-ant-script.patch +# fix build error +Patch0003: mockito-matcher.patch +# Workaround for NPE in setting NamingPolicy in cglib +Patch0004: setting-naming-policy.patch +# because we have old objenesis +Patch0005: fix-incompatible-types.patch +BuildArch: noarch +BuildRequires: javapackages-local java-devel ant objenesis cglib +BuildRequires: junit hamcrest aqute-bnd dos2unix +Requires: objenesis cglib junit hamcrest + +%description +Mockito is a mocking framework that tastes really good. It lets you write +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 help +Summary: This package contains help documents +Provides: mockito-javadoc = %{version}-%{release} +Obsoletes: mockito-javadoc < %{version}-%{release} + +%description help +Files for help with mockito + +%prep +%setup -q +rm -rf `find -name *.jar` build.gradle cglib-and-asm doc gradle gradlew gradlew.bat javadoc +dos2unix `find -name *.java` +%patch0001 -p1 +%patch0002 -p1 +%patch0003 -p1 +%patch0004 -p1 +%patch0005 -p1 +%pom_add_dep net.sf.cglib:cglib:3.1 maven/mockito-core.pom +find . -name "*.java" -exec sed -i "s|org\.mockito\.cglib|net\.sf\.cglib|g" {} + +install -d lib/compile +%pom_xpath_remove 'target[@name="javadoc"]/copy' build.xml + +%build +build-jar-repository lib/compile objenesis cglib junit hamcrest/core +ant jar javadoc +cd target +bnd wrap --version 1.10.19 --output mockito-core-1.10.19.bar \ + --properties ../conf/mockito-core.bnd mockito-core-1.10.19.jar +mv mockito-core-1.10.19.bar mockito-core-1.10.19.jar +unzip mockito-core-1.10.19.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-1.10.19.jar +cd .. +sed -i -e "s|@version@|1.10.19|g" maven/mockito-core.pom +%mvn_artifact maven/mockito-core.pom target/mockito-core-1.10.19.jar +%mvn_alias org.mockito:mockito-core org.mockito:mockito-all + +%install +%mvn_install -J target/javadoc + +%files -f .mfiles +%doc LICENSE + +%files help -f .mfiles-javadoc +%doc NOTICE + +%changelog +* Thu Apr 2 2020 gulining - 1.10.19-18 +- Package init diff --git a/setting-naming-policy.patch b/setting-naming-policy.patch new file mode 100644 index 0000000..d4f30b1 --- /dev/null +++ b/setting-naming-policy.patch @@ -0,0 +1,34 @@ +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/v1.10.19.tar.gz b/v1.10.19.tar.gz new file mode 100644 index 0000000..55eee0f Binary files /dev/null and b/v1.10.19.tar.gz differ