# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 JAVA_PKG_IUSE="doc source test" MAVEN_ID="commons-net:commons-net:${PV}" JAVA_TESTING_FRAMEWORKS="junit-jupiter" inherit java-pkg-2 java-pkg-simple junit5 verify-sig DESCRIPTION="Client-oriented Java library to implement many Internet protocols" HOMEPAGE="https://commons.apache.org/proper/commons-net/" FSV="1.2.1" # apache-ftpserver isn't yet packaged MCV="2.2.4" SRC_URI="mirror://apache/commons/net/source/${P}-src.tar.gz test? ( https://repo1.maven.org/maven2/org/apache/ftpserver/ftpserver-core/${FSV}/ftpserver-core-${FSV}.jar https://repo1.maven.org/maven2/org/apache/ftpserver/ftplet-api/${FSV}/ftplet-api-${FSV}.jar https://repo1.maven.org/maven2/org/apache/mina/mina-core/${MCV}/mina-core-${MCV}.jar ) verify-sig? ( https://downloads.apache.org/commons/net/source/${P}-src.tar.gz.asc )" S="${WORKDIR}/${P}-src" LICENSE="Apache-2.0" SLOT="0" KEYWORDS="~amd64 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" BDEPEND="verify-sig? ( sec-keys/openpgp-keys-ggregory )" DEPEND=" >=dev-java/commons-io-2.20.0:0 >=virtual/jdk-11:* test? ( >=dev-java/commons-collections-4.5.0:4 >=dev-java/commons-lang-3.18.0:0 dev-java/junit:4 dev-java/opentest4j:0 dev-java/slf4j-api:0 ) " RDEPEND=">=virtual/jre-1.8:*" DOCS=( CONTRIBUTING.md {NOTICE,RELEASE-NOTES}.txt ) PATCHES=( "${FILESDIR}/commons-net-3.12.0-skipFailingTests.patch" ) JAVA_CLASSPATH_EXTRA="commons-io" JAVA_GENTOO_CLASSPATH_EXTRA=:"${DISTDIR}/ftplet-api-${FSV}.jar" JAVA_GENTOO_CLASSPATH_EXTRA+=:"${DISTDIR}/ftpserver-core-${FSV}.jar" JAVA_GENTOO_CLASSPATH_EXTRA+=:"${DISTDIR}/mina-core-${MCV}.jar" JAVA_INTERMEDIATE_JAR_NAME="org.apache.${PN/-/.}" JAVA_MODULE_INFO_OUT="src/main" JAVA_RESOURCE_DIRS="src/main/resources" JAVA_SRC_DIR="src/main/java" JAVA_TEST_GENTOO_CLASSPATH="commons-collections-4 commons-lang junit-4 junit-5 opentest4j slf4j-api" JAVA_TEST_RESOURCE_DIRS="src/test/resources" JAVA_TEST_SRC_DIR="src/test/java" VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/ggregory.asc" src_unpack() { use verify-sig && verify-sig_verify_detached "${DISTDIR}"/${P}-src.tar.gz{,.asc} default } src_prepare() { default #780585 java-pkg-2_src_prepare # pom.xml lines 179-188 (do not put it in the main jar) mkdir -p src/examples/java/org/apache/commons/net/ || die mv src/{main,examples}/java/org/apache/commons/net/examples || die "mv java" mkdir -p target/examples || die mv {src/main/resources,target/examples}/org || die "mv resources" } src_test() { # Some examples are needed only for compiling tests but won't be packaged. mkdir -p target/examples || die local examples_sources find src/examples/java -type f -name '*.java' \ > examples_sources || die "sources" ejavac -d target/examples @examples_sources \ -classpath "$(java-pkg_getjars --build-only commons-io)":commons-net.jar JAVA_GENTOO_CLASSPATH_EXTRA+=":target/examples" # src/test/java/org/apache/commons/net/util/SubnetUtilsTest.java:39: error: cannot find symbol # import org.junit.jupiter.params.provider.FieldSource; rm src/test/java/org/apache/commons/net/util/SubnetUtilsTest.java || die "rm SubnetUtilsTest.java" # pom.xml lines 208-209 find src/test/java -type f -name '*FunctionalTest.java' -delete || die find src/test/java -type f -name 'POP3*Test.java' -delete || die JAVA_TEST_EXCLUDES=( # caught: java.net.UnknownHostException: # jdk.internal.util.Exceptions$NonSocketInfo@32f61a31tux: Name or service not known org.apache.commons.net.tftp.TFTPAckPacketTest org.apache.commons.net.tftp.TFTPDataPacketTest org.apache.commons.net.tftp.TFTPErrorPacketTest org.apache.commons.net.tftp.TFTPReadRequestPacketTest org.apache.commons.net.tftp.TFTPRequestPacketTest org.apache.commons.net.tftp.TFTPWriteRequestPacketTest ) junit5_src_test }