Update to upstream 3.3.1 release.

This commit is contained in:
Alexander Kurtakov 2015-05-05 09:31:01 +03:00
parent fd25267427
commit 35a7a9355b
4 changed files with 13 additions and 168 deletions

1
.gitignore vendored
View File

@ -2,3 +2,4 @@ easymock-1.2-src.tar.gz
/easymock-1.2_Java1.5.pom
/easymock-3.2.tar.gz
/easymock-3.3.tar.gz
/easymock-3.3.1.tar.gz

View File

@ -4,171 +4,10 @@ Date: Fri, 9 Aug 2013 12:44:48 +0200
Subject: [PATCH] Remove android support
---
.../internal/AndroidClassProxyFactory.java | 101 ---------------------
.../java/org/easymock/internal/AndroidSupport.java | 43 ---------
.../java/org/easymock/internal/MocksControl.java | 6 --
.../easymock/tests2/ClassExtensionHelperTest.java | 12 +--
4 files changed, 3 insertions(+), 159 deletions(-)
delete mode 100644 easymock/src/main/java/org/easymock/internal/AndroidClassProxyFactory.java
delete mode 100644 easymock/src/main/java/org/easymock/internal/AndroidSupport.java
2 files changed, 3 insertions(+), 159 deletions(-)
diff --git a/easymock/src/main/java/org/easymock/internal/AndroidClassProxyFactory.java b/easymock/src/main/java/org/easymock/internal/AndroidClassProxyFactory.java
deleted file mode 100644
index 3e7f11c..0000000
--- a/easymock/src/main/java/org/easymock/internal/AndroidClassProxyFactory.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/**
- * Copyright 2001-2014 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.easymock.internal;
-
-import java.io.IOException;
-import java.lang.reflect.Constructor;
-import java.lang.reflect.InvocationHandler;
-import java.lang.reflect.Method;
-import java.lang.reflect.Modifier;
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.Set;
-
-import org.easymock.ConstructorArgs;
-
-import com.google.dexmaker.stock.ProxyBuilder;
-
-// ///CLOVER:OFF (sadly not possible to test android with clover)
-/**
- * Mocks concrete classes for Android's runtime by generating dex files.
- */
-public final class AndroidClassProxyFactory implements IProxyFactory {
- public <T> T createProxy(Class<T> toMock, InvocationHandler handler,
- Method[] mockedMethods, ConstructorArgs constructorArgs) {
- final MockHandler interceptor = new MockHandler(handler, mockedMethods);
- try {
- ProxyBuilder<T> builder = ProxyBuilder.forClass(toMock)
- .handler(interceptor);
- if (constructorArgs != null) {
- builder.constructorArgTypes(constructorArgs.getConstructor().getParameterTypes())
- .constructorArgValues(constructorArgs.getInitArgs());
- } else {
- try {
- DefaultClassInstantiator instantiator = new DefaultClassInstantiator();
- Constructor<?> constructor = instantiator.getConstructorToUse(toMock);
- Object[] params = instantiator.getArgsForTypes(constructor.getParameterTypes());
- builder.constructorArgTypes(constructor.getParameterTypes())
- .constructorArgValues(params);
- } catch (InstantiationException e) {
- throw new RuntimeException("Fail to instantiate mock for " + toMock);
- }
- }
- return builder.build();
- } catch (IOException e) {
- throw new RuntimeException("Failed to mock " + toMock, e);
- }
- }
-
- public InvocationHandler getInvocationHandler(Object mock) {
- MockHandler mockHandler = (MockHandler) ProxyBuilder.getInvocationHandler(mock);
- return mockHandler.delegate;
- }
-
- private static class MockHandler implements InvocationHandler {
- private final InvocationHandler delegate;
- private final Set<Method> mockedMethods;
-
- public MockHandler(InvocationHandler delegate, Method... mockedMethods) {
- this.delegate = delegate;
- this.mockedMethods = (mockedMethods != null)
- ? new HashSet<Method>(Arrays.asList(mockedMethods))
- : null;
- }
-
- public Object invoke(Object obj, Method method, Object[] args) throws Throwable {
- if (method.isBridge()) {
- method = BridgeMethodResolver.findBridgedMethod(method);
- }
-
- // Never intercept EasyMock's own calls to fillInStackTrace
- boolean internalFillInStackTraceCall = obj instanceof Throwable
- && method.getName().equals("fillInStackTrace")
- && ClassProxyFactory.isCallerMockInvocationHandlerInvoke(new Throwable());
-
- if (internalFillInStackTraceCall
- || isMocked(method) && !Modifier.isAbstract(method.getModifiers())) {
- return ProxyBuilder.callSuper(obj, method, args);
- }
-
- return delegate.invoke(obj, method, args);
- }
-
- private boolean isMocked(Method method) {
- return mockedMethods != null && !mockedMethods.contains(method);
- }
- }
-}
-// ///CLOVER:ON
\ No newline at end of file
diff --git a/easymock/src/main/java/org/easymock/internal/AndroidSupport.java b/easymock/src/main/java/org/easymock/internal/AndroidSupport.java
deleted file mode 100644
index dd073cf..0000000
--- a/easymock/src/main/java/org/easymock/internal/AndroidSupport.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/**
- * Copyright 2001-2014 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.easymock.internal;
-
-/**
- * Android-specific support.
- */
-public final class AndroidSupport {
- // ///CLOVER:OFF
- private static boolean isAndroid;
- static {
- try {
- Class.forName("dalvik.system.PathClassLoader");
-
- // Also verify that dexmaker is present, if not we might
- // be running under something like robolectric, which
- // means we should not use dexmaker
- Class.forName("com.google.dexmaker.Code");
-
- isAndroid = true;
- } catch (final ClassNotFoundException e) {
- isAndroid = false;
- }
- }
-
- public static boolean isAndroid() {
- return isAndroid;
- }
- // ///CLOVER:ON
-}
diff --git a/easymock/src/main/java/org/easymock/internal/MocksControl.java b/easymock/src/main/java/org/easymock/internal/MocksControl.java
index 131d22c..0782825 100644
--- a/easymock/src/main/java/org/easymock/internal/MocksControl.java

View File

@ -1,6 +1,6 @@
Name: easymock
Version: 3.3
Release: 2%{?dist}
Version: 3.3.1
Release: 1%{?dist}
Summary: Easy mock objects
License: ASL 2.0
URL: http://www.easymock.org
@ -47,12 +47,13 @@ Javadoc for %{name}.
find . -name "*.zip" -delete
# remove android support
%patch5 -p1
rm -fr easymock/src/main/java/org/easymock/internal/Android*.java
%patch5 -p1 -b .sav
%pom_xpath_remove "pom:profile[pom:id[text()='android']]"
%pom_remove_dep :dexmaker easymock
# fix cglib aId and gId
%pom_remove_dep :cglib-nodep easymock
%pom_remove_dep :cglib easymock
%pom_add_dep net.sf.cglib:cglib easymock
# remove some warning caused by unavailable plugin
@ -61,7 +62,8 @@ find . -name "*.zip" -delete
# retired
%pom_remove_plugin :maven-timestamp-plugin
%pom_disable_module easymock-integration
%pom_disable_module easymock-test-integration
%pom_disable_module easymock-test-osgi
# For compatibility reasons
%mvn_file ":easymock{*}" easymock@1 easymock3@1
@ -84,6 +86,9 @@ find . -name "*.zip" -delete
%changelog
* Tue May 5 2015 Alexander Kurtakov <akurtako@redhat.com> 3.3.1-1
- Update to upstream 3.3.1 release.
* Sat Mar 07 2015 Michael Simacek <msimacek@redhat.com> - 3.3-2
- Remove retired maven-timestamp-plugin

View File

@ -1 +1 @@
3ce129f1477b920b34df245996d258d1 easymock-3.3.tar.gz
a50189b3ef81f810f13d8f00697ebcd8 easymock-3.3.1.tar.gz