Skip to content
Commits on Source (4)
objenesis (2.6-3) unstable; urgency=medium
* Team upload.
* Disabled the ClassDefinitionUtils.defineClass() method (which is never
used in Debian) to work around the build failure with Java 11
(Closes: #909258)
* Standards-Version updated to 4.2.1
-- Emmanuel Bourg <ebourg@apache.org> Wed, 03 Oct 2018 13:31:41 +0200
objenesis (2.6-2) unstable; urgency=medium
* Team upload.
......
......@@ -2,8 +2,7 @@ Source: objenesis
Section: java
Priority: optional
Maintainer: Debian Java Maintainers <pkg-java-maintainers@lists.alioth.debian.org>
Uploaders:
Markus Koschany <apo@debian.org>
Uploaders: Markus Koschany <apo@debian.org>
Build-Depends:
debhelper (>= 11),
default-jdk,
......@@ -12,20 +11,16 @@ Build-Depends:
libmaven-bundle-plugin-java,
libmaven-javadoc-plugin-java,
maven-debian-helper (>= 1.4)
Standards-Version: 4.1.4
Standards-Version: 4.2.1
Vcs-Git: https://salsa.debian.org/java-team/objenesis.git
Vcs-Browser: https://salsa.debian.org/java-team/objenesis
Homepage: http://www.objenesis.org/
Package: libobjenesis-java
Architecture: all
Depends:
${maven:Depends},
${misc:Depends}
Recommends:
${maven:OptionalDepends}
Suggests:
libobjenesis-java-doc
Depends: ${maven:Depends}, ${misc:Depends}
Recommends: ${maven:OptionalDepends}
Suggests: libobjenesis-java-doc
Description: Java library to instantiate a new object of a particular class
Objenesis is a small Java library that serves one purpose: to instantiate a
new object of a particular class.
......@@ -44,13 +39,9 @@ Description: Java library to instantiate a new object of a particular class
Package: libobjenesis-java-doc
Architecture: all
Section: doc
Depends:
${maven:DocDepends},
${misc:Depends}
Recommends:
${maven:DocOptionalDepends}
Suggests:
libobjenesis-java
Depends: ${maven:DocDepends}, ${misc:Depends}
Recommends: ${maven:DocOptionalDepends}
Suggests: libobjenesis-java
Description: Documentation for Objenesis
Objenesis is a small Java library that serves one purpose: to instantiate a
new object of a particular class.
......
Description: Fixes the build failure with Java 11
Author: Emmanuel Bourg <ebourg@apache.org>
Forwarded: https://github.com/easymock/objenesis/issues/61
--- a/main/src/main/java/org/objenesis/instantiator/util/ClassDefinitionUtils.java
+++ b/main/src/main/java/org/objenesis/instantiator/util/ClassDefinitionUtils.java
@@ -97,10 +97,7 @@
@SuppressWarnings("unchecked")
public static <T> Class<T> defineClass(String className, byte[] b, ClassLoader loader)
throws Exception {
- Class<T> c = (Class<T>) UnsafeUtils.getUnsafe().defineClass(className, b, 0, b.length, loader, PROTECTION_DOMAIN);
- // Force static initializers to run.
- Class.forName(className, true, loader);
- return c;
+ throw new UnsupportedOperationException("ClassDefinitionUtils.defineClass() relies on com.sun.misc.Unsafe.defineClass() which was removed in Java 11");
}
/**
--- a/main/src/test/java/org/objenesis/instantiator/util/ClassDefinitionUtilsTest.java
+++ b/main/src/test/java/org/objenesis/instantiator/util/ClassDefinitionUtilsTest.java
@@ -28,6 +28,7 @@
String className = "org.objenesis.EmptyClassBis";
@Test
+ @org.junit.Ignore
public void testDefineClass() throws Exception {
byte[] b = ClassDefinitionUtils.readClass(className);
Class<?> c = ClassDefinitionUtils.defineClass(className, b, getClass().getClassLoader());
01-java10-compatibility.patch
02-java11-compatibility.patch