summaryrefslogtreecommitdiff
path: root/dev-java/commons-logging
diff options
context:
space:
mode:
Diffstat (limited to 'dev-java/commons-logging')
-rw-r--r--dev-java/commons-logging/Manifest1
-rw-r--r--dev-java/commons-logging/commons-logging-1.2-r5.ebuild122
2 files changed, 123 insertions, 0 deletions
diff --git a/dev-java/commons-logging/Manifest b/dev-java/commons-logging/Manifest
index 424d3c98d053..e91f96123618 100644
--- a/dev-java/commons-logging/Manifest
+++ b/dev-java/commons-logging/Manifest
@@ -2,4 +2,5 @@ AUX commons-logging-1.2-gentoo.patch 825 BLAKE2B 154927ebbda77a76007fe9b448fc280
AUX commons-logging-1.2-servletapi.patch 1783 BLAKE2B 5f8bc256542335b5d955d998ef2ee49d8becca46b367ba0ac1152f68ea4fccc226afcd2475331cf292c3f0f11471052e6917c9508a6737c6482c556c2ec87363 SHA512 bf2f0aca771b7278f2d80ae3c149492040c137c1ab190513fd9894fad315f75e4b0423f65a5ffaff04faed3f7256728b5f474cfbe0aefc2a53d60337a6344d39
DIST commons-logging-1.2-src.tar.gz 188536 BLAKE2B 80613b78619f7b3429f60df4fb9b66dd4836e8b89fcf93a3a1bcd5cb7e410d474be010da16b325143e028a40ff4dd971753962c9d9145f85b1738f5dda13ba99 SHA512 9f3761184950f2f13e85d8bc447709ab8be631dfd231b4f053f8147468db1bf71fb116ddba95e39f4afc4cf28c742e07d40c7a637f28004a60dc13935f9609f9
EBUILD commons-logging-1.2-r3.ebuild 2428 BLAKE2B ec1bb9560770cce42e810c9be98cb90f29951f15b4d86856806b33364b7a0137fb44c886c8b1d8929ace6a62f94cff08da22673846d8650f3d511a7e329d29e9 SHA512 8787240bdaccc05b6ef2dd5ce717a4f4bd5224f37ac8cab943fec9c5ca31c7a11f55e229d4ead8d4f568cfe06f4d15281ceb7c15757cd86c0f04272b1e19206e
+EBUILD commons-logging-1.2-r5.ebuild 4166 BLAKE2B 5938a00e5a813dcb68e396d45b0134609ba6bab577246639d5c9dae017882ee94bff0eb77d5616a496a555552e29ab6eecc3169b2549dbea85aec73bf842dd90 SHA512 23ebef4dbe7770c814afe134c750a9cfd664429339ca75d00611211341afcccbf72fafc2ea18212af3a85655158bd6e6dc107665a2b4bdb4cf57eb65cfae82c5
MISC metadata.xml 552 BLAKE2B ec2efc6f1e5e694ae68d977b40387ecdf6bff5fd184a4a5cd7c65830108d82522e5951a9b9868f4e94b08ec00c1901f43cd027f328b49cffc90ca971fb041026 SHA512 89c4f003ea15a5201ba713ca1819b9ea35d65c27e4106e6bc8e3806f1667f95b3e96c7b76c77b8545ded8abbb3955f6cf96dea11eeaea7740696bb01a933e077
diff --git a/dev-java/commons-logging/commons-logging-1.2-r5.ebuild b/dev-java/commons-logging/commons-logging-1.2-r5.ebuild
new file mode 100644
index 000000000000..f93740de50e1
--- /dev/null
+++ b/dev-java/commons-logging/commons-logging-1.2-r5.ebuild
@@ -0,0 +1,122 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+MAVEN_ID="commons-logging:commons-logging:1.2"
+
+inherit java-pkg-2 java-ant-2 java-osgi
+
+DESCRIPTION="An ultra-thin bridge between different Java logging libraries"
+HOMEPAGE="https://commons.apache.org/logging/"
+SRC_URI="mirror://apache/commons/logging/source/${P}-src.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+IUSE="avalon-framework avalon-logkit log4j servletapi test"
+REQUIRED_USE="doc? ( avalon-framework avalon-logkit log4j servletapi )"
+RESTRICT="!test? ( test ) !servletapi? ( test )"
+
+CDEPEND="
+ avalon-logkit? ( dev-java/avalon-logkit:2.0 )
+ avalon-framework? ( dev-java/avalon-framework:4.2 )
+ log4j? (
+ dev-java/log4j-12-api:2
+ dev-java/log4j-api:2
+ dev-java/log4j-core:2
+ )
+ servletapi? ( dev-java/tomcat-servlet-api:4.0 )"
+
+RDEPEND="
+ ${CDEPEND}
+ >=virtual/jre-1.8:*"
+
+DEPEND="
+ ${CDEPEND}
+ >=virtual/jdk-1.8:*
+ test? ( dev-java/ant-junit:0 )"
+
+S="${WORKDIR}/${P}-src"
+
+EANT_BUILD_TARGET="compile"
+JAVA_ANT_REWRITE_CLASSPATH="yes"
+JAVA_ANT_IGNORE_SYSTEM_CLASSES="yes"
+
+DOCS=( RELEASE-NOTES.txt PROPOSAL.html )
+
+src_prepare() {
+ default
+
+ eapply "${FILESDIR}/${P}-gentoo.patch"
+ # patch to make the build.xml respect no servletapi
+ eapply "${FILESDIR}/${P}-servletapi.patch"
+
+ # bug #208098
+ echo "jdk.1.4.present=true" > build.properties || die
+
+ if use avalon-framework; then
+ echo "avalon-framework.jar=$(java-pkg_getjars avalon-framework-4.2)" >> build.properties || die
+ fi
+ if use avalon-logkit; then
+ echo "logkit.jar=$(java-pkg_getjars avalon-logkit-2.0)" >> build.properties || die
+ fi
+ if use log4j; then
+ # log4j12.jar can only contain path to one single file because
+ # build.xml decides whether the Log4JLogger should be built with
+ # <available file="${log4j12.jar}" property="log4j12.present"/>,
+ # and a value that contains multiple file paths will cause the
+ # test to return a negative result. However, classes from multiple
+ # Log4j 2 JARs are needed to compile the sources. So, we combine
+ # them into a single JAR on the go.
+ # https://bugs.gentoo.org/834036
+ mkdir -p "${T}/log4j-2" ||
+ die "Failed to create temporary directory for Log4j 2 classes"
+ pushd "${T}/log4j-2" > /dev/null ||
+ die "Failed to enter temporary directory for Log4j 2 classes"
+
+ local jar="$(java-config -j)"
+ local dep
+ for dep in log4j-{12-api,api,core}; do
+ # Assuming SLOT="2" for Log4j 2 dependencies
+ "${jar}" -xf "$(java-pkg_getjar "${dep}-2" "${dep}.jar")" ||
+ die "Failed to extract files from ${dep}-2 installed on system"
+ done
+ "${jar}" -cf log4j-2.jar . || die "Failed to create JAR for Log4j"
+
+ popd > /dev/null ||
+ die "Failed to leave temporary directory for Log4j 2 classes"
+
+ echo "log4j12.jar=${T}/log4j-2/log4j-2.jar" >> build.properties || die
+ fi
+
+ if use servletapi; then
+ echo "servletapi.jar=$(java-pkg_getjar tomcat-servlet-api-4.0 servlet-api.jar)" >> build.properties || die
+ fi
+}
+
+src_install() {
+ local pkg=org.apache.commons.logging
+ java-osgi_newjar "target/${P}.jar" "${pkg}" "Apache Commons Logging" "${pkg};version=\"${PV}\", ${pkg}.impl;version=\"${PV}\""
+ java-pkg_newjar target/${PN}-api-${PV}.jar ${PN}-api.jar
+ java-pkg_newjar target/${PN}-adapters-${PV}.jar ${PN}-adapters.jar
+
+ einstalldocs
+ use doc && java-pkg_dojavadoc target/docs/
+ use source && java-pkg_dosrc src/main/java/org
+}
+
+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
+ sed -i -e "/^log4j12\.jar=/d" build.properties ||
+ die "Failed to skip Log4j tests by modifying build.properties"
+ java-pkg-2_src_test
+}