This is an automated email from the ASF dual-hosted git repository. vy pushed a commit to branch release/2.25.3 in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git
commit 8d43a991c3068c6ff4c8fc38ee2c73ba5d24299a Author: Vladimir Sitnikov <[email protected]> AuthorDate: Wed Nov 26 01:25:09 2025 +0500 Remove the `com.github.spotbugs:spotbugs-annotations` dependency (#3984, #3985) Co-authored-by: Volkan Yazıcı <[email protected]> --- .github/dependabot.yaml | 3 --- .../org/apache/log4j/DefaultThrowableRenderer.java | 2 +- .../main/java/org/apache/log4j/FileAppender.java | 2 +- .../src/main/java/org/apache/log4j/Hierarchy.java | 2 +- .../java/org/apache/log4j/PropertyConfigurator.java | 2 +- .../java/org/apache/log4j/RollingFileAppender.java | 2 +- .../java/org/apache/log4j/helpers/FileWatchdog.java | 2 +- .../org/apache/log4j/helpers/UtilLoggingLevel.java | 2 +- .../java/org/apache/log4j/helpers/package-info.java | 2 +- .../internal/annotation/SuppressFBWarnings.java | 21 ++++++++++++++------- .../org/apache/log4j/layout/Log4j1XmlLayout.java | 2 +- .../main/java/org/apache/log4j/package-info.java | 2 +- .../java/org/apache/log4j/xml/DOMConfigurator.java | 2 +- .../java/org/apache/log4j/xml/XmlConfiguration.java | 2 +- .../java/org/apache/log4j/xml/package-info.java | 2 +- .../org/apache/logging/log4j/test/TestLogger.java | 2 +- .../internal/annotation/SuppressFBWarnings.java | 21 ++++++++++++++------- .../logging/log4j/test/junit/DirectoryCleaner.java | 2 +- .../logging/log4j/test/junit/FileCleaner.java | 2 +- .../apache/logging/log4j/test/junit/SerialUtil.java | 2 +- .../logging/log4j/test/junit/package-info.java | 2 +- .../org/apache/logging/log4j/test/package-info.java | 2 +- .../logging/log4j/status/StatusLoggerDateTest.java | 2 +- .../internal/annotation/SuppressFBWarnings.java | 21 ++++++++++++++------- .../apache/logging/log4j/simple/SimpleLogger.java | 2 +- .../logging/log4j/simple/SimpleLoggerContext.java | 2 +- .../apache/logging/log4j/simple/package-info.java | 2 +- .../logging/log4j/status/StatusConsoleListener.java | 2 +- .../org/apache/logging/log4j/status/StatusData.java | 4 ++-- .../apache/logging/log4j/status/StatusLogger.java | 4 ++-- .../apache/logging/log4j/status/package-info.java | 2 +- .../log4j/util/PropertyFilePropertySource.java | 2 +- .../org/apache/logging/log4j/util/ProviderUtil.java | 2 +- .../log4j/util/internal/SerializationUtil.java | 2 +- .../org/apache/logging/log4j/util/package-info.java | 2 +- .../internal/annotation/SuppressFBWarnings.java | 21 ++++++++++++++------- .../logging/log4j/appserver/jetty/Log4j2Logger.java | 2 +- .../logging/log4j/appserver/jetty/package-info.java | 2 +- .../log4j/appserver/tomcat/TomcatLogger.java | 2 +- .../log4j/appserver/tomcat/package-info.java | 2 +- .../log4j/core/test/AvailablePortFinder.java | 2 +- .../log4j/core/test/GcFreeLoggingTestUtil.java | 2 +- .../test/appender/db/jdbc/JdbcH2TestHelper.java | 2 +- .../core/test/appender/db/jdbc/package-info.java | 2 +- .../internal/annotation/SuppressFBWarnings.java | 21 ++++++++++++++------- .../test/junit/AbstractExternalFileCleaner.java | 2 +- .../logging/log4j/core/test/junit/JdbcRule.java | 2 +- .../logging/log4j/core/test/junit/package-info.java | 2 +- .../core/test/net/mock/MockTcpSyslogServer.java | 2 +- .../log4j/core/test/net/mock/package-info.java | 2 +- .../log4j/core/test/net/ssl/TlsSyslogTestUtil.java | 2 +- .../log4j/core/test/net/ssl/package-info.java | 2 +- .../logging/log4j/core/test/package-info.java | 2 +- .../log4j/core/test/smtp/SimpleSmtpServer.java | 2 +- .../logging/log4j/core/test/smtp/package-info.java | 2 +- .../core/appender/SocketAppenderReconnectTest.java | 2 +- .../core/config/xml/XmlConfigurationPropsTest.java | 2 +- .../apache/logging/log4j/core/LoggerContext.java | 2 +- .../logging/log4j/core/appender/FileManager.java | 2 +- .../core/appender/HttpURLConnectionManager.java | 2 +- .../core/appender/MemoryMappedFileManager.java | 2 +- .../core/appender/RandomAccessFileManager.java | 2 +- .../core/appender/db/jdbc/JdbcDatabaseManager.java | 2 +- .../log4j/core/appender/db/jdbc/package-info.java | 2 +- .../appender/rolling/AbstractRolloverStrategy.java | 2 +- .../appender/rolling/DefaultRolloverStrategy.java | 2 +- .../rolling/DirectWriteRolloverStrategy.java | 2 +- .../log4j/core/appender/rolling/FileExtension.java | 2 +- .../core/appender/rolling/RollingFileManager.java | 2 +- .../rolling/RollingRandomAccessFileManager.java | 2 +- .../appender/rolling/TimeBasedTriggeringPolicy.java | 2 +- .../appender/rolling/action/AbstractPathAction.java | 2 +- .../appender/rolling/action/FileRenameAction.java | 2 +- .../rolling/action/PosixViewAttributeAction.java | 2 +- .../logging/log4j/core/async/AsyncLoggerConfig.java | 2 +- .../log4j/core/config/ConfigurationSource.java | 2 +- .../builder/impl/DefaultConfigurationBuilder.java | 2 +- .../core/config/builder/impl/package-info.java | 2 +- .../core/config/plugins/convert/TypeConverters.java | 2 +- .../core/config/plugins/convert/package-info.java | 2 +- .../core/config/plugins/util/ResolverUtil.java | 2 +- .../core/config/plugins/util/package-info.java | 2 +- .../core/config/status/StatusConfiguration.java | 2 +- .../log4j/core/config/status/package-info.java | 2 +- .../log4j/core/config/xml/XmlConfiguration.java | 2 +- .../core/filter/MutableThreadContextMapFilter.java | 2 +- .../logging/log4j/core/filter/package-info.java | 2 +- .../internal/annotation/SuppressFBWarnings.java | 21 ++++++++++++++------- .../logging/log4j/core/jmx/LoggerContextAdmin.java | 2 +- .../apache/logging/log4j/core/jmx/package-info.java | 2 +- .../logging/log4j/core/layout/GelfLayout.java | 2 +- .../logging/log4j/core/layout/HtmlLayout.java | 2 +- .../logging/log4j/core/lookup/MainMapLookup.java | 2 +- .../apache/logging/log4j/core/net/JndiManager.java | 2 +- .../apache/logging/log4j/core/net/SmtpManager.java | 2 +- .../logging/log4j/core/net/TcpSocketManager.java | 2 +- .../log4j/core/net/UrlConnectionFactory.java | 2 +- .../apache/logging/log4j/core/net/package-info.java | 2 +- .../log4j/core/net/ssl/FilePasswordProvider.java | 2 +- .../log4j/core/net/ssl/LaxHostnameVerifier.java | 2 +- .../logging/log4j/core/net/ssl/package-info.java | 2 +- .../org/apache/logging/log4j/core/package-info.java | 2 +- .../logging/log4j/core/script/ScriptFile.java | 2 +- .../apache/logging/log4j/core/tools/Generate.java | 2 +- .../logging/log4j/core/tools/package-info.java | 2 +- .../log4j/core/tools/picocli/CommandLine.java | 2 +- .../apache/logging/log4j/core/util/FileUtils.java | 2 +- .../apache/logging/log4j/core/util/NameUtil.java | 2 +- .../apache/logging/log4j/core/util/NetUtils.java | 2 +- .../org/apache/logging/log4j/core/util/Source.java | 2 +- .../apache/logging/log4j/core/util/Throwables.java | 2 +- .../logging/log4j/core/util/package-info.java | 2 +- .../logging/log4j/jul/Log4jBridgeHandler.java | 2 +- .../jul/internal/annotation/SuppressFBWarnings.java | 21 ++++++++++++++------- .../org/apache/logging/log4j/jul/package-info.java | 2 +- .../annotation/SuppressFBWarnings.java} | 21 ++++++++++++++------- .../log4j/layout/template/json/util/Uris.java | 2 +- .../layout/template/json/util/package-info.java | 2 +- log4j-parent/pom.xml | 15 --------------- .../internal/annotation/SuppressFBWarnings.java | 21 ++++++++++++++------- .../log4j/perf/jmh/JdbcAppenderBenchmark.java | 2 +- .../log4j/perf/jmh/JpaAppenderBenchmark.java | 2 +- .../.2.x.x/3985_remove_spotbugs_annotations.xml | 13 +++++++++++++ 123 files changed, 252 insertions(+), 194 deletions(-) diff --git a/.github/dependabot.yaml b/.github/dependabot.yaml index 5e7fa1e63c..6c73c48d8d 100644 --- a/.github/dependabot.yaml +++ b/.github/dependabot.yaml @@ -90,9 +90,6 @@ updates: registries: - maven-central ignore: - # `com.github.spotbugs:spotbugs-annotations:4.9.0` and onwards require Java 11 - - dependency-name: "com.github.spotbugs:spotbugs-annotations" - versions: [ "[4.9.0,)" ] # Jetty 10.x does not have an internal logging API - dependency-name: "org.eclipse.jetty:*" versions: [ "[10,)" ] diff --git a/log4j-1.2-api/src/main/java/org/apache/log4j/DefaultThrowableRenderer.java b/log4j-1.2-api/src/main/java/org/apache/log4j/DefaultThrowableRenderer.java index 79129edbb3..0c84d3d0ce 100644 --- a/log4j-1.2-api/src/main/java/org/apache/log4j/DefaultThrowableRenderer.java +++ b/log4j-1.2-api/src/main/java/org/apache/log4j/DefaultThrowableRenderer.java @@ -16,7 +16,6 @@ */ package org.apache.log4j; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.io.IOException; import java.io.InterruptedIOException; import java.io.LineNumberReader; @@ -24,6 +23,7 @@ import java.io.PrintWriter; import java.io.StringReader; import java.io.StringWriter; import java.util.ArrayList; +import org.apache.log4j.internal.annotation.SuppressFBWarnings; import org.apache.log4j.spi.ThrowableRenderer; /** diff --git a/log4j-1.2-api/src/main/java/org/apache/log4j/FileAppender.java b/log4j-1.2-api/src/main/java/org/apache/log4j/FileAppender.java index 25b6edf77d..69996e7da4 100644 --- a/log4j-1.2-api/src/main/java/org/apache/log4j/FileAppender.java +++ b/log4j-1.2-api/src/main/java/org/apache/log4j/FileAppender.java @@ -16,7 +16,6 @@ */ package org.apache.log4j; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.io.BufferedWriter; import java.io.File; import java.io.FileNotFoundException; @@ -26,6 +25,7 @@ import java.io.InterruptedIOException; import java.io.Writer; import org.apache.log4j.helpers.LogLog; import org.apache.log4j.helpers.QuietWriter; +import org.apache.log4j.internal.annotation.SuppressFBWarnings; import org.apache.log4j.spi.ErrorCode; /** diff --git a/log4j-1.2-api/src/main/java/org/apache/log4j/Hierarchy.java b/log4j-1.2-api/src/main/java/org/apache/log4j/Hierarchy.java index 850ea52bd6..d147155867 100644 --- a/log4j-1.2-api/src/main/java/org/apache/log4j/Hierarchy.java +++ b/log4j-1.2-api/src/main/java/org/apache/log4j/Hierarchy.java @@ -16,7 +16,6 @@ */ package org.apache.log4j; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.util.Enumeration; import java.util.Hashtable; import java.util.Vector; @@ -25,6 +24,7 @@ import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; import org.apache.log4j.helpers.LogLog; import org.apache.log4j.helpers.OptionConverter; +import org.apache.log4j.internal.annotation.SuppressFBWarnings; import org.apache.log4j.legacy.core.ContextUtil; import org.apache.log4j.or.ObjectRenderer; import org.apache.log4j.or.RendererMap; diff --git a/log4j-1.2-api/src/main/java/org/apache/log4j/PropertyConfigurator.java b/log4j-1.2-api/src/main/java/org/apache/log4j/PropertyConfigurator.java index 647b86e5b9..9892109b9b 100644 --- a/log4j-1.2-api/src/main/java/org/apache/log4j/PropertyConfigurator.java +++ b/log4j-1.2-api/src/main/java/org/apache/log4j/PropertyConfigurator.java @@ -16,7 +16,6 @@ */ package org.apache.log4j; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.io.IOException; import java.io.InputStream; import java.io.InterruptedIOException; @@ -37,6 +36,7 @@ import org.apache.log4j.config.PropertySetter; import org.apache.log4j.helpers.FileWatchdog; import org.apache.log4j.helpers.LogLog; import org.apache.log4j.helpers.OptionConverter; +import org.apache.log4j.internal.annotation.SuppressFBWarnings; import org.apache.log4j.or.RendererMap; import org.apache.log4j.spi.Configurator; import org.apache.log4j.spi.ErrorHandler; diff --git a/log4j-1.2-api/src/main/java/org/apache/log4j/RollingFileAppender.java b/log4j-1.2-api/src/main/java/org/apache/log4j/RollingFileAppender.java index ce03ec2bc8..315ff108d7 100644 --- a/log4j-1.2-api/src/main/java/org/apache/log4j/RollingFileAppender.java +++ b/log4j-1.2-api/src/main/java/org/apache/log4j/RollingFileAppender.java @@ -16,7 +16,6 @@ */ package org.apache.log4j; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.io.File; import java.io.IOException; import java.io.InterruptedIOException; @@ -24,6 +23,7 @@ import java.io.Writer; import org.apache.log4j.helpers.CountingQuietWriter; import org.apache.log4j.helpers.LogLog; import org.apache.log4j.helpers.OptionConverter; +import org.apache.log4j.internal.annotation.SuppressFBWarnings; import org.apache.log4j.spi.LoggingEvent; /** diff --git a/log4j-1.2-api/src/main/java/org/apache/log4j/helpers/FileWatchdog.java b/log4j-1.2-api/src/main/java/org/apache/log4j/helpers/FileWatchdog.java index a43776bed7..7be1458011 100644 --- a/log4j-1.2-api/src/main/java/org/apache/log4j/helpers/FileWatchdog.java +++ b/log4j-1.2-api/src/main/java/org/apache/log4j/helpers/FileWatchdog.java @@ -16,8 +16,8 @@ */ package org.apache.log4j.helpers; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.io.File; +import org.apache.log4j.internal.annotation.SuppressFBWarnings; /** * Checks every now and then that a certain file has not changed. If it has, then call the {@link #doOnChange} method. diff --git a/log4j-1.2-api/src/main/java/org/apache/log4j/helpers/UtilLoggingLevel.java b/log4j-1.2-api/src/main/java/org/apache/log4j/helpers/UtilLoggingLevel.java index f99ad0b8c7..5e64f0c813 100644 --- a/log4j-1.2-api/src/main/java/org/apache/log4j/helpers/UtilLoggingLevel.java +++ b/log4j-1.2-api/src/main/java/org/apache/log4j/helpers/UtilLoggingLevel.java @@ -18,10 +18,10 @@ package org.apache.log4j.helpers; import static org.apache.logging.log4j.util.Strings.toRootUpperCase; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.util.ArrayList; import java.util.List; import org.apache.log4j.Level; +import org.apache.log4j.internal.annotation.SuppressFBWarnings; /** * An extension of the Level class that provides support for java.util.logging Levels. diff --git a/log4j-1.2-api/src/main/java/org/apache/log4j/helpers/package-info.java b/log4j-1.2-api/src/main/java/org/apache/log4j/helpers/package-info.java index b94af3ba61..a6e54fdb7b 100644 --- a/log4j-1.2-api/src/main/java/org/apache/log4j/helpers/package-info.java +++ b/log4j-1.2-api/src/main/java/org/apache/log4j/helpers/package-info.java @@ -18,7 +18,7 @@ * Log4j 1.x compatibility layer. */ @Export -@Version("2.20.3") +@Version("2.26.0") package org.apache.log4j.helpers; import org.osgi.annotation.bundle.Export; diff --git a/log4j-layout-template-json/src/main/java/org/apache/logging/log4j/layout/template/json/util/package-info.java b/log4j-1.2-api/src/main/java/org/apache/log4j/internal/annotation/SuppressFBWarnings.java similarity index 70% copy from log4j-layout-template-json/src/main/java/org/apache/logging/log4j/layout/template/json/util/package-info.java copy to log4j-1.2-api/src/main/java/org/apache/log4j/internal/annotation/SuppressFBWarnings.java index dbb7814d27..25809ea12d 100644 --- a/log4j-layout-template-json/src/main/java/org/apache/logging/log4j/layout/template/json/util/package-info.java +++ b/log4j-1.2-api/src/main/java/org/apache/log4j/internal/annotation/SuppressFBWarnings.java @@ -14,11 +14,18 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -@Export -@Version("2.22.0") -@Open("org.apache.logging.log4j.core") -package org.apache.logging.log4j.layout.template.json.util; +package org.apache.log4j.internal.annotation; -import aQute.bnd.annotation.jpms.Open; -import org.osgi.annotation.bundle.Export; -import org.osgi.annotation.versioning.Version; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +/** + * Annotation to suppress Spotbugs warnings. + */ +@Retention(RetentionPolicy.CLASS) +public @interface SuppressFBWarnings { + + String[] value() default {}; + + String justification() default ""; +} diff --git a/log4j-1.2-api/src/main/java/org/apache/log4j/layout/Log4j1XmlLayout.java b/log4j-1.2-api/src/main/java/org/apache/log4j/layout/Log4j1XmlLayout.java index a508218b11..ed7ff047ae 100644 --- a/log4j-1.2-api/src/main/java/org/apache/log4j/layout/Log4j1XmlLayout.java +++ b/log4j-1.2-api/src/main/java/org/apache/log4j/layout/Log4j1XmlLayout.java @@ -16,12 +16,12 @@ */ package org.apache.log4j.layout; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.io.PrintWriter; import java.io.StringWriter; import java.nio.charset.StandardCharsets; import java.util.List; import java.util.Objects; +import org.apache.log4j.internal.annotation.SuppressFBWarnings; import org.apache.logging.log4j.core.Layout; import org.apache.logging.log4j.core.LogEvent; import org.apache.logging.log4j.core.config.Node; diff --git a/log4j-1.2-api/src/main/java/org/apache/log4j/package-info.java b/log4j-1.2-api/src/main/java/org/apache/log4j/package-info.java index 7462396fa7..e8b2323477 100644 --- a/log4j-1.2-api/src/main/java/org/apache/log4j/package-info.java +++ b/log4j-1.2-api/src/main/java/org/apache/log4j/package-info.java @@ -18,7 +18,7 @@ * Log4j 1.x compatibility layer. */ @Export -@Version("2.20.2") +@Version("2.26.0") package org.apache.log4j; import org.osgi.annotation.bundle.Export; diff --git a/log4j-1.2-api/src/main/java/org/apache/log4j/xml/DOMConfigurator.java b/log4j-1.2-api/src/main/java/org/apache/log4j/xml/DOMConfigurator.java index 5aff69da56..17e904d08c 100644 --- a/log4j-1.2-api/src/main/java/org/apache/log4j/xml/DOMConfigurator.java +++ b/log4j-1.2-api/src/main/java/org/apache/log4j/xml/DOMConfigurator.java @@ -16,7 +16,6 @@ */ package org.apache.log4j.xml; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.InputStream; @@ -34,6 +33,7 @@ import org.apache.log4j.LogManager; import org.apache.log4j.config.PropertySetter; import org.apache.log4j.helpers.LogLog; import org.apache.log4j.helpers.OptionConverter; +import org.apache.log4j.internal.annotation.SuppressFBWarnings; import org.apache.log4j.spi.LoggerRepository; import org.apache.logging.log4j.core.LoggerContext; import org.apache.logging.log4j.core.config.Configuration; diff --git a/log4j-1.2-api/src/main/java/org/apache/log4j/xml/XmlConfiguration.java b/log4j-1.2-api/src/main/java/org/apache/log4j/xml/XmlConfiguration.java index dd2a0312b0..a4e7916139 100644 --- a/log4j-1.2-api/src/main/java/org/apache/log4j/xml/XmlConfiguration.java +++ b/log4j-1.2-api/src/main/java/org/apache/log4j/xml/XmlConfiguration.java @@ -16,7 +16,6 @@ */ package org.apache.log4j.xml; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.io.IOException; import java.io.InterruptedIOException; import java.util.HashMap; @@ -36,6 +35,7 @@ import org.apache.log4j.bridge.FilterAdapter; import org.apache.log4j.config.Log4j1Configuration; import org.apache.log4j.config.PropertySetter; import org.apache.log4j.helpers.OptionConverter; +import org.apache.log4j.internal.annotation.SuppressFBWarnings; import org.apache.log4j.rewrite.RewritePolicy; import org.apache.log4j.spi.AppenderAttachable; import org.apache.log4j.spi.ErrorHandler; diff --git a/log4j-1.2-api/src/main/java/org/apache/log4j/xml/package-info.java b/log4j-1.2-api/src/main/java/org/apache/log4j/xml/package-info.java index b7c3d31598..947cfd6965 100644 --- a/log4j-1.2-api/src/main/java/org/apache/log4j/xml/package-info.java +++ b/log4j-1.2-api/src/main/java/org/apache/log4j/xml/package-info.java @@ -18,7 +18,7 @@ * Log4j 1.x compatibility layer. */ @Export -@Version("2.20.2") +@Version("2.26.0") package org.apache.log4j.xml; import org.osgi.annotation.bundle.Export; diff --git a/log4j-api-test/src/main/java/org/apache/logging/log4j/test/TestLogger.java b/log4j-api-test/src/main/java/org/apache/logging/log4j/test/TestLogger.java index e95f1e9bb6..3dd4278ec2 100644 --- a/log4j-api-test/src/main/java/org/apache/logging/log4j/test/TestLogger.java +++ b/log4j-api-test/src/main/java/org/apache/logging/log4j/test/TestLogger.java @@ -16,7 +16,6 @@ */ package org.apache.logging.log4j.test; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.io.ByteArrayOutputStream; import java.io.PrintStream; import java.util.ArrayList; @@ -28,6 +27,7 @@ import org.apache.logging.log4j.ThreadContext; import org.apache.logging.log4j.message.Message; import org.apache.logging.log4j.message.MessageFactory; import org.apache.logging.log4j.spi.AbstractLogger; +import org.apache.logging.log4j.test.internal.annotation.SuppressFBWarnings; /** * diff --git a/log4j-layout-template-json/src/main/java/org/apache/logging/log4j/layout/template/json/util/package-info.java b/log4j-api-test/src/main/java/org/apache/logging/log4j/test/internal/annotation/SuppressFBWarnings.java similarity index 69% copy from log4j-layout-template-json/src/main/java/org/apache/logging/log4j/layout/template/json/util/package-info.java copy to log4j-api-test/src/main/java/org/apache/logging/log4j/test/internal/annotation/SuppressFBWarnings.java index dbb7814d27..ced8d09001 100644 --- a/log4j-layout-template-json/src/main/java/org/apache/logging/log4j/layout/template/json/util/package-info.java +++ b/log4j-api-test/src/main/java/org/apache/logging/log4j/test/internal/annotation/SuppressFBWarnings.java @@ -14,11 +14,18 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -@Export -@Version("2.22.0") -@Open("org.apache.logging.log4j.core") -package org.apache.logging.log4j.layout.template.json.util; +package org.apache.logging.log4j.test.internal.annotation; -import aQute.bnd.annotation.jpms.Open; -import org.osgi.annotation.bundle.Export; -import org.osgi.annotation.versioning.Version; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +/** + * Annotation to suppress Spotbugs warnings. + */ +@Retention(RetentionPolicy.CLASS) +public @interface SuppressFBWarnings { + + String[] value() default {}; + + String justification() default ""; +} diff --git a/log4j-api-test/src/main/java/org/apache/logging/log4j/test/junit/DirectoryCleaner.java b/log4j-api-test/src/main/java/org/apache/logging/log4j/test/junit/DirectoryCleaner.java index 84c12b4210..efcd29753d 100644 --- a/log4j-api-test/src/main/java/org/apache/logging/log4j/test/junit/DirectoryCleaner.java +++ b/log4j-api-test/src/main/java/org/apache/logging/log4j/test/junit/DirectoryCleaner.java @@ -16,7 +16,6 @@ */ package org.apache.logging.log4j.test.junit; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.io.IOException; import java.nio.file.FileVisitResult; import java.nio.file.Files; @@ -26,6 +25,7 @@ import java.nio.file.SimpleFileVisitor; import java.nio.file.attribute.BasicFileAttributes; import java.util.Collection; import java.util.HashSet; +import org.apache.logging.log4j.test.internal.annotation.SuppressFBWarnings; import org.junit.jupiter.api.extension.ExtensionContext; class DirectoryCleaner extends AbstractFileCleaner { diff --git a/log4j-api-test/src/main/java/org/apache/logging/log4j/test/junit/FileCleaner.java b/log4j-api-test/src/main/java/org/apache/logging/log4j/test/junit/FileCleaner.java index 9a9500d53a..bf49a7ea51 100644 --- a/log4j-api-test/src/main/java/org/apache/logging/log4j/test/junit/FileCleaner.java +++ b/log4j-api-test/src/main/java/org/apache/logging/log4j/test/junit/FileCleaner.java @@ -16,13 +16,13 @@ */ package org.apache.logging.log4j.test.junit; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.util.Collection; import java.util.HashSet; +import org.apache.logging.log4j.test.internal.annotation.SuppressFBWarnings; import org.junit.jupiter.api.extension.ExtensionContext; class FileCleaner extends AbstractFileCleaner { diff --git a/log4j-api-test/src/main/java/org/apache/logging/log4j/test/junit/SerialUtil.java b/log4j-api-test/src/main/java/org/apache/logging/log4j/test/junit/SerialUtil.java index e568e41513..707fee87d3 100644 --- a/log4j-api-test/src/main/java/org/apache/logging/log4j/test/junit/SerialUtil.java +++ b/log4j-api-test/src/main/java/org/apache/logging/log4j/test/junit/SerialUtil.java @@ -16,7 +16,6 @@ */ package org.apache.logging.log4j.test.junit; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; @@ -25,6 +24,7 @@ import java.io.ObjectInputStream; import java.io.ObjectOutput; import java.io.ObjectOutputStream; import java.io.Serializable; +import org.apache.logging.log4j.test.internal.annotation.SuppressFBWarnings; import org.apache.logging.log4j.util.Constants; import org.apache.logging.log4j.util.FilteredObjectInputStream; diff --git a/log4j-api-test/src/main/java/org/apache/logging/log4j/test/junit/package-info.java b/log4j-api-test/src/main/java/org/apache/logging/log4j/test/junit/package-info.java index 2a37b2933f..ca324bf73a 100644 --- a/log4j-api-test/src/main/java/org/apache/logging/log4j/test/junit/package-info.java +++ b/log4j-api-test/src/main/java/org/apache/logging/log4j/test/junit/package-info.java @@ -15,7 +15,7 @@ * limitations under the license. */ @Export -@Version("2.24.1") +@Version("2.26.0") package org.apache.logging.log4j.test.junit; import org.osgi.annotation.bundle.Export; diff --git a/log4j-api-test/src/main/java/org/apache/logging/log4j/test/package-info.java b/log4j-api-test/src/main/java/org/apache/logging/log4j/test/package-info.java index 5a0ebc4510..36413766c5 100644 --- a/log4j-api-test/src/main/java/org/apache/logging/log4j/test/package-info.java +++ b/log4j-api-test/src/main/java/org/apache/logging/log4j/test/package-info.java @@ -15,7 +15,7 @@ * limitations under the license. */ @Export -@Version("2.21.1") +@Version("2.26.0") package org.apache.logging.log4j.test; import org.osgi.annotation.bundle.Export; diff --git a/log4j-api-test/src/test/java/org/apache/logging/log4j/status/StatusLoggerDateTest.java b/log4j-api-test/src/test/java/org/apache/logging/log4j/status/StatusLoggerDateTest.java index 0978587692..55cd157783 100644 --- a/log4j-api-test/src/test/java/org/apache/logging/log4j/status/StatusLoggerDateTest.java +++ b/log4j-api-test/src/test/java/org/apache/logging/log4j/status/StatusLoggerDateTest.java @@ -18,11 +18,11 @@ package org.apache.logging.log4j.status; import static org.assertj.core.api.Assertions.assertThat; -import edu.umd.cs.findbugs.annotations.Nullable; import java.time.Instant; import java.time.ZoneId; import java.time.format.DateTimeFormatter; import java.util.Properties; +import org.jspecify.annotations.Nullable; import org.junit.jupiter.api.Test; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.CsvSource; diff --git a/log4j-layout-template-json/src/main/java/org/apache/logging/log4j/layout/template/json/util/package-info.java b/log4j-api/src/main/java/org/apache/logging/log4j/internal/annotation/SuppressFBWarnings.java similarity index 70% copy from log4j-layout-template-json/src/main/java/org/apache/logging/log4j/layout/template/json/util/package-info.java copy to log4j-api/src/main/java/org/apache/logging/log4j/internal/annotation/SuppressFBWarnings.java index dbb7814d27..2023a4cb06 100644 --- a/log4j-layout-template-json/src/main/java/org/apache/logging/log4j/layout/template/json/util/package-info.java +++ b/log4j-api/src/main/java/org/apache/logging/log4j/internal/annotation/SuppressFBWarnings.java @@ -14,11 +14,18 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -@Export -@Version("2.22.0") -@Open("org.apache.logging.log4j.core") -package org.apache.logging.log4j.layout.template.json.util; +package org.apache.logging.log4j.internal.annotation; -import aQute.bnd.annotation.jpms.Open; -import org.osgi.annotation.bundle.Export; -import org.osgi.annotation.versioning.Version; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +/** + * Annotation to suppress Spotbugs warnings. + */ +@Retention(RetentionPolicy.CLASS) +public @interface SuppressFBWarnings { + + String[] value() default {}; + + String justification() default ""; +} diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/simple/SimpleLogger.java b/log4j-api/src/main/java/org/apache/logging/log4j/simple/SimpleLogger.java index 1690893187..4d36201e9e 100644 --- a/log4j-api/src/main/java/org/apache/logging/log4j/simple/SimpleLogger.java +++ b/log4j-api/src/main/java/org/apache/logging/log4j/simple/SimpleLogger.java @@ -16,7 +16,6 @@ */ package org.apache.logging.log4j.simple; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.io.PrintStream; import java.text.DateFormat; import java.text.SimpleDateFormat; @@ -25,6 +24,7 @@ import java.util.Map; import org.apache.logging.log4j.Level; import org.apache.logging.log4j.Marker; import org.apache.logging.log4j.ThreadContext; +import org.apache.logging.log4j.internal.annotation.SuppressFBWarnings; import org.apache.logging.log4j.message.Message; import org.apache.logging.log4j.message.MessageFactory; import org.apache.logging.log4j.spi.AbstractLogger; diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/simple/SimpleLoggerContext.java b/log4j-api/src/main/java/org/apache/logging/log4j/simple/SimpleLoggerContext.java index 55cced06f5..3286bb356d 100644 --- a/log4j-api/src/main/java/org/apache/logging/log4j/simple/SimpleLoggerContext.java +++ b/log4j-api/src/main/java/org/apache/logging/log4j/simple/SimpleLoggerContext.java @@ -16,9 +16,9 @@ */ package org.apache.logging.log4j.simple; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.io.PrintStream; import org.apache.logging.log4j.Level; +import org.apache.logging.log4j.internal.annotation.SuppressFBWarnings; import org.apache.logging.log4j.message.MessageFactory; import org.apache.logging.log4j.message.ParameterizedMessageFactory; import org.apache.logging.log4j.simple.internal.SimpleProvider; diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/simple/package-info.java b/log4j-api/src/main/java/org/apache/logging/log4j/simple/package-info.java index 29139a12ac..3e5667856f 100644 --- a/log4j-api/src/main/java/org/apache/logging/log4j/simple/package-info.java +++ b/log4j-api/src/main/java/org/apache/logging/log4j/simple/package-info.java @@ -20,7 +20,7 @@ * Providers are able to be loaded at runtime. */ @Export -@Version("2.24.1") +@Version("2.26.0") package org.apache.logging.log4j.simple; import org.osgi.annotation.bundle.Export; diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/status/StatusConsoleListener.java b/log4j-api/src/main/java/org/apache/logging/log4j/status/StatusConsoleListener.java index ce23ff5aa9..7e7b2b2c92 100644 --- a/log4j-api/src/main/java/org/apache/logging/log4j/status/StatusConsoleListener.java +++ b/log4j-api/src/main/java/org/apache/logging/log4j/status/StatusConsoleListener.java @@ -18,13 +18,13 @@ package org.apache.logging.log4j.status; import static java.util.Objects.requireNonNull; -import edu.umd.cs.findbugs.annotations.Nullable; import java.io.IOException; import java.io.OutputStream; import java.io.PrintStream; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; import org.apache.logging.log4j.Level; +import org.jspecify.annotations.Nullable; /** * A {@link StatusListener} that writes to the console. diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/status/StatusData.java b/log4j-api/src/main/java/org/apache/logging/log4j/status/StatusData.java index 1b0dcf31de..7cef97d94c 100644 --- a/log4j-api/src/main/java/org/apache/logging/log4j/status/StatusData.java +++ b/log4j-api/src/main/java/org/apache/logging/log4j/status/StatusData.java @@ -19,15 +19,15 @@ package org.apache.logging.log4j.status; import static java.util.Objects.requireNonNull; import static org.apache.logging.log4j.util.Chars.SPACE; -import edu.umd.cs.findbugs.annotations.Nullable; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.io.ByteArrayOutputStream; import java.io.PrintStream; import java.io.Serializable; import java.time.Instant; import java.time.format.DateTimeFormatter; import org.apache.logging.log4j.Level; +import org.apache.logging.log4j.internal.annotation.SuppressFBWarnings; import org.apache.logging.log4j.message.Message; +import org.jspecify.annotations.Nullable; /** * The Status data. diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/status/StatusLogger.java b/log4j-api/src/main/java/org/apache/logging/log4j/status/StatusLogger.java index 699dc66c8a..06d8a547b0 100644 --- a/log4j-api/src/main/java/org/apache/logging/log4j/status/StatusLogger.java +++ b/log4j-api/src/main/java/org/apache/logging/log4j/status/StatusLogger.java @@ -18,8 +18,6 @@ package org.apache.logging.log4j.status; import static java.util.Objects.requireNonNull; -import edu.umd.cs.findbugs.annotations.Nullable; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.io.IOException; import java.io.InputStream; import java.net.URL; @@ -41,11 +39,13 @@ import java.util.concurrent.locks.ReadWriteLock; import java.util.concurrent.locks.ReentrantReadWriteLock; import org.apache.logging.log4j.Level; import org.apache.logging.log4j.Marker; +import org.apache.logging.log4j.internal.annotation.SuppressFBWarnings; import org.apache.logging.log4j.message.Message; import org.apache.logging.log4j.message.MessageFactory; import org.apache.logging.log4j.message.ParameterizedNoReferenceMessageFactory; import org.apache.logging.log4j.spi.AbstractLogger; import org.apache.logging.log4j.util.Constants; +import org.jspecify.annotations.Nullable; /** * Records events that occur in the logging system. diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/status/package-info.java b/log4j-api/src/main/java/org/apache/logging/log4j/status/package-info.java index 12fddb6039..25274a7b23 100644 --- a/log4j-api/src/main/java/org/apache/logging/log4j/status/package-info.java +++ b/log4j-api/src/main/java/org/apache/logging/log4j/status/package-info.java @@ -19,7 +19,7 @@ * used by applications reporting on the status of the logging system */ @Export -@Version("2.23.1") +@Version("2.26.0") package org.apache.logging.log4j.status; import org.osgi.annotation.bundle.Export; diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/util/PropertyFilePropertySource.java b/log4j-api/src/main/java/org/apache/logging/log4j/util/PropertyFilePropertySource.java index acb4310c3c..4c665879ba 100644 --- a/log4j-api/src/main/java/org/apache/logging/log4j/util/PropertyFilePropertySource.java +++ b/log4j-api/src/main/java/org/apache/logging/log4j/util/PropertyFilePropertySource.java @@ -16,12 +16,12 @@ */ package org.apache.logging.log4j.util; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.io.IOException; import java.io.InputStream; import java.net.URL; import java.util.Properties; import org.apache.logging.log4j.Logger; +import org.apache.logging.log4j.internal.annotation.SuppressFBWarnings; import org.apache.logging.log4j.status.StatusLogger; /** diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/util/ProviderUtil.java b/log4j-api/src/main/java/org/apache/logging/log4j/util/ProviderUtil.java index 2b74606f08..d66c35c34c 100644 --- a/log4j-api/src/main/java/org/apache/logging/log4j/util/ProviderUtil.java +++ b/log4j-api/src/main/java/org/apache/logging/log4j/util/ProviderUtil.java @@ -21,7 +21,6 @@ import static org.apache.logging.log4j.spi.Provider.PROVIDER_PROPERTY_NAME; import aQute.bnd.annotation.Cardinality; import aQute.bnd.annotation.Resolution; import aQute.bnd.annotation.spi.ServiceConsumer; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.io.IOException; import java.net.URL; import java.util.Collection; @@ -35,6 +34,7 @@ import java.util.concurrent.locks.ReentrantLock; import java.util.stream.Collectors; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; +import org.apache.logging.log4j.internal.annotation.SuppressFBWarnings; import org.apache.logging.log4j.simple.internal.SimpleProvider; import org.apache.logging.log4j.spi.LoggerContextFactory; import org.apache.logging.log4j.spi.Provider; diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/util/internal/SerializationUtil.java b/log4j-api/src/main/java/org/apache/logging/log4j/util/internal/SerializationUtil.java index 6180f47421..3cb7066898 100644 --- a/log4j-api/src/main/java/org/apache/logging/log4j/util/internal/SerializationUtil.java +++ b/log4j-api/src/main/java/org/apache/logging/log4j/util/internal/SerializationUtil.java @@ -16,7 +16,6 @@ */ package org.apache.logging.log4j.util.internal; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; @@ -29,6 +28,7 @@ import java.lang.reflect.Method; import java.lang.reflect.Modifier; import java.util.Arrays; import java.util.List; +import org.apache.logging.log4j.internal.annotation.SuppressFBWarnings; import org.apache.logging.log4j.status.StatusLogger; import org.apache.logging.log4j.util.FilteredObjectInputStream; diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/util/package-info.java b/log4j-api/src/main/java/org/apache/logging/log4j/util/package-info.java index 23fcfbd931..f20d42965c 100644 --- a/log4j-api/src/main/java/org/apache/logging/log4j/util/package-info.java +++ b/log4j-api/src/main/java/org/apache/logging/log4j/util/package-info.java @@ -20,7 +20,7 @@ * There are no guarantees for binary or logical compatibility in this package. */ @Export -@Version("2.25.0") +@Version("2.26.0") package org.apache.logging.log4j.util; import org.osgi.annotation.bundle.Export; diff --git a/log4j-layout-template-json/src/main/java/org/apache/logging/log4j/layout/template/json/util/package-info.java b/log4j-appserver/src/main/java/org/apache/logging/log4j/appserver/internal/annotation/SuppressFBWarnings.java similarity index 69% copy from log4j-layout-template-json/src/main/java/org/apache/logging/log4j/layout/template/json/util/package-info.java copy to log4j-appserver/src/main/java/org/apache/logging/log4j/appserver/internal/annotation/SuppressFBWarnings.java index dbb7814d27..480ad32607 100644 --- a/log4j-layout-template-json/src/main/java/org/apache/logging/log4j/layout/template/json/util/package-info.java +++ b/log4j-appserver/src/main/java/org/apache/logging/log4j/appserver/internal/annotation/SuppressFBWarnings.java @@ -14,11 +14,18 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -@Export -@Version("2.22.0") -@Open("org.apache.logging.log4j.core") -package org.apache.logging.log4j.layout.template.json.util; +package org.apache.logging.log4j.appserver.internal.annotation; -import aQute.bnd.annotation.jpms.Open; -import org.osgi.annotation.bundle.Export; -import org.osgi.annotation.versioning.Version; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +/** + * Annotation to suppress Spotbugs warnings. + */ +@Retention(RetentionPolicy.CLASS) +public @interface SuppressFBWarnings { + + String[] value() default {}; + + String justification() default ""; +} diff --git a/log4j-appserver/src/main/java/org/apache/logging/log4j/appserver/jetty/Log4j2Logger.java b/log4j-appserver/src/main/java/org/apache/logging/log4j/appserver/jetty/Log4j2Logger.java index 70b9344328..b520c04f5b 100644 --- a/log4j-appserver/src/main/java/org/apache/logging/log4j/appserver/jetty/Log4j2Logger.java +++ b/log4j-appserver/src/main/java/org/apache/logging/log4j/appserver/jetty/Log4j2Logger.java @@ -16,9 +16,9 @@ */ package org.apache.logging.log4j.appserver.jetty; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import org.apache.logging.log4j.Level; import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.appserver.internal.annotation.SuppressFBWarnings; import org.apache.logging.log4j.spi.ExtendedLogger; import org.apache.logging.log4j.spi.LoggerContext; import org.eclipse.jetty.util.log.AbstractLogger; diff --git a/log4j-appserver/src/main/java/org/apache/logging/log4j/appserver/jetty/package-info.java b/log4j-appserver/src/main/java/org/apache/logging/log4j/appserver/jetty/package-info.java index 41b7bce811..d4e606ba46 100644 --- a/log4j-appserver/src/main/java/org/apache/logging/log4j/appserver/jetty/package-info.java +++ b/log4j-appserver/src/main/java/org/apache/logging/log4j/appserver/jetty/package-info.java @@ -19,7 +19,7 @@ */ @Open @Export -@Version("2.20.1") +@Version("2.26.0") package org.apache.logging.log4j.appserver.jetty; import aQute.bnd.annotation.jpms.Open; diff --git a/log4j-appserver/src/main/java/org/apache/logging/log4j/appserver/tomcat/TomcatLogger.java b/log4j-appserver/src/main/java/org/apache/logging/log4j/appserver/tomcat/TomcatLogger.java index 11817c6618..2176acc494 100644 --- a/log4j-appserver/src/main/java/org/apache/logging/log4j/appserver/tomcat/TomcatLogger.java +++ b/log4j-appserver/src/main/java/org/apache/logging/log4j/appserver/tomcat/TomcatLogger.java @@ -18,13 +18,13 @@ package org.apache.logging.log4j.appserver.tomcat; import aQute.bnd.annotation.Resolution; import aQute.bnd.annotation.spi.ServiceProvider; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.net.URI; import java.net.URISyntaxException; import java.net.URL; import org.apache.juli.logging.Log; import org.apache.logging.log4j.Level; import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.appserver.internal.annotation.SuppressFBWarnings; import org.apache.logging.log4j.spi.ExtendedLogger; import org.apache.logging.log4j.spi.LoggerContext; diff --git a/log4j-appserver/src/main/java/org/apache/logging/log4j/appserver/tomcat/package-info.java b/log4j-appserver/src/main/java/org/apache/logging/log4j/appserver/tomcat/package-info.java index d8d724f4eb..0a84c1f708 100644 --- a/log4j-appserver/src/main/java/org/apache/logging/log4j/appserver/tomcat/package-info.java +++ b/log4j-appserver/src/main/java/org/apache/logging/log4j/appserver/tomcat/package-info.java @@ -18,7 +18,7 @@ * Log4j integration with Apache Tomcat 8.5 or greater. */ @Export -@Version("2.20.1") +@Version("2.26.0") package org.apache.logging.log4j.appserver.tomcat; import org.osgi.annotation.bundle.Export; diff --git a/log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/AvailablePortFinder.java b/log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/AvailablePortFinder.java index ffd7d0b276..8758a6e0bb 100644 --- a/log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/AvailablePortFinder.java +++ b/log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/AvailablePortFinder.java @@ -16,13 +16,13 @@ */ package org.apache.logging.log4j.core.test; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.io.IOException; import java.net.DatagramSocket; import java.net.ServerSocket; import java.util.NoSuchElementException; import java.util.concurrent.atomic.AtomicInteger; import org.apache.logging.log4j.Logger; +import org.apache.logging.log4j.core.test.internal.annotation.SuppressFBWarnings; import org.apache.logging.log4j.core.util.Closer; import org.apache.logging.log4j.status.StatusLogger; diff --git a/log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/GcFreeLoggingTestUtil.java b/log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/GcFreeLoggingTestUtil.java index ace4185467..a299334b05 100644 --- a/log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/GcFreeLoggingTestUtil.java +++ b/log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/GcFreeLoggingTestUtil.java @@ -21,7 +21,6 @@ import static org.junit.jupiter.api.Assertions.assertTrue; import com.google.monitoring.runtime.instrumentation.AllocationRecorder; import com.google.monitoring.runtime.instrumentation.Sampler; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.io.File; import java.net.URL; import java.nio.charset.Charset; @@ -35,6 +34,7 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Marker; import org.apache.logging.log4j.MarkerManager; import org.apache.logging.log4j.ThreadContext; +import org.apache.logging.log4j.core.test.internal.annotation.SuppressFBWarnings; import org.apache.logging.log4j.core.util.Constants; import org.apache.logging.log4j.message.StringMapMessage; diff --git a/log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/appender/db/jdbc/JdbcH2TestHelper.java b/log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/appender/db/jdbc/JdbcH2TestHelper.java index 95ee5330ca..e8dcc9fa60 100644 --- a/log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/appender/db/jdbc/JdbcH2TestHelper.java +++ b/log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/appender/db/jdbc/JdbcH2TestHelper.java @@ -16,13 +16,13 @@ */ package org.apache.logging.log4j.core.test.appender.db.jdbc; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.io.IOException; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import org.apache.logging.log4j.core.appender.db.jdbc.AbstractConnectionSource; import org.apache.logging.log4j.core.appender.db.jdbc.ConnectionSource; +import org.apache.logging.log4j.core.test.internal.annotation.SuppressFBWarnings; @SuppressFBWarnings("HARD_CODE_PASSWORD") public class JdbcH2TestHelper { diff --git a/log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/appender/db/jdbc/package-info.java b/log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/appender/db/jdbc/package-info.java index 638390f63a..b49536fd02 100644 --- a/log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/appender/db/jdbc/package-info.java +++ b/log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/appender/db/jdbc/package-info.java @@ -15,7 +15,7 @@ * limitations under the license. */ @Export -@Version("2.20.3") +@Version("2.26.0") package org.apache.logging.log4j.core.test.appender.db.jdbc; import org.osgi.annotation.bundle.Export; diff --git a/log4j-layout-template-json/src/main/java/org/apache/logging/log4j/layout/template/json/util/package-info.java b/log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/internal/annotation/SuppressFBWarnings.java similarity index 69% copy from log4j-layout-template-json/src/main/java/org/apache/logging/log4j/layout/template/json/util/package-info.java copy to log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/internal/annotation/SuppressFBWarnings.java index dbb7814d27..c30fd886e4 100644 --- a/log4j-layout-template-json/src/main/java/org/apache/logging/log4j/layout/template/json/util/package-info.java +++ b/log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/internal/annotation/SuppressFBWarnings.java @@ -14,11 +14,18 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -@Export -@Version("2.22.0") -@Open("org.apache.logging.log4j.core") -package org.apache.logging.log4j.layout.template.json.util; +package org.apache.logging.log4j.core.test.internal.annotation; -import aQute.bnd.annotation.jpms.Open; -import org.osgi.annotation.bundle.Export; -import org.osgi.annotation.versioning.Version; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +/** + * Annotation to suppress Spotbugs warnings. + */ +@Retention(RetentionPolicy.CLASS) +public @interface SuppressFBWarnings { + + String[] value() default {}; + + String justification() default ""; +} diff --git a/log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/junit/AbstractExternalFileCleaner.java b/log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/junit/AbstractExternalFileCleaner.java index 4477b55da7..9fa720e66e 100644 --- a/log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/junit/AbstractExternalFileCleaner.java +++ b/log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/junit/AbstractExternalFileCleaner.java @@ -16,7 +16,6 @@ */ package org.apache.logging.log4j.core.test.junit; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.io.File; import java.io.IOException; import java.io.PrintStream; @@ -28,6 +27,7 @@ import java.util.HashMap; import java.util.HashSet; import java.util.Map; import java.util.Set; +import org.apache.logging.log4j.core.test.internal.annotation.SuppressFBWarnings; import org.junit.Assert; import org.junit.rules.ExternalResource; diff --git a/log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/junit/JdbcRule.java b/log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/junit/JdbcRule.java index d6f76b4fa2..76065470d5 100644 --- a/log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/junit/JdbcRule.java +++ b/log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/junit/JdbcRule.java @@ -16,13 +16,13 @@ */ package org.apache.logging.log4j.core.test.junit; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.sql.Connection; import java.sql.SQLException; import java.sql.Statement; import java.util.Objects; import org.apache.commons.lang3.StringUtils; import org.apache.logging.log4j.core.appender.db.jdbc.ConnectionSource; +import org.apache.logging.log4j.core.test.internal.annotation.SuppressFBWarnings; import org.junit.rules.TestRule; import org.junit.runner.Description; diff --git a/log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/junit/package-info.java b/log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/junit/package-info.java index 4103b14804..a92fa4c345 100644 --- a/log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/junit/package-info.java +++ b/log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/junit/package-info.java @@ -20,7 +20,7 @@ * @see org.junit.rules.TestRule */ @Export -@Version("2.23.1") +@Version("2.26.0") package org.apache.logging.log4j.core.test.junit; import org.osgi.annotation.bundle.Export; diff --git a/log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/net/mock/MockTcpSyslogServer.java b/log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/net/mock/MockTcpSyslogServer.java index 7fecbe9ef8..87a8703047 100644 --- a/log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/net/mock/MockTcpSyslogServer.java +++ b/log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/net/mock/MockTcpSyslogServer.java @@ -16,11 +16,11 @@ */ package org.apache.logging.log4j.core.test.net.mock; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.io.IOException; import java.io.InputStream; import java.net.ServerSocket; import java.net.Socket; +import org.apache.logging.log4j.core.test.internal.annotation.SuppressFBWarnings; public class MockTcpSyslogServer extends MockSyslogServer { private final ServerSocket serverSocket; diff --git a/log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/net/mock/package-info.java b/log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/net/mock/package-info.java index 466921018d..a7501fb3cd 100644 --- a/log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/net/mock/package-info.java +++ b/log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/net/mock/package-info.java @@ -15,7 +15,7 @@ * limitations under the license. */ @Export -@Version("2.21.0") +@Version("2.26.0") package org.apache.logging.log4j.core.test.net.mock; import org.osgi.annotation.bundle.Export; diff --git a/log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/net/ssl/TlsSyslogTestUtil.java b/log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/net/ssl/TlsSyslogTestUtil.java index bb3b7691b6..a67aa3d7a9 100644 --- a/log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/net/ssl/TlsSyslogTestUtil.java +++ b/log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/net/ssl/TlsSyslogTestUtil.java @@ -16,9 +16,9 @@ */ package org.apache.logging.log4j.core.test.net.ssl; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.util.ArrayList; import java.util.Random; +import org.apache.logging.log4j.core.test.internal.annotation.SuppressFBWarnings; @SuppressFBWarnings("PREDICTABLE_RANDOM") public class TlsSyslogTestUtil { diff --git a/log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/net/ssl/package-info.java b/log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/net/ssl/package-info.java index 97a787665d..734cd0dc60 100644 --- a/log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/net/ssl/package-info.java +++ b/log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/net/ssl/package-info.java @@ -15,7 +15,7 @@ * limitations under the license. */ @Export -@Version("2.20.2") +@Version("2.26.0") package org.apache.logging.log4j.core.test.net.ssl; import org.osgi.annotation.bundle.Export; diff --git a/log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/package-info.java b/log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/package-info.java index 2199930f31..70fbbc2b6f 100644 --- a/log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/package-info.java +++ b/log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/package-info.java @@ -15,7 +15,7 @@ * limitations under the license. */ @Export -@Version("2.25.0") +@Version("2.26.0") @BaselineIgnore("2.25.0") package org.apache.logging.log4j.core.test; diff --git a/log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/smtp/SimpleSmtpServer.java b/log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/smtp/SimpleSmtpServer.java index c02b115d22..42f3b05eac 100644 --- a/log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/smtp/SimpleSmtpServer.java +++ b/log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/smtp/SimpleSmtpServer.java @@ -16,7 +16,6 @@ */ package org.apache.logging.log4j.core.test.smtp; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; @@ -26,6 +25,7 @@ import java.net.Socket; import java.util.ArrayList; import java.util.Iterator; import java.util.List; +import org.apache.logging.log4j.core.test.internal.annotation.SuppressFBWarnings; import org.apache.logging.log4j.util.Strings; /** diff --git a/log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/smtp/package-info.java b/log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/smtp/package-info.java index 3d4e74b7a9..8b7122660a 100644 --- a/log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/smtp/package-info.java +++ b/log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/smtp/package-info.java @@ -15,7 +15,7 @@ * limitations under the license. */ @Export -@Version("2.20.2") +@Version("2.26.0") package org.apache.logging.log4j.core.test.smtp; import org.osgi.annotation.bundle.Export; diff --git a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/SocketAppenderReconnectTest.java b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/SocketAppenderReconnectTest.java index 619749eacf..ebba3ba42f 100644 --- a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/SocketAppenderReconnectTest.java +++ b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/SocketAppenderReconnectTest.java @@ -21,7 +21,6 @@ import static org.assertj.core.api.Assertions.assertThat; import static org.awaitility.Awaitility.await; import static org.junit.jupiter.api.Assertions.fail; -import edu.umd.cs.findbugs.annotations.Nullable; import java.net.InetSocketAddress; import java.nio.charset.StandardCharsets; import java.nio.file.Files; @@ -48,6 +47,7 @@ import org.apache.logging.log4j.core.net.TcpSocketManager.HostResolver; import org.apache.logging.log4j.core.net.ssl.SslKeyStoreConstants; import org.apache.logging.log4j.status.StatusLogger; import org.apache.logging.log4j.test.junit.UsingStatusListener; +import org.jspecify.annotations.Nullable; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.io.CleanupMode; import org.junit.jupiter.api.io.TempDir; diff --git a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/config/xml/XmlConfigurationPropsTest.java b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/config/xml/XmlConfigurationPropsTest.java index 3437f787b8..d421d58c3a 100644 --- a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/config/xml/XmlConfigurationPropsTest.java +++ b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/config/xml/XmlConfigurationPropsTest.java @@ -22,7 +22,6 @@ import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.never; import static org.mockito.Mockito.verify; -import edu.umd.cs.findbugs.annotations.Nullable; import org.apache.logging.log4j.Level; import org.apache.logging.log4j.core.config.Configuration; import org.apache.logging.log4j.core.test.junit.LoggerContextSource; @@ -31,6 +30,7 @@ import org.apache.logging.log4j.status.StatusConsoleListener; import org.apache.logging.log4j.status.StatusLogger; import org.apache.logging.log4j.test.junit.SetTestProperty; import org.apache.logging.log4j.test.junit.UsingStatusLoggerMock; +import org.jspecify.annotations.Nullable; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.junit.jupiter.MockitoExtension; diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/LoggerContext.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/LoggerContext.java index 6db471cb87..da62cc2485 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/LoggerContext.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/LoggerContext.java @@ -19,7 +19,6 @@ package org.apache.logging.log4j.core; import static org.apache.logging.log4j.core.jmx.internal.JmxUtil.isJmxDisabled; import static org.apache.logging.log4j.core.util.ShutdownCallbackRegistry.SHUTDOWN_HOOK_MARKER; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.io.File; @@ -42,6 +41,7 @@ import org.apache.logging.log4j.core.config.DefaultConfiguration; import org.apache.logging.log4j.core.config.NullConfiguration; import org.apache.logging.log4j.core.config.Reconfigurable; import org.apache.logging.log4j.core.impl.Log4jLogEvent; +import org.apache.logging.log4j.core.internal.annotation.SuppressFBWarnings; import org.apache.logging.log4j.core.jmx.Server; import org.apache.logging.log4j.core.util.Cancellable; import org.apache.logging.log4j.core.util.Constants; diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/FileManager.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/FileManager.java index 46123ce074..3d0a0d7e6e 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/FileManager.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/FileManager.java @@ -16,7 +16,6 @@ */ package org.apache.logging.log4j.core.appender; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; @@ -42,6 +41,7 @@ import java.util.Set; import org.apache.logging.log4j.core.Layout; import org.apache.logging.log4j.core.LoggerContext; import org.apache.logging.log4j.core.config.Configuration; +import org.apache.logging.log4j.core.internal.annotation.SuppressFBWarnings; import org.apache.logging.log4j.core.util.Constants; import org.apache.logging.log4j.core.util.FileUtils; diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/HttpURLConnectionManager.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/HttpURLConnectionManager.java index a4e9858431..7346341fc0 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/HttpURLConnectionManager.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/HttpURLConnectionManager.java @@ -16,7 +16,6 @@ */ package org.apache.logging.log4j.core.appender; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; @@ -31,6 +30,7 @@ import org.apache.logging.log4j.core.LoggerContext; import org.apache.logging.log4j.core.config.Configuration; import org.apache.logging.log4j.core.config.ConfigurationException; import org.apache.logging.log4j.core.config.Property; +import org.apache.logging.log4j.core.internal.annotation.SuppressFBWarnings; import org.apache.logging.log4j.core.net.ssl.LaxHostnameVerifier; import org.apache.logging.log4j.core.net.ssl.SslConfiguration; import org.apache.logging.log4j.core.util.IOUtils; diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/MemoryMappedFileManager.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/MemoryMappedFileManager.java index d5f8949adb..07a0b7aa62 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/MemoryMappedFileManager.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/MemoryMappedFileManager.java @@ -16,7 +16,6 @@ */ package org.apache.logging.log4j.core.appender; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.io.File; import java.io.IOException; import java.io.OutputStream; @@ -30,6 +29,7 @@ import java.util.HashMap; import java.util.Map; import java.util.Objects; import org.apache.logging.log4j.core.Layout; +import org.apache.logging.log4j.core.internal.annotation.SuppressFBWarnings; import org.apache.logging.log4j.core.util.Closer; import org.apache.logging.log4j.core.util.FileUtils; import org.apache.logging.log4j.core.util.NullOutputStream; diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/RandomAccessFileManager.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/RandomAccessFileManager.java index 41d503d0b1..13b8c7e1f8 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/RandomAccessFileManager.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/RandomAccessFileManager.java @@ -16,7 +16,6 @@ */ package org.apache.logging.log4j.core.appender; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.io.File; import java.io.IOException; import java.io.OutputStream; @@ -28,6 +27,7 @@ import java.util.Map; import org.apache.logging.log4j.core.Layout; import org.apache.logging.log4j.core.LoggerContext; import org.apache.logging.log4j.core.config.Configuration; +import org.apache.logging.log4j.core.internal.annotation.SuppressFBWarnings; import org.apache.logging.log4j.core.util.FileUtils; import org.apache.logging.log4j.core.util.NullOutputStream; diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/jdbc/JdbcDatabaseManager.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/jdbc/JdbcDatabaseManager.java index 54ac2aace9..34a932f274 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/jdbc/JdbcDatabaseManager.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/jdbc/JdbcDatabaseManager.java @@ -16,7 +16,6 @@ */ package org.apache.logging.log4j.core.appender.db.jdbc; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.io.Reader; import java.io.Serializable; import java.io.StringReader; @@ -50,6 +49,7 @@ import org.apache.logging.log4j.core.appender.db.ColumnMapping; import org.apache.logging.log4j.core.appender.db.DbAppenderLoggingException; import org.apache.logging.log4j.core.config.plugins.convert.DateTypeConverter; import org.apache.logging.log4j.core.config.plugins.convert.TypeConverters; +import org.apache.logging.log4j.core.internal.annotation.SuppressFBWarnings; import org.apache.logging.log4j.core.util.Closer; import org.apache.logging.log4j.core.util.Log4jThread; import org.apache.logging.log4j.message.MapMessage; diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/jdbc/package-info.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/jdbc/package-info.java index 49a64405d8..02ea4343fc 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/jdbc/package-info.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/jdbc/package-info.java @@ -19,7 +19,7 @@ * a JDBC driver on your classpath for the database you wish to log to. */ @Export -@Version("2.20.1") +@Version("2.26.0") package org.apache.logging.log4j.core.appender.db.jdbc; import org.osgi.annotation.bundle.Export; diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/AbstractRolloverStrategy.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/AbstractRolloverStrategy.java index 6bc352b993..f9953d6018 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/AbstractRolloverStrategy.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/AbstractRolloverStrategy.java @@ -16,7 +16,6 @@ */ package org.apache.logging.log4j.core.appender.rolling; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.io.File; import java.io.IOException; import java.nio.file.DirectoryStream; @@ -32,6 +31,7 @@ import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.LoggingException; import org.apache.logging.log4j.core.appender.rolling.action.Action; import org.apache.logging.log4j.core.appender.rolling.action.CompositeAction; +import org.apache.logging.log4j.core.internal.annotation.SuppressFBWarnings; import org.apache.logging.log4j.core.lookup.StrSubstitutor; import org.apache.logging.log4j.core.pattern.NotANumber; import org.apache.logging.log4j.core.util.Integers; diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/DefaultRolloverStrategy.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/DefaultRolloverStrategy.java index 728763433e..3e3ad02f6a 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/DefaultRolloverStrategy.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/DefaultRolloverStrategy.java @@ -16,7 +16,6 @@ */ package org.apache.logging.log4j.core.appender.rolling; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.io.File; import java.io.IOException; import java.nio.file.Files; @@ -42,6 +41,7 @@ import org.apache.logging.log4j.core.config.plugins.PluginBuilderFactory; import org.apache.logging.log4j.core.config.plugins.PluginConfiguration; import org.apache.logging.log4j.core.config.plugins.PluginElement; import org.apache.logging.log4j.core.config.plugins.PluginFactory; +import org.apache.logging.log4j.core.internal.annotation.SuppressFBWarnings; import org.apache.logging.log4j.core.lookup.StrSubstitutor; import org.apache.logging.log4j.core.util.Integers; diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/DirectWriteRolloverStrategy.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/DirectWriteRolloverStrategy.java index ea41918e4a..1deebe2acf 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/DirectWriteRolloverStrategy.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/DirectWriteRolloverStrategy.java @@ -16,7 +16,6 @@ */ package org.apache.logging.log4j.core.appender.rolling; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.io.File; import java.io.IOException; import java.nio.file.Files; @@ -41,6 +40,7 @@ import org.apache.logging.log4j.core.config.plugins.PluginBuilderFactory; import org.apache.logging.log4j.core.config.plugins.PluginConfiguration; import org.apache.logging.log4j.core.config.plugins.PluginElement; import org.apache.logging.log4j.core.config.plugins.PluginFactory; +import org.apache.logging.log4j.core.internal.annotation.SuppressFBWarnings; import org.apache.logging.log4j.core.lookup.StrSubstitutor; import org.apache.logging.log4j.core.util.Integers; diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/FileExtension.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/FileExtension.java index a7622b2c5f..e62419b685 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/FileExtension.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/FileExtension.java @@ -16,13 +16,13 @@ */ package org.apache.logging.log4j.core.appender.rolling; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.io.File; import java.util.Objects; import org.apache.logging.log4j.core.appender.rolling.action.Action; import org.apache.logging.log4j.core.appender.rolling.action.CommonsCompressAction; import org.apache.logging.log4j.core.appender.rolling.action.GzCompressAction; import org.apache.logging.log4j.core.appender.rolling.action.ZipCompressAction; +import org.apache.logging.log4j.core.internal.annotation.SuppressFBWarnings; /** * Enumerates over supported file extensions for compression. diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/RollingFileManager.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/RollingFileManager.java index 7aec034036..59db7fb8c2 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/RollingFileManager.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/RollingFileManager.java @@ -16,7 +16,6 @@ */ package org.apache.logging.log4j.core.appender.rolling; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; @@ -47,6 +46,7 @@ import org.apache.logging.log4j.core.appender.ManagerFactory; import org.apache.logging.log4j.core.appender.rolling.action.AbstractAction; import org.apache.logging.log4j.core.appender.rolling.action.Action; import org.apache.logging.log4j.core.config.Configuration; +import org.apache.logging.log4j.core.internal.annotation.SuppressFBWarnings; import org.apache.logging.log4j.core.util.Constants; import org.apache.logging.log4j.core.util.FileUtils; import org.apache.logging.log4j.core.util.Log4jThreadFactory; diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/RollingRandomAccessFileManager.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/RollingRandomAccessFileManager.java index 047e397dd1..c6e0fe8a3d 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/RollingRandomAccessFileManager.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/RollingRandomAccessFileManager.java @@ -16,7 +16,6 @@ */ package org.apache.logging.log4j.core.appender.rolling; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.io.File; import java.io.IOException; import java.io.OutputStream; @@ -30,6 +29,7 @@ import org.apache.logging.log4j.core.appender.AppenderLoggingException; import org.apache.logging.log4j.core.appender.ConfigurationFactoryData; import org.apache.logging.log4j.core.appender.ManagerFactory; import org.apache.logging.log4j.core.config.Configuration; +import org.apache.logging.log4j.core.internal.annotation.SuppressFBWarnings; import org.apache.logging.log4j.core.util.FileUtils; import org.apache.logging.log4j.core.util.NullOutputStream; diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/TimeBasedTriggeringPolicy.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/TimeBasedTriggeringPolicy.java index a761aa8312..072c17a3cc 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/TimeBasedTriggeringPolicy.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/TimeBasedTriggeringPolicy.java @@ -16,7 +16,6 @@ */ package org.apache.logging.log4j.core.appender.rolling; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.util.concurrent.ThreadLocalRandom; import java.util.concurrent.TimeUnit; import org.apache.logging.log4j.core.Core; @@ -25,6 +24,7 @@ import org.apache.logging.log4j.core.config.plugins.Plugin; import org.apache.logging.log4j.core.config.plugins.PluginAttribute; import org.apache.logging.log4j.core.config.plugins.PluginBuilderAttribute; import org.apache.logging.log4j.core.config.plugins.PluginBuilderFactory; +import org.apache.logging.log4j.core.internal.annotation.SuppressFBWarnings; import org.apache.logging.log4j.core.util.Integers; /** diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/AbstractPathAction.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/AbstractPathAction.java index c8d251f672..b795d449bf 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/AbstractPathAction.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/AbstractPathAction.java @@ -16,7 +16,6 @@ */ package org.apache.logging.log4j.core.appender.rolling.action; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.io.IOException; import java.nio.file.FileVisitOption; import java.nio.file.FileVisitor; @@ -29,6 +28,7 @@ import java.util.EnumSet; import java.util.List; import java.util.Set; import java.util.concurrent.TimeUnit; +import org.apache.logging.log4j.core.internal.annotation.SuppressFBWarnings; import org.apache.logging.log4j.core.lookup.StrSubstitutor; /** diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/FileRenameAction.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/FileRenameAction.java index e7bb2376db..5db648a126 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/FileRenameAction.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/FileRenameAction.java @@ -16,7 +16,6 @@ */ package org.apache.logging.log4j.core.appender.rolling.action; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.io.File; import java.io.IOException; import java.io.PrintWriter; @@ -25,6 +24,7 @@ import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.nio.file.StandardCopyOption; +import org.apache.logging.log4j.core.internal.annotation.SuppressFBWarnings; /** * File rename action. diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/PosixViewAttributeAction.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/PosixViewAttributeAction.java index 9e45b5bef5..4327819907 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/PosixViewAttributeAction.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/PosixViewAttributeAction.java @@ -16,7 +16,6 @@ */ package org.apache.logging.log4j.core.appender.rolling.action; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.io.IOException; import java.nio.file.FileVisitResult; import java.nio.file.FileVisitor; @@ -37,6 +36,7 @@ import org.apache.logging.log4j.core.config.plugins.PluginBuilderFactory; import org.apache.logging.log4j.core.config.plugins.PluginConfiguration; import org.apache.logging.log4j.core.config.plugins.PluginElement; import org.apache.logging.log4j.core.config.plugins.validation.constraints.Required; +import org.apache.logging.log4j.core.internal.annotation.SuppressFBWarnings; import org.apache.logging.log4j.core.lookup.StrSubstitutor; import org.apache.logging.log4j.core.util.FileUtils; import org.apache.logging.log4j.util.Strings; diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/async/AsyncLoggerConfig.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/async/AsyncLoggerConfig.java index 92d351e2de..ec76a76d60 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/async/AsyncLoggerConfig.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/async/AsyncLoggerConfig.java @@ -16,7 +16,6 @@ */ package org.apache.logging.log4j.core.async; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.util.Arrays; import java.util.List; import java.util.concurrent.TimeUnit; @@ -36,6 +35,7 @@ import org.apache.logging.log4j.core.config.plugins.PluginBuilderFactory; import org.apache.logging.log4j.core.config.plugins.PluginConfiguration; import org.apache.logging.log4j.core.config.plugins.PluginElement; import org.apache.logging.log4j.core.config.plugins.validation.constraints.Required; +import org.apache.logging.log4j.core.internal.annotation.SuppressFBWarnings; import org.apache.logging.log4j.core.jmx.RingBufferAdmin; import org.apache.logging.log4j.core.util.Booleans; import org.apache.logging.log4j.spi.AbstractLogger; diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/ConfigurationSource.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/ConfigurationSource.java index d6143cdc15..dd50987f25 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/ConfigurationSource.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/ConfigurationSource.java @@ -16,7 +16,6 @@ */ package org.apache.logging.log4j.core.config; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.File; @@ -34,6 +33,7 @@ import java.nio.file.Files; import java.nio.file.Path; import java.util.Objects; import org.apache.logging.log4j.Logger; +import org.apache.logging.log4j.core.internal.annotation.SuppressFBWarnings; import org.apache.logging.log4j.core.net.UrlConnectionFactory; import org.apache.logging.log4j.core.util.FileUtils; import org.apache.logging.log4j.core.util.Loader; diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/impl/DefaultConfigurationBuilder.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/impl/DefaultConfigurationBuilder.java index bf039a2daf..43016cfbed 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/impl/DefaultConfigurationBuilder.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/impl/DefaultConfigurationBuilder.java @@ -16,7 +16,6 @@ */ package org.apache.logging.log4j.core.config.builder.impl; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.io.IOException; import java.io.OutputStream; import java.io.StringReader; @@ -60,6 +59,7 @@ import org.apache.logging.log4j.core.config.builder.api.PropertyComponentBuilder import org.apache.logging.log4j.core.config.builder.api.RootLoggerComponentBuilder; import org.apache.logging.log4j.core.config.builder.api.ScriptComponentBuilder; import org.apache.logging.log4j.core.config.builder.api.ScriptFileComponentBuilder; +import org.apache.logging.log4j.core.internal.annotation.SuppressFBWarnings; import org.apache.logging.log4j.core.util.Integers; import org.apache.logging.log4j.core.util.Throwables; diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/impl/package-info.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/impl/package-info.java index 32a69487d7..c7feac338f 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/impl/package-info.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/impl/package-info.java @@ -20,7 +20,7 @@ * @since 2.4 */ @Export -@Version("2.25.0") +@Version("2.26.0") package org.apache.logging.log4j.core.config.builder.impl; import org.osgi.annotation.bundle.Export; diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/convert/TypeConverters.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/convert/TypeConverters.java index 6c81224c2d..8b57df7fcd 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/convert/TypeConverters.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/convert/TypeConverters.java @@ -18,7 +18,6 @@ package org.apache.logging.log4j.core.config.plugins.convert; import static org.apache.logging.log4j.util.Strings.toRootLowerCase; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.io.File; import java.math.BigDecimal; import java.math.BigInteger; @@ -37,6 +36,7 @@ import java.util.regex.Pattern; import org.apache.logging.log4j.Level; import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.core.config.plugins.Plugin; +import org.apache.logging.log4j.core.internal.annotation.SuppressFBWarnings; import org.apache.logging.log4j.core.util.CronExpression; import org.apache.logging.log4j.status.StatusLogger; import org.apache.logging.log4j.util.Constants; diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/convert/package-info.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/convert/package-info.java index a430094531..e7d16d7f33 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/convert/package-info.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/convert/package-info.java @@ -20,7 +20,7 @@ * attributes in plugin factory methods. */ @Export -@Version("2.24.0") +@Version("2.26.0") package org.apache.logging.log4j.core.config.plugins.convert; import org.osgi.annotation.bundle.Export; diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/util/ResolverUtil.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/util/ResolverUtil.java index 53a32a99ed..810938c2ee 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/util/ResolverUtil.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/util/ResolverUtil.java @@ -16,7 +16,6 @@ */ package org.apache.logging.log4j.core.config.plugins.util; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.io.File; import java.io.FileInputStream; import java.io.IOException; @@ -38,6 +37,7 @@ import java.util.jar.JarEntry; import java.util.jar.JarFile; import java.util.jar.JarInputStream; import org.apache.logging.log4j.Logger; +import org.apache.logging.log4j.core.internal.annotation.SuppressFBWarnings; import org.apache.logging.log4j.core.util.Loader; import org.apache.logging.log4j.status.StatusLogger; import org.osgi.framework.FrameworkUtil; diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/util/package-info.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/util/package-info.java index c2c42b8d5b..e395672615 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/util/package-info.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/util/package-info.java @@ -19,7 +19,7 @@ * Utility and manager classes for Log4j 2 plugins. */ @Export -@Version("2.20.2") +@Version("2.26.0") package org.apache.logging.log4j.core.config.plugins.util; import org.osgi.annotation.bundle.Export; diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/status/StatusConfiguration.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/status/StatusConfiguration.java index 1a1c22835a..31c43983e7 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/status/StatusConfiguration.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/status/StatusConfiguration.java @@ -16,7 +16,6 @@ */ package org.apache.logging.log4j.core.config.status; -import edu.umd.cs.findbugs.annotations.Nullable; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; @@ -30,6 +29,7 @@ import org.apache.logging.log4j.core.util.FileUtils; import org.apache.logging.log4j.core.util.NetUtils; import org.apache.logging.log4j.status.StatusConsoleListener; import org.apache.logging.log4j.status.StatusLogger; +import org.jspecify.annotations.Nullable; /** * Configuration for setting up the {@link StatusLogger} fallback listener. diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/status/package-info.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/status/package-info.java index 1e20784cf9..703f79aa00 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/status/package-info.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/status/package-info.java @@ -19,7 +19,7 @@ * Configuration classes for the {@link org.apache.logging.log4j.status.StatusLogger} API. */ @Export -@Version("2.20.2") +@Version("2.26.0") package org.apache.logging.log4j.core.config.status; import org.osgi.annotation.bundle.Export; diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/xml/XmlConfiguration.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/xml/XmlConfiguration.java index 6caeec59ae..3218589bb1 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/xml/XmlConfiguration.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/xml/XmlConfiguration.java @@ -16,7 +16,6 @@ */ package org.apache.logging.log4j.core.config.xml; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.InputStream; @@ -41,6 +40,7 @@ import org.apache.logging.log4j.core.config.Node; import org.apache.logging.log4j.core.config.Reconfigurable; import org.apache.logging.log4j.core.config.plugins.util.PluginType; import org.apache.logging.log4j.core.config.status.StatusConfiguration; +import org.apache.logging.log4j.core.internal.annotation.SuppressFBWarnings; import org.apache.logging.log4j.core.util.Closer; import org.apache.logging.log4j.core.util.Integers; import org.apache.logging.log4j.core.util.Loader; diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/MutableThreadContextMapFilter.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/MutableThreadContextMapFilter.java index 62ef3a596e..cc1f2e6c02 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/MutableThreadContextMapFilter.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/MutableThreadContextMapFilter.java @@ -18,7 +18,6 @@ package org.apache.logging.log4j.core.filter; import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.ObjectMapper; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.io.File; import java.io.InputStream; import java.net.URI; @@ -44,6 +43,7 @@ import org.apache.logging.log4j.core.config.plugins.PluginBuilderAttribute; import org.apache.logging.log4j.core.config.plugins.PluginBuilderFactory; import org.apache.logging.log4j.core.config.plugins.PluginConfiguration; import org.apache.logging.log4j.core.filter.mutable.KeyValuePairConfig; +import org.apache.logging.log4j.core.internal.annotation.SuppressFBWarnings; import org.apache.logging.log4j.core.util.AuthorizationProvider; import org.apache.logging.log4j.core.util.KeyValuePair; import org.apache.logging.log4j.core.util.internal.HttpInputStreamUtil; diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/package-info.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/package-info.java index bb45186e7a..f02feaa580 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/package-info.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/package-info.java @@ -22,7 +22,7 @@ * {@link org.apache.logging.log4j.core.Filter#ELEMENT_TYPE filter}. */ @Export -@Version("2.25.0") +@Version("2.26.0") package org.apache.logging.log4j.core.filter; import org.osgi.annotation.bundle.Export; diff --git a/log4j-layout-template-json/src/main/java/org/apache/logging/log4j/layout/template/json/util/package-info.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/internal/annotation/SuppressFBWarnings.java similarity index 69% copy from log4j-layout-template-json/src/main/java/org/apache/logging/log4j/layout/template/json/util/package-info.java copy to log4j-core/src/main/java/org/apache/logging/log4j/core/internal/annotation/SuppressFBWarnings.java index dbb7814d27..ffad525732 100644 --- a/log4j-layout-template-json/src/main/java/org/apache/logging/log4j/layout/template/json/util/package-info.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/internal/annotation/SuppressFBWarnings.java @@ -14,11 +14,18 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -@Export -@Version("2.22.0") -@Open("org.apache.logging.log4j.core") -package org.apache.logging.log4j.layout.template.json.util; +package org.apache.logging.log4j.core.internal.annotation; -import aQute.bnd.annotation.jpms.Open; -import org.osgi.annotation.bundle.Export; -import org.osgi.annotation.versioning.Version; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +/** + * Annotation to suppress Spotbugs warnings. + */ +@Retention(RetentionPolicy.CLASS) +public @interface SuppressFBWarnings { + + String[] value() default {}; + + String justification() default ""; +} diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/jmx/LoggerContextAdmin.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/jmx/LoggerContextAdmin.java index e91cb4c388..d8927d6737 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/jmx/LoggerContextAdmin.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/jmx/LoggerContextAdmin.java @@ -16,7 +16,6 @@ */ package org.apache.logging.log4j.core.jmx; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.io.ByteArrayInputStream; @@ -44,6 +43,7 @@ import org.apache.logging.log4j.core.LoggerContext; import org.apache.logging.log4j.core.config.Configuration; import org.apache.logging.log4j.core.config.ConfigurationFactory; import org.apache.logging.log4j.core.config.ConfigurationSource; +import org.apache.logging.log4j.core.internal.annotation.SuppressFBWarnings; import org.apache.logging.log4j.core.util.Closer; import org.apache.logging.log4j.status.StatusLogger; import org.apache.logging.log4j.util.Strings; diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/jmx/package-info.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/jmx/package-info.java index 480cc2c6b2..dd13c9482a 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/jmx/package-info.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/jmx/package-info.java @@ -18,7 +18,7 @@ * Log4j 2 JMX support. */ @Export -@Version("2.23.0") +@Version("2.26.0") package org.apache.logging.log4j.core.jmx; import org.osgi.annotation.bundle.Export; diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/GelfLayout.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/GelfLayout.java index 39458807f7..69aed97d19 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/GelfLayout.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/GelfLayout.java @@ -19,7 +19,6 @@ package org.apache.logging.log4j.core.layout; import static org.apache.logging.log4j.util.Chars.LF; import static org.apache.logging.log4j.util.Chars.NUL; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.OutputStream; @@ -43,6 +42,7 @@ import org.apache.logging.log4j.core.config.plugins.PluginAttribute; import org.apache.logging.log4j.core.config.plugins.PluginBuilderAttribute; import org.apache.logging.log4j.core.config.plugins.PluginBuilderFactory; import org.apache.logging.log4j.core.config.plugins.PluginElement; +import org.apache.logging.log4j.core.internal.annotation.SuppressFBWarnings; import org.apache.logging.log4j.core.layout.internal.ExcludeChecker; import org.apache.logging.log4j.core.layout.internal.IncludeChecker; import org.apache.logging.log4j.core.layout.internal.ListChecker; diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/HtmlLayout.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/HtmlLayout.java index 45a80fa8f0..252f34f2ea 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/HtmlLayout.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/HtmlLayout.java @@ -16,7 +16,6 @@ */ package org.apache.logging.log4j.core.layout; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.io.IOException; import java.io.InterruptedIOException; import java.io.LineNumberReader; @@ -37,6 +36,7 @@ import org.apache.logging.log4j.core.config.plugins.PluginAttribute; import org.apache.logging.log4j.core.config.plugins.PluginBuilderAttribute; import org.apache.logging.log4j.core.config.plugins.PluginBuilderFactory; import org.apache.logging.log4j.core.config.plugins.PluginFactory; +import org.apache.logging.log4j.core.internal.annotation.SuppressFBWarnings; import org.apache.logging.log4j.core.pattern.DatePatternConverter; import org.apache.logging.log4j.core.util.Transform; import org.apache.logging.log4j.util.Strings; diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/lookup/MainMapLookup.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/lookup/MainMapLookup.java index 2ff23cc38f..eda565875b 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/lookup/MainMapLookup.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/lookup/MainMapLookup.java @@ -16,10 +16,10 @@ */ package org.apache.logging.log4j.core.lookup; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.util.Map; import org.apache.logging.log4j.core.LogEvent; import org.apache.logging.log4j.core.config.plugins.Plugin; +import org.apache.logging.log4j.core.internal.annotation.SuppressFBWarnings; /** * A map-based lookup for main arguments. diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/net/JndiManager.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/net/JndiManager.java index 1aa2f5e18d..cfd6a9003d 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/net/JndiManager.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/net/JndiManager.java @@ -16,7 +16,6 @@ */ package org.apache.logging.log4j.core.net; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.net.URI; import java.net.URISyntaxException; import java.util.Properties; @@ -26,6 +25,7 @@ import javax.naming.InitialContext; import javax.naming.NamingException; import org.apache.logging.log4j.core.appender.AbstractManager; import org.apache.logging.log4j.core.appender.ManagerFactory; +import org.apache.logging.log4j.core.internal.annotation.SuppressFBWarnings; import org.apache.logging.log4j.core.util.JndiCloser; import org.apache.logging.log4j.util.PropertiesUtil; diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/net/SmtpManager.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/net/SmtpManager.java index f129b80fe4..c525eabe1e 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/net/SmtpManager.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/net/SmtpManager.java @@ -16,7 +16,6 @@ */ package org.apache.logging.log4j.core.net; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.OutputStream; @@ -40,6 +39,7 @@ import org.apache.logging.log4j.LoggingException; import org.apache.logging.log4j.core.Layout; import org.apache.logging.log4j.core.LogEvent; import org.apache.logging.log4j.core.config.Configuration; +import org.apache.logging.log4j.core.internal.annotation.SuppressFBWarnings; import org.apache.logging.log4j.core.layout.AbstractStringLayout.Serializer; import org.apache.logging.log4j.core.layout.PatternLayout; import org.apache.logging.log4j.core.net.ssl.SslConfiguration; diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/net/TcpSocketManager.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/net/TcpSocketManager.java index ac53c1b4a7..75d4306b68 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/net/TcpSocketManager.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/net/TcpSocketManager.java @@ -16,7 +16,6 @@ */ package org.apache.logging.log4j.core.net; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.io.IOException; import java.io.OutputStream; import java.io.Serializable; @@ -34,6 +33,7 @@ import org.apache.logging.log4j.core.Layout; import org.apache.logging.log4j.core.appender.AppenderLoggingException; import org.apache.logging.log4j.core.appender.ManagerFactory; import org.apache.logging.log4j.core.appender.OutputStreamManager; +import org.apache.logging.log4j.core.internal.annotation.SuppressFBWarnings; import org.apache.logging.log4j.core.util.Closer; import org.apache.logging.log4j.core.util.Log4jThread; import org.apache.logging.log4j.core.util.NullOutputStream; diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/net/UrlConnectionFactory.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/net/UrlConnectionFactory.java index e98d3d9a9d..91e7b0d81a 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/net/UrlConnectionFactory.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/net/UrlConnectionFactory.java @@ -18,7 +18,6 @@ package org.apache.logging.log4j.core.net; import static org.apache.logging.log4j.util.Strings.toRootLowerCase; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.io.IOException; import java.net.HttpURLConnection; import java.net.JarURLConnection; @@ -29,6 +28,7 @@ import java.util.Arrays; import java.util.List; import javax.net.ssl.HttpsURLConnection; import org.apache.logging.log4j.core.config.ConfigurationFactory; +import org.apache.logging.log4j.core.internal.annotation.SuppressFBWarnings; import org.apache.logging.log4j.core.net.ssl.LaxHostnameVerifier; import org.apache.logging.log4j.core.net.ssl.SslConfiguration; import org.apache.logging.log4j.core.net.ssl.SslConfigurationFactory; diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/net/package-info.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/net/package-info.java index 9a23c5b137..089d4b3f26 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/net/package-info.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/net/package-info.java @@ -25,7 +25,7 @@ * </ul> */ @Export -@Version("2.20.3") +@Version("2.26.0") package org.apache.logging.log4j.core.net; import org.osgi.annotation.bundle.Export; diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/net/ssl/FilePasswordProvider.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/net/ssl/FilePasswordProvider.java index f2407a979b..d264c5e570 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/net/ssl/FilePasswordProvider.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/net/ssl/FilePasswordProvider.java @@ -16,7 +16,6 @@ */ package org.apache.logging.log4j.core.net.ssl; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.io.IOException; import java.nio.ByteBuffer; import java.nio.CharBuffer; @@ -26,6 +25,7 @@ import java.nio.file.NoSuchFileException; import java.nio.file.Path; import java.nio.file.Paths; import java.util.Arrays; +import org.apache.logging.log4j.core.internal.annotation.SuppressFBWarnings; /** * PasswordProvider that reads password from a file. diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/net/ssl/LaxHostnameVerifier.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/net/ssl/LaxHostnameVerifier.java index 0068619c70..3e2ef8e253 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/net/ssl/LaxHostnameVerifier.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/net/ssl/LaxHostnameVerifier.java @@ -16,9 +16,9 @@ */ package org.apache.logging.log4j.core.net.ssl; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import javax.net.ssl.HostnameVerifier; import javax.net.ssl.SSLSession; +import org.apache.logging.log4j.core.internal.annotation.SuppressFBWarnings; /** * An HostnameVerifier which accepts everything. diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/net/ssl/package-info.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/net/ssl/package-info.java index 7f7b26c282..748173b9a3 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/net/ssl/package-info.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/net/ssl/package-info.java @@ -18,7 +18,7 @@ * Log4j 2 SSL support */ @Export -@Version("2.20.3") +@Version("2.26.0") package org.apache.logging.log4j.core.net.ssl; import org.osgi.annotation.bundle.Export; diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/package-info.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/package-info.java index 00552976b7..45bc926c52 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/package-info.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/package-info.java @@ -18,7 +18,7 @@ * Implementation of Log4j 2. */ @Export -@Version("2.24.2") +@Version("2.26.0") package org.apache.logging.log4j.core; import org.osgi.annotation.bundle.Export; diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/script/ScriptFile.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/script/ScriptFile.java index 5ff0b27d34..6c9ea030b5 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/script/ScriptFile.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/script/ScriptFile.java @@ -16,7 +16,6 @@ */ package org.apache.logging.log4j.core.script; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.io.File; import java.io.FileInputStream; import java.io.IOException; @@ -30,6 +29,7 @@ import org.apache.logging.log4j.core.config.Node; import org.apache.logging.log4j.core.config.plugins.Plugin; import org.apache.logging.log4j.core.config.plugins.PluginAttribute; import org.apache.logging.log4j.core.config.plugins.PluginFactory; +import org.apache.logging.log4j.core.internal.annotation.SuppressFBWarnings; import org.apache.logging.log4j.core.util.ExtensionLanguageMapping; import org.apache.logging.log4j.core.util.FileUtils; import org.apache.logging.log4j.core.util.IOUtils; diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/tools/Generate.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/tools/Generate.java index 873729a4bc..81afa461dc 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/tools/Generate.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/tools/Generate.java @@ -16,11 +16,11 @@ */ package org.apache.logging.log4j.core.tools; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.io.PrintStream; import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import org.apache.logging.log4j.core.internal.annotation.SuppressFBWarnings; import org.apache.logging.log4j.core.util.Integers; /** diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/tools/package-info.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/tools/package-info.java index 8cbd2eb92f..38f664c29c 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/tools/package-info.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/tools/package-info.java @@ -18,7 +18,7 @@ * Log4j 2 command line tools. */ @Export -@Version("2.20.1") +@Version("2.26.0") package org.apache.logging.log4j.core.tools; import org.osgi.annotation.bundle.Export; diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/tools/picocli/CommandLine.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/tools/picocli/CommandLine.java index 6c1dcbb986..fb0b56bfce 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/tools/picocli/CommandLine.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/tools/picocli/CommandLine.java @@ -22,7 +22,6 @@ import static org.apache.logging.log4j.core.tools.picocli.CommandLine.Help.Colum import static org.apache.logging.log4j.util.Strings.toRootLowerCase; import static org.apache.logging.log4j.util.Strings.toRootUpperCase; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.io.File; import java.io.PrintStream; import java.lang.annotation.ElementType; @@ -70,6 +69,7 @@ import java.util.TreeSet; import java.util.UUID; import java.util.concurrent.Callable; import java.util.regex.Pattern; +import org.apache.logging.log4j.core.internal.annotation.SuppressFBWarnings; import org.apache.logging.log4j.core.tools.picocli.CommandLine.Help.Ansi.IStyle; import org.apache.logging.log4j.core.tools.picocli.CommandLine.Help.Ansi.Style; import org.apache.logging.log4j.core.tools.picocli.CommandLine.Help.Ansi.Text; diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/util/FileUtils.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/util/FileUtils.java index 5eb467d0be..74ac05e64a 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/util/FileUtils.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/util/FileUtils.java @@ -16,7 +16,6 @@ */ package org.apache.logging.log4j.core.util; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.io.File; import java.io.IOException; import java.net.URI; @@ -34,6 +33,7 @@ import java.nio.file.attribute.UserPrincipalLookupService; import java.util.Objects; import java.util.Set; import org.apache.logging.log4j.Logger; +import org.apache.logging.log4j.core.internal.annotation.SuppressFBWarnings; import org.apache.logging.log4j.status.StatusLogger; /** diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/util/NameUtil.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/util/NameUtil.java index c1f9c6d5a8..1c2b32d0d8 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/util/NameUtil.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/util/NameUtil.java @@ -16,11 +16,11 @@ */ package org.apache.logging.log4j.core.util; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.nio.charset.Charset; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.util.Objects; +import org.apache.logging.log4j.core.internal.annotation.SuppressFBWarnings; import org.apache.logging.log4j.util.Strings; /** diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/util/NetUtils.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/util/NetUtils.java index 22286c636d..92a85a6fa1 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/util/NetUtils.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/util/NetUtils.java @@ -16,7 +16,6 @@ */ package org.apache.logging.log4j.core.util; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.io.File; import java.net.InetAddress; import java.net.MalformedURLException; @@ -32,6 +31,7 @@ import java.util.Enumeration; import java.util.List; import java.util.function.Function; import org.apache.logging.log4j.Logger; +import org.apache.logging.log4j.core.internal.annotation.SuppressFBWarnings; import org.apache.logging.log4j.status.StatusLogger; /** diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/util/Source.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/util/Source.java index 5a79ab8b9a..e7f4757b21 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/util/Source.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/util/Source.java @@ -18,7 +18,6 @@ package org.apache.logging.log4j.core.util; import static java.util.Objects.requireNonNull; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.io.File; import java.io.IOException; import java.net.MalformedURLException; @@ -30,6 +29,7 @@ import java.nio.file.Paths; import java.util.Objects; import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.core.config.ConfigurationSource; +import org.apache.logging.log4j.core.internal.annotation.SuppressFBWarnings; import org.apache.logging.log4j.status.StatusLogger; import org.apache.logging.log4j.util.Strings; import org.jspecify.annotations.NullMarked; diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/util/Throwables.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/util/Throwables.java index 7c97d495ba..cf00631f9f 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/util/Throwables.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/util/Throwables.java @@ -18,7 +18,6 @@ package org.apache.logging.log4j.core.util; import static java.util.Objects.requireNonNull; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.io.IOException; import java.io.InterruptedIOException; import java.io.LineNumberReader; @@ -29,6 +28,7 @@ import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.Set; +import org.apache.logging.log4j.core.internal.annotation.SuppressFBWarnings; /** * Helps with Throwable objects. diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/util/package-info.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/util/package-info.java index 932e8bc080..b9efa51956 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/util/package-info.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/util/package-info.java @@ -18,7 +18,7 @@ * Log4j 2 helper classes. */ @Export -@Version("2.25.0") +@Version("2.26.0") package org.apache.logging.log4j.core.util; import org.osgi.annotation.bundle.Export; diff --git a/log4j-jul/src/main/java/org/apache/logging/log4j/jul/Log4jBridgeHandler.java b/log4j-jul/src/main/java/org/apache/logging/log4j/jul/Log4jBridgeHandler.java index efc3e56398..40a8a0d2f0 100644 --- a/log4j-jul/src/main/java/org/apache/logging/log4j/jul/Log4jBridgeHandler.java +++ b/log4j-jul/src/main/java/org/apache/logging/log4j/jul/Log4jBridgeHandler.java @@ -17,7 +17,6 @@ package org.apache.logging.log4j.jul; // note: NO import of Logger, Level, LogManager to prevent conflicts JUL/log4j -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.util.Enumeration; @@ -28,6 +27,7 @@ import java.util.logging.LogRecord; import org.apache.logging.log4j.core.LoggerContext; import org.apache.logging.log4j.core.config.Configuration; import org.apache.logging.log4j.core.config.LoggerConfig; +import org.apache.logging.log4j.jul.internal.annotation.SuppressFBWarnings; import org.apache.logging.log4j.spi.ExtendedLogger; import org.apache.logging.log4j.status.StatusLogger; diff --git a/log4j-layout-template-json/src/main/java/org/apache/logging/log4j/layout/template/json/util/package-info.java b/log4j-jul/src/main/java/org/apache/logging/log4j/jul/internal/annotation/SuppressFBWarnings.java similarity index 69% copy from log4j-layout-template-json/src/main/java/org/apache/logging/log4j/layout/template/json/util/package-info.java copy to log4j-jul/src/main/java/org/apache/logging/log4j/jul/internal/annotation/SuppressFBWarnings.java index dbb7814d27..0fddf126ce 100644 --- a/log4j-layout-template-json/src/main/java/org/apache/logging/log4j/layout/template/json/util/package-info.java +++ b/log4j-jul/src/main/java/org/apache/logging/log4j/jul/internal/annotation/SuppressFBWarnings.java @@ -14,11 +14,18 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -@Export -@Version("2.22.0") -@Open("org.apache.logging.log4j.core") -package org.apache.logging.log4j.layout.template.json.util; +package org.apache.logging.log4j.jul.internal.annotation; -import aQute.bnd.annotation.jpms.Open; -import org.osgi.annotation.bundle.Export; -import org.osgi.annotation.versioning.Version; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +/** + * Annotation to suppress Spotbugs warnings. + */ +@Retention(RetentionPolicy.CLASS) +public @interface SuppressFBWarnings { + + String[] value() default {}; + + String justification() default ""; +} diff --git a/log4j-jul/src/main/java/org/apache/logging/log4j/jul/package-info.java b/log4j-jul/src/main/java/org/apache/logging/log4j/jul/package-info.java index dd22747306..d7c5b41f89 100644 --- a/log4j-jul/src/main/java/org/apache/logging/log4j/jul/package-info.java +++ b/log4j-jul/src/main/java/org/apache/logging/log4j/jul/package-info.java @@ -15,7 +15,7 @@ * limitations under the license. */ @Export -@Version("2.20.2") +@Version("2.26.0") package org.apache.logging.log4j.jul; import org.osgi.annotation.bundle.Export; diff --git a/log4j-layout-template-json/src/main/java/org/apache/logging/log4j/layout/template/json/util/package-info.java b/log4j-layout-template-json/src/main/java/org/apache/logging/log4j/layout/template/json/internal/annotation/SuppressFBWarnings.java similarity index 68% copy from log4j-layout-template-json/src/main/java/org/apache/logging/log4j/layout/template/json/util/package-info.java copy to log4j-layout-template-json/src/main/java/org/apache/logging/log4j/layout/template/json/internal/annotation/SuppressFBWarnings.java index dbb7814d27..4328e28efc 100644 --- a/log4j-layout-template-json/src/main/java/org/apache/logging/log4j/layout/template/json/util/package-info.java +++ b/log4j-layout-template-json/src/main/java/org/apache/logging/log4j/layout/template/json/internal/annotation/SuppressFBWarnings.java @@ -14,11 +14,18 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -@Export -@Version("2.22.0") -@Open("org.apache.logging.log4j.core") -package org.apache.logging.log4j.layout.template.json.util; +package org.apache.logging.log4j.layout.template.json.internal.annotation; -import aQute.bnd.annotation.jpms.Open; -import org.osgi.annotation.bundle.Export; -import org.osgi.annotation.versioning.Version; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +/** + * Annotation to suppress Spotbugs warnings. + */ +@Retention(RetentionPolicy.CLASS) +public @interface SuppressFBWarnings { + + String[] value() default {}; + + String justification() default ""; +} diff --git a/log4j-layout-template-json/src/main/java/org/apache/logging/log4j/layout/template/json/util/Uris.java b/log4j-layout-template-json/src/main/java/org/apache/logging/log4j/layout/template/json/util/Uris.java index 957326d9ad..d1c69d8788 100644 --- a/log4j-layout-template-json/src/main/java/org/apache/logging/log4j/layout/template/json/util/Uris.java +++ b/log4j-layout-template-json/src/main/java/org/apache/logging/log4j/layout/template/json/util/Uris.java @@ -18,7 +18,6 @@ package org.apache.logging.log4j.layout.template.json.util; import static org.apache.logging.log4j.util.Strings.toRootLowerCase; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; @@ -33,6 +32,7 @@ import java.util.ArrayList; import java.util.List; import java.util.Objects; import org.apache.logging.log4j.Logger; +import org.apache.logging.log4j.layout.template.json.internal.annotation.SuppressFBWarnings; import org.apache.logging.log4j.status.StatusLogger; import org.apache.logging.log4j.util.LoaderUtil; diff --git a/log4j-layout-template-json/src/main/java/org/apache/logging/log4j/layout/template/json/util/package-info.java b/log4j-layout-template-json/src/main/java/org/apache/logging/log4j/layout/template/json/util/package-info.java index dbb7814d27..a806ff5105 100644 --- a/log4j-layout-template-json/src/main/java/org/apache/logging/log4j/layout/template/json/util/package-info.java +++ b/log4j-layout-template-json/src/main/java/org/apache/logging/log4j/layout/template/json/util/package-info.java @@ -15,7 +15,7 @@ * limitations under the License. */ @Export -@Version("2.22.0") +@Version("2.26.0") @Open("org.apache.logging.log4j.core") package org.apache.logging.log4j.layout.template.json.util; diff --git a/log4j-parent/pom.xml b/log4j-parent/pom.xml index 8cfd494c68..e939009ee4 100644 --- a/log4j-parent/pom.xml +++ b/log4j-parent/pom.xml @@ -132,8 +132,6 @@ <osgi.annotation.versioning.version>1.1.2</osgi.annotation.versioning.version> <pax-exam.version>4.14.0</pax-exam.version> <plexus-utils.version>3.6.0</plexus-utils.version> - <!-- `com.github.spotbugs:spotbugs-annotations:4.9.0` and onwards require Java 11: --> - <spotbugs-annotations.version>4.8.6</spotbugs-annotations.version> <spring-boot.version>2.7.18</spring-boot.version> <spring-framework.version>5.3.39</spring-framework.version> <system-stubs.version>2.0.3</system-stubs.version> @@ -163,7 +161,6 @@ <bnd-jpms-module-info>$[bnd-module-name];access=0;modules=" biz.aQute.bnd.annotation, com.google.errorprone.annotations, - com.github.spotbugs.annotations, org.osgi.annotation.bundle, org.osgi.annotation.versioning "</bnd-jpms-module-info> @@ -877,13 +874,6 @@ <scope>provided</scope> </dependency> - <dependency> - <groupId>com.github.spotbugs</groupId> - <artifactId>spotbugs-annotations</artifactId> - <version>${spotbugs-annotations.version}</version> - <scope>provided</scope> - </dependency> - </dependencies> <build> @@ -1124,11 +1114,6 @@ <artifactId>org.osgi.annotation.versioning</artifactId> <version>${osgi.annotation.versioning.version}</version> </dependency> - <dependency> - <groupId>com.github.spotbugs</groupId> - <artifactId>spotbugs-annotations</artifactId> - <version>${spotbugs-annotations.version}</version> - </dependency> </compileOnlyApiDependencies> </configuration> <executions> diff --git a/log4j-layout-template-json/src/main/java/org/apache/logging/log4j/layout/template/json/util/package-info.java b/log4j-perf-test/src/main/java/org/apache/logging/log4j/perf/internal/annotation/SuppressFBWarnings.java similarity index 69% copy from log4j-layout-template-json/src/main/java/org/apache/logging/log4j/layout/template/json/util/package-info.java copy to log4j-perf-test/src/main/java/org/apache/logging/log4j/perf/internal/annotation/SuppressFBWarnings.java index dbb7814d27..f139a9c809 100644 --- a/log4j-layout-template-json/src/main/java/org/apache/logging/log4j/layout/template/json/util/package-info.java +++ b/log4j-perf-test/src/main/java/org/apache/logging/log4j/perf/internal/annotation/SuppressFBWarnings.java @@ -14,11 +14,18 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -@Export -@Version("2.22.0") -@Open("org.apache.logging.log4j.core") -package org.apache.logging.log4j.layout.template.json.util; +package org.apache.logging.log4j.perf.internal.annotation; -import aQute.bnd.annotation.jpms.Open; -import org.osgi.annotation.bundle.Export; -import org.osgi.annotation.versioning.Version; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +/** + * Annotation to suppress Spotbugs warnings. + */ +@Retention(RetentionPolicy.CLASS) +public @interface SuppressFBWarnings { + + String[] value() default {}; + + String justification() default ""; +} diff --git a/log4j-perf-test/src/main/java/org/apache/logging/log4j/perf/jmh/JdbcAppenderBenchmark.java b/log4j-perf-test/src/main/java/org/apache/logging/log4j/perf/jmh/JdbcAppenderBenchmark.java index 83a4d45672..baa44d234a 100644 --- a/log4j-perf-test/src/main/java/org/apache/logging/log4j/perf/jmh/JdbcAppenderBenchmark.java +++ b/log4j-perf-test/src/main/java/org/apache/logging/log4j/perf/jmh/JdbcAppenderBenchmark.java @@ -16,7 +16,6 @@ */ package org.apache.logging.log4j.perf.jmh; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; @@ -29,6 +28,7 @@ import org.apache.logging.log4j.core.appender.db.jdbc.JdbcAppender; import org.apache.logging.log4j.core.config.ConfigurationFactory; import org.apache.logging.log4j.core.config.DefaultConfiguration; import org.apache.logging.log4j.core.util.Closer; +import org.apache.logging.log4j.perf.internal.annotation.SuppressFBWarnings; import org.apache.logging.log4j.status.StatusLogger; import org.openjdk.jmh.annotations.Benchmark; import org.openjdk.jmh.annotations.BenchmarkMode; diff --git a/log4j-perf-test/src/main/java/org/apache/logging/log4j/perf/jmh/JpaAppenderBenchmark.java b/log4j-perf-test/src/main/java/org/apache/logging/log4j/perf/jmh/JpaAppenderBenchmark.java index e58d7613b6..75c614588b 100644 --- a/log4j-perf-test/src/main/java/org/apache/logging/log4j/perf/jmh/JpaAppenderBenchmark.java +++ b/log4j-perf-test/src/main/java/org/apache/logging/log4j/perf/jmh/JpaAppenderBenchmark.java @@ -16,7 +16,6 @@ */ package org.apache.logging.log4j.perf.jmh; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; @@ -29,6 +28,7 @@ import org.apache.logging.log4j.core.appender.db.jpa.JpaAppender; import org.apache.logging.log4j.core.config.ConfigurationFactory; import org.apache.logging.log4j.core.config.DefaultConfiguration; import org.apache.logging.log4j.core.util.Closer; +import org.apache.logging.log4j.perf.internal.annotation.SuppressFBWarnings; import org.apache.logging.log4j.status.StatusLogger; import org.openjdk.jmh.annotations.Benchmark; import org.openjdk.jmh.annotations.BenchmarkMode; diff --git a/src/changelog/.2.x.x/3985_remove_spotbugs_annotations.xml b/src/changelog/.2.x.x/3985_remove_spotbugs_annotations.xml new file mode 100644 index 0000000000..a2c7b3b8b2 --- /dev/null +++ b/src/changelog/.2.x.x/3985_remove_spotbugs_annotations.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8"?> +<entry xmlns="https://logging.apache.org/xml/ns" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation=" + https://logging.apache.org/xml/ns + https://logging.apache.org/xml/ns/log4j-changelog-0.xsd" + type="removed"> + <issue id="3984" link="https://github.com/apache/logging-log4j2/issues/3984"/> + <issue id="3985" link="https://github.com/apache/logging-log4j2/pull/3985"/> + <description format="asciidoc"> + Remove the `com.github.spotbugs:spotbugs-annotations` dependency + </description> +</entry>
