# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 JAVA_PKG_IUSE="doc source test" MAVEN_ID="org.slf4j:${PN}:${PV}" JAVA_TESTING_FRAMEWORKS="junit-4" inherit java-pkg-2 java-pkg-simple DESCRIPTION="SLF4J Log4j 1.2 binding" HOMEPAGE="https://www.slf4j.org" SRC_URI="https://github.com/qos-ch/slf4j/archive/v_${PV}.tar.gz -> slf4j-${PV}.tar.gz" LICENSE="MIT" SLOT="0" KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86" CP_DEPEND=" dev-java/log4j-12-api:2 >=dev-java/slf4j-api-${PV}:1 " DEPEND=" >=virtual/jdk-1.8:* ${CP_DEPEND} " RDEPEND=" >=virtual/jre-1.8:* ${CP_DEPEND} " S="${WORKDIR}/slf4j-v_${PV}/${PN}" JAVA_SRC_DIR="src/main/java" JAVA_RESOURCE_DIRS=( "src/main/resources" ) JAVA_TEST_GENTOO_CLASSPATH="junit-4" JAVA_TEST_SRC_DIR="src/test/java" JAVA_TEST_RESOURCE_DIRS=( "src/test/resources" ) JAVA_TEST_EXCLUDES=( # Failing tests org.slf4j.impl.Log4j12MultithreadedInitializationTest ) src_prepare() { if use test; then local test_root="${JAVA_TEST_SRC_DIR}/org/slf4j" cp "../slf4j-api/${test_root}/LoggerAccessingThread.java" \ "${test_root}" || die "Failed to copy additional test sources" local helpers="${test_root}/helpers" mkdir -p "${helpers}" || die "Failed to create test helpers directory" cp "../slf4j-api/${helpers}/MultithreadedInitializationTest.java" \ "${helpers}" || die "Failed to copy test helpers" JAVA_TEST_EXCLUDES+=( org.slf4j.helpers.MultithreadedInitializationTest ) fi eapply -p2 "${FILESDIR}/${P}-migrate-to-log4j-12-api.patch" java-pkg-2_src_prepare # The tests in this file add and use an Appender to verify whether # messages have been successfully logged, which no longer works with # the log4j-12-api bridge because the methods for adding an Appender # in the bridge "are largely no-ops": # https://logging.apache.org/log4j/log4j-2.2/log4j-1.2-api/index.html rm "${JAVA_TEST_SRC_DIR}/org/slf4j/InvocationTest.java" || die "Failed to remove tests that are incompatible with log4j-12-api" }