| 4 |
4 |
EAPI=8
|
| 5 |
5 |
|
| 6 |
6 |
JAVA_PKG_IUSE="doc source test"
|
| 7 |
|
MAVEN_ID="org.easymock:easymock:3.3.1"
|
| 8 |
|
JAVA_TESTING_FRAMEWORKS="junit-4"
|
|
7 |
MAVEN_ID="org.easymock:easymock:5.6.0"
|
|
8 |
JAVA_TESTING_FRAMEWORKS="junit-jupiter"
|
| 9 |
9 |
|
| 10 |
|
inherit java-pkg-2 java-pkg-simple
|
|
10 |
inherit java-pkg-2 java-pkg-simple junit5
|
| 11 |
11 |
|
| 12 |
12 |
DESCRIPTION="Mock Objects for interfaces in JUnit tests by generating them on the fly"
|
| 13 |
13 |
HOMEPAGE="https://easymock.org/"
|
| 14 |
|
SRC_URI="https://github.com/${PN}/${PN}/archive/refs/tags/${P}.tar.gz"
|
|
14 |
DMV="1.5" # dexmaker isn't yet packaged
|
|
15 |
SRC_URI="https://github.com/${PN}/${PN}/archive/${P}.tar.gz
|
|
16 |
https://repo1.maven.org/maven2/org/droidparts/dexmaker/dexmaker/${DMV}/dexmaker-${DMV}.jar"
|
| 15 |
17 |
S="${WORKDIR}/${PN}-${P}"
|
| 16 |
18 |
|
| 17 |
19 |
LICENSE="Apache-2.0"
|
| 18 |
|
SLOT="3.2"
|
|
20 |
SLOT="0"
|
| 19 |
21 |
KEYWORDS="amd64 arm64 ppc64"
|
| 20 |
22 |
|
| 21 |
|
CDEPEND="
|
| 22 |
|
>=dev-java/cglib-3.3.0-r3:0
|
|
23 |
DEPEND="
|
|
24 |
>=dev-java/byte-buddy-1.17.5:0
|
| 23 |
25 |
dev-java/junit:4
|
|
26 |
dev-java/junit:5
|
| 24 |
27 |
dev-java/objenesis:0
|
| 25 |
|
"
|
| 26 |
|
|
| 27 |
|
DEPEND="
|
| 28 |
28 |
>=virtual/jdk-1.8:*
|
| 29 |
|
${CDEPEND}
|
|
29 |
test? (
|
|
30 |
>=dev-java/asm-9.8-r1:0
|
|
31 |
)
|
| 30 |
32 |
"
|
| 31 |
33 |
|
| 32 |
|
RDEPEND="
|
| 33 |
|
>=virtual/jre-1.8:*
|
| 34 |
|
${CDEPEND}
|
| 35 |
|
"
|
| 36 |
|
|
| 37 |
|
JAVA_ENCODING="ISO-8859-1"
|
|
34 |
RDEPEND=">=virtual/jre-1.8:*"
|
| 38 |
35 |
|
| 39 |
|
JAVA_GENTOO_CLASSPATH="cglib,junit-4,objenesis"
|
| 40 |
|
JAVA_SRC_DIR=(
|
| 41 |
|
"${PN}/src/main/java"
|
| 42 |
|
"${PN}/src/samples/java"
|
| 43 |
|
)
|
| 44 |
|
|
| 45 |
|
JAVA_TEST_GENTOO_CLASSPATH="junit-4"
|
| 46 |
|
JAVA_TEST_SRC_DIR="${PN}/src/test/java"
|
| 47 |
|
JAVA_TEST_EXCLUDES=(
|
| 48 |
|
"org.easymock.tests2.EasyMockAnnotationsTest" # "java.lang.InstantiationException" (12 x)
|
| 49 |
|
"org.easymock.tests.BaseEasyMockRunnerTest" # No runnable methods
|
| 50 |
|
)
|
|
36 |
JAVA_CLASSPATH_EXTRA="byte-buddy junit-4 junit-5 objenesis"
|
|
37 |
JAVA_GENTOO_CLASSPATH_EXTRA="${DISTDIR}/dexmaker-${DMV}.jar"
|
|
38 |
JAVA_SRC_DIR="core/src/main/java"
|
|
39 |
JAVA_TEST_GENTOO_CLASSPATH="asm byte-buddy junit-5"
|
|
40 |
JAVA_TEST_SRC_DIR="core/src/test/java"
|
| 51 |
41 |
|
| 52 |
42 |
src_prepare() {
|
| 53 |
|
default
|
| 54 |
|
# error: package com.google.dexmaker.stock does not exist
|
| 55 |
|
eapply "${FILESDIR}"/3.3.1-r1-no-android.patch
|
| 56 |
|
rm easymock/src/main/java/org/easymock/internal/AndroidClassProxyFactory.java || die
|
| 57 |
|
# cannot find symbol o = ProxyBuilder.forClass(ArrayList.class)
|
| 58 |
|
rm easymock/src/test/java/org/easymock/tests2/ClassExtensionHelperTest.java || die
|
| 59 |
|
}
|
|
43 |
java-pkg-2_src_prepare
|
| 60 |
44 |
|
| 61 |
|
src_test() {
|
| 62 |
|
# ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain) throws
|
| 63 |
|
# java.lang.ClassFormatError accessible: module java.base does not "opens java.lang" to unnamed module @66da75e4
|
| 64 |
|
local vm_version="$(java-config -g PROVIDES_VERSION)"
|
| 65 |
|
if ver_test "${vm_version}" -ge 17; then
|
| 66 |
|
JAVA_TEST_EXTRA_ARGS+=( --add-opens=java.base/java.lang=ALL-UNNAMED )
|
| 67 |
|
JAVA_TEST_EXTRA_ARGS+=( --add-opens=java.base/java.io=ALL-UNNAMED )
|
| 68 |
|
fi
|
| 69 |
|
java-pkg-simple_src_test
|
|
45 |
# error: package org.testng does not exist
|
|
46 |
# this class seems to be needed only for running with testng
|
|
47 |
rm core/src/main/java/org/easymock/EasyMockListener.java || die
|
| 70 |
48 |
}
|