mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2025-12-21 21:17:37 -08:00
186 lines
8.0 KiB
Bash
186 lines
8.0 KiB
Bash
# Copyright 2025 Gentoo Authors
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
|
|
EAPI=8
|
|
|
|
JAVA_PKG_IUSE="doc source test"
|
|
JAVA_TESTING_FRAMEWORKS="junit-4"
|
|
|
|
inherit java-pkg-2 java-pkg-simple
|
|
|
|
MCV="1.10.19"
|
|
DESCRIPTION="Property-based testing, JUnit-style"
|
|
HOMEPAGE="https://github.com/pholser/junit-quickcheck"
|
|
SRC_URI="https://github.com/pholser/junit-quickcheck/archive/${P}.tar.gz
|
|
test? ( https://repo1.maven.org/maven2/org/mockito/mockito-core/${MCV}/mockito-core-${MCV}.jar )"
|
|
S="${WORKDIR}/junit-quickcheck-${P}"
|
|
|
|
LICENSE="MIT"
|
|
SLOT="0"
|
|
KEYWORDS="amd64 arm64 ppc64"
|
|
|
|
CP_DEPEND="
|
|
dev-java/generics-resolver:0
|
|
dev-java/javaruntype:0
|
|
dev-java/junit:4
|
|
dev-java/ognl:0
|
|
dev-java/slf4j-api:0
|
|
"
|
|
|
|
DEPEND="
|
|
${CP_DEPEND}
|
|
>=virtual/jdk-1.8:*
|
|
test? (
|
|
dev-java/antlr-runtime:3.5
|
|
>=dev-java/guava-testlib-33.4.8:0
|
|
>=dev-java/hamcrest-3.0:0
|
|
>=dev-java/javassist-3.30.2:3
|
|
>=dev-java/objenesis-3.4:0
|
|
)
|
|
"
|
|
|
|
RDEPEND="
|
|
${CP_DEPEND}
|
|
>=virtual/jre-1.8:*
|
|
"
|
|
|
|
JAVADOC_SRC_DIRS=( {core,generators}/src/main/java )
|
|
|
|
src_prepare() {
|
|
java-pkg-2_src_prepare
|
|
local services="generators/src/main/resources/META-INF/services"
|
|
mkdir -p "${services}"
|
|
cat > "${services}/com.pholser.junit.quickcheck.generator.Generator" <<-EOF || die "here doc"
|
|
com.pholser.junit.quickcheck.generator.java.util.ArrayListGenerator
|
|
com.pholser.junit.quickcheck.generator.java.util.HashSetGenerator
|
|
com.pholser.junit.quickcheck.generator.java.util.LocaleGenerator
|
|
com.pholser.junit.quickcheck.generator.java.util.LinkedListGenerator
|
|
com.pholser.junit.quickcheck.generator.java.util.StackGenerator
|
|
com.pholser.junit.quickcheck.generator.java.util.OptionalDoubleGenerator
|
|
com.pholser.junit.quickcheck.generator.java.util.DateGenerator
|
|
com.pholser.junit.quickcheck.generator.java.util.LinkedHashMapGenerator
|
|
com.pholser.junit.quickcheck.generator.java.util.OptionalLongGenerator
|
|
com.pholser.junit.quickcheck.generator.java.util.TimeZoneGenerator
|
|
com.pholser.junit.quickcheck.generator.java.util.function.FunctionGenerator
|
|
com.pholser.junit.quickcheck.generator.java.util.function.UnaryOperatorGenerator
|
|
com.pholser.junit.quickcheck.generator.java.util.function.ToIntBiFunctionGenerator
|
|
com.pholser.junit.quickcheck.generator.java.util.function.PredicateGenerator
|
|
com.pholser.junit.quickcheck.generator.java.util.function.BinaryOperatorGenerator
|
|
com.pholser.junit.quickcheck.generator.java.util.function.BiPredicateGenerator
|
|
com.pholser.junit.quickcheck.generator.java.util.function.ToIntFunctionGenerator
|
|
com.pholser.junit.quickcheck.generator.java.util.function.ToDoubleFunctionGenerator
|
|
com.pholser.junit.quickcheck.generator.java.util.function.ToLongBiFunctionGenerator
|
|
com.pholser.junit.quickcheck.generator.java.util.function.BiFunctionGenerator
|
|
com.pholser.junit.quickcheck.generator.java.util.function.IntFunctionGenerator
|
|
com.pholser.junit.quickcheck.generator.java.util.function.ToLongFunctionGenerator
|
|
com.pholser.junit.quickcheck.generator.java.util.function.DoubleFunctionGenerator
|
|
com.pholser.junit.quickcheck.generator.java.util.function.SupplierGenerator
|
|
com.pholser.junit.quickcheck.generator.java.util.function.LongFunctionGenerator
|
|
com.pholser.junit.quickcheck.generator.java.util.function.ToDoubleBiFunctionGenerator
|
|
com.pholser.junit.quickcheck.generator.java.util.BitSetGenerator
|
|
com.pholser.junit.quickcheck.generator.java.util.OptionalIntGenerator
|
|
com.pholser.junit.quickcheck.generator.java.util.HashMapGenerator
|
|
com.pholser.junit.quickcheck.generator.java.util.VectorGenerator
|
|
com.pholser.junit.quickcheck.generator.java.util.PropertiesGenerator
|
|
com.pholser.junit.quickcheck.generator.java.util.OptionalGenerator
|
|
com.pholser.junit.quickcheck.generator.java.util.concurrent.CallableGenerator
|
|
com.pholser.junit.quickcheck.generator.java.util.RFC4122\$Version4
|
|
com.pholser.junit.quickcheck.generator.java.util.HashtableGenerator
|
|
com.pholser.junit.quickcheck.generator.java.util.LinkedHashSetGenerator
|
|
com.pholser.junit.quickcheck.generator.java.util.RFC4122\$Version3
|
|
com.pholser.junit.quickcheck.generator.java.util.RFC4122\$Version5
|
|
com.pholser.junit.quickcheck.generator.java.math.BigDecimalGenerator
|
|
com.pholser.junit.quickcheck.generator.java.math.BigIntegerGenerator
|
|
com.pholser.junit.quickcheck.generator.java.time.ZonedDateTimeGenerator
|
|
com.pholser.junit.quickcheck.generator.java.time.LocalDateGenerator
|
|
com.pholser.junit.quickcheck.generator.java.time.OffsetTimeGenerator
|
|
com.pholser.junit.quickcheck.generator.java.time.ZoneIdGenerator
|
|
com.pholser.junit.quickcheck.generator.java.time.PeriodGenerator
|
|
com.pholser.junit.quickcheck.generator.java.time.YearMonthGenerator
|
|
com.pholser.junit.quickcheck.generator.java.time.InstantGenerator
|
|
com.pholser.junit.quickcheck.generator.java.time.LocalDateTimeGenerator
|
|
com.pholser.junit.quickcheck.generator.java.time.OffsetDateTimeGenerator
|
|
com.pholser.junit.quickcheck.generator.java.time.DurationGenerator
|
|
com.pholser.junit.quickcheck.generator.java.time.YearGenerator
|
|
com.pholser.junit.quickcheck.generator.java.time.ClockGenerator
|
|
com.pholser.junit.quickcheck.generator.java.time.ZoneOffsetGenerator
|
|
com.pholser.junit.quickcheck.generator.java.time.LocalTimeGenerator
|
|
com.pholser.junit.quickcheck.generator.java.time.MonthDayGenerator
|
|
com.pholser.junit.quickcheck.generator.java.lang.ShortGenerator
|
|
com.pholser.junit.quickcheck.generator.java.lang.CharacterGenerator
|
|
com.pholser.junit.quickcheck.generator.java.lang.DoubleGenerator
|
|
com.pholser.junit.quickcheck.generator.java.lang.IntegerGenerator
|
|
com.pholser.junit.quickcheck.generator.java.lang.StringGenerator
|
|
com.pholser.junit.quickcheck.generator.java.lang.LongGenerator
|
|
com.pholser.junit.quickcheck.generator.java.lang.FloatGenerator
|
|
com.pholser.junit.quickcheck.generator.java.lang.ByteGenerator
|
|
com.pholser.junit.quickcheck.generator.java.lang.Encoded
|
|
com.pholser.junit.quickcheck.generator.java.lang.BooleanGenerator
|
|
com.pholser.junit.quickcheck.generator.java.nio.charset.CharsetGenerator
|
|
com.pholser.junit.quickcheck.generator.VoidGenerator
|
|
EOF
|
|
}
|
|
|
|
src_compile() {
|
|
einfo "Compiling core"
|
|
JAVA_JAR_FILENAME="core.jar"
|
|
JAVA_RESOURCE_DIRS="core/src/main/resources"
|
|
JAVA_SRC_DIR="core/src/main/java"
|
|
java-pkg-simple_src_compile
|
|
JAVA_GENTOO_CLASSPATH_EXTRA=":core.jar"
|
|
rm -r target || die "clean core"
|
|
|
|
einfo "Compiling generators"
|
|
JAVA_JAR_FILENAME="generators.jar"
|
|
JAVA_RESOURCE_DIRS="generators/src/main/resources"
|
|
JAVA_SRC_DIR="generators/src/main/java"
|
|
java-pkg-simple_src_compile
|
|
JAVA_GENTOO_CLASSPATH_EXTRA+=":generators.jar"
|
|
rm -r target || die "clean generators"
|
|
|
|
JAVADOC_CLASSPATH="${JAVA_GENTOO_CLASSPATH}"
|
|
use doc && ejavadoc
|
|
}
|
|
|
|
src_test() {
|
|
# mockito-core-1.10.19 is presently not packaged
|
|
JAVA_GENTOO_CLASSPATH_EXTRA+=":${DISTDIR}/mockito-core-${MCV}.jar"
|
|
|
|
local vm_version="$(java-config -g PROVIDES_VERSION)"
|
|
if ver_test "${vm_version}" -ge 17; then
|
|
JAVA_TEST_EXTRA_ARGS+=( --add-opens=java.base/java.lang=ALL-UNNAMED )
|
|
fi
|
|
|
|
einfo "Testing core"
|
|
JAVA_TEST_EXCLUDES=(
|
|
# upstream doesn't run these tests
|
|
com.pholser.junit.quickcheck.EqualsHashCodePropertiesTest # 9 of 9 tests fail
|
|
com.pholser.junit.quickcheck.internal.generator.CorePropertyParameterTest # 2 of 2 tests fail
|
|
com.pholser.junit.quickcheck.test.generator.TestGeneratorSource # Invalid test class, no runnable methods
|
|
)
|
|
JAVA_TEST_GENTOO_CLASSPATH="antlr-runtime-3.5 guava-testlib hamcrest javassist-3 junit-4 objenesis ognl"
|
|
JAVA_TEST_RESOURCE_DIRS="core/src/test/resources"
|
|
JAVA_TEST_SRC_DIR="core/src/test/java"
|
|
java-pkg-simple_src_test
|
|
|
|
einfo "Creating core-tests.jar"
|
|
jar cvf core-tests.jar -C target/test-classes . || die
|
|
JAVA_GENTOO_CLASSPATH_EXTRA+=":core-tests.jar"
|
|
JAVA_TEST_RUN_ONLY=()
|
|
|
|
einfo "Testing generators"
|
|
JAVA_TEST_EXCLUDES=(
|
|
# 2 of 2 tests fail, upstream doesn't run it
|
|
com.pholser.junit.quickcheck.generator.BasicGeneratorPropertyParameterTest
|
|
)
|
|
JAVA_TEST_RESOURCE_DIRS=()
|
|
JAVA_TEST_SRC_DIR="generators/src/test/java"
|
|
java-pkg-simple_src_test
|
|
}
|
|
|
|
src_install() {
|
|
java-pkg_dojar generators.jar
|
|
JAVA_JAR_FILENAME="core.jar"
|
|
java-pkg-simple_src_install
|
|
}
|