You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

74 lines
2.2 KiB

# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
JAVA_PKG_IUSE="doc source test"
MAVEN_ID="com.sun.mail:jakarta.mail:2.0.1"
JAVA_TESTING_FRAMEWORKS="junit-4"
inherit java-pkg-2 java-pkg-simple
DESCRIPTION="Implementation of the Jakarta Mail API"
HOMEPAGE="https://github.com/jakartaee/mail-api"
SRC_URI="https://github.com/jakartaee/mail-api/archive/${PV}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}/mail-api-${PV}/mail"
LICENSE="EPL-1.0 EPL-2.0 GPL-2-with-classpath-exception"
SLOT="0"
KEYWORDS="amd64 ~arm arm64 ppc64 x86"
CP_DEPEND="dev-java/jakarta-activation:2"
DEPEND="${CP_DEPEND}
>=virtual/jdk-11:*"
RDEPEND="${CP_DEPEND}
>=virtual/jre-1.8:*"
DOCS=( ../{CONTRIBUTING,NOTICE,README}.md )
JAVA_ENCODING="iso-8859-1"
JAVA_SRC_DIR="src/main/java"
JAVA_RESOURCE_DIRS="src/main/resources"
JAVA_TEST_GENTOO_CLASSPATH="junit-4"
JAVA_TEST_EXTRA_ARGS=( -ea )
JAVA_TEST_SRC_DIR="src/test/java"
JAVA_TEST_RESOURCE_DIRS="src/test/resources"
src_prepare() {
default
mv src/main/{resources,java}/jakarta/mail/Version.java || die
}
src_test() {
# test failure with jdk:21
# 1) testCheckAccessPresent(com.sun.mail.util.logging.LogManagerPropertiesTest)
# java.lang.UnsupportedOperationException:
# The Security Manager is deprecated and will be removed in a future release
# at java.base/java.lang.System.setSecurityManager(System.java:429)
# at com.sun.mail.util.logging.LogManagerPropertiesTest.testCheckAccessPresent(LogManagerPropertiesTest.java:89)
# https://github.com/jakartaee/mail-api/pull/704#issuecomment-1911924741
local vm_version="$(java-config -g PROVIDES_VERSION)"
if ver_test "${vm_version}" -ge 21; then
eapply "${FILESDIR}/jakarta-mail-2.0.1-LogManagerPropertiesTest.patch"
fi
pushd src/test/java || die
# Selection according to 137,138 pom.xml
# MailHandlerTest does not run because of
# "java.io.IOException: Permission denied"
# excluding it costs 141 tests.
local JAVA_TEST_RUN_ONLY=$(find * \
\( -path "**/*TestSuite.java" \
-o -path "**/*Test.java" \) \
! -name "MailHandlerTest.java" \
)
JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//.java}"
JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//\//.}"
popd
java-pkg-simple_src_test
}