commit:     5225edd801133472adbe6a9be5122f9991bee85b
Author:     Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net>
AuthorDate: Sat Dec 16 07:24:18 2023 +0000
Commit:     Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
CommitDate: Thu Apr 18 10:55:55 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5225edd8

dev-java/commons-logging: add 1.3.1

Temporarily drops all tests, need to revisit
after solving https://bugs.gentoo.org/921398

Bug: https://bugs.gentoo.org/923601
Signed-off-by: Volkmar W. Pogatzki <gentoo <AT> pogatzki.net>
Closes: https://github.com/gentoo/gentoo/pull/36096
Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>

 dev-java/commons-logging/Manifest                  |   2 +
 .../commons-logging/commons-logging-1.3.1.ebuild   | 153 +++++++++++++++++++++
 2 files changed, 155 insertions(+)

diff --git a/dev-java/commons-logging/Manifest 
b/dev-java/commons-logging/Manifest
index 25360c6e9487..9f2bae1c3096 100644
--- a/dev-java/commons-logging/Manifest
+++ b/dev-java/commons-logging/Manifest
@@ -1 +1,3 @@
 DIST commons-logging-1.3.0_pre20230319.tar.gz 184984 BLAKE2B 
01b46bdb657dfaf3ffb55b3440b416d61a419a3358e4d240cc7e25794f38e0061e14ee77e5578aedf1b50006d6ec65016c9e837bd13c4dab9a2182604fe85c72
 SHA512 
b586be5dd891572aa55c3066c3fb7d57ba5f31c0bfaa768b80cd8c1c5c659a8c718b4cb42e6c65332b52f073462432c0f81e4aaf1535afb781da9a7884cdc07e
+DIST commons-logging-1.3.1-src.tar.gz 189156 BLAKE2B 
23308b2bff6ea67620b0f07f49a63ffdbd07833fc0d9a6654386f4c17c9125abef5ad2afb6d8c798dcb98bc3e99bd8d94d35b9deec569c3aec1dde20f69e1a1d
 SHA512 
ffda970d086601df4b476caf8bd01d1bdc22dd7f8846a22287036f7f000ce6cf0a757d16621910f041f8d90aa6066819454b3977dd005ca66817bec59e91e91f
+DIST commons-logging-1.3.1-src.tar.gz.asc 488 BLAKE2B 
3225a62f6269224f1b52907631be03d97cde65d1c7a76c06b6a23b9e30b1cee08b048eb4fdaa41b0a6b5bcf090b54c9dc54307fb1629b039b786fd426572a4d1
 SHA512 
6f13f85a5aeab1099ebfca38a6173384050b1f1c2e7eac93d978587c92751ddd24d583e39bc5a949f0caec66ca141d265147e63e9e2afea2094bda4667936a86

diff --git a/dev-java/commons-logging/commons-logging-1.3.1.ebuild 
b/dev-java/commons-logging/commons-logging-1.3.1.ebuild
new file mode 100644
index 000000000000..1f9180268241
--- /dev/null
+++ b/dev-java/commons-logging/commons-logging-1.3.1.ebuild
@@ -0,0 +1,153 @@
+# 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="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 ~arm ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos 
~x64-macos ~x64-solaris"
+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/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=( NOTICE.txt src/changes/changes.xml )
+HTML_DOCS=( PROPOSAL.html )
+
+JAVA_AUTOMATIC_MODULE_NAME="org.apache.commons.logging"
+JAVA_ENCODING="iso-8859-1"
+JAVA_GENTOO_CLASSPATH="
+       jakarta-servlet-api-4
+       slf4j-api
+"
+JAVA_SRC_DIR="src/main/java"
+
+src_prepare() {
+       java-pkg-2_src_prepare
+
+       # javax-servlet-api and log4j* do not presently provide module-info
+       cat > src/main/java/module-info.java <<-EOF || die
+               module org.apache.commons.logging {
+               //      requires static org.apache.logging.log4j;
+                       requires static org.slf4j;
+                       requires static java.logging;
+               //      requires static log4j;
+               //      requires static servlet.api;
+               //      requires static org.apache.log4j;
+                       requires java.base;
+                       exports org.apache.commons.logging;
+                       exports org.apache.commons.logging.impl;
+                       uses org.apache.commons.logging.LogFactory;
+               }
+       EOF
+
+       # 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
+
+       # Need Automatic-Module-Name also for the other JAR files
+       jar xvf ../../commons-logging.jar META-INF/MANIFEST.MF || die
+
+       # pom.xml, lines 81-103
+       jar -cvfm ../../commons-logging-api.jar META-INF/MANIFEST.MF \
+               $(find . -type f -name '*.class' \
+               ! -name 'Jdk13LumberjackLogger.class' \
+               ! -name 'ServletContextCleaner.class' \
+               ) || die
+
+       # pom.xml, lines 205-124
+       jar -cvfm ../../commons-logging-adapters.jar META-INF/MANIFEST.MF \
+               $(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
+       )
+       JAVA_TEST_EXTRA_ARGS=(
+               -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="junit-4"
+       JAVA_TEST_RESOURCE_DIRS="src/test/resources"
+       JAVA_TEST_SRC_DIR="src/test/java"
+       java-pkg-simple_src_test
+}
+
+src_install() {
+       java-pkg-simple_src_install
+       java-pkg_dojar commons-logging-api.jar commons-logging-adapters.jar
+}

Reply via email to