# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=9 JAVA_PKG_IUSE="doc source test" JAVA_TESTING_FRAMEWORKS="junit-4" inherit java-pkg-2 java-pkg-simple DESCRIPTION="Java Concurrency Tools Core Library" HOMEPAGE="https://jctools.github.io/JCTools/" SRC_URI="https://github.com/JCTools/JCTools/archive/v${PV}.tar.gz -> jctools-${PV}.tar.gz" S="${WORKDIR}/JCTools-${PV}/jctools-core" LICENSE="Apache-2.0" SLOT="0" KEYWORDS="~amd64 ~arm64 ~ppc64" DEPEND=" >=dev-java/osgi-annotation-8.1.0:0 >=virtual/jdk-11:* test? ( >=dev-java/guava-testlib-33.5.0:0 >=dev-java/guava-33.5.0:0 >=dev-java/hamcrest-3.0:0 )" RDEPEND=">=virtual/jre-1.8:*" DOCS=( ../{README,RELEASE-NOTES}.md ) PATCHES=( "${FILESDIR}/jctools-core-4.0.3-increase-TEST_TIMEOUT.patch" ) JAVA_CLASSPATH_EXTRA="osgi-annotation" JAVA_INTERMEDIATE_JAR_NAME="org.${PN/-/.}" JAVA_MODULE_INFO_OUT="src/main" JAVA_SRC_DIR="src/main/java" JAVA_TEST_GENTOO_CLASSPATH="guava guava-testlib hamcrest junit-4" JAVA_TEST_SRC_DIR="src/test/java" # Using the defaults of java-pkg-simple would skip more than half the number of tests. src_test() { # org.jetbrains.kotlinx.lincheck is not yet packaged rm -r src/test/java/org/jctools/maps/linearizability_test || die # These tests would fail and are not run by "mvn test". # "org.jctools.queues.MpqSanityTest" # "org.jctools.queues.QueueSanityTest" # "org.jctools.queues.ScQueueRemoveTest" # "org.jctools.util.TestUtil" local TESTS=$(find src/test/java \ \( -name "*Test*.java" \ -o -name "nbsi_tester.java" \ -o -name "nbhs_tester.java" \)\ ! -name "MpqSanityTest.java" \ ! -name "QueueSanityTest.java" \ ! -name "ScQueueRemoveTest.java" \ ! -name "TestUtil.java" \ -printf '%P\n') TESTS="${TESTS//.java}" JAVA_TEST_RUN_ONLY="${TESTS//\//.}" java-pkg-simple_src_test # OK (8746 tests) }