public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Miroslav Šulc" <fordfrog@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-java/junit/
Date: Fri, 17 May 2024 09:28:27 +0000 (UTC)	[thread overview]
Message-ID: <1715938079.89c09b33121be8b28cacb141575e9e1297bb836a.fordfrog@gentoo> (raw)

commit:     89c09b33121be8b28cacb141575e9e1297bb836a
Author:     Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net>
AuthorDate: Wed May 15 20:57:05 2024 +0000
Commit:     Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
CommitDate: Fri May 17 09:27:59 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=89c09b33

dev-java/junit: drop 5.9.2

Closes: https://bugs.gentoo.org/921398
Signed-off-by: Volkmar W. Pogatzki <gentoo <AT> pogatzki.net>
Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>

 dev-java/junit/Manifest           |   1 -
 dev-java/junit/junit-5.9.2.ebuild | 337 --------------------------------------
 2 files changed, 338 deletions(-)

diff --git a/dev-java/junit/Manifest b/dev-java/junit/Manifest
index edb0ff99b55c..7c157778f793 100644
--- a/dev-java/junit/Manifest
+++ b/dev-java/junit/Manifest
@@ -1,5 +1,4 @@
 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.9.2.tar.gz 2882173 BLAKE2B 6baf8768654b399d64237a110dcb6a821ab7dc8964254a5d00f7ffb65c789818aed51ad7042a963a47669042baaeec87b5d0453643a2b0eeeaf6393a42c75fd6 SHA512 5673577f773042b4e253241d27298a60dbac239502788e1d999fbe0d3ffe76b29c90d4fb43660f2e2e00e3e9b8d4c1b6b909ff95dc6e87ccb6f7b009ae6b0e78
 DIST junit3.8.2.zip 461426 BLAKE2B 8fbef1ccdf7f71c611976d63f45838f4cb2564da5f5064e7abc39931a3c99039a40660093aba2cc3c70af761171125f434c16c52021226f2e92fdf23597dbf25 SHA512 f203332ccc2bdc38c683a95bdbe448f38cbfbeea81ecc431bf9ebf0a3292f0150fcfe5cd5dd6da481be034366820f95775a33581931aed9e4cc12a6ff27e3930
 DIST junit5-java18-compatibility.patch 742 BLAKE2B 89bfa36330278cdee2f7f66ed5527895e650a7b490d3f3695772a27541be1d8383c1742bab4e8494f3a84c29f93f553880a3bd5cd4d84792cf662fbc33a6e594 SHA512 5a9a562eb61a875764da369ff40da6ff95c6de8b3b3ecb612634112076741d75d6eab385743843b4fe7ca8a1827960e06550f6e90c8b7ef75b55006b41c416cd

diff --git a/dev-java/junit/junit-5.9.2.ebuild b/dev-java/junit/junit-5.9.2.ebuild
deleted file mode 100644
index 46efd8fcf0d8..000000000000
--- a/dev-java/junit/junit-5.9.2.ebuild
+++ /dev/null
@@ -1,337 +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"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="Simple framework to write repeatable tests"
-HOMEPAGE="https://junit.org/junit5/"
-SRC_URI="https://github.com/junit-team/junit5/archive/r${PV}.tar.gz -> ${P}.tar.gz"
-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}
-"
-
-RDEPEND="
-	>=virtual/jre-1.8:*
-	${CP_DEPEND}
-	${COND_DEPEND}
-"
-
-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)"
-	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
-}


             reply	other threads:[~2024-05-17  9:28 UTC|newest]

Thread overview: 58+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-05-17  9:28 Miroslav Šulc [this message]
  -- strict thread matches above, loose matches on Subject: below --
2024-09-29 10:59 [gentoo-commits] repo/gentoo:master commit in: dev-java/junit/ Arthur Zamarin
2024-09-29 10:59 Arthur Zamarin
2024-09-29 10:59 Arthur Zamarin
2024-08-31  7:52 Miroslav Šulc
2024-05-15 12:49 Sam James
2024-05-15 10:31 Sam James
2024-05-15 10:31 Sam James
2024-05-15 10:31 Sam James
2024-05-11  8:17 Miroslav Šulc
2024-05-10 22:50 Sam James
2024-05-10 22:50 Sam James
2024-05-10 22:50 Sam James
2024-05-10 22:50 Sam James
2024-05-01 23:18 Ionen Wolkens
2024-05-01 23:18 Ionen Wolkens
2024-04-14 13:39 Arthur Zamarin
2024-04-14 13:39 Arthur Zamarin
2024-04-14  7:49 Miroslav Šulc
2024-04-11  6:52 Miroslav Šulc
2024-04-11  6:52 Miroslav Šulc
2024-04-11  6:52 Miroslav Šulc
2023-11-13  7:07 Sam James
2023-11-13  7:07 Sam James
2023-04-16  6:00 Sam James
2023-04-16  6:00 Sam James
2023-04-16  6:00 Sam James
2023-04-16  6:00 Sam James
2023-03-15 12:18 Arthur Zamarin
2023-03-11  8:06 Arthur Zamarin
2023-03-10  9:43 Arthur Zamarin
2023-03-10  9:43 Arthur Zamarin
2023-03-10  7:34 Miroslav Šulc
2023-03-09  6:42 Miroslav Šulc
2023-01-07 13:19 Joonas Niilola
2021-05-06 16:39 Miroslav Šulc
2021-05-06 10:09 Sam James
2021-05-06 10:01 Sam James
2021-05-06  6:57 Agostino Sarubbo
2021-05-06  6:55 Agostino Sarubbo
2021-04-05 11:01 Miroslav Šulc
2021-03-26 20:42 Agostino Sarubbo
2021-03-26  7:50 Agostino Sarubbo
2021-03-15 16:18 Agostino Sarubbo
2021-03-14  8:21 Miroslav Šulc
2021-03-13  8:44 Miroslav Šulc
2021-03-12 12:18 Miroslav Šulc
2021-02-15  8:31 Miroslav Šulc
2019-05-18  1:14 Aaron Bauman
2019-03-16 19:24 Patrice Clement
2019-03-16 19:24 Patrice Clement
2017-07-13  7:48 Alexis Ballier
2017-07-13  7:48 Alexis Ballier
2017-04-01 23:20 Patrice Clement
2016-04-07  9:59 James Le Cuirot
2016-04-07  9:59 James Le Cuirot
2016-02-10 19:41 Mike Frysinger
2015-11-19 22:56 James Le Cuirot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1715938079.89c09b33121be8b28cacb141575e9e1297bb836a.fordfrog@gentoo \
    --to=fordfrog@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox