summaryrefslogtreecommitdiff
path: root/dev-java
diff options
context:
space:
mode:
Diffstat (limited to 'dev-java')
-rw-r--r--dev-java/commons-beanutils/Manifest2
-rw-r--r--dev-java/commons-beanutils/commons-beanutils-1.10.1.ebuild116
-rw-r--r--dev-java/commons-beanutils/metadata.xml3
-rw-r--r--dev-java/commons-digester/Manifest1
-rw-r--r--dev-java/commons-digester/commons-digester-2.1-r3.ebuild90
-rw-r--r--dev-java/commons-digester/metadata.xml3
-rw-r--r--dev-java/commons-logging/Manifest2
-rw-r--r--dev-java/commons-logging/commons-logging-1.3.5.ebuild159
-rw-r--r--dev-java/commons-validator/Manifest2
-rw-r--r--dev-java/commons-validator/commons-validator-1.9.0.ebuild74
-rw-r--r--dev-java/commons-validator/metadata.xml3
11 files changed, 455 insertions, 0 deletions
diff --git a/dev-java/commons-beanutils/Manifest b/dev-java/commons-beanutils/Manifest
index 3d0920954f02..dacbe47ef92f 100644
--- a/dev-java/commons-beanutils/Manifest
+++ b/dev-java/commons-beanutils/Manifest
@@ -1,3 +1,5 @@
+DIST commons-beanutils-1.10.1-src.tar.gz 401852 BLAKE2B 380282dd125d7ea5d11b9ad109d6db0f3fad433b241f3abd3c39a5830cdbfb505b82c28e615e0d8a6807f811c43c65f41c968078841de756a01dd5815c896152 SHA512 063d4c0c9b8c77e9358e15c0ac8b1ad7abbb31e4760a5b3898bac2aee72d0a7eb4f7890769fa31bd096eb038759f97f10f4e7418a6fc4059c1a2050a20756581
+DIST commons-beanutils-1.10.1-src.tar.gz.asc 488 BLAKE2B f2d8bdc0de05fcbd2ae7e02b60ef461d3206100eed9134ea308b4129dcc820da954e49ce2aa6af6608555b5fa1be18cb7fa1eef2a1b1462070c4e4131dbbc7f9 SHA512 c63782276dead71add56022515d1f8336d618ddf5166cbafa18a062031f2962791a31a74d225d3bef1b557213c15f37c6b7ce98c83046e3f537cc47ca6cfee7a
DIST commons-beanutils-1.9.4-src.tar.gz 412606 BLAKE2B 213a2ad4d976ed4c55c9a73c0970a656e2f03efcba886369c8be164e04618937ad636ce7ffa6aa7b981e9595b24e4cbacc2bc632268bbfede8172091ef6eb4ff SHA512 6f3d30d02b9a66cf20509bd868c6e2dadb44bb27da1e6b9af7275675e0f3826845a5d4005509dd1eb77a5b2937820c4770a3753daaab072785dcdab0caa69e73
DIST commons-beanutils-1.9.4-src.tar.gz.asc 833 BLAKE2B c971231cfb034bd9bbbd6e7801a4fcb54853c0d18872cfae81ce761fc8f71ebb70955456827ad33b4abd4df8c9820031fd49f28c50eddef5251b2a0d1b01cff9 SHA512 2a966959b2c94bf013df71885c2906a092b43a0ac6d63963f1462e7c09376964bb948c0681278a58fffae6716d042dc846b1649e1f4b0816e2adb3733bf14451
DIST commons-collections-3.2.2-src.tar.gz 630693 BLAKE2B a70cebe9526291d5207db7edd7c9b50060413880d41dcb28c01cf05f7e00a9f5e1560012c3c3c763162412282db9512bc2b64a5788f210c5c8866943d912dafb SHA512 2e8ef638f07515b028a3e7e97851fcf1d9023a2c188e211bd1e936f35d3d91c2885adf3b1103ad17dfb7aeea6e7a67ce7826ee346a8a29c1aa7c6b0cf14e9230
diff --git a/dev-java/commons-beanutils/commons-beanutils-1.10.1.ebuild b/dev-java/commons-beanutils/commons-beanutils-1.10.1.ebuild
new file mode 100644
index 000000000000..fbe31c5e0b6e
--- /dev/null
+++ b/dev-java/commons-beanutils/commons-beanutils-1.10.1.ebuild
@@ -0,0 +1,116 @@
+# 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-beanutils:commons-beanutils:1.10.1"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple verify-sig
+
+DESCRIPTION="Provides easy-to-use wrappers around Reflection and Introspection APIs"
+HOMEPAGE="https://commons.apache.org/proper/commons-beanutils/"
+# We need some test classes of commons-collections which are not part of the jar file.
+ACC="commons-collections-3.2.2"
+SRC_URI="mirror://apache/commons/beanutils/source/${P}-src.tar.gz
+ test? ( https://archive.apache.org/dist/commons/collections/source/${ACC}-src.tar.gz )
+ verify-sig? ( https://downloads.apache.org/commons/beanutils/source/${P}-src.tar.gz.asc )"
+S="${WORKDIR}/${P}-src"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~amd64-linux ~x86-linux ~x64-macos"
+IUSE="log4j"
+
+VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/commons.apache.org.asc"
+BDEPEND="verify-sig? ( sec-keys/openpgp-keys-apache-commons )"
+
+COMMON_DEPEND="
+ dev-java/commons-collections:0
+ >=dev-java/commons-logging-1.3.5:0[log4j=]
+ dev-java/jakarta-servlet-api:4
+ dev-java/slf4j-api:0
+ log4j? (
+ dev-java/log4j-12-api:2
+ dev-java/log4j-api:2
+ )
+"
+
+DEPEND="
+ ${COMMON_DEPEND}
+ >=virtual/jdk-11:*
+"
+RDEPEND="
+ ${COMMON_DEPEND}
+ >=virtual/jre-1.8:*
+"
+
+DOCS=( {CONTRIBUTING,README}.md {NOTICE,RELEASE-NOTES}.txt )
+
+JAVA_GENTOO_CLASSPATH="
+ commons-collections
+ commons-logging
+ jakarta-servlet-api-4
+ slf4j-api
+"
+
+JAVA_INTERMEDIATE_JAR_NAME="org.apache.${PN/-/.}"
+JAVA_MODULE_INFO_OUT="src/main"
+JAVA_SRC_DIR="src/main/java"
+
+JAVA_TEST_GENTOO_CLASSPATH="junit-4 "
+JAVA_TEST_SRC_DIR=(
+ src/test/java
+ ../"${ACC}"-src/src/test
+)
+
+src_unpack() {
+ if use verify-sig; then
+ verify-sig_verify_detached "${DISTDIR}"/${P}-src.tar.gz{,.asc}
+ fi
+ default
+}
+
+src_prepare() {
+ java-pkg-2_src_prepare
+
+ if use log4j; then
+ JAVA_GENTOO_CLASSPATH+="
+ log4j-12-api-2
+ log4j-api-2
+ "
+ fi
+}
+
+src_test() {
+ export LC_ALL="en_US.UTF-8"
+ # Apply patch to unpacked commons-collections
+ pushd "../${ACC}-src" >> /dev/null || die
+ eapply "${FILESDIR}/${ACC}-fixes.patch"
+ popd
+
+ pushd src/test/java || die
+ # Selection according to lines 375-383 pom.xml
+ local JAVA_TEST_RUN_ONLY=$(find * \
+ -path "**/*TestCase.java" \
+ ! -path "**/*MemoryTestCase.java" \
+ ! -path "**/*MemoryLeakTestCase.java" \
+ ! -path "**/*LocaleBeanificationTestCase.java" \
+ ! -path "**/Jira347TestCase.java" \
+ )
+ popd
+ JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//.java}"
+ JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//\//.}"
+
+ # We skip 2 more test classes conditionally which have failures with Java 21
+ # Error converting 'String' to 'java.sql.Time' using pattern 'h:mm a'
+ # Error converting 'String' to 'java.sql.Timestamp' using pattern 'M/d/yy, h:mm a'
+ local vm_version="$(java-config -g PROVIDES_VERSION)"
+ if ver_test "${vm_version}" -ge "21"; then
+ JAVA_TEST_RUN_ONLY=${JAVA_TEST_RUN_ONLY//org.apache.commons.beanutils.converters.SqlTimeConverterTestCase}
+ JAVA_TEST_RUN_ONLY=${JAVA_TEST_RUN_ONLY//org.apache.commons.beanutils.converters.SqlTimestampConverterTestCase}
+ fi
+
+ java-pkg-simple_src_test
+}
diff --git a/dev-java/commons-beanutils/metadata.xml b/dev-java/commons-beanutils/metadata.xml
index 60dec0a16d6e..bab61111fa75 100644
--- a/dev-java/commons-beanutils/metadata.xml
+++ b/dev-java/commons-beanutils/metadata.xml
@@ -8,5 +8,8 @@
<upstream>
<remote-id type="cpe">cpe:/a:apache:commons_beanutils</remote-id>
</upstream>
+ <use>
+ <flag name="log4j">Add optional support for log4j</flag>
+ </use>
<origin>gentoo-staging</origin>
</pkgmetadata> \ No newline at end of file
diff --git a/dev-java/commons-digester/Manifest b/dev-java/commons-digester/Manifest
index 45f9fac5a2c9..dee74108f4a0 100644
--- a/dev-java/commons-digester/Manifest
+++ b/dev-java/commons-digester/Manifest
@@ -1,2 +1,3 @@
DIST commons-digester-2.1-src.tar.gz 304060 BLAKE2B 2360f6f8ab77b20ad6b4058e0437aa792bf3886ddec2e09b6db259bc142c070965ce066ef224e92fb91614075631a2af1358ae4b4fc065fe9118e1d2559bb9bb SHA512 6bdb63431ed1e17f5e8ba24951762750a0e59b70c76eabecbf13f5fe6974864825456beed615c8f2c16f9a2f1404f2e56bdbc3ba335656c3661d5f368c708b88
+DIST commons-digester-2.1-src.tar.gz.asc 194 BLAKE2B d9f958c0aee8342b92e860fbb7a9f865b22d3ec0b368e4c7df311409d26295bf50e9ee0f595b47f72203df039681fa4c0822264444458bbc8fe1ae72dbac2968 SHA512 99907110f741feb4f36298e9cdc0c0224b98a211de47a2773de03dba6b11e1f80af779cca9e5307384af6078fc70a01e3b207487f97b57e10ffebf6d7da60033
DIST commons-digester-3.2.tar.gz 324555 BLAKE2B 7b8bdaa70eeafb069e9ecbfe697ab86f5167ae3b9933e8aa306f0080de0ec99d12bd023067678b7b904329178f553fd6d4d98141ab329154a1c27385b33e449f SHA512 6d5ed9a1cc7612244747dcbd5c713349f27d63d1cef39fa368b4e91eaa3b1fe7043ab2fb498a73e8afde8081b8ff26a966e5b87b8b6dc68a3d907e9b25aa7cad
diff --git a/dev-java/commons-digester/commons-digester-2.1-r3.ebuild b/dev-java/commons-digester/commons-digester-2.1-r3.ebuild
new file mode 100644
index 000000000000..90477a846833
--- /dev/null
+++ b/dev-java/commons-digester/commons-digester-2.1-r3.ebuild
@@ -0,0 +1,90 @@
+# 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-digester:commons-digester:2.1"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple verify-sig
+
+DESCRIPTION="Reads XML configuration files to provide initialization of various Java objects"
+HOMEPAGE="https://commons.apache.org/digester/"
+SRC_URI="mirror://apache/commons/digester/source/${P}-src.tar.gz
+ verify-sig? ( https://downloads.apache.org/commons/digester/source/${P}-src.tar.gz.asc )"
+S="${WORKDIR}/commons-digester-${PV}-src"
+
+LICENSE="Apache-2.0"
+SLOT="2.1"
+KEYWORDS="~amd64 ~ppc64"
+IUSE="log4j"
+
+VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/commons.apache.org.asc"
+BDEPEND="verify-sig? ( sec-keys/openpgp-keys-apache-commons )"
+
+COMMON_DEPEND="
+ >=dev-java/commons-beanutils-1.10.1:0[log4j=]
+ dev-java/commons-collections:0
+ >=dev-java/commons-logging-1.3.5:0[log4j=]
+ dev-java/jakarta-servlet-api:4
+ dev-java/slf4j-api:0
+ log4j? (
+ dev-java/log4j-12-api:2
+ dev-java/log4j-api:2
+ )
+"
+
+DEPEND="
+ ${COMMON_DEPEND}
+ >=virtual/jdk-11:*
+"
+
+RDEPEND="
+ ${COMMON_DEPEND}
+ >=virtual/jre-1.8:*
+"
+
+DOCS=( {LICENSE,NOTICE,RELEASE-NOTES}.txt )
+
+# JAVA_ENCODING="iso-8859-1"
+JAVA_GENTOO_CLASSPATH="
+ commons-beanutils
+ commons-collections
+ commons-logging
+ jakarta-servlet-api-4
+ slf4j-api
+"
+
+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="junit-4"
+JAVA_TEST_SRC_DIR="src/test/java"
+JAVA_TEST_RESOURCE_DIRS="src/test/resources"
+
+src_prepare() {
+ java-pkg-2_src_prepare
+
+ if use log4j; then
+ JAVA_GENTOO_CLASSPATH+="
+ log4j-12-api-2
+ log4j-api-2
+ "
+ fi
+}
+
+src_test() {
+ pushd src/test/java || die
+ # Exclusions according to 212,215 pom.xml
+ local JAVA_TEST_RUN_ONLY=$(find * \
+ ! -name "Abstract*.java" ! -name "TestBean.java" \
+ ! -name "TestRule.java" ! -name "TestRuleSet.java" \
+ -name "*TestCase.java" -o -name "*Test.java")
+ JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//.java}"
+ JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//\//.}"
+ popd
+ java-pkg-simple_src_test
+}
diff --git a/dev-java/commons-digester/metadata.xml b/dev-java/commons-digester/metadata.xml
index 8b75249cc7bf..01a2dedcb109 100644
--- a/dev-java/commons-digester/metadata.xml
+++ b/dev-java/commons-digester/metadata.xml
@@ -9,5 +9,8 @@
The Apache Commons Digester package lets you configure an XML to Java object mapping module which triggers certain actions called rules whenever a particular pattern of nested XML elements is recognized.
</longdescription>
+ <use>
+ <flag name="log4j">Add optional support for log4j</flag>
+ </use>
<origin>gentoo-staging</origin>
</pkgmetadata> \ No newline at end of file
diff --git a/dev-java/commons-logging/Manifest b/dev-java/commons-logging/Manifest
index 871372457348..e639a710f3c9 100644
--- a/dev-java/commons-logging/Manifest
+++ b/dev-java/commons-logging/Manifest
@@ -1,2 +1,4 @@
DIST commons-logging-1.3.4-src.tar.gz 195717 BLAKE2B ba691ea0033c14f54fcb525faeadd4b330e063f73175c5ee40a4f50f159f1b264efb9f40661c4af3902ddca7d43f8f9b84e7a77bf1eeb3b237b31f566fc98aab SHA512 a4049d8d7ea0d97f337e169fa5f572e32be1882e07102ab004d8b2de74170cb075a251ee9603590d6e10bee5933651e8e33e108a734fc100e8b2d5acd669cb44
DIST commons-logging-1.3.4-src.tar.gz.asc 488 BLAKE2B a9cdc993891ff39bb8ebeaa3eefdecee1adb062ed77449dfa1dad75a43cf5aa5678f014d24765ebff7b761498abfc795d3bb68359a73f8de98cb4ac115cb68da SHA512 1c132b87f03ca54887172e45c36e1d8c66d4f12a2a6a2da84e0d6cf3ac2cd2366193829fac0393837371bc1cd34215cd6318c9e7ea6c406c11d9f0dce28b3143
+DIST commons-logging-1.3.5-src.tar.gz 196373 BLAKE2B 874afc40d0776c9b467be444b2a597e378bb0643119b729eccb5fdec92bad8b9c8efe50f4726a8edbea24b36aef1e44b324ef54379d3d84880824c3765d2aec8 SHA512 07463385a3d997413fd7cb996d7266d0325e0829d88ee1d844ee13cdee702da5ec5817ccdd2b4bbccc3c9f6defd0f08f0397e6218bbd658b3e8336e9f146c0c3
+DIST commons-logging-1.3.5-src.tar.gz.asc 488 BLAKE2B 8608ed88b260c00e1bd2f8c2ef57c842473ccc0a095b40d479a8e5abb83f6bfabb1be814b99cfc399bae1711ca07852a14a2c5ef4a976a7493432590463de690 SHA512 3ce7cc776e4aef7c329432b02fd50259e62d55551f1868c9f49222f079ab092bfd35257c91dd62e4760cf4abb0e5144c560ef30cd74e5e0725d34f1d19ac90bd
diff --git a/dev-java/commons-logging/commons-logging-1.3.5.ebuild b/dev-java/commons-logging/commons-logging-1.3.5.ebuild
new file mode 100644
index 000000000000..f970a077e1ac
--- /dev/null
+++ b/dev-java/commons-logging/commons-logging-1.3.5.ebuild
@@ -0,0 +1,159 @@
+# 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-logging:commons-logging:${PV}"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple verify-sig
+
+DESCRIPTION="Thin adapter allowing configurable bridging to other well known logging systems"
+HOMEPAGE="https://commons.apache.org/proper/commons-logging/"
+SRC_URI="mirror://apache/commons/logging/source/${P}-src.tar.gz
+ verify-sig? ( https://downloads.apache.org/commons/logging/source/${P}-src.tar.gz.asc )"
+S="${WORKDIR}/${P}-src"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="log4j"
+
+# src/test/java/org/apache/commons/logging/tccl/logfactory/AdaptersTcclTestCase.java:26:
+# error: cannot find symbol
+# import org.apache.commons.logging.impl.Log4jApiLogFactory;
+# ^
+# symbol: class Log4jApiLogFactory
+# location: package org.apache.commons.logging.impl
+REQUIRED_USE="test? ( log4j )"
+
+VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/commons.apache.org.asc"
+
+BDEPEND="verify-sig? ( sec-keys/openpgp-keys-apache-commons )"
+
+COMMON_DEPEND="
+ dev-java/jakarta-servlet-api:4
+ dev-java/slf4j-api:0
+ log4j? (
+ dev-java/log4j-12-api:2
+ dev-java/log4j-api:2
+ )
+"
+
+DEPEND="
+ ${COMMON_DEPEND}
+ >=virtual/jdk-11:*
+ test? (
+ >=dev-java/commons-io-2.18.0:1
+ dev-java/junit:5
+ )
+"
+
+RDEPEND="
+ ${COMMON_DEPEND}
+ >=virtual/jre-1.8:*
+"
+
+DOCS=( NOTICE.txt src/changes/changes.xml )
+HTML_DOCS=( PROPOSAL.html )
+
+JAVA_GENTOO_CLASSPATH="
+ jakarta-servlet-api-4
+ slf4j-api
+"
+
+JAVA_INTERMEDIATE_JAR_NAME="org.apache.${PN/-/.}"
+JAVA_MODULE_INFO_OUT="src/main"
+JAVA_SRC_DIR="src/main/java"
+
+src_prepare() {
+ java-pkg-2_src_prepare
+
+ # https://avalon.apache.org/closed.html Apache Avalon has closed.
+ rm src/main/java/org/apache/commons/logging/impl/{Avalon,LogKit}Logger.java || die
+ rm src/test/java/org/apache/commons/logging/{avalon/AvalonLogger,logkit/Standard}TestCase.java || die
+
+ if use !log4j; then
+ rm src/main/java/org/apache/commons/logging/impl/Log4JLogger.java || die
+ rm src/main/java/org/apache/commons/logging/impl/Log4jApiLogFactory.java || die
+ else
+ JAVA_GENTOO_CLASSPATH+="
+ log4j-12-api-2
+ log4j-api-2
+ "
+ fi
+}
+
+src_compile() {
+ java-pkg-simple_src_compile
+
+ pushd target/classes > /dev/null || die
+
+ # pom.xml, lines 81-103
+ jar -cvf ../../commons-logging-api.jar \
+ $(find . -type f -name '*.class' \
+ ! -name 'Jdk13LumberjackLogger.class' \
+ ! -name 'ServletContextCleaner.class' \
+ ) || die
+
+ # pom.xml, lines 205-124
+ jar -cvf ../../commons-logging-adapters.jar \
+ $(find . -type f -path './org/apache/commons/logging/impl/**.class' \
+ ! -name 'WeakHashtable*.class' \
+ ! -name 'LogFactoryImpl*.class' \
+ ) || die
+
+ popd > /dev/null || die
+}
+
+src_test() {
+ # Do not run Log4j tests because these tests use an Appender to verify
+ # logging correctness. The log4j-12-api bridge no longer supports using an
+ # Appender for verifications since the methods for adding an Appender in
+ # the bridge "are largely no-ops". This means an Appender's state would
+ # never be changed by log4j-12-api after new messages are logged. The test
+ # cases, however, expect changes to the Appender's state in such an event,
+ # so they would fail with log4j-12-api.
+ # https://logging.apache.org/log4j/log4j-2.8/log4j-1.2-api/index.html
+ rm src/test/java/org/apache/commons/logging/pathable/ParentFirstTestCase.java || die # Log4JLogger
+ rm src/test/java/org/apache/commons/logging/pathable/ChildFirstTestCase.java || die # Log4JLogger
+ rm -r src/test/java/org/apache/commons/logging/log4j || die
+ rm src/test/java/org/apache/commons/logging/log4j2/CallerInformationTestCase.java || die
+ # error: package ch.qos.logback.classic does not exist
+ rm src/test/java/org/apache/commons/logging/slf4j/CallerInformationTestCase.java || die
+
+ JAVA_TEST_EXCLUDES=(
+ org.apache.commons.logging.jdk14.TestHandler # No runnable methods
+ # junit.framework.AssertionFailedError: Wrong factory retrieved through
+ # ServiceLoader: org.apache.commons.logging.impl.Slf4jLogFactory
+ org.apache.commons.logging.serviceloader.ServiceLoaderTestCase
+ # junit.framework.ComparisonFailure: Log class expected:<...ommons.logging.impl.[NoOp]Log>
+ # but was:<...ommons.logging.impl.[Slf4jLogFactory$Slf4j]Log>
+ org.apache.commons.logging.noop.NoOpLogTestCase
+ # org.junit.runners.model.InvalidTestClassyyError: Invalid test class
+ org.apache.commons.logging.LogSourceTest # No runnable methods
+ # junit.framework.AssertionFailedError: Logging config succeeded when context class loader was null!
+ org.apache.commons.logging.LoadTestCase
+ # junit.framework.AssertionFailedError:
+ # expected:<org.apache.commons.logging.PathableClassLoader@1edf1c96>
+ # but was:<org.apache.commons.logging.PathableClassLoader@15615099>
+ org.apache.commons.logging.tccl.logfactory.AdaptersTcclTestCase
+ )
+ JAVA_TEST_EXTRA_ARGS=(
+ -Dcommons-lang3="$(java-pkg_getjars commons-lang-3.6)"
+ -Dlog4j-api="commons-logging-api.jar"
+ -Dservlet-api="$(java-pkg_getjars jakarta-servlet-api-4)"
+ -Dcommons-logging="commons-logging.jar"
+ -Dcommons-logging-api="commons-logging-api.jar"
+ -Dcommons-logging-adapters="commons-logging-adapters.jar"
+ -Dtestclasses="target/test-classes"
+ )
+ if use log4j; then
+ JAVA_TEST_EXTRA_ARGS+=" -Dlog4j12=$(java-pkg_getjars log4j-12-api-2,log4j-core-2)"
+ fi
+ JAVA_TEST_GENTOO_CLASSPATH="commons-io-1 commons-lang-3.6 junit-4 junit-5"
+ JAVA_TEST_RESOURCE_DIRS="src/test/resources"
+ JAVA_TEST_SRC_DIR="src/test/java"
+ java-pkg-simple_src_test
+}
diff --git a/dev-java/commons-validator/Manifest b/dev-java/commons-validator/Manifest
index c8d595696045..7d5d5ba947c2 100644
--- a/dev-java/commons-validator/Manifest
+++ b/dev-java/commons-validator/Manifest
@@ -1,2 +1,4 @@
DIST commons-validator-1.8.0-src.tar.gz 291779 BLAKE2B 0a0a0f9019b39ff1899be2f65e5e6750e12ed7b6833cc7e03279b5bedd3b3c3e02561891ba8885b50c356d103dabe207bf18adf04d8e6ba627397c5b81656603 SHA512 f0c2662e5db0bbc6ee9d05d5508caa02bf45b7c7ada92f4a97a867848f3d704b35552d47859a46567705194248e7b88cd8df8f082939012ab60b6aed446e36b2
DIST commons-validator-1.8.0-src.tar.gz.asc 488 BLAKE2B 9e9b7f54f430c5a42de8af6d8c55a0f4029e3a41f0bc41efb08863a9470f0935ad23d6ba6757cf4d5e28c11626e15ae392807ae9c33529a3feb15b90a2316ca5 SHA512 f04709f64026560bfd2f5cc51ebf373d44359452f41af73b53d105059a6760786f49d89837c624cd133875de0a37358af1cf587a6db567e7cc76ce823efa9efd
+DIST commons-validator-1.9.0-src.tar.gz 296710 BLAKE2B e5f119cd7e6e1fe148038cb62a3bdc01e5d1b8dee37930e9369e331a398dbc86e3b1fdc1a618b69fce0f96c621d23a44f88dccd4a51cd6a4c6df81a3a4c8c3af SHA512 4e36f0ec5b1b8ae9724f020c51396332444d7359988fbcceaab004cde30e223b8130315e85d9b3d568fdc30399e9e503783bb81f217fe5f846f9e14c484a1fe0
+DIST commons-validator-1.9.0-src.tar.gz.asc 488 BLAKE2B 0d7d76a24043c20eda4080273f1535a84256ca1c3b8d52a55b004c62f70f9f6ae481cb6d5667d5b0f0d7468d09041520627127597e1e8d81fc132348e2d8994d SHA512 fa68ae531f7678cb172be1ecd0181999619ef4e711930b880b07156a40f14adbf92fa09c971ab36055936cf6221fda800abc54800eba0aeb90fd95c38175d628
diff --git a/dev-java/commons-validator/commons-validator-1.9.0.ebuild b/dev-java/commons-validator/commons-validator-1.9.0.ebuild
new file mode 100644
index 000000000000..6641dbdedc9a
--- /dev/null
+++ b/dev-java/commons-validator/commons-validator-1.9.0.ebuild
@@ -0,0 +1,74 @@
+# 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-validator:commons-validator:${PV}"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple verify-sig
+
+DESCRIPTION="Commons component to validate user input, or data input"
+HOMEPAGE="https://commons.apache.org/proper/commons-validator/"
+SRC_URI="mirror://apache/commons/validator/source/${P}-src.tar.gz
+ verify-sig? ( https://downloads.apache.org/commons/validator/source/${P}-src.tar.gz.asc )"
+S="${WORKDIR}/${P}-src"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc64"
+IUSE="log4j"
+RESTRICT="test" #839681
+
+VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/commons.apache.org.asc"
+
+BDEPEND="verify-sig? ( sec-keys/openpgp-keys-apache-commons )"
+
+COMMON_DEPEND="
+ >=dev-java/commons-beanutils-1.10.1:0[log4j=]
+ dev-java/commons-collections:0
+ >=dev-java/commons-digester-2.1-r3:2.1[log4j=]
+ >=dev-java/commons-logging-1.3.5:0[log4j=]
+ dev-java/jakarta-servlet-api:4
+ dev-java/slf4j-api:0
+ log4j? (
+ dev-java/log4j-12-api:2
+ dev-java/log4j-api:2
+ )
+"
+
+DEPEND="
+ ${COMMON_DEPEND}
+ >=virtual/jdk-11:*
+"
+
+RDEPEND="
+ ${COMMON_DEPEND}
+ >=virtual/jre-1.8:*
+"
+
+JAVA_GENTOO_CLASSPATH="
+ commons-beanutils
+ commons-collections
+ commons-digester-2.1
+ commons-logging
+ jakarta-servlet-api-4
+ slf4j-api
+"
+
+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"
+
+src_prepare() {
+ java-pkg-2_src_prepare
+
+ if use log4j; then
+ JAVA_GENTOO_CLASSPATH+="
+ log4j-12-api-2
+ log4j-api-2
+ "
+ fi
+}
diff --git a/dev-java/commons-validator/metadata.xml b/dev-java/commons-validator/metadata.xml
index a398d89e0946..566c873b7613 100644
--- a/dev-java/commons-validator/metadata.xml
+++ b/dev-java/commons-validator/metadata.xml
@@ -9,5 +9,8 @@
<changelog>&#xA;&#x9;&#x9;&#x9;http://commons.apache.org/proper/commons-validator/changes-report.html&#xA;&#x9;&#x9;</changelog>
<bugs-to>https://issues.apache.org/jira/projects/VALIDATOR/issues/</bugs-to>
</upstream>
+ <use>
+ <flag name="log4j">Add optional support for log4j</flag>
+ </use>
<origin>gentoo-staging</origin>
</pkgmetadata> \ No newline at end of file