junit-quickcheck-1.0.ebuild
Download (8 KB)
# 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
}
| ||