summaryrefslogtreecommitdiff
path: root/dev-java/junit
diff options
context:
space:
mode:
Diffstat (limited to 'dev-java/junit')
-rw-r--r--dev-java/junit/Manifest3
-rw-r--r--dev-java/junit/junit-5.10.2.ebuild351
2 files changed, 0 insertions, 354 deletions
diff --git a/dev-java/junit/Manifest b/dev-java/junit/Manifest
index 4cac458eb29f..355d5cc26144 100644
--- a/dev-java/junit/Manifest
+++ b/dev-java/junit/Manifest
@@ -1,12 +1,9 @@
AUX junit-4.13.2_p20240222-ignore-failing-test.patch 5184 BLAKE2B d846ac9599216bd9486a26082029dea6a1f1e252f8b023c3e553cc6586365a582b78e20d3a305b7d911ad6a9bd8206057f7ad617e18103c050dd19f46f6c7031 SHA512 bb1f1c13b128fd2a178d58be02b3cc206b030ea421815309dcca3dbed33e529733576e4db0ed5d44d1126ffd077bdad8b9b4cb96d980f8b42d394a32c90d50f6
AUX junit5-java18-compatibility.patch 742 BLAKE2B 89bfa36330278cdee2f7f66ed5527895e650a7b490d3f3695772a27541be1d8383c1742bab4e8494f3a84c29f93f553880a3bd5cd4d84792cf662fbc33a6e594 SHA512 5a9a562eb61a875764da369ff40da6ff95c6de8b3b3ecb612634112076741d75d6eab385743843b4fe7ca8a1827960e06550f6e90c8b7ef75b55006b41c416cd
DIST junit-4.13.2_p20240222.tar.gz 1007781 BLAKE2B 4eeab59aa7ff3cc65c73318acb562523e6ba781da6a0baf28f8fa82042f1affddb583d188c550207a7e267b3475f4a546e8e25eba61d5ba36d13bd7e277ad156 SHA512 89506413b7aca7c2d0b41c8297dde48c1b90a44133bfb3ebf300247c7837839a3aff2d785d891ddb8762427d718eacf016a1d67e2e24edda05f4eae36ca311f1
-DIST junit-5.10.2.tar.gz 2942035 BLAKE2B 4880df74b7cbf23acd34c716f9fce26edd28b31c14d720e129e9e1f06aa35b70c447a0d87904e083a54663fba17e0b2b470678dc32480e0a11c5ebf46d5fe38e SHA512 c36ff7c2bd21f9a64c93b836fc1017a8a96ebcc0079cf1d95b09f5b764435178c2dc2336f2493e7e4df561013693dce4f08dfe0cf3bd76cc9b820313f64d064f
DIST junit-5.10.3.tar.gz 2944861 BLAKE2B 38ca01363ecd1a2bb1b66d93bbc8a6e34c94ee574fd44857239223f6253051c355572ac8ecece21610ea8afeabdc62df30caab1994ae9bbfa9fa9c71097ac956 SHA512 8d3621b6da6e70017957e280fd2848fdc77136497bf4399a1690f2db0f53b1b079f85ec19b6d3115cc01fe24454e118548944d45e1c23f2a404b640e587b0771
DIST junit3.8.2.zip 461426 BLAKE2B 8fbef1ccdf7f71c611976d63f45838f4cb2564da5f5064e7abc39931a3c99039a40660093aba2cc3c70af761171125f434c16c52021226f2e92fdf23597dbf25 SHA512 f203332ccc2bdc38c683a95bdbe448f38cbfbeea81ecc431bf9ebf0a3292f0150fcfe5cd5dd6da481be034366820f95775a33581931aed9e4cc12a6ff27e3930
-DIST junit5-java18-compatibility.patch 742 BLAKE2B 89bfa36330278cdee2f7f66ed5527895e650a7b490d3f3695772a27541be1d8383c1742bab4e8494f3a84c29f93f553880a3bd5cd4d84792cf662fbc33a6e594 SHA512 5a9a562eb61a875764da369ff40da6ff95c6de8b3b3ecb612634112076741d75d6eab385743843b4fe7ca8a1827960e06550f6e90c8b7ef75b55006b41c416cd
EBUILD junit-3.8.2-r2.ebuild 802 BLAKE2B dd3ad766b9070457499af970d037ed6c5e96208a609d68149c37f348e4d678d950b963e62f54e655a4930b77c09048394da85821d0de2886f28a6693cab23486 SHA512 0e21cbde4dd60723044e9fcfd01ef5991fc62bdcc186e05e86c4fe4a0e04ddb038aaa16b130eeacf1d23b37e4ef3e16e0051e6bb1d40748c66b69ce3ad335755
EBUILD junit-4.13.2_p20240222.ebuild 1557 BLAKE2B f6353fe928daace6973a1870f4f894cc7ae64a2337087f702c92fc57fd569fb4e71de8c5de4c399a3376f541ba2af737605bcb2d7313c0912ef2411348a79e3e SHA512 f4d37e27b67271137e0a9406ba42681afe89ceee5da4be9f80c9e03d99a6fb6abfaea8bdeaac9cb39db9f5dc9f72383b663c247f27afe8c90c437a9f9baf5cac
-EBUILD junit-5.10.2.ebuild 12395 BLAKE2B 5f03a73ee3bce0d40d685490377374fc6c4ed8a9794d85d94a12619dda6b1f9cab59b59edbc05e2b1e0cdbeb80930ba9d0a98b403d05a185cae4c3ecb50137d9 SHA512 74080cc8c15d15a253974e85b05a9537112690c120d935b770afd902ac783651eaace85117d8af3400ef5608b8dfa62b9c3517ca8206cff63f6b26dae6fae7e5
EBUILD junit-5.10.3.ebuild 12259 BLAKE2B b7178323dfacb694840d85354ddd9473d622516ecd41e5b9b246a14d1034d69d457311b78999acb16c57945cb587bd6efa39056fea9a8d770b548094ef179ee8 SHA512 e1bd4805c02caa8d733c082f6e960482110eb3dd521bc4fc3f65ab22da71c1635b9b18e8744a795196da4e1c4ceeb75490cbe3ba54e8f0e5fd39e031fe54163f
MISC metadata.xml 894 BLAKE2B d0f5c989f8a49dc923dfaf51a7d42d6fdc79a9c2cccd48cd31e687bcc5b7d7f25b15f1e7f91ebfe8f87cc15ce11b37c95e06dcf17611b03066f2b079efc6624b SHA512 7d40683565d1e4ff8ceb183fa26d8d6e3ae77dc1f7335a6ea452589f0f794bae8479a9e97c257a7d2332f3fa83b6721b334557944a4f0d6d064b66e0bcda9bd1
diff --git a/dev-java/junit/junit-5.10.2.ebuild b/dev-java/junit/junit-5.10.2.ebuild
deleted file mode 100644
index 9429d37e25d6..000000000000
--- a/dev-java/junit/junit-5.10.2.ebuild
+++ /dev/null
@@ -1,351 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# Declare the 'doc' USE flag in IUSE -- not JAVA_PKG_IUSE -- to
-# prevent java-pkg-simple.eclass from handling Javadoc; instead,
-# let this ebuild handle Javadoc generation and installation itself.
-# This ebuild invokes java-pkg-simple.eclass's phase functions
-# multiple times to build multiple modules, but the eclass always
-# installs each module's Javadoc to the same directory, which would
-# trigger an error when the second module's Javadoc is installed.
-JAVA_PKG_IUSE="source test"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="Simple framework to write repeatable tests"
-HOMEPAGE="https://junit.org/junit5/"
-DEB="5.10.1-1"
-SRC_URI="https://github.com/junit-team/junit5/archive/r${PV}.tar.gz -> ${P}.tar.gz
- https://sources.debian.org/data/main/j/junit5/${DEB}/debian/patches/18-java-compatibility.patch \
- -> junit5-java18-compatibility.patch"
-S="${WORKDIR}/junit5-r${PV}"
-
-LICENSE="EPL-2.0"
-SLOT="5"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86"
-IUSE="doc migration-support suite vintage"
-
-CP_DEPEND="
- dev-java/apiguardian-api:0
- dev-java/opentest4j:0
- dev-java/open-test-reporting-events:0
- dev-java/picocli:0
- dev-java/univocity-parsers:0
-"
-
-# java-utils-2.eclass does not support
-# USE-conditional dependencies in CP_DEPEND
-COND_DEPEND="
- migration-support? ( dev-java/junit:4 )
- vintage? ( dev-java/junit:4 )
-"
-
-# Limiting JDK version to >=11 for module-info.java in this package
-# https://bugs.gentoo.org/796875#c3
-DEPEND="
- >=virtual/jdk-11:*
- ${CP_DEPEND}
- ${COND_DEPEND}
- test? ( dev-java/jimfs:0 )
-"
-
-RDEPEND="
- >=virtual/jre-1.8:*
- ${CP_DEPEND}
- ${COND_DEPEND}
-"
-
-PATCHES=(
- "${DISTDIR}/junit5-java18-compatibility.patch"
-)
-
-src_prepare() {
- default #780585
- java-pkg-2_src_prepare
-}
-
-src_configure() {
- # Please make sure to declare a module's dependencies before the module itself.
- # Useful upstream documentation regarding modules and dependencies:
- # https://junit.org/junit5/docs/current/user-guide/index.html#dependency-metadata
- # https://junit.org/junit5/docs/current/user-guide/index.html#dependency-diagram
- JUNIT5_MODULES=(
- junit-platform-commons
- junit-platform-engine
- junit-platform-launcher
- junit-platform-reporting
- junit-platform-console # For launching tests from CLI;
- # an eclass would need it to support running tests using JUnit 5
-
- $(use suite && echo \
- junit-platform-suite-api \
- junit-platform-suite-commons \
- junit-platform-suite-engine \
- )
-
- junit-jupiter-api
- junit-jupiter-engine # For JUnit Jupiter tests -- the so-called
- # "JUnit 5 tests", which cannot run on earlier JUnit versions
- junit-jupiter-params # For parameterized tests; the junit-jupiter
- # aggregator module includes it, so building it unconditionally
- $(usev migration-support junit-jupiter-migrationsupport)
-
- $(usev vintage junit-vintage-engine)
-
- # Modules not included:
- # - junit-bom: Has no sources; solely for helping Maven and Gradle
- # projects that use JUnit 5 manage dependencies easier
- # - junit-jupiter: Aggregator; does not have 'src/main/java'
- # - junit-platform-console-standalone: Has no sources; solely used
- # by the upstream to build a fat JAR that bundles everything, so
- # users can use just this single JAR to run JUnit 5
- # - junit-platform-jfr: For an experimental feature
- # - junit-platform-runner: Deprecated
- # - junit-platform-suite: Aggregator; does not have 'src/main/java'
- # - junit-platform-testkit: Requires >=dev-java/assertj-core-3.14.0
- )
- local cp_packages=()
- (use migration-support || use vintage) && cp_packages+=( junit-4 )
- local save_IFS="${IFS}"
- IFS=',' JAVA_GENTOO_CLASSPATH="${cp_packages[*]}"
- IFS="${save_IFS}"
-
- JUNIT5_VM_VERSION="$(java-config --get-env PROVIDES_VERSION)"
-}
-
-junit5_foreach_module() {
- local module
- for module in "${JUNIT5_MODULES[@]}"; do
- junit5_module_do "${module}" "${@}"
- done
-}
-
-junit5_module_do() {
- local module="${1}"
- # Invocation of the passed function will not be guarded by '|| die'.
- # Like the case for multibuild_foreach_variant(), it is recommended
- # that the passed function itself calls 'die'.
- local func=( "${@:2}" )
-
- einfo "Running '${func[@]}' for ${module} ..."
- pushd "${module}" > /dev/null || die "Failed to enter directory '${module}'"
-
- # Set up Java eclass variables that are
- # supposed to be set in the ebuild global scope
-
- local JAVA_JAR_FILENAME="${module}.jar"
-
- local JAVA_SRC_DIR=(
- src/main/java
- src/module
- )
-
- local JAVA_RESOURCE_DIRS=()
- local default_resource_dir="src/main/resources"
- [[ -d "${default_resource_dir}" ]] &&
- JAVA_RESOURCE_DIRS+=( "${default_resource_dir}" )
-
- if [[ "${module}" == junit-platform-console ]]; then
- local JAVA_MAIN_CLASS="org.junit.platform.console.ConsoleLauncher"
- local JAVA_LAUNCHER_FILENAME="${module}"
- fi
-
- # Invoke the passed function
- "${func[@]}"
- local ret="${?}"
-
- popd > /dev/null || die "Failed to leave directory '${module}'"
- return "${ret}"
-}
-
-junit5_gen_cp() {
- echo "$(java-pkg_getjars --build-only --with-dependencies \
- "${JAVA_GENTOO_CLASSPATH}"):${JAVA_GENTOO_CLASSPATH_EXTRA}"
-}
-
-junit5_module_compile() {
- if [[ "${module}" == junit-platform-console ]]; then
- # Unlike other modules that have a src/main/java9 directory, for this
- # module, the upstream puts the class files built from src/main/java9
- # in their JAR's top-level directory instead of META-INF/versions/9
- cp -rv src/main/java9/* src/main/java/ ||
- die "Failed to merge ${module}'s sources for Java 9+"
- # Remove for the [[ -d src/main/java9 ]] test
- # during versioned directory handling
- rm -rv src/main/java9 ||
- die "Failed to remove ${module}'s Java 9+ source directory"
- fi
-
- java-pkg-simple_src_compile
- local sources="sources.lst"
- local classes="target/classes"
-
- # Collect a list of all compiler input files for building Javadoc
- local source
- while read source; do
- echo "${module}/${source}" >> "${all_sources}"
- done < "${sources}" ||
- die "Failed to add ${module}'s sources to Javadoc input list"
-
- # Handle classes that will go into versioned directories. This will be
- # no longer needed after https://bugs.gentoo.org/900433 is implemented.
- local vm_ver
- for vm_ver in 9 17; do
- local versioned_src="src/main/java${vm_ver}"
- if [[ -d "${versioned_src}" ]]; then
- if ver_test "${JUNIT5_VM_VERSION}" -ge "${vm_ver}"; then
- local versioned_classes="target/${vm_ver}/classes"
- mkdir -p "${versioned_classes}" ||
- die "Failed to create directory for ${module}'s Java ${vm_ver}+ classes"
- ejavac -d "${versioned_classes}" -encoding "${JAVA_ENCODING}" \
- -classpath "${classes}:$(junit5_gen_cp)" ${JAVAC_ARGS} \
- $(find "${versioned_src}" -type f -name '*.java')
- "$(java-config --jar)" -uvf "${JAVA_JAR_FILENAME}" \
- --release "${vm_ver}" -C "${versioned_classes}" . ||
- die "Failed to add ${module}'s Java ${vm_ver}+ classes to JAR"
- else
- # Modules that may hit this branch as of 5.9.2:
- # - junit-platform-console:
- # src/main/java17/.../ConsoleUtils.java tries to use
- # java.io.Console.charset() (available since Java 17) to get
- # the default output charset. It is fine to not use this
- # file, even if the built artifacts will be used on JRE 17+,
- # as src/main/java/.../ConsoleUtils.java still gets the
- # default from java.nio.charset.Charset.defaultCharset().
- elog "JDK ${JUNIT5_VM_VERSION} used; skipping Java ${vm_ver}-dependent parts in ${module}"
- fi
- fi
- done
-
- # Add the current module's JAR to classpath
- # for the module's reverse dependencies in this package
- JAVA_GENTOO_CLASSPATH_EXTRA+=":${S}/${module}/${JAVA_JAR_FILENAME}"
-}
-
-src_compile() {
- local all_sources="${S}/all-sources.lst"
- junit5_foreach_module junit5_module_compile
-
- if use doc; then
- einfo "Generating Javadoc for all modules ..."
- local apidoc="target/api"
- mkdir -p "${apidoc}" || die "Failed to create Javadoc directory"
- ejavadoc -d "${apidoc}" \
- -encoding "${JAVA_ENCODING}" -docencoding UTF-8 -charset UTF-8 \
- -classpath "$(junit5_gen_cp)" ${JAVADOC_ARGS:- -quiet} \
- -windowtitle "JUnit ${PV} API" \
- "@${all_sources}"
- fi
-}
-
-src_test() {
- # Running the JUnit 5 modules' tests (located in each module's
- # 'src/test/java') has a few obstacles:
- # - Some test sources use text blocks -- a feature introduced in Java 15.
- # A JDK at a lower version, e.g. 11, cannot compile them.
- # - Some test classes depend on JUnit 5 modules that this ebuild does not
- # include, like junit-platform-runner and junit-platform-testkit.
- #
- # Therefore, this ebuild uses a simpler approach to test the artifacts just
- # built: it uses the artifacts to run tests in examples under the
- # 'documentation/src' directory. The test coverage will not be impressive,
- # but at least this approach verifies that the copy of JUnit 5 just built
- # is capable of running some simple tests launched from CLI.
-
- local JUNIT5_TEST_SRC_DIR="documentation/src/test/java"
- local JUNIT5_TEST_RESOURCE_DIR="documentation/src/test/resources"
- local JUNIT5_TEST_RM=(
- $(usev !migration-support example/IgnoredTestsDemo.java)
- $(use !suite && echo \
- example/DocumentationTestSuite.java \
- example/SuiteDemo.java \
- )
- $(usev !vintage example/JUnit4Tests.java)
-
- # Need excluded module junit-platform-runner
- example/JUnitPlatformClassDemo.java
- example/JUnitPlatformSuiteDemo.java
-
- # Need excluded module junit-platform-testkit
- example/testkit/
-
- # Not necessary for the tests; some files even require extra dependency
- org/junit/api/tools/
-
- # Needs dev-java/hamcrest; no need to pull in extra dependency
- # as the examples already provide ample tests to run
- example/HamcrestAssertionsDemo.java
-
- # Makes an HTTP request and expects a certain response
- example/session/HttpTests.java
- )
-
- pushd "${JUNIT5_TEST_SRC_DIR}" > /dev/null ||
- die "Failed to enter test source directory"
- rm -rv "${JUNIT5_TEST_RM[@]}" ||
- die "Failed to remove unneeded test sources"
- # Test sources expect the working directory to be 'documentation'
- sed -i -e "s|src/test/resources|${JUNIT5_TEST_RESOURCE_DIR}|g" \
- example/ParameterizedTestDemo.java ||
- die "Failed to update file paths in test sources"
- popd > /dev/null || die "Failed to leave test source directory"
-
- local test_dir="${T}/junit5_src_test"
- local example_classes="${test_dir}/classes"
- local test_classes="${test_dir}/test-classes"
- mkdir -p "${example_classes}" "${test_classes}" ||
- die "Failed to create test directories"
-
- local example_sources="${test_dir}/sources.lst"
- local test_sources="${test_dir}/test-sources.lst"
- find documentation/src/main/java -type f -name '*.java' > "${example_sources}" ||
- die "Failed to get a list of example sources"
- find documentation/src/test/java -type f -name '*.java' > "${test_sources}" ||
- die "Failed to get a list of test sources"
-
- ejavac -d "${example_classes}" -encoding "${JAVA_ENCODING}" \
- -classpath "$(junit5_gen_cp)" ${JAVAC_ARGS} \
- "@${example_sources}"
-
- local test_cp="${example_classes}:${JUNIT5_TEST_RESOURCE_DIR}:$(junit5_gen_cp)"
- test_cp="${test_cp}:$(java-pkg_getjars --build-only --with-dependencies jimfs)"
- ejavac -d "${test_classes}" -encoding "${JAVA_ENCODING}" \
- -classpath "${test_cp}" ${JAVAC_ARGS} \
- "@${test_sources}"
-
- set -- "$(java-config --java)" -classpath "${test_classes}:${test_cp}" \
- org.junit.platform.console.ConsoleLauncher \
- --disable-ansi-colors --fail-if-no-tests --scan-classpath \
- --include-classname='^(Test.*|.+[.$]Test.*|.*Tests?|.*Demo)$' \
- --exclude-tag="exclude"
- echo "${@}" >&2
- "${@}"
- local status="${?}"
- [[ "${status}" -eq 2 ]] && die "JUnit did not discover any tests"
- [[ "${status}" -eq 0 ]] || die "ConsoleLauncher failed"
-}
-
-junit5_module_install() {
- # It is OK to let java-pkg-simple_src_install call einstalldocs for
- # each module as long as each documentation file being installed
- # has a unique filename among _all_ modules; otherwise, some files
- # would overwrite other ones.
- if [[ -f README.md ]]; then
- mv -v README.md "README-${module}.md" ||
- die "Failed to rename ${module}'s README.md"
- fi
- java-pkg-simple_src_install
-}
-
-src_install() {
- junit5_foreach_module junit5_module_install
- einstalldocs # For project-global documentation
-
- if use doc; then
- einfo "Installing Javadoc for all modules ..."
- local apidoc="target/api"
- java-pkg_dojavadoc "${apidoc}"
- fi
-}