1
0

Merge branch 'master' into release

This commit is contained in:
Gary Gregory
2024-05-11 14:44:17 +00:00
16 changed files with 192 additions and 138 deletions

View File

@@ -45,10 +45,10 @@ jobs:
steps:
- name: Checkout repository
uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # 4.1.2
uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # 4.1.5
with:
persist-credentials: false
- uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 # v4.0.1
- uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
@@ -57,7 +57,7 @@ jobs:
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@3ab4101902695724f9365a384f86c1074d94e18c # 3.24.7
uses: github/codeql-action/init@ccf74c947955fd1cf117aef6a0e4e66191ef6f61 # 3.25.4
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
@@ -68,7 +68,7 @@ jobs:
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@3ab4101902695724f9365a384f86c1074d94e18c # 3.24.7
uses: github/codeql-action/autobuild@ccf74c947955fd1cf117aef6a0e4e66191ef6f61 # 3.25.4
# Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl
@@ -82,4 +82,4 @@ jobs:
# make release
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@3ab4101902695724f9365a384f86c1074d94e18c # 3.24.7
uses: github/codeql-action/analyze@ccf74c947955fd1cf117aef6a0e4e66191ef6f61 # 3.25.4

View File

@@ -29,7 +29,7 @@ jobs:
java: [ 8 ]
steps:
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
- uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5
with:
persist-credentials: false
- name: Set up JDK ${{ matrix.java }}
@@ -42,6 +42,6 @@ jobs:
run: mvn --show-version --batch-mode --no-transfer-progress verify jacoco:report
- name: Upload coverage to Codecov
uses: codecov/codecov-action@54bcd8715eee62d40e33596ef5e8f0f48dbbccab # v3
uses: codecov/codecov-action@5ecb98a3c6b747ed38dc09f787459979aebb39be # v3
with:
files: ./target/site/jacoco/jacoco.xml

View File

@@ -31,12 +31,12 @@ jobs:
java: [ 8, 11, 17, 21 ]
experimental: [false]
# include:
# - java: 22-ea
# - java: 23-ea
# experimental: true
steps:
- name: Checkout repository
uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5
- name: Set up JDK ${{ matrix.java }}
uses: actions/setup-java@99b8673ff64fbf99d8d325f52d9a5bdedb8483e9 # v4.2.1

View File

@@ -40,12 +40,12 @@ jobs:
steps:
- name: "Checkout code"
uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # 4.1.2
uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # 4.1.5
with:
persist-credentials: false
- name: "Run analysis"
uses: ossf/scorecard-action@0864cf19026789058feabb7e87baa5f140aac736 # 2.3.1
uses: ossf/scorecard-action@dc50aa9510b46c811795eb24b2f1ba02a914e534 # 2.3.3
with:
results_file: results.sarif
results_format: sarif
@@ -57,13 +57,13 @@ jobs:
publish_results: true
- name: "Upload artifact"
uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # 4.3.1
uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # 4.3.3
with:
name: SARIF file
path: results.sarif
retention-days: 5
- name: "Upload to code-scanning"
uses: github/codeql-action/upload-sarif@3ab4101902695724f9365a384f86c1074d94e18c # 3.24.7
uses: github/codeql-action/upload-sarif@ccf74c947955fd1cf117aef6a0e4e66191ef6f61 # 3.25.4
with:
sarif_file: results.sarif

View File

@@ -46,7 +46,7 @@ Apache Commons Logging
[![Java CI](https://github.com/apache/commons-logging/actions/workflows/maven.yml/badge.svg)](https://github.com/apache/commons-logging/actions/workflows/maven.yml)
[![Coverage Status](https://codecov.io/gh/apache/commons-logging/branch/master/graph/badge.svg)](https://app.codecov.io/gh/apache/commons-logging)
[![Maven Central](https://maven-badges.herokuapp.com/maven-central/commons-logging/commons-logging/badge.svg?gav=true)](https://maven-badges.herokuapp.com/maven-central/commons-logging/commons-logging/?gav=true)
[![Javadocs](https://javadoc.io/badge/commons-logging/commons-logging/1.3.1.svg)](https://javadoc.io/doc/commons-logging/commons-logging/1.3.1)
[![Javadocs](https://javadoc.io/badge/commons-logging/commons-logging/1.3.2.svg)](https://javadoc.io/doc/commons-logging/commons-logging/1.3.2)
[![CodeQL](https://github.com/apache/commons-logging/actions/workflows/codeql-analysis.yml/badge.svg)](https://github.com/apache/commons-logging/actions/workflows/codeql-analysis.yml)
[![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/apache/commons-logging/badge)](https://api.securityscorecards.dev/projects/github.com/apache/commons-logging)
@@ -70,7 +70,7 @@ Alternatively, you can pull it from the central Maven repositories:
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.3.1</version>
<version>1.3.2</version>
</dependency>
```

View File

@@ -38,6 +38,56 @@ Changes
* Bump logkit from 1.0.1 to 2.0 #32. Thanks to Dependabot.
Historical list of changes: https://commons.apache.org/proper/commons-logging/changes-report.html
Download it from https://commons.apache.org/proper/commons-logging/download_logging.cgi
For complete information on Apache Commons Logging, including instructions on how to submit bug reports,
patches, or suggestions for improvement, see the Apache Commons Logging website:
https://commons.apache.org/proper/commons-logging/
-----------------------------------------------------------------------------
Apache Commons Logging
Version 1.3.1
RELEASE NOTES
The Apache Commons Logging team is pleased to announce the release of Apache Commons Logging 1.3.1
Apache Commons Logging is a thin adapter allowing configurable bridging to other,
well-known logging systems.
This is a feature and maintenance release. Java 8 or later is required.
Changes in this version
-----------------------
New features
------------
* Add Maven property project.build.outputTimestamp for build reproducibility. Thanks to Gary Gregory.
Fixed Bugs
----------
* Remove references to very old JDK and Commons Logging versions #201. Thanks to Elliotte Rusty Harold.
* Update from Logj 1 to the Log4j 2 API compatibility layer #231. Thanks to Gary Gregory, Piotr P. Karwasz.
* Allow Servlet 4 in OSGi environment #191. Thanks to Václav Haisman.
* Fix generics warnings #213. Thanks to Elliotte Rusty Harold.
* LOGGING-189: Fix Import-Package entry for org.slf4j #188. Thanks to Václav Haisman, Sebb, Hannes Wellmann, Gary Gregory, Piotr P. Karwasz.
Changes
-------
* Bump org.apache.commons:commons-parent from 65 to 67. Thanks to Dependabot.
* Bump log4j2.version from 2.21.1 to 2.23.1 #187, #230. Thanks to Dependabot, Piotr P. Karwasz.
* Bump org.slf4j:slf4j-api from 2.0.9 to 2.0.12 #207. Thanks to Dependabot.
* Bump ch.qos.logback:logback-classic from 1.3.11 to 1.3.14 #212. Thanks to Dependabot, Gary Gregory.
* Bump ch.qos.logback:logback-core from 1.3.11 to 1.3.14 #211. Thanks to Dependabot, Gary Gregory.
* Bump com.h3xstream.findsecbugs:findsecbugs-plugin from 1.12.0 to 1.13.0. Thanks to Dependabot.
* Bump logkit from 1.0.1 to 2.0 #32. Thanks to Dependabot.
Historical list of changes: https://commons.apache.org/proper/commons-logging/changes-report.html
Download it from https://commons.apache.org/proper/commons-logging/download_logging.cgi

200
pom.xml
View File

@@ -18,15 +18,15 @@ under the License.
-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<!--
- Note that due to the special requirements of logging unit-tests, most
- tests are executed in the "integration-test" phase rather than the
- "test" phase. Please run "mvn integration-test" to run the full suite of
- available unit tests.
Note that due to the special requirements of logging unit-tests, most
tests are executed in the "integration-test" phase rather than the
"test" phase. Please run "mvn integration-test" to run the full suite of
available unit tests.
-->
<parent>
<groupId>org.apache.commons</groupId>
<artifactId>commons-parent</artifactId>
<version>67</version>
<version>69</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>commons-logging</groupId>
@@ -36,31 +36,69 @@ under the License.
<description>Apache Commons Logging is a thin adapter allowing configurable bridging to other,
well-known logging systems.</description>
<url>https://commons.apache.org/proper/commons-logging/</url>
<properties>
<animal-sniffer.signature>java18</animal-sniffer.signature>
<commons.logging.javaversion>1.8</commons.logging.javaversion>
<maven.compiler.source>${commons.logging.javaversion}</maven.compiler.source>
<maven.compiler.target>${commons.logging.javaversion}</maven.compiler.target>
<commons.componentid>logging</commons.componentid>
<commons.module.name>org.apache.commons.logging</commons.module.name>
<commons.release.version>1.3.2</commons.release.version>
<commons.release.next>1.3.3</commons.release.next>
<commons.bc.version>1.3.1</commons.bc.version>
<commons.release.isDistModule>true</commons.release.isDistModule>
<commons.jira.id>LOGGING</commons.jira.id>
<commons.jira.pid>12310484</commons.jira.pid>
<!-- The RC version used in the staging repository URL. -->
<commons.rc.version>RC2</commons.rc.version>
<skipSurefireReport>true</skipSurefireReport>
<!-- Since version 3.2 additional classpath dependencies are allowed. -->
<commons.failsafe.version>3.2.1</commons.failsafe.version>
<!-- Allow default test run order to be changed -->
<failsafe.runorder>filesystem</failsafe.runorder>
<log4j2.version>2.23.1</log4j2.version>
<logback.version>1.3.14</logback.version>
<slf4j.version>2.0.13</slf4j.version>
<findsecbugs.version>1.13.0</findsecbugs.version>
<commons.osgi.import>
javax.servlet;version="[2.1.0, 5.0.0)";resolution:=optional,
org.apache.avalon.framework.logger;version="[4.1.3, 4.1.5]";resolution:=optional,
org.apache.log;version="[1.0.1, 1.0.1]";resolution:=optional,
org.apache.log4j;version="[1.2.15, 2.0.0)";resolution:=optional,
org.apache.logging.log4j;version="[2.0, 4.0)";resolution:=optional,
org.slf4j;version="[1.7, 3)";resolution:=optional,
org.slf4j.spi;version="[1.7, 3)";resolution:=optional
</commons.osgi.import>
<project.build.outputTimestamp>2024-03-24T15:00:55Z</project.build.outputTimestamp>
<!-- JaCoCo: Don't make code coverage worse than: -->
<commons.jacoco.haltOnFailure>true</commons.jacoco.haltOnFailure>
<commons.jacoco.classRatio>0.86</commons.jacoco.classRatio>
<commons.jacoco.instructionRatio>0.52</commons.jacoco.instructionRatio>
<commons.jacoco.methodRatio>0.69</commons.jacoco.methodRatio>
<commons.jacoco.branchRatio>0.49</commons.jacoco.branchRatio>
<commons.jacoco.lineRatio>0.56</commons.jacoco.lineRatio>
<commons.jacoco.complexityRatio>0.50</commons.jacoco.complexityRatio>
</properties>
<issueManagement>
<system>JIRA</system>
<url>https://issues.apache.org/jira/browse/LOGGING</url>
</issueManagement>
<inceptionYear>2001</inceptionYear>
<scm>
<connection>scm:git:https://gitbox.apache.org/repos/asf/commons-logging</connection>
<developerConnection>scm:git:https://gitbox.apache.org/repos/asf/commons-logging</developerConnection>
<url>https://gitbox.apache.org/repos/asf/commons-logging</url>
</scm>
<build>
<!-- TODO spotbugs:check -->
<defaultGoal>clean verify apache-rat:check japicmp:cmp javadoc:javadoc checkstyle:check pmd:check</defaultGoal>
<plugins>
<!--
- We want to create four jarfiles from this project: normal, tests, api
- and adapters. The first two are handled by the normal jar:jar and
- jar:test-jar targets.
- The jar plugin with some includes/excludes is used to create the other
- ones.
We want to create four jarfiles from this project: normal, tests, api
and adapters. The first two are handled by the normal jar:jar and
jar:test-jar targets.
The jar plugin with some includes/excludes is used to create the other
ones.
-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
@@ -68,8 +106,8 @@ under the License.
<executions>
<execution>
<!--
- The custom test framework requires the unit test code to be
- in a jarfile so it can control its place in the classpath.
The custom test framework requires the unit test code to be
in a jarfile so it can control its place in the classpath.
-->
<id>create-test-jar</id>
<phase>package</phase>
@@ -77,7 +115,6 @@ under the License.
<goal>test-jar</goal>
</goals>
</execution>
<execution>
<id>create-api-jar</id>
<phase>package</phase>
@@ -101,7 +138,6 @@ under the License.
</excludes>
</configuration>
</execution>
<execution>
<id>create-adapters-jar</id>
<phase>package</phase>
@@ -130,7 +166,6 @@ under the License.
</archive>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
@@ -153,15 +188,14 @@ under the License.
</execution>
</executions>
</plugin>
<plugin>
<!--
- Many of JCL's tests use tricky techniques to place the generated
- JCL jarfiles on the classpath in various configurations. This means
- that those tests must be run *after* the "package" build phase.
-
- In order to not mess with the Ant build we "disable" the normal test
- phase. This is done by skipping the execution of the surefire plugin.
Many of JCL's tests use tricky techniques to place the generated
JCL jarfiles on the classpath in various configurations. This means
that those tests must be run *after* the "package" build phase.
In order to not mess with the Ant build we "disable" the normal test
phase. This is done by skipping the execution of the surefire plugin.
-->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
@@ -169,15 +203,14 @@ under the License.
<skip>true</skip>
</configuration>
</plugin>
<plugin>
<!--
- Many of JCL's tests use tricky techniques to place the generated
- JCL jarfiles on the classpath in various configurations. This means
- that those tests must be run *after* the "package" build phase.
-
- Disable cobertura report generation as this does not work correctly
- with integration-tests and the normal unit tests are disabled too.
Many of JCL's tests use tricky techniques to place the generated
JCL jarfiles on the classpath in various configurations. This means
that those tests must be run *after* the "package" build phase.
Disable cobertura report generation as this does not work correctly
with integration-tests and the normal unit tests are disabled too.
-->
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
@@ -186,7 +219,6 @@ under the License.
<skip>true</skip>
</configuration>
</plugin>
<plugin>
<groupId>org.moditect</groupId>
<artifactId>moditect-maven-plugin</artifactId>
@@ -206,15 +238,14 @@ under the License.
</execution>
</executions>
</plugin>
<plugin>
<!--
- Many of JCL's tests use tricky techniques to place the generated
- JCL jarfiles on the classpath in various configurations. This means
- that those tests must be run *after* the "package" build phase.
-
- For this we use the failsafe plugin which is bound to the
- "integration-test" phase by default.
Many of JCL's tests use tricky techniques to place the generated
JCL jarfiles on the classpath in various configurations. This means
that those tests must be run *after* the "package" build phase.
For this we use the failsafe plugin which is bound to the
"integration-test" phase by default.
-->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
@@ -260,8 +291,8 @@ under the License.
</configuration>
</execution>
<!--
- The ServiceLoaderTestCase uses a custom implementation of LogFactory,
- therefore it requires a separate execution.
The ServiceLoaderTestCase uses a custom implementation of LogFactory,
therefore it requires a separate execution.
-->
<execution>
<id>serviceLoader-test</id>
@@ -278,7 +309,7 @@ under the License.
</configuration>
</execution>
<!--
- Tests logging through the Log4j 2 API.
Tests logging through the Log4j 2 API.
-->
<execution>
<id>log4j-test</id>
@@ -298,8 +329,8 @@ under the License.
</includes>
<systemPropertyVariables>
<!-- Due to a bug in `log4j-core-test`,
~ the default LogEventFactory loses the location info.
~ We need to force the usage of the reusable version.
the default LogEventFactory loses the location info.
We need to force the usage of the reusable version.
<log4j2.messageFactory>org.apache.logging.log4j.message.ParameterizedMessageFactory</log4j2.messageFactory>
-->
<log4j2.logEventFactory>org.apache.logging.log4j.core.impl.ReusableLogEventFactory</log4j2.logEventFactory>
@@ -307,7 +338,7 @@ under the License.
</configuration>
</execution>
<!--
- Tests logging through the Log4j 2 API for 1.2.
Tests logging through the Log4j 2 API for 1.2.
-->
<execution>
<id>log4j12-test</id>
@@ -337,8 +368,8 @@ under the License.
</includes>
<systemPropertyVariables>
<!-- Due to a bug in `log4j-core-test`,
~ the default LogEventFactory loses the location info.
~ We need to force the usage of the reusable version.
the default LogEventFactory loses the location info.
We need to force the usage of the reusable version.
<log4j2.messageFactory>org.apache.logging.log4j.message.ParameterizedMessageFactory</log4j2.messageFactory>
-->
<log4j2.logEventFactory>org.apache.logging.log4j.core.impl.ReusableLogEventFactory</log4j2.logEventFactory>
@@ -354,7 +385,7 @@ under the License.
</configuration>
</execution>
<!--
- Tests falling back to the SLF4J API, when the Log4j API is absent.
Tests falling back to the SLF4J API, when the Log4j API is absent.
-->
<execution>
<id>slf4j-test</id>
@@ -379,7 +410,7 @@ under the License.
</configuration>
</execution>
<!--
- Tests falling back to the SLF4J API, when the Log4j API is present, but redirected to SLF4J.
Tests falling back to the SLF4J API, when the Log4j API is present, but redirected to SLF4J.
-->
<execution>
<id>log4j-to-slf4j-test</id>
@@ -412,7 +443,6 @@ under the License.
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
@@ -436,7 +466,6 @@ under the License.
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-scm-publish-plugin</artifactId>
@@ -447,7 +476,6 @@ under the License.
</ignorePathsToDelete>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
@@ -457,7 +485,6 @@ under the License.
<enableRulesSummary>false</enableRulesSummary>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
@@ -482,9 +509,8 @@ under the License.
</plugins>
</configuration>
</plugin>
<!--
~ Ban Commons Logging clones
Ban Commons Logging clones
-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
@@ -508,10 +534,24 @@ under the License.
</execution>
</executions>
</plugin>
</plugins>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<configuration>
<instructions>
<Require-Capability><![CDATA[
osgi.extender;filter:="(&(osgi.extender=osgi.serviceloader.processor)(version>=1.0.0)(!(version>=2.0.0)))";resolution:=optional,
osgi.serviceloader;filter:="(osgi.serviceloader=org.apache.commons.logging.LogFactory)";osgi.serviceloader="org.apache.commons.logging.LogFactory";resolution:=optional;cardinality:=multiple
]]></Require-Capability>
</instructions>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
<dependencies>
<dependency>
<groupId>org.junit.vintage</groupId>
@@ -594,7 +634,6 @@ under the License.
<scope>test</scope>
</dependency>
</dependencies>
<reporting>
<plugins>
<plugin>
@@ -631,7 +670,6 @@ under the License.
</plugin>
</plugins>
</reporting>
<distributionManagement>
<site>
<id>apache.website</id>
@@ -639,43 +677,6 @@ under the License.
<url>scm:svn:https://svn.apache.org/repos/infra/websites/production/commons/content/proper/commons-logging/</url>
</site>
</distributionManagement>
<properties>
<animal-sniffer.signature>java18</animal-sniffer.signature>
<commons.logging.javaversion>1.8</commons.logging.javaversion>
<maven.compiler.source>${commons.logging.javaversion}</maven.compiler.source>
<maven.compiler.target>${commons.logging.javaversion}</maven.compiler.target>
<commons.componentid>logging</commons.componentid>
<commons.module.name>org.apache.commons.logging</commons.module.name>
<commons.release.version>1.3.1</commons.release.version>
<commons.release.next>1.3.2</commons.release.next>
<commons.bc.version>1.3.0</commons.bc.version>
<commons.release.isDistModule>true</commons.release.isDistModule>
<commons.jira.id>LOGGING</commons.jira.id>
<commons.jira.pid>12310484</commons.jira.pid>
<!-- The RC version used in the staging repository URL. -->
<commons.rc.version>RC2</commons.rc.version>
<skipSurefireReport>true</skipSurefireReport>
<!-- Since version 3.2 additional classpath dependencies are allowed. -->
<commons.failsafe.version>3.2.1</commons.failsafe.version>
<!-- Allow default test run order to be changed -->
<failsafe.runorder>filesystem</failsafe.runorder>
<log4j2.version>2.23.1</log4j2.version>
<logback.version>1.3.14</logback.version>
<slf4j.version>2.0.12</slf4j.version>
<findsecbugs.version>1.13.0</findsecbugs.version>
<commons.osgi.import>
javax.servlet;version="[2.1.0, 5.0.0)";resolution:=optional,
org.apache.avalon.framework.logger;version="[4.1.3, 4.1.5]";resolution:=optional,
org.apache.log;version="[1.0.1, 1.0.1]";resolution:=optional,
org.apache.log4j;version="[1.2.15, 2.0.0)";resolution:=optional,
org.apache.logging.log4j;version="[2.0, 4.0)";resolution:=optional,
org.slf4j;version="[1.7, 3)";resolution:=optional,
org.slf4j.spi;version="[1.7, 3)";resolution:=optional
</commons.osgi.import>
<project.build.outputTimestamp>2024-03-24T15:00:55Z</project.build.outputTimestamp>
</properties>
<developers>
<developer>
<id>baliuka</id>
@@ -819,5 +820,4 @@ under the License.
<email>arturobernalg@yahoo.com</email>
</contributor>
</contributors>
</project>

View File

@@ -43,6 +43,13 @@ The <action> type attribute can be add,update,fix,remove.
<title>Release Notes</title>
</properties>
<body>
<release version="1.3.2" date="2024-05-11" description="This is a feature and maintenance release. Java 8 or later is required.">
<action dev="ggregory" issue="LOGGING-190" type="fix" due-to="Hannes Wellmann, Gary Gregory, Johan Compagner">Add OSGi metadata to enable Service Loader Mediator #234.</action>
<action dev="ggregory" issue="LOGGING-191" type="fix" due-to="Hannes Wellmann, Gary Gregory, Johan Compagner">Apache commons logging shows 1.4 as latest release instead of 1.3.1.</action>
<!-- UPDATE -->
<action dev="ggregory" type="update" due-to="Dependabot">Bump org.apache.commons:commons-parent from 67 to 69 #240.</action>
<action dev="ggregory" type="update" due-to="Dependabot">Bump org.slf4j:slf4j-api from 2.0.12 to 2.0.13 #248.</action>
</release>
<release version="1.3.1" date="2024-03-16" description="This is a feature and maintenance release. Java 8 or later is required.">
<!-- ADD -->
<action type="add" dev="ggregory" due-to="Gary Gregory">Add Maven property project.build.outputTimestamp for build reproducibility.</action>

View File

@@ -87,7 +87,7 @@ public class AvalonLogger implements Log {
* @param name the name of the avalon logger implementation to delegate to
*/
public AvalonLogger(final String name) {
Objects.requireNonNull(defaultLogger, "default logger has to be specified if this constructor is used!");
Objects.requireNonNull(defaultLogger, "defaultLogger");
this.logger = defaultLogger.getChildLogger(name);
}

View File

@@ -106,7 +106,7 @@ import java.util.Set;
* for most or all users.
*
* @since 1.1
* @deprecated No longer used.
* @deprecated No longer used, will be removed in 2.0.
*/
@Deprecated
public final class WeakHashtable extends Hashtable {

View File

View File

@@ -113,32 +113,32 @@ limitations under the License.
</p>
</subsection>
</section>
<section name="Apache Commons Logging 1.3.1 ">
<section name="Apache Commons Logging 1.3.2 ">
<subsection name="Binaries">
<table>
<tr>
<td><a href="[preferred]/commons/logging/binaries/commons-logging-1.3.1-bin.tar.gz">commons-logging-1.3.1-bin.tar.gz</a></td>
<td><a href="https://downloads.apache.org/commons/logging/binaries/commons-logging-1.3.1-bin.tar.gz.sha512">sha512</a></td>
<td><a href="https://downloads.apache.org/commons/logging/binaries/commons-logging-1.3.1-bin.tar.gz.asc">pgp</a></td>
<td><a href="[preferred]/commons/logging/binaries/commons-logging-1.3.2-bin.tar.gz">commons-logging-1.3.2-bin.tar.gz</a></td>
<td><a href="https://downloads.apache.org/commons/logging/binaries/commons-logging-1.3.2-bin.tar.gz.sha512">sha512</a></td>
<td><a href="https://downloads.apache.org/commons/logging/binaries/commons-logging-1.3.2-bin.tar.gz.asc">pgp</a></td>
</tr>
<tr>
<td><a href="[preferred]/commons/logging/binaries/commons-logging-1.3.1-bin.zip">commons-logging-1.3.1-bin.zip</a></td>
<td><a href="https://downloads.apache.org/commons/logging/binaries/commons-logging-1.3.1-bin.zip.sha512">sha512</a></td>
<td><a href="https://downloads.apache.org/commons/logging/binaries/commons-logging-1.3.1-bin.zip.asc">pgp</a></td>
<td><a href="[preferred]/commons/logging/binaries/commons-logging-1.3.2-bin.zip">commons-logging-1.3.2-bin.zip</a></td>
<td><a href="https://downloads.apache.org/commons/logging/binaries/commons-logging-1.3.2-bin.zip.sha512">sha512</a></td>
<td><a href="https://downloads.apache.org/commons/logging/binaries/commons-logging-1.3.2-bin.zip.asc">pgp</a></td>
</tr>
</table>
</subsection>
<subsection name="Source">
<table>
<tr>
<td><a href="[preferred]/commons/logging/source/commons-logging-1.3.1-src.tar.gz">commons-logging-1.3.1-src.tar.gz</a></td>
<td><a href="https://downloads.apache.org/commons/logging/source/commons-logging-1.3.1-src.tar.gz.sha512">sha512</a></td>
<td><a href="https://downloads.apache.org/commons/logging/source/commons-logging-1.3.1-src.tar.gz.asc">pgp</a></td>
<td><a href="[preferred]/commons/logging/source/commons-logging-1.3.2-src.tar.gz">commons-logging-1.3.2-src.tar.gz</a></td>
<td><a href="https://downloads.apache.org/commons/logging/source/commons-logging-1.3.2-src.tar.gz.sha512">sha512</a></td>
<td><a href="https://downloads.apache.org/commons/logging/source/commons-logging-1.3.2-src.tar.gz.asc">pgp</a></td>
</tr>
<tr>
<td><a href="[preferred]/commons/logging/source/commons-logging-1.3.1-src.zip">commons-logging-1.3.1-src.zip</a></td>
<td><a href="https://downloads.apache.org/commons/logging/source/commons-logging-1.3.1-src.zip.sha512">sha512</a></td>
<td><a href="https://downloads.apache.org/commons/logging/source/commons-logging-1.3.1-src.zip.asc">pgp</a></td>
<td><a href="[preferred]/commons/logging/source/commons-logging-1.3.2-src.zip">commons-logging-1.3.2-src.zip</a></td>
<td><a href="https://downloads.apache.org/commons/logging/source/commons-logging-1.3.2-src.zip.sha512">sha512</a></td>
<td><a href="https://downloads.apache.org/commons/logging/source/commons-logging-1.3.2-src.zip.asc">pgp</a></td>
</tr>
</table>
</subsection>

View File

@@ -81,7 +81,7 @@ This gives short introductions to topics such as advanced class loading.
Binary and source distributions are available
<a href="https//commons.apache.org/proper/commons-logging/download_logging.cgi">here</a>.
</p>
<subsection name='1.4.0 Release - March 2024'>
<subsection name='1.3.1 Release - March 2024'>
<p>Please refer to the
<a href="changes-report.html">change-report</a>.</p>
</subsection>

View File

@@ -78,11 +78,10 @@ public class LoadTestCase extends TestCase {
// but it will delegate to JUnit class loader first
@Override
public Class loadClass(final String name) throws ClassNotFoundException {
// isolates all logging classes, application in the same class loader too.
// filters exceptions to simplify handling in test
for (final String element : LOG_PCKG) {
if (name.startsWith(element) && name.indexOf("Exception") == -1) {
if (name.startsWith(element) && !name.contains("Exception")) {
return def(name);
}
}

View File

@@ -149,8 +149,7 @@ public class TcclDisabledTestCase extends TestCase {
assertNotNull(log); // silence compiler warning about unused var
} catch (final LogConfigurationException ex) {
// ok, expected
final int index = ex.getMessage().indexOf(MY_LOG_IMPL);
assertTrue("MyLog not found", index >= 0);
assertTrue("MyLog not found", ex.getMessage().contains(MY_LOG_IMPL));
}
}
}

View File

@@ -144,8 +144,7 @@ public class TcclDisabledTestCase extends TestCase {
} catch (final org.apache.commons.logging.LogConfigurationException ex) {
// ok, custom MyLogFactoryImpl as specified in props_disable_tccl
// could not be found.
final int index = ex.getMessage().indexOf(MY_LOG_FACTORY_IMPL);
assertTrue("MylogFactoryImpl not found", index >= 0);
assertTrue("MylogFactoryImpl not found", ex.getMessage().contains(MY_LOG_FACTORY_IMPL));
}
}
}