diff --git a/0001-Disable-android-support.patch b/0001-Disable-android-support.patch new file mode 100644 index 0000000..208e85b --- /dev/null +++ b/0001-Disable-android-support.patch @@ -0,0 +1,29 @@ +From 57501046dc32012210433444543c513b20c5d517 Mon Sep 17 00:00:00 2001 +From: Michael Simacek +Date: Mon, 30 May 2016 14:24:43 +0200 +Subject: [PATCH 1/3] Disable android support + +--- + core/src/main/java/org/easymock/internal/MocksControl.java | 6 ------ + 1 file changed, 6 deletions(-) + +diff --git a/core/src/main/java/org/easymock/internal/MocksControl.java b/core/src/main/java/org/easymock/internal/MocksControl.java +index fb2a5dc..356b1c4 100644 +--- a/core/src/main/java/org/easymock/internal/MocksControl.java ++++ b/core/src/main/java/org/easymock/internal/MocksControl.java +@@ -147,12 +147,6 @@ public class MocksControl implements IMocksControl, IExpectationSetters, + return cached; + } + +- // ///CLOVER:OFF +- if (AndroidSupport.isAndroid()) { +- return classProxyFactory = new AndroidClassProxyFactory(); +- } +- // ///CLOVER:ON +- + return classProxyFactory = new ClassProxyFactory(); + } + +-- +2.13.5 + diff --git a/0002-Unshade-cglib-and-asm.patch b/0002-Unshade-cglib-and-asm.patch new file mode 100644 index 0000000..93d3367 --- /dev/null +++ b/0002-Unshade-cglib-and-asm.patch @@ -0,0 +1,27 @@ +From 2ad2e79989f64072d8437ada55b12eaa8c23834d Mon Sep 17 00:00:00 2001 +From: Michael Simacek +Date: Mon, 30 May 2016 15:14:40 +0200 +Subject: [PATCH 2/3] Unshade cglib and asm + +--- + core/pom.xml | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/core/pom.xml b/core/pom.xml +index 1ca847a..5ed6adb 100644 +--- a/core/pom.xml ++++ b/core/pom.xml +@@ -100,8 +100,8 @@ + true + + +- org.easymock.internal.*;poweruser=true;mandatory:=poweruser,org.easymock,org.easymock.cglib.core,org.easymock.cglib.proxy,org.easymock.cglib.reflect,org.easymock.asm +- org.easymock,org.easymock.internal;poweruser=true,org.easymock.cglib.core,org.easymock.cglib.proxy,org.easymock.cglib.reflect,org.easymock.asm,org.objenesis;resolution:=optional ++ org.easymock.internal.*;poweruser=true;mandatory:=poweruser ++ org.easymock,org.easymock.internal;poweruser=true,net.sf.cglib.core,net.sf.cglib.proxy,net.sf.cglib.reflect,org.objectweb.asm,org.objenesis;resolution:=optional + + + +-- +2.13.5 + diff --git a/0003-Fix-OSGi-manifest.patch b/0003-Fix-OSGi-manifest.patch new file mode 100644 index 0000000..d4b3263 --- /dev/null +++ b/0003-Fix-OSGi-manifest.patch @@ -0,0 +1,28 @@ +From fa908a1748cb3090d677a63db4986ffc57acbf1e Mon Sep 17 00:00:00 2001 +From: Mikolaj Izdebski +Date: Wed, 1 Jun 2016 09:31:44 +0200 +Subject: [PATCH 3/3] Fix OSGi manifest + +Resolves: rhbz#1341052 +--- + core/pom.xml | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/core/pom.xml b/core/pom.xml +index 5ed6adb..ea6d015 100644 +--- a/core/pom.xml ++++ b/core/pom.xml +@@ -100,8 +100,9 @@ + true + + +- org.easymock.internal.*;poweruser=true;mandatory:=poweruser ++ org.easymock,org.easymock.internal.*;poweruser=true;mandatory:=poweruser + org.easymock,org.easymock.internal;poweruser=true,net.sf.cglib.core,net.sf.cglib.proxy,net.sf.cglib.reflect,org.objectweb.asm,org.objenesis;resolution:=optional ++ <_nouses>true + + + +-- +2.13.5 + diff --git a/easymock-3.5.tar.gz b/easymock-3.5.tar.gz new file mode 100644 index 0000000..12cc186 Binary files /dev/null and b/easymock-3.5.tar.gz differ diff --git a/easymock.spec b/easymock.spec new file mode 100644 index 0000000..1068cb3 --- /dev/null +++ b/easymock.spec @@ -0,0 +1,80 @@ +Name: easymock +Version: 3.5 +Release: 5 +Summary: Easy mock objects +License: ASL 2.0 +URL: http://www.easymock.org +Source0: %{name}-%{version}.tar.gz +Source1: generate-tarball.sh + +Patch0001: 0001-Disable-android-support.patch +Patch0002: 0002-Unshade-cglib-and-asm.patch +Patch0003: 0003-Fix-OSGi-manifest.patch + +BuildArch: noarch + +BuildRequires: maven-local mvn(cglib:cglib) mvn(junit:junit) mvn(org.apache.felix:maven-bundle-plugin) +BuildRequires: mvn(org.apache.maven.plugins:maven-remote-resources-plugin) mvn(org.ow2.asm:asm) +BuildRequires: mvn(org.apache.maven.surefire:surefire-junit47) mvn(org.testng:testng) +BuildRequires: mvn(org.apache.maven.surefire:surefire-testng) mvn(org.objenesis:objenesis) +BuildRequires: mvn(org.codehaus.mojo:build-helper-maven-plugin) mvn(org.apache:apache-jar-resource-bundle) + +Obsoletes: %{name}3 < 3.4 +Provides: %{name}3 = %{version}-%{release} +Obsoletes: %{name}2 < 2.5.2-10 + + +%description +EasyMock provides Mock Objects for interfaces in JUnit tests by generating +them on the fly using Java's proxy mechanism. Due to EasyMock's unique style +of recording expectations, most refactorings will not affect the Mock Objects. +So EasyMock is a perfect fit for Test-Driven Development. + +%package help +Summary: API documentation for easymock +Provides: %{name}-javadoc = %{version}-%{release} +Obsoletes: %{name}-javadoc < %{version}-%{release} + +%description help +The help for easymock to use. + +%prep +%autosetup -n %{name}-%{name}-%{version} -p1 + +%pom_remove_plugin :maven-license-plugin + +rm core/src/main/java/org/easymock/internal/Android*.java +rm core/src/test/java/org/easymock/tests2/ClassExtensionHelperTest.java +%pom_disable_module test-android +%pom_remove_dep :dexmaker core + +%pom_disable_module test-nodeps +%pom_remove_plugin :maven-shade-plugin core + +%pom_disable_module test-integration +%pom_disable_module test-osgi + +%pom_remove_plugin org.codehaus.mojo:versions-maven-plugin + +%pom_remove_plugin :maven-timestamp-plugin + +%mvn_file ":easymock{*}" easymock@1 easymock3@1 + +%pom_xpath_remove pom:extensions + +%build +%mvn_build + +%install +%mvn_install + + +%files -f .mfiles +%license core/LICENSE.txt + +%files help -f .mfiles-javadoc +%license core/LICENSE.txt + +%changelog +* Thu Nov 14 2019 wangye - 3.5-5 +- Package init diff --git a/generate-tarball.sh b/generate-tarball.sh new file mode 100755 index 0000000..3d5fe1e --- /dev/null +++ b/generate-tarball.sh @@ -0,0 +1,23 @@ +#!/bin/bash +set -e + +name=easymock +version="$(sed -n 's/Version:\s*//p' *.spec)" + +# RETRIEVE +wget "https://github.com/${name}/${name}/archive/${name}-${version}.tar.gz" -O "${name}-${version}.orig.tar.gz" + +rm -rf tarball-tmp +mkdir tarball-tmp +cd tarball-tmp +tar xf "../${name}-${version}.orig.tar.gz" + +# CLEAN TARBALL +find -name '*.jar' -delete +find -name '*.class' -delete +# Contains minified js of uncertain origin +rm -r */website + +tar cf "../${name}-${version}.tar.gz" * +cd .. +rm -r tarball-tmp "${name}-${version}.orig.tar.gz"