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: steps:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # 4.1.2 uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # 4.1.5
with: with:
persist-credentials: false persist-credentials: false
- uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 # v4.0.1 - uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2
with: with:
path: ~/.m2/repository path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
@@ -57,7 +57,7 @@ jobs:
# Initializes the CodeQL tools for scanning. # Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL - name: Initialize CodeQL
uses: github/codeql-action/init@3ab4101902695724f9365a384f86c1074d94e18c # 3.24.7 uses: github/codeql-action/init@ccf74c947955fd1cf117aef6a0e4e66191ef6f61 # 3.25.4
with: with:
languages: ${{ matrix.language }} languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file. # 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). # 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) # If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild - 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. # Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl # 📚 https://git.io/JvXDl
@@ -82,4 +82,4 @@ jobs:
# make release # make release
- name: Perform CodeQL Analysis - 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 ] java: [ 8 ]
steps: steps:
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2 - uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5
with: with:
persist-credentials: false persist-credentials: false
- name: Set up JDK ${{ matrix.java }} - name: Set up JDK ${{ matrix.java }}
@@ -42,6 +42,6 @@ jobs:
run: mvn --show-version --batch-mode --no-transfer-progress verify jacoco:report run: mvn --show-version --batch-mode --no-transfer-progress verify jacoco:report
- name: Upload coverage to Codecov - name: Upload coverage to Codecov
uses: codecov/codecov-action@54bcd8715eee62d40e33596ef5e8f0f48dbbccab # v3 uses: codecov/codecov-action@5ecb98a3c6b747ed38dc09f787459979aebb39be # v3
with: with:
files: ./target/site/jacoco/jacoco.xml files: ./target/site/jacoco/jacoco.xml

View File

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

View File

@@ -40,12 +40,12 @@ jobs:
steps: steps:
- name: "Checkout code" - name: "Checkout code"
uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # 4.1.2 uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # 4.1.5
with: with:
persist-credentials: false persist-credentials: false
- name: "Run analysis" - name: "Run analysis"
uses: ossf/scorecard-action@0864cf19026789058feabb7e87baa5f140aac736 # 2.3.1 uses: ossf/scorecard-action@dc50aa9510b46c811795eb24b2f1ba02a914e534 # 2.3.3
with: with:
results_file: results.sarif results_file: results.sarif
results_format: sarif results_format: sarif
@@ -57,13 +57,13 @@ jobs:
publish_results: true publish_results: true
- name: "Upload artifact" - name: "Upload artifact"
uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # 4.3.1 uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # 4.3.3
with: with:
name: SARIF file name: SARIF file
path: results.sarif path: results.sarif
retention-days: 5 retention-days: 5
- name: "Upload to code-scanning" - 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: with:
sarif_file: results.sarif 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) [![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) [![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) [![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) [![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) [![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> <dependency>
<groupId>commons-logging</groupId> <groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId> <artifactId>commons-logging</artifactId>
<version>1.3.1</version> <version>1.3.2</version>
</dependency> </dependency>
``` ```

View File

@@ -38,6 +38,56 @@ Changes
* Bump logkit from 1.0.1 to 2.0 #32. 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
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 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 Download it from https://commons.apache.org/proper/commons-logging/download_logging.cgi

202
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"> <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 Note that due to the special requirements of logging unit-tests, most
- tests are executed in the "integration-test" phase rather than the tests are executed in the "integration-test" phase rather than the
- "test" phase. Please run "mvn integration-test" to run the full suite of "test" phase. Please run "mvn integration-test" to run the full suite of
- available unit tests. available unit tests.
--> -->
<parent> <parent>
<groupId>org.apache.commons</groupId> <groupId>org.apache.commons</groupId>
<artifactId>commons-parent</artifactId> <artifactId>commons-parent</artifactId>
<version>67</version> <version>69</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<groupId>commons-logging</groupId> <groupId>commons-logging</groupId>
@@ -36,31 +36,69 @@ under the License.
<description>Apache Commons Logging is a thin adapter allowing configurable bridging to other, <description>Apache Commons Logging is a thin adapter allowing configurable bridging to other,
well-known logging systems.</description> well-known logging systems.</description>
<url>https://commons.apache.org/proper/commons-logging/</url> <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> <issueManagement>
<system>JIRA</system> <system>JIRA</system>
<url>https://issues.apache.org/jira/browse/LOGGING</url> <url>https://issues.apache.org/jira/browse/LOGGING</url>
</issueManagement> </issueManagement>
<inceptionYear>2001</inceptionYear> <inceptionYear>2001</inceptionYear>
<scm> <scm>
<connection>scm:git:https://gitbox.apache.org/repos/asf/commons-logging</connection> <connection>scm:git:https://gitbox.apache.org/repos/asf/commons-logging</connection>
<developerConnection>scm:git:https://gitbox.apache.org/repos/asf/commons-logging</developerConnection> <developerConnection>scm:git:https://gitbox.apache.org/repos/asf/commons-logging</developerConnection>
<url>https://gitbox.apache.org/repos/asf/commons-logging</url> <url>https://gitbox.apache.org/repos/asf/commons-logging</url>
</scm> </scm>
<build> <build>
<!-- TODO spotbugs:check --> <!-- TODO spotbugs:check -->
<defaultGoal>clean verify apache-rat:check japicmp:cmp javadoc:javadoc checkstyle:check pmd:check</defaultGoal> <defaultGoal>clean verify apache-rat:check japicmp:cmp javadoc:javadoc checkstyle:check pmd:check</defaultGoal>
<plugins> <plugins>
<!-- <!--
- We want to create four jarfiles from this project: normal, tests, api 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 and adapters. The first two are handled by the normal jar:jar and
- jar:test-jar targets. jar:test-jar targets.
- The jar plugin with some includes/excludes is used to create the other The jar plugin with some includes/excludes is used to create the other
- ones. ones.
--> -->
<plugin> <plugin>
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
@@ -68,8 +106,8 @@ under the License.
<executions> <executions>
<execution> <execution>
<!-- <!--
- The custom test framework requires the unit test code to be The custom test framework requires the unit test code to be
- in a jarfile so it can control its place in the classpath. in a jarfile so it can control its place in the classpath.
--> -->
<id>create-test-jar</id> <id>create-test-jar</id>
<phase>package</phase> <phase>package</phase>
@@ -77,7 +115,6 @@ under the License.
<goal>test-jar</goal> <goal>test-jar</goal>
</goals> </goals>
</execution> </execution>
<execution> <execution>
<id>create-api-jar</id> <id>create-api-jar</id>
<phase>package</phase> <phase>package</phase>
@@ -101,7 +138,6 @@ under the License.
</excludes> </excludes>
</configuration> </configuration>
</execution> </execution>
<execution> <execution>
<id>create-adapters-jar</id> <id>create-adapters-jar</id>
<phase>package</phase> <phase>package</phase>
@@ -130,7 +166,6 @@ under the License.
</archive> </archive>
</configuration> </configuration>
</plugin> </plugin>
<plugin> <plugin>
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId> <artifactId>maven-antrun-plugin</artifactId>
@@ -153,15 +188,14 @@ under the License.
</execution> </execution>
</executions> </executions>
</plugin> </plugin>
<plugin> <plugin>
<!-- <!--
- Many of JCL's tests use tricky techniques to place the generated Many of JCL's tests use tricky techniques to place the generated
- JCL jarfiles on the classpath in various configurations. This means JCL jarfiles on the classpath in various configurations. This means
- that those tests must be run *after* the "package" build phase. 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 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. phase. This is done by skipping the execution of the surefire plugin.
--> -->
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId> <artifactId>maven-surefire-plugin</artifactId>
@@ -169,15 +203,14 @@ under the License.
<skip>true</skip> <skip>true</skip>
</configuration> </configuration>
</plugin> </plugin>
<plugin> <plugin>
<!-- <!--
- Many of JCL's tests use tricky techniques to place the generated Many of JCL's tests use tricky techniques to place the generated
- JCL jarfiles on the classpath in various configurations. This means JCL jarfiles on the classpath in various configurations. This means
- that those tests must be run *after* the "package" build phase. that those tests must be run *after* the "package" build phase.
-
- Disable cobertura report generation as this does not work correctly Disable cobertura report generation as this does not work correctly
- with integration-tests and the normal unit tests are disabled too. with integration-tests and the normal unit tests are disabled too.
--> -->
<groupId>org.codehaus.mojo</groupId> <groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId> <artifactId>cobertura-maven-plugin</artifactId>
@@ -186,7 +219,6 @@ under the License.
<skip>true</skip> <skip>true</skip>
</configuration> </configuration>
</plugin> </plugin>
<plugin> <plugin>
<groupId>org.moditect</groupId> <groupId>org.moditect</groupId>
<artifactId>moditect-maven-plugin</artifactId> <artifactId>moditect-maven-plugin</artifactId>
@@ -206,15 +238,14 @@ under the License.
</execution> </execution>
</executions> </executions>
</plugin> </plugin>
<plugin> <plugin>
<!-- <!--
- Many of JCL's tests use tricky techniques to place the generated Many of JCL's tests use tricky techniques to place the generated
- JCL jarfiles on the classpath in various configurations. This means JCL jarfiles on the classpath in various configurations. This means
- that those tests must be run *after* the "package" build phase. that those tests must be run *after* the "package" build phase.
-
- For this we use the failsafe plugin which is bound to the For this we use the failsafe plugin which is bound to the
- "integration-test" phase by default. "integration-test" phase by default.
--> -->
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId> <artifactId>maven-failsafe-plugin</artifactId>
@@ -260,8 +291,8 @@ under the License.
</configuration> </configuration>
</execution> </execution>
<!-- <!--
- The ServiceLoaderTestCase uses a custom implementation of LogFactory, The ServiceLoaderTestCase uses a custom implementation of LogFactory,
- therefore it requires a separate execution. therefore it requires a separate execution.
--> -->
<execution> <execution>
<id>serviceLoader-test</id> <id>serviceLoader-test</id>
@@ -278,7 +309,7 @@ under the License.
</configuration> </configuration>
</execution> </execution>
<!-- <!--
- Tests logging through the Log4j 2 API. Tests logging through the Log4j 2 API.
--> -->
<execution> <execution>
<id>log4j-test</id> <id>log4j-test</id>
@@ -298,16 +329,16 @@ under the License.
</includes> </includes>
<systemPropertyVariables> <systemPropertyVariables>
<!-- Due to a bug in `log4j-core-test`, <!-- Due to a bug in `log4j-core-test`,
~ the default LogEventFactory loses the location info. the default LogEventFactory loses the location info.
~ We need to force the usage of the reusable version. We need to force the usage of the reusable version.
<log4j2.messageFactory>org.apache.logging.log4j.message.ParameterizedMessageFactory</log4j2.messageFactory> <log4j2.messageFactory>org.apache.logging.log4j.message.ParameterizedMessageFactory</log4j2.messageFactory>
--> -->
<log4j2.logEventFactory>org.apache.logging.log4j.core.impl.ReusableLogEventFactory</log4j2.logEventFactory> <log4j2.logEventFactory>org.apache.logging.log4j.core.impl.ReusableLogEventFactory</log4j2.logEventFactory>
</systemPropertyVariables> </systemPropertyVariables>
</configuration> </configuration>
</execution> </execution>
<!-- <!--
- Tests logging through the Log4j 2 API for 1.2. Tests logging through the Log4j 2 API for 1.2.
--> -->
<execution> <execution>
<id>log4j12-test</id> <id>log4j12-test</id>
@@ -337,8 +368,8 @@ under the License.
</includes> </includes>
<systemPropertyVariables> <systemPropertyVariables>
<!-- Due to a bug in `log4j-core-test`, <!-- Due to a bug in `log4j-core-test`,
~ the default LogEventFactory loses the location info. the default LogEventFactory loses the location info.
~ We need to force the usage of the reusable version. We need to force the usage of the reusable version.
<log4j2.messageFactory>org.apache.logging.log4j.message.ParameterizedMessageFactory</log4j2.messageFactory> <log4j2.messageFactory>org.apache.logging.log4j.message.ParameterizedMessageFactory</log4j2.messageFactory>
--> -->
<log4j2.logEventFactory>org.apache.logging.log4j.core.impl.ReusableLogEventFactory</log4j2.logEventFactory> <log4j2.logEventFactory>org.apache.logging.log4j.core.impl.ReusableLogEventFactory</log4j2.logEventFactory>
@@ -354,7 +385,7 @@ under the License.
</configuration> </configuration>
</execution> </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> <execution>
<id>slf4j-test</id> <id>slf4j-test</id>
@@ -379,7 +410,7 @@ under the License.
</configuration> </configuration>
</execution> </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> <execution>
<id>log4j-to-slf4j-test</id> <id>log4j-to-slf4j-test</id>
@@ -412,7 +443,6 @@ under the License.
</execution> </execution>
</executions> </executions>
</plugin> </plugin>
<plugin> <plugin>
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId> <artifactId>maven-assembly-plugin</artifactId>
@@ -436,7 +466,6 @@ under the License.
</execution> </execution>
</executions> </executions>
</plugin> </plugin>
<plugin> <plugin>
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-scm-publish-plugin</artifactId> <artifactId>maven-scm-publish-plugin</artifactId>
@@ -447,7 +476,6 @@ under the License.
</ignorePathsToDelete> </ignorePathsToDelete>
</configuration> </configuration>
</plugin> </plugin>
<plugin> <plugin>
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId> <artifactId>maven-checkstyle-plugin</artifactId>
@@ -457,7 +485,6 @@ under the License.
<enableRulesSummary>false</enableRulesSummary> <enableRulesSummary>false</enableRulesSummary>
</configuration> </configuration>
</plugin> </plugin>
<plugin> <plugin>
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId> <artifactId>maven-pmd-plugin</artifactId>
@@ -482,9 +509,8 @@ under the License.
</plugins> </plugins>
</configuration> </configuration>
</plugin> </plugin>
<!-- <!--
~ Ban Commons Logging clones Ban Commons Logging clones
--> -->
<plugin> <plugin>
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
@@ -508,10 +534,24 @@ under the License.
</execution> </execution>
</executions> </executions>
</plugin> </plugin>
</plugins> </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> </build>
<dependencies> <dependencies>
<dependency> <dependency>
<groupId>org.junit.vintage</groupId> <groupId>org.junit.vintage</groupId>
@@ -594,7 +634,6 @@ under the License.
<scope>test</scope> <scope>test</scope>
</dependency> </dependency>
</dependencies> </dependencies>
<reporting> <reporting>
<plugins> <plugins>
<plugin> <plugin>
@@ -631,7 +670,6 @@ under the License.
</plugin> </plugin>
</plugins> </plugins>
</reporting> </reporting>
<distributionManagement> <distributionManagement>
<site> <site>
<id>apache.website</id> <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> <url>scm:svn:https://svn.apache.org/repos/infra/websites/production/commons/content/proper/commons-logging/</url>
</site> </site>
</distributionManagement> </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> <developers>
<developer> <developer>
<id>baliuka</id> <id>baliuka</id>
@@ -819,5 +820,4 @@ under the License.
<email>arturobernalg@yahoo.com</email> <email>arturobernalg@yahoo.com</email>
</contributor> </contributor>
</contributors> </contributors>
</project> </project>

View File

@@ -43,6 +43,13 @@ The <action> type attribute can be add,update,fix,remove.
<title>Release Notes</title> <title>Release Notes</title>
</properties> </properties>
<body> <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."> <release version="1.3.1" date="2024-03-16" description="This is a feature and maintenance release. Java 8 or later is required.">
<!-- ADD --> <!-- ADD -->
<action type="add" dev="ggregory" due-to="Gary Gregory">Add Maven property project.build.outputTimestamp for build reproducibility.</action> <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 * @param name the name of the avalon logger implementation to delegate to
*/ */
public AvalonLogger(final String name) { 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); this.logger = defaultLogger.getChildLogger(name);
} }

View File

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

View File

View File

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

View File

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

View File

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

View File

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

View File

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