You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by vy...@apache.org on 2024/03/14 10:27:56 UTC

(logging-log4j2) branch 2.x-docgen updated (b0f4e46f42 -> 55659648e5)

This is an automated email from the ASF dual-hosted git repository.

vy pushed a change to branch 2.x-docgen
in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git


    from b0f4e46f42 Initial `log4j-docgen` usage
     add a93c26b340 Make docgen part of `site`
     add 0ab7d89d94 Add XSD generation
     add b0e7d36a2b Update `com.github.tomakehurst:wiremock-jre8` to version `2.35.2` (#2306)
     add 4e20427c27 Prepare release notes for 2.23.0
     add 6013b4e2bb Set version to `2.23.0`
     add 39a6fdd241 Update the `project.build.outputTimestamp` property
     add d2c6d305d4 Release changelog for version `2.23.0`
     add f05864d4ac Prepare for next release cycle
     add 50f6b89946 Update `co.elastic.clients:elasticsearch-java` to version `8.12.2` (#2315)
     add b620bcd806 Update `github/codeql-action` to version `3.24.5` (#2317)
     add d8421dfabf Update `co.elastic.logging:log4j2-ecs-layout` to version `1.6.0` (#2301)
     add 5451c7c292 Update `org.apache.commons:commons-compress` to version `1.26.0` (#2304)
     add 6d407b6d01 Update `org.apache.kafka:kafka-clients` to version `3.7.0` (#2326)
     add af045db99e Fix `StatusLogger` time-zone issues and stack overflow (#2322)
     add c8d60bc535 Merge remote-tracking branch 'origin/2.x' into 2.x-docgen
     new 4b8a03158c Adapt the most recent docgen changes
     add cdae032ae4 Adapt the most recent docgen changes
     add 27b76497f0 Revert "Adapt the most recent docgen changes"
     add 8ff0f18768 Revert "Merge remote-tracking branch 'origin/2.x' into 2.x-docgen"
     add 673440f6d4 Update `github/codeql-action` to version `3.24.6` (#2332)
     add 9c234901e1 Update `jakarta.activation:jakarta.activation-api` to version `2.1.3` (#2335)
     add 3060ab15b3 Add issue links to changelog entries (#2322)
     add c5420410df Fix `StatusLogger` log level filtering when debug mode is enabled (#2337, #2338)
     new 621288234b Merge remote-tracking branch 'origin/2.x' into 2.x-docgen
     new 150b5bb182 Adapt most recent `log4j-docgen` changes
     new ef3f28b542 Bring back files reverted by mistake
     add 28b70d1d7f Remove `StatusConsoleListener` log level filtering (#2337, #2340)
     add 395a8f45fa Fix handling of `LoggerContextAware` lookups
     add 981618d3ea Update `org.apache.commons:commons-dbcp2` to version `2.12.0` (#2344)
     add fc51517efe Update `org.codehaus.groovy:groovy-bom` to version `3.0.21` (#2345)
     add 3801079829 Update `org.eclipse.angus:angus-activation` to version `2.0.2` (#2336)
     add eb8bc2f92b Update `jakarta.mail:jakarta.mail-api` to version `2.1.3` (#2348)
     add 32075af932 Update `org.eclipse.angus:jakarta.mail` to version `2.0.3` (#2349)
     add 0eb232f640 Don't fail on insufficient parameters in `ParameterFormatter` (#2337, #2343)
     add 054a4f7084 Fix NPE in `PatternProcessor` for the `UNIX` pattern
     add a4a8e99a7c Fix `StatusLogger` to correctly read `log4j2.StatusLogger.properties` (#2354)
     add ac0b6d7e4a Add review kit to the email template
     add f34fbb7819 removed team list (replaced by logging.a.o)
     add 85f21d7a94 added file encoding for building the site on windows
     add e1480627f8 reconfigured site plugin so it is using asciidoc
     add dbf3c27356 added doctype template
     add 3fffee8180 added new webfonts
     add 4f2b06fd8d removed obsolete logos
     add 6e1b9d1215 removed unused glyphicons
     add 87be5a90bd added font awesome
     add 98767026d1 replaced css
     add 0510da20b5 added transparent logo version
     add e0937945fc removed obsolete javastyle page (enforced by tooling)
     add 4ce544a309 migrated from markdown to adoc (not fully tested yet)
     add ad39ff3c02 transformed appenders to asciidoc, incl sync to 3x version
     add 874418dbe1 migrated architecture to asciidoc
     add 87aab22603 converted async
     add e904a46f57 transformed config docs to asciidoc, syncing with 3x
     add 9f6a942ea3 added configuration docs
     add 0d9297efe1 migrated xml documentation to asciidoc
     add f8a829311d improved some links
     new d9b84fae50 Merge remote-tracking branch 'origin/ms12_restructure_website_2x' into 2.x-docgen
     new a2e1519655 Fix `docgen.log4j.version` to `revision`
     new a927d615c9 The first working code with phased descriptors folder
     new 79154c91c1 Switch from downloading descriptors to outputting them to the root
     add 989ce7897c Set version to `2.23.1`
     add d48454c594 Arrange changelog entries
     add 07ab0ceac3 Release changelog
     add a0e24d1945 Update release notes
     add fea2a71161 Update the `project.build.outputTimestamp` property
     add 1f0ee2d9bd Merge tag 'rel/2.23.1' into 2.x
     add a5de55e7dc Set the version to `2.24.0-SNAPSHOT`
     add 82b873f960 Update `org.apache.commons:commons-compress` to version `1.26.1` (#2361)
     add 222913d359 Update `com.fasterxml.jackson:jackson-bom` to version `2.16.2` (#2360)
     add ab268b412e removed team list (replaced by logging.a.o)
     add 208ec3e6e4 added file encoding for building the site on windows
     add 33d3f9ab2a reconfigured site plugin so it is using asciidoc
     add 7a1bc48249 added doctype template
     add 25dfde36e7 added new webfonts
     add bfef159ce8 removed obsolete logos
     add 5ae17f0b19 removed unused glyphicons
     add 44945a8fa8 added font awesome
     add 0bd2dfd005 replaced css
     add 8761e4499e added transparent logo version
     add f69b1eb422 removed obsolete javastyle page (enforced by tooling)
     add f50f52562e migrated from markdown to adoc (not fully tested yet)
     add 427a52b83e transformed appenders to asciidoc, incl sync to 3x version
     add 2791cd78cf migrated architecture to asciidoc
     add 3db96433eb converted async
     add 8470b19ba7 transformed config docs to asciidoc, syncing with 3x
     add 4b1f1de7f0 added configuration docs
     add 22d801686c migrated xml documentation to asciidoc
     add 3ccdbccb53 improved some links
     add b26bb883a9 Creating faster ThreadContextMap based on a String[] in the ThreadLocal
     add 2fc4505489 Replacing lost finals
     add d092e9f874 Performance bug fix w/ test
     add f8453c0f6a Fixing javadoc syntax error
     add 7818b0fabf Updated per comments on PR
     add 0c5103e251 fixed spacing problem on big screens
     add 6a2c1790e0 Update `com.fasterxml.jackson:jackson-bom` to version `2.17.0` (#2372)
     add 5b20aa9854 Update `actions/checkout` to version `4.1.2` (#2370)
     add 3242ffb790 Add changelog entry for PR #2330
     new 59aa802c7f Merge remote-tracking branch 'origin/2.x' into 2.x-docgen
     new 3340d02519 Delete redundant `site.xml`
     new 55659648e5 Improve plugin reference pages

The 11 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .github/generate-email.sh                          |   17 +-
 .github/workflows/scorecards-analysis.yaml         |    4 +-
 .mvn/jvm.config                                    |    1 +
 .../log4j/test/junit/UsingStatusLoggerMock.java    |    2 +
 .../logging/log4j/test/junit/package-info.java     |    2 +-
 .../map/StringArrayThreadContextMapTest.java       |  287 +
 .../map/UnmodifiableArrayBackedMapTest.java        |  387 ++
 .../log4j/message/ParameterFormatterTest.java      |   25 +-
 .../log4j/message/ParameterizedMessageTest.java    |   87 +-
 .../log4j/status/StatusConsoleListenerTest.java    |   23 +-
 .../status/StatusLoggerBufferCapacityTest.java     |   60 +
 .../logging/log4j/status/StatusLoggerDateTest.java |  105 +
 .../status/StatusLoggerFailingListenerTest.java    |   66 +
 .../log4j/status/StatusLoggerLevelTest.java        |  108 +-
 .../StatusLoggerPropertiesUtilDoubleTest.java      |  122 +
 ...StatusLoggerPropertiesUtilDoubleTest.properties |   22 +
 .../org/apache/logging/log4j/ThreadContext.java    |    5 +
 .../internal/map/StringArrayThreadContextMap.java  |  199 +
 .../internal/map/UnmodifiableArrayBackedMap.java   |  552 ++
 .../logging/log4j/message/ParameterFormatter.java  |   15 +-
 .../log4j/message/ParameterizedMessage.java        |   18 +-
 .../org/apache/logging/log4j/spi/package-info.java |    2 +-
 .../log4j/status/StatusConsoleListener.java        |    6 +-
 .../apache/logging/log4j/status/StatusData.java    |    7 +-
 .../apache/logging/log4j/status/StatusLogger.java  |  313 +-
 .../apache/logging/log4j/status/package-info.java  |    2 +-
 .../appender/rolling/PatternProcessorTest.java     |    9 +
 .../core/config/AbstractConfigurationTest.java     |   99 +
 .../config/ConfigurationPropertiesOrderTest.java   |   67 -
 .../log4j/core/lookup/InterpolatorTest.java        |   71 +
 log4j-core/pom.xml                                 |   24 +-
 .../core/appender/rolling/PatternProcessor.java    |    4 +
 .../log4j/core/config/AbstractConfiguration.java   |    1 +
 .../log4j/core/config/PropertiesPlugin.java        |    5 +-
 .../logging/log4j/core/lookup/Interpolator.java    |   29 +-
 .../log4j/core/pattern/DatePatternConverter.java   |    2 +-
 log4j-internal-docgen/pom.xml                      |  218 -
 .../main/resources/templates/interface.adoc.ftl    |   39 -
 .../src/main/resources/templates/plugin.adoc.ftl   |  115 -
 .../src/main/resources/templates/scalars.adoc.ftl  |   45 -
 log4j-parent/pom.xml                               |   51 +-
 pom.xml                                            |  175 +-
 src/asciidoc/templates/document.html.erb           |  230 +
 ...xml => 2330_add_faster_web_app_context_map.xml} |    4 +-
 ...deql_action.xml => update_actions_checkout.xml} |    4 +-
 .../update_com_fasterxml_jackson_jackson_bom.xml   |    4 +-
 ...update_org_apache_commons_commons_compress.xml} |    4 +-
 .../2.23.0/.release-notes.adoc.ftl}                |   19 +-
 .../.release.xml}                                  |   12 +-
 .../{.2.x.x => 2.23.0}/2238_fix_jdk_string_map.xml |    0
 .../{.2.x.x => 2.23.0}/2282_fix_1_2_set_level.xml  |    0
 .../{.2.x.x => 2.23.0}/2282_fix_jul_set_level.xml  |    0
 .../LOG4J2-3680_fix_serial_filter_arrays.xml       |    0
 .../add_support_for_disruptor_4.xml                |    0
 .../allow_arbitrary_properties_order.xml           |    0
 .../deprecate_StatusConsoleListener_filters.xml    |    0
 .../deprecate_ring_buffer_log_event_handler.xml    |    0
 .../fix_RingBufferLogEvent_clear.xml               |    0
 .../fix_api_recursive_formatting.xml               |    0
 .../fix_security_manager_use_in_LoaderUtil.xml     |    0
 .../fix_spring_cloud_config_client_deps.xml        |    0
 .../{.2.x.x => 2.23.0}/fix_typo_kubernetes.xml     |    0
 .../simplify_configuration_after_bnd_7_update.xml  |    0
 .../update_com_fasterxml_jackson_jackson_bom.xml   |    0
 .../update_commons_codec_commons_codec.xml         |    0
 .../update_io_netty_netty_bom.xml                  |    0
 .../update_org_apache_logging_logging_parent.xml   |    0
 .../update_org_eclipse_jetty_jetty_bom.xml         |    0
 .../update_org_jctools_jctools_core.xml            |    0
 ...te_org_springframework_spring_framework_bom.xml |    0
 .../update_org_zeromq_jeromq.xml                   |    0
 .../2.23.1/.release-notes.adoc.ftl}                |   14 +-
 .../.release.xml}                                  |   12 +-
 .../2309_fix_logger_context_aware_lookups.xml}     |    6 +-
 .../2346_unix_millis_data_pattern.xml}             |    6 +-
 ...x_ParameterFormatter_for_insufficient_args.xml} |    5 +-
 .../fix_StatusLogger_debug_mode.xml}               |    5 +-
 .../fix_StatusLogger_instant_formatting.xml}       |    4 +-
 .../fix_StatusLogger_properties_read.xml}          |    6 +-
 .../fix_StatusLogger_stack_overflow.xml}           |    5 +-
 .../improve_CloseableThreadContext_closeMap.xml    |    0
 ..._jakarta_activation_jakarta_activation_api.xml} |    4 +-
 .../update_jakarta_mail_jakarta_mail_api.xml}      |    4 +-
 ...update_org_apache_commons_commons_compress.xml} |    4 +-
 .../update_org_apache_commons_commons_dbcp2.xml}   |    4 +-
 .../update_org_apache_kafka_kafka_clients.xml}     |    4 +-
 .../update_org_eclipse_angus_angus_activation.xml} |    4 +-
 .../update_org_eclipse_angus_jakarta_mail.xml}     |    4 +-
 src/docgen-templates/index.adoc.ftl                |   60 +
 .../docgen-templates/license.adoc                  |    0
 src/docgen-templates/type.adoc.ftl                 |  146 +
 src/site/_constants.adoc                           |    2 +-
 src/site/_release-notes.adoc                       |    2 +
 .../_release-notes/{_2.x.x.adoc => _2.23.0.adoc}   |   20 +-
 src/site/_release-notes/_2.23.1.adoc               |   51 +
 src/site/_release-notes/_2.x.x.adoc                |   43 +-
 src/site/asciidoc/articles.adoc                    |  147 +
 src/site/asciidoc/components.adoc                  |   45 +
 src/site/asciidoc/docs.adoc                        |  228 +
 src/site/asciidoc/download.adoc                    |  229 +
 src/site/{markdown/faq.md.vm => asciidoc/faq.adoc} |  362 +-
 src/site/asciidoc/guidelines.adoc                  |  384 ++
 .../log4j-jpl.md => asciidoc/javadoc.adoc}         |   27 +-
 src/site/asciidoc/log4j-1.2-api.adoc               |   78 +
 .../log4j-api.md => asciidoc/log4j-api.adoc}       |   20 +-
 src/site/asciidoc/log4j-appserver.adoc             |   52 +
 .../log4j-cassandra.adoc}                          |   16 +-
 .../log4j-couchdb.adoc}                            |   25 +-
 .../log4j-docker.adoc}                             |   42 +-
 .../log4j-flume-ng.adoc}                           |   40 +-
 src/site/asciidoc/log4j-iostreams.adoc             |   46 +
 .../log4j-jakarta-web.adoc}                        |   20 +-
 .../log4j-jcl.md => asciidoc/log4j-jcl.adoc}       |   26 +-
 .../log4j-jmx-gui.adoc}                            |   14 +-
 .../log4j-jpl.md => asciidoc/log4j-jpl.adoc}       |   19 +-
 src/site/asciidoc/log4j-jul.adoc                   |  122 +
 src/site/asciidoc/log4j-kubernetes.adoc            |  202 +
 .../log4j-mongodb3.adoc}                           |   25 +-
 .../log4j-mongodb4.adoc}                           |   25 +-
 .../log4j-slf4j-impl.adoc}                         |   37 +-
 .../log4j-slf4j2-impl.adoc}                        |   37 +-
 .../log4j-spring-boot.adoc}                        |   67 +-
 .../asciidoc/log4j-spring-cloud-config-client.adoc |  189 +
 .../log4j-spring-cloud-config.adoc}                |   14 +-
 src/site/asciidoc/log4j-taglib.adoc                |   55 +
 .../log4j-to-jul.md => asciidoc/log4j-to-jul.adoc} |   33 +-
 .../log4j-to-slf4j.adoc}                           |   34 +-
 .../log4j-web.md => asciidoc/log4j-web.adoc}       |   20 +-
 .../manual/api-separation.adoc}                    |  149 +-
 src/site/asciidoc/manual/api.adoc                  |  200 +
 src/site/asciidoc/manual/appenders.adoc            | 4597 ++++++++++++++++
 src/site/asciidoc/manual/architecture.adoc         |  481 ++
 src/site/asciidoc/manual/async.adoc                |  732 +++
 src/site/asciidoc/manual/cloud.adoc                |  638 +++
 .../manual/compatibility.adoc}                     |   19 +-
 src/site/asciidoc/manual/configuration.adoc        | 2528 +++++++++
 src/site/asciidoc/manual/customconfig.adoc         |  386 ++
 src/site/asciidoc/manual/customloglevels.adoc      |  323 ++
 .../manual/eventlogging.adoc}                      |  110 +-
 src/site/asciidoc/manual/extending.adoc            |  618 +++
 src/site/asciidoc/manual/filters.adoc              | 1017 ++++
 .../manual/flowtracing.adoc}                       |  222 +-
 src/site/asciidoc/manual/garbagefree.adoc          |  582 ++
 src/site/asciidoc/manual/index.adoc                |  138 +
 src/site/asciidoc/manual/jmx.adoc                  |  100 +
 src/site/asciidoc/manual/layouts.adoc              | 2158 ++++++++
 src/site/asciidoc/manual/logbuilder.adoc           |   79 +
 src/site/asciidoc/manual/logsep.adoc               |  116 +
 src/site/asciidoc/manual/lookups.adoc              |  745 +++
 src/site/asciidoc/manual/markers.adoc              |  104 +
 src/site/asciidoc/manual/messages.adoc             |  329 ++
 .../manual/migration.adoc}                         |  280 +-
 src/site/asciidoc/manual/plugins.adoc              |  108 +
 src/site/asciidoc/manual/thread-context.adoc       |  240 +
 src/site/asciidoc/manual/usage.adoc                |  226 +
 src/site/asciidoc/manual/webapp.adoc               |  320 ++
 src/site/asciidoc/performance.adoc                 |  571 ++
 src/site/asciidoc/runtime-dependencies.adoc        |  267 +
 src/site/asciidoc/thanks.adoc                      |   52 +
 src/site/markdown/articles.md                      |  251 -
 src/site/markdown/download.md.vm                   |  106 -
 src/site/markdown/javadoc.md                       |   26 -
 src/site/markdown/log4j-1.2-api.md                 |   58 -
 src/site/markdown/log4j-appserver.md.vm            |   59 -
 src/site/markdown/log4j-iostreams.md               |   55 -
 src/site/markdown/log4j-jul.md                     |  117 -
 src/site/markdown/log4j-kubernetes.md.vm           |  104 -
 .../markdown/log4j-spring-cloud-config-client.md   |  134 -
 src/site/markdown/log4j-taglib.md                  |   67 -
 src/site/markdown/manual/cloud.md                  |  568 --
 src/site/markdown/maven-artifacts.md.vm            |  329 --
 src/site/resources/css/fonts.css                   |  257 +
 src/site/resources/css/logging-custom.css          |  239 +
 src/site/resources/css/site.css                    |   37 -
 .../font-awesome-4.7.0/css/font-awesome.css        | 2337 +++++++++
 .../font-awesome-4.7.0/css/font-awesome.min.css    |    4 +
 .../font-awesome-4.7.0/fonts/FontAwesome.otf       |  Bin 0 -> 134808 bytes
 .../fonts/fontawesome-webfont.eot                  |  Bin 0 -> 165742 bytes
 .../fonts/fontawesome-webfont.svg                  | 2671 ++++++++++
 .../fonts/fontawesome-webfont.ttf                  |  Bin 0 -> 165548 bytes
 .../fonts/fontawesome-webfont.woff                 |  Bin 0 -> 98024 bytes
 .../fonts/fontawesome-webfont.woff2                |  Bin 0 -> 77160 bytes
 src/site/resources/fonts/noto-OFL.txt              |   93 +
 .../resources/fonts/noto-serif-v23-latin-100.woff2 |  Bin 0 -> 15232 bytes
 .../fonts/noto-serif-v23-latin-100italic.woff2     |  Bin 0 -> 15904 bytes
 .../resources/fonts/noto-serif-v23-latin-200.woff2 |  Bin 0 -> 15528 bytes
 .../fonts/noto-serif-v23-latin-200italic.woff2     |  Bin 0 -> 16544 bytes
 .../resources/fonts/noto-serif-v23-latin-300.woff2 |  Bin 0 -> 15364 bytes
 .../fonts/noto-serif-v23-latin-300italic.woff2     |  Bin 0 -> 16496 bytes
 .../resources/fonts/noto-serif-v23-latin-500.woff2 |  Bin 0 -> 15072 bytes
 .../fonts/noto-serif-v23-latin-500italic.woff2     |  Bin 0 -> 16304 bytes
 .../resources/fonts/noto-serif-v23-latin-600.woff2 |  Bin 0 -> 15212 bytes
 .../fonts/noto-serif-v23-latin-600italic.woff2     |  Bin 0 -> 16260 bytes
 .../resources/fonts/noto-serif-v23-latin-700.woff2 |  Bin 0 -> 14964 bytes
 .../fonts/noto-serif-v23-latin-700italic.woff2     |  Bin 0 -> 15812 bytes
 .../resources/fonts/noto-serif-v23-latin-800.woff2 |  Bin 0 -> 15568 bytes
 .../fonts/noto-serif-v23-latin-800italic.woff2     |  Bin 0 -> 16768 bytes
 .../resources/fonts/noto-serif-v23-latin-900.woff2 |  Bin 0 -> 15436 bytes
 .../fonts/noto-serif-v23-latin-900italic.woff2     |  Bin 0 -> 16628 bytes
 .../fonts/noto-serif-v23-latin-italic.woff2        |  Bin 0 -> 15640 bytes
 .../fonts/noto-serif-v23-latin-regular.woff2       |  Bin 0 -> 14612 bytes
 src/site/resources/fonts/noto-serif-v23-latin.zip  |  Bin 0 -> 286034 bytes
 src/site/resources/fonts/open-sans-OFL.txt         |   93 +
 .../resources/fonts/open-sans-v40-latin-300.woff2  |  Bin 0 -> 18704 bytes
 .../fonts/open-sans-v40-latin-300italic.woff2      |  Bin 0 -> 19332 bytes
 .../resources/fonts/open-sans-v40-latin-500.woff2  |  Bin 0 -> 18720 bytes
 .../fonts/open-sans-v40-latin-500italic.woff2      |  Bin 0 -> 19332 bytes
 .../resources/fonts/open-sans-v40-latin-600.woff2  |  Bin 0 -> 18596 bytes
 .../fonts/open-sans-v40-latin-600italic.woff2      |  Bin 0 -> 19328 bytes
 .../resources/fonts/open-sans-v40-latin-700.woff2  |  Bin 0 -> 18260 bytes
 .../fonts/open-sans-v40-latin-700italic.woff2      |  Bin 0 -> 18860 bytes
 .../resources/fonts/open-sans-v40-latin-800.woff2  |  Bin 0 -> 18644 bytes
 .../fonts/open-sans-v40-latin-800italic.woff2      |  Bin 0 -> 19056 bytes
 .../fonts/open-sans-v40-latin-italic.woff2         |  Bin 0 -> 19280 bytes
 .../fonts/open-sans-v40-latin-regular.woff2        |  Bin 0 -> 18668 bytes
 src/site/resources/glyphicons-halflings-2-1.zip    |  Bin 4101069 -> 0 bytes
 src/site/resources/images/log4j-logo.png           |  Bin 0 -> 71270 bytes
 .../resources/img/glyphicons-halflings-white.png   |  Bin 8777 -> 0 bytes
 src/site/resources/img/glyphicons-halflings.png    |  Bin 12799 -> 0 bytes
 src/site/resources/img/glyphicons/book.png         |  Bin 173 -> 0 bytes
 src/site/resources/img/glyphicons/cog.png          |  Bin 300 -> 0 bytes
 src/site/resources/img/glyphicons/home.png         |  Bin 235 -> 0 bytes
 src/site/resources/img/glyphicons/info.png         |  Bin 235 -> 0 bytes
 src/site/resources/img/glyphicons/layers.png       |  Bin 260 -> 0 bytes
 src/site/resources/img/glyphicons/link.png         |  Bin 233 -> 0 bytes
 src/site/resources/img/glyphicons/pencil.png       |  Bin 248 -> 0 bytes
 src/site/resources/img/glyphicons/tag.png          |  Bin 245 -> 0 bytes
 src/site/resources/logo/logo-2.9.1.png             |  Bin 31667 -> 0 bytes
 src/site/resources/logo/logo-2.9.1.xcf             |  Bin 63493 -> 0 bytes
 src/site/resources/logo/logo-3d-green-bg-2.png     |  Bin 33619 -> 0 bytes
 src/site/resources/logo/logo-3d-green-bg-2.xcf     |  Bin 58311 -> 0 bytes
 src/site/resources/logo/logo-3d-green-bg.png       |  Bin 32865 -> 0 bytes
 src/site/resources/logo/logo-3d-green-bg.xcf       |  Bin 58333 -> 0 bytes
 src/site/resources/logo/logo-big-blue-cup-2.10.png |  Bin 33655 -> 0 bytes
 src/site/resources/logo/logo-big-blue-cup-2.10.xcf |  Bin 59855 -> 0 bytes
 src/site/resources/logo/logo-big-blue-cup-2.9.png  |  Bin 33960 -> 0 bytes
 src/site/resources/logo/logo-big-blue-cup-2.9.xcf  |  Bin 59949 -> 0 bytes
 src/site/resources/logo/logo-big-blue-cup.xcf      |  Bin 60186 -> 0 bytes
 src/site/resources/logo/logo-big-blue.png          |  Bin 30347 -> 0 bytes
 src/site/resources/logo/logo-big-blue.xcf          |  Bin 55133 -> 0 bytes
 src/site/resources/logo/logo-blue-web-2.11.0.png   |  Bin 38475 -> 0 bytes
 src/site/resources/logo/logo-blue-web-2.11.0.xcf   |  Bin 65088 -> 0 bytes
 src/site/resources/logo/logo-blue-web-r2.6.png     |  Bin 38268 -> 0 bytes
 src/site/resources/logo/logo-blue-web-r2.6.xcf     |  Bin 64192 -> 0 bytes
 src/site/resources/logo/logo-blue-web.png          |  Bin 35254 -> 0 bytes
 src/site/resources/logo/logo-blue-web.xcf          |  Bin 63386 -> 0 bytes
 src/site/resources/logo/logo-chocolate-swirl-2.png |  Bin 31842 -> 0 bytes
 src/site/resources/logo/logo-chocolate-swirl-2.xcf |  Bin 58254 -> 0 bytes
 src/site/resources/logo/logo-chocolate-swirl.png   |  Bin 34753 -> 0 bytes
 src/site/resources/logo/logo-chocolate-swirl.xcf   |  Bin 64646 -> 0 bytes
 src/site/resources/logo/logo-craters-2.png         |  Bin 30522 -> 0 bytes
 src/site/resources/logo/logo-craters-2.xcf         |  Bin 58393 -> 0 bytes
 src/site/resources/logo/logo-craters.png           |  Bin 32590 -> 0 bytes
 src/site/resources/logo/logo-craters.xcf           |  Bin 58716 -> 0 bytes
 .../resources/logo/logo-electric-blue-2-2.8.2.png  |  Bin 40494 -> 0 bytes
 .../resources/logo/logo-electric-blue-2-2.8.2.xcf  |  Bin 67168 -> 0 bytes
 src/site/resources/logo/logo-electric-blue-2.xcf   |  Bin 66097 -> 0 bytes
 src/site/resources/logo/logo-electric-blue.png     |  Bin 31853 -> 0 bytes
 src/site/resources/logo/logo-electric-blue.xcf     |  Bin 58321 -> 0 bytes
 src/site/resources/logo/logo-granite-2.png         |  Bin 33714 -> 0 bytes
 src/site/resources/logo/logo-granite-2.xcf         |  Bin 58695 -> 0 bytes
 src/site/resources/logo/logo-granite.png           |  Bin 31959 -> 0 bytes
 src/site/resources/logo/logo-granite.xcf           |  Bin 58354 -> 0 bytes
 src/site/resources/logo/logo-ice.png               |  Bin 33947 -> 0 bytes
 src/site/resources/logo/logo-ice.xcf               |  Bin 64835 -> 0 bytes
 src/site/resources/logo/logo-java-1.png            |  Bin 33698 -> 0 bytes
 src/site/resources/logo/logo-java-1.xcf            |  Bin 58663 -> 0 bytes
 src/site/resources/logo/logo-java-2-2.6.2.png      |  Bin 40736 -> 0 bytes
 src/site/resources/logo/logo-java-2-2.6.2.xcf      |  Bin 66719 -> 0 bytes
 src/site/resources/logo/logo-java-2.png            |  Bin 36999 -> 0 bytes
 src/site/resources/logo/logo-java-2.xcf            |  Bin 64767 -> 0 bytes
 src/site/resources/logo/logo-java-3.png            |  Bin 33016 -> 0 bytes
 src/site/resources/logo/logo-java-3.xcf            |  Bin 58335 -> 0 bytes
 src/site/resources/logo/logo-leather-2.png         |  Bin 33766 -> 0 bytes
 src/site/resources/logo/logo-leather-2.xcf         |  Bin 58757 -> 0 bytes
 src/site/resources/logo/logo-leather.png           |  Bin 32668 -> 0 bytes
 src/site/resources/logo/logo-leather.xcf           |  Bin 58406 -> 0 bytes
 src/site/resources/logo/logo-lightning-2.6.1.png   |  Bin 41622 -> 0 bytes
 src/site/resources/logo/logo-lightning-2.6.1.xcf   |  Bin 65630 -> 0 bytes
 src/site/resources/logo/logo-lightning.png         |  Bin 38593 -> 0 bytes
 src/site/resources/logo/logo-lightning.xcf         |  Bin 64749 -> 0 bytes
 src/site/resources/logo/logo-marble-1.png          |  Bin 33208 -> 0 bytes
 src/site/resources/logo/logo-marble-1.xcf          |  Bin 64833 -> 0 bytes
 src/site/resources/logo/logo-paper-1.png           |  Bin 33016 -> 0 bytes
 src/site/resources/logo/logo-paper-1.xcf           |  Bin 58337 -> 0 bytes
 src/site/resources/logo/logo-paper-2.png           |  Bin 33082 -> 0 bytes
 src/site/resources/logo/logo-paper-2.xcf           |  Bin 58324 -> 0 bytes
 src/site/resources/logo/logo-parque-1.png          |  Bin 33676 -> 0 bytes
 src/site/resources/logo/logo-parque-1.xcf          |  Bin 58334 -> 0 bytes
 src/site/resources/logo/logo-parque-2.png          |  Bin 32530 -> 0 bytes
 src/site/resources/logo/logo-parque-2.xcf          |  Bin 58370 -> 0 bytes
 src/site/resources/logo/logo-parque-3.png          |  Bin 32927 -> 0 bytes
 src/site/resources/logo/logo-parque-3.xcf          |  Bin 58348 -> 0 bytes
 .../resources/logo/logo-pastel-stuff-2.8.1.png     |  Bin 40517 -> 0 bytes
 src/site/resources/logo/logo-pastel-stuff-2.png    |  Bin 33441 -> 0 bytes
 src/site/resources/logo/logo-pastel-stuff-2.xcf    |  Bin 58354 -> 0 bytes
 src/site/resources/logo/logo-pastel-stuff-3.png    |  Bin 33194 -> 0 bytes
 src/site/resources/logo/logo-pastel-stuff-3.xcf    |  Bin 58367 -> 0 bytes
 src/site/resources/logo/logo-pastel-stuff.png      |  Bin 37102 -> 0 bytes
 src/site/resources/logo/logo-pastel-stuff.xcf      |  Bin 66300 -> 0 bytes
 src/site/resources/logo/logo-pine.png              |  Bin 28260 -> 0 bytes
 src/site/resources/logo/logo-pine.xcf              |  Bin 61254 -> 0 bytes
 src/site/resources/logo/logo-pool-bottom-2.7.png   |  Bin 36964 -> 0 bytes
 src/site/resources/logo/logo-pool-bottom-bg.png    |  Bin 31480 -> 0 bytes
 src/site/resources/logo/logo-pool-bottom-bg.xcf    |  Bin 58386 -> 0 bytes
 src/site/resources/logo/logo-pool-bottom.png       |  Bin 33961 -> 0 bytes
 src/site/resources/logo/logo-pool-bottom.xcf       |  Bin 64819 -> 0 bytes
 src/site/resources/logo/logo-qbert.png             |  Bin 34606 -> 0 bytes
 src/site/resources/logo/logo-qbert.xcf             |  Bin 64777 -> 0 bytes
 src/site/resources/logo/logo-rain.png              |  Bin 34527 -> 0 bytes
 src/site/resources/logo/logo-rain.xcf              |  Bin 64686 -> 0 bytes
 src/site/resources/logo/logo-red-cubes.png         |  Bin 32485 -> 0 bytes
 src/site/resources/logo/logo-red-cubes.xcf         |  Bin 58334 -> 0 bytes
 src/site/resources/logo/logo-rocks.png             |  Bin 39238 -> 0 bytes
 src/site/resources/logo/logo-rocks.xcf             |  Bin 64798 -> 0 bytes
 src/site/resources/logo/logo-sky.png               |  Bin 33307 -> 0 bytes
 src/site/resources/logo/logo-sky.xcf               |  Bin 64206 -> 0 bytes
 src/site/resources/logo/logo-starfield.png         |  Bin 30603 -> 0 bytes
 src/site/resources/logo/logo-starfield.xcf         |  Bin 56479 -> 0 bytes
 src/site/resources/logo/logo-stone-2.8.png         |  Bin 42958 -> 0 bytes
 src/site/resources/logo/logo-stone-2.8.xcf         |  Bin 65661 -> 0 bytes
 src/site/resources/logo/logo-stone.png             |  Bin 39696 -> 0 bytes
 src/site/resources/logo/logo-stone.xcf             |  Bin 64755 -> 0 bytes
 src/site/resources/logo/logo-tree-bark.png         |  Bin 40313 -> 0 bytes
 src/site/resources/logo/logo-tree-bark.xcf         |  Bin 64751 -> 0 bytes
 src/site/resources/logo/logo-walnut.png            |  Bin 35644 -> 0 bytes
 src/site/resources/logo/logo-walnut.xcf            |  Bin 64852 -> 0 bytes
 src/site/resources/logo/logo-wood-1.png            |  Bin 34322 -> 0 bytes
 src/site/resources/logo/logo-wood-1.xcf            |  Bin 64867 -> 0 bytes
 src/site/resources/logo/logo-wood-2.png            |  Bin 33795 -> 0 bytes
 src/site/resources/logo/logo-wood-2.xcf            |  Bin 64846 -> 0 bytes
 src/site/resources/logo/logo-wood.png              |  Bin 37241 -> 0 bytes
 src/site/resources/logo/logo-wood.xcf              |  Bin 64930 -> 0 bytes
 src/site/resources/logo/logo.jpg                   |  Bin 14818 -> 0 bytes
 src/site/site.xml                                  |  361 --
 src/site/xdoc/guidelines.xml                       |  358 --
 src/site/xdoc/javastyle.xml                        |  806 ---
 src/site/xdoc/manual/api.xml                       |  173 -
 src/site/xdoc/manual/appenders.xml                 | 5543 --------------------
 src/site/xdoc/manual/architecture.xml              |  741 ---
 src/site/xdoc/manual/async.xml                     | 1002 ----
 src/site/xdoc/manual/configuration.xml.vm          | 2999 -----------
 src/site/xdoc/manual/customconfig.xml              |  378 --
 src/site/xdoc/manual/customloglevels.xml.vm        |  347 --
 src/site/xdoc/manual/extending.xml                 |  580 --
 src/site/xdoc/manual/filters.xml                   | 1059 ----
 src/site/xdoc/manual/garbagefree.xml               |  615 ---
 src/site/xdoc/manual/index.xml                     |  147 -
 src/site/xdoc/manual/jmx.xml.vm                    |  109 -
 src/site/xdoc/manual/layouts.xml.vm                | 2757 ----------
 src/site/xdoc/manual/logbuilder.xml                |  112 -
 src/site/xdoc/manual/logsep.xml                    |  125 -
 src/site/xdoc/manual/lookups.xml                   |  752 ---
 src/site/xdoc/manual/markers.xml                   |  109 -
 src/site/xdoc/manual/messages.xml                  |  332 --
 src/site/xdoc/manual/plugins.xml                   |  259 -
 src/site/xdoc/manual/thread-context.xml            |  217 -
 src/site/xdoc/manual/usage.xml                     |  258 -
 src/site/xdoc/manual/webapp.xml                    |  464 --
 src/site/xdoc/performance.xml                      |  468 --
 src/site/xdoc/runtime-dependencies.xml             |  445 --
 src/site/xdoc/thanks.xml                           |  134 -
 362 files changed, 29191 insertions(+), 25262 deletions(-)
 create mode 100644 log4j-api-test/src/test/java/org/apache/logging/log4j/internal/map/StringArrayThreadContextMapTest.java
 create mode 100644 log4j-api-test/src/test/java/org/apache/logging/log4j/internal/map/UnmodifiableArrayBackedMapTest.java
 create mode 100644 log4j-api-test/src/test/java/org/apache/logging/log4j/status/StatusLoggerBufferCapacityTest.java
 create mode 100644 log4j-api-test/src/test/java/org/apache/logging/log4j/status/StatusLoggerDateTest.java
 create mode 100644 log4j-api-test/src/test/java/org/apache/logging/log4j/status/StatusLoggerFailingListenerTest.java
 create mode 100644 log4j-api-test/src/test/java/org/apache/logging/log4j/status/StatusLoggerPropertiesUtilDoubleTest.java
 create mode 100644 log4j-api-test/src/test/resources/StatusLoggerPropertiesUtilDoubleTest.properties
 create mode 100644 log4j-api/src/main/java/org/apache/logging/log4j/internal/map/StringArrayThreadContextMap.java
 create mode 100644 log4j-api/src/main/java/org/apache/logging/log4j/internal/map/UnmodifiableArrayBackedMap.java
 create mode 100644 log4j-core-test/src/test/java/org/apache/logging/log4j/core/config/AbstractConfigurationTest.java
 delete mode 100644 log4j-core-test/src/test/java/org/apache/logging/log4j/core/config/ConfigurationPropertiesOrderTest.java
 delete mode 100644 log4j-internal-docgen/pom.xml
 delete mode 100644 log4j-internal-docgen/src/main/resources/templates/interface.adoc.ftl
 delete mode 100644 log4j-internal-docgen/src/main/resources/templates/plugin.adoc.ftl
 delete mode 100644 log4j-internal-docgen/src/main/resources/templates/scalars.adoc.ftl
 create mode 100644 src/asciidoc/templates/document.html.erb
 copy src/changelog/.2.x.x/{add_support_for_disruptor_4.xml => 2330_add_faster_web_app_context_map.xml} (55%)
 rename src/changelog/.2.x.x/{update_github_codeql_action.xml => update_actions_checkout.xml} (63%)
 copy src/changelog/.2.x.x/{update_com_fasterxml_jackson_jackson_bom.xml => update_org_apache_commons_commons_compress.xml} (62%)
 copy src/{site/markdown/log4j-api.md => changelog/2.23.0/.release-notes.adoc.ftl} (63%)
 copy src/changelog/{.2.x.x/simplify_configuration_after_bnd_7_update.xml => 2.23.0/.release.xml} (68%)
 rename src/changelog/{.2.x.x => 2.23.0}/2238_fix_jdk_string_map.xml (100%)
 rename src/changelog/{.2.x.x => 2.23.0}/2282_fix_1_2_set_level.xml (100%)
 rename src/changelog/{.2.x.x => 2.23.0}/2282_fix_jul_set_level.xml (100%)
 rename src/changelog/{.2.x.x => 2.23.0}/LOG4J2-3680_fix_serial_filter_arrays.xml (100%)
 rename src/changelog/{.2.x.x => 2.23.0}/add_support_for_disruptor_4.xml (100%)
 copy src/changelog/{.2.x.x => 2.23.0}/allow_arbitrary_properties_order.xml (100%)
 rename src/changelog/{.2.x.x => 2.23.0}/deprecate_StatusConsoleListener_filters.xml (100%)
 rename src/changelog/{.2.x.x => 2.23.0}/deprecate_ring_buffer_log_event_handler.xml (100%)
 copy src/changelog/{.2.x.x => 2.23.0}/fix_RingBufferLogEvent_clear.xml (100%)
 copy src/changelog/{.2.x.x => 2.23.0}/fix_api_recursive_formatting.xml (100%)
 rename src/changelog/{.2.x.x => 2.23.0}/fix_security_manager_use_in_LoaderUtil.xml (100%)
 rename src/changelog/{.2.x.x => 2.23.0}/fix_spring_cloud_config_client_deps.xml (100%)
 rename src/changelog/{.2.x.x => 2.23.0}/fix_typo_kubernetes.xml (100%)
 copy src/changelog/{.2.x.x => 2.23.0}/simplify_configuration_after_bnd_7_update.xml (100%)
 copy src/changelog/{.2.x.x => 2.23.0}/update_com_fasterxml_jackson_jackson_bom.xml (100%)
 rename src/changelog/{.2.x.x => 2.23.0}/update_commons_codec_commons_codec.xml (100%)
 copy src/changelog/{.2.x.x => 2.23.0}/update_io_netty_netty_bom.xml (100%)
 rename src/changelog/{.2.x.x => 2.23.0}/update_org_apache_logging_logging_parent.xml (100%)
 rename src/changelog/{.2.x.x => 2.23.0}/update_org_eclipse_jetty_jetty_bom.xml (100%)
 rename src/changelog/{.2.x.x => 2.23.0}/update_org_jctools_jctools_core.xml (100%)
 rename src/changelog/{.2.x.x => 2.23.0}/update_org_springframework_spring_framework_bom.xml (100%)
 rename src/changelog/{.2.x.x => 2.23.0}/update_org_zeromq_jeromq.xml (100%)
 copy src/{site/markdown/log4j-spring-cloud-config.md => changelog/2.23.1/.release-notes.adoc.ftl} (69%)
 rename src/changelog/{.2.x.x/simplify_configuration_after_bnd_7_update.xml => 2.23.1/.release.xml} (68%)
 copy src/changelog/{.2.x.x/improve_CloseableThreadContext_closeMap.xml => 2.23.1/2309_fix_logger_context_aware_lookups.xml} (61%)
 copy src/changelog/{.2.x.x/improve_CloseableThreadContext_closeMap.xml => 2.23.1/2346_unix_millis_data_pattern.xml} (61%)
 copy src/changelog/{.2.x.x/fix_api_recursive_formatting.xml => 2.23.1/fix_ParameterFormatter_for_insufficient_args.xml} (55%)
 rename src/changelog/{.2.x.x/fix_api_recursive_formatting.xml => 2.23.1/fix_StatusLogger_debug_mode.xml} (61%)
 copy src/changelog/{.2.x.x/allow_arbitrary_properties_order.xml => 2.23.1/fix_StatusLogger_instant_formatting.xml} (52%)
 rename src/changelog/{.2.x.x/fix_RingBufferLogEvent_clear.xml => 2.23.1/fix_StatusLogger_properties_read.xml} (60%)
 rename src/changelog/{.2.x.x/allow_arbitrary_properties_order.xml => 2.23.1/fix_StatusLogger_stack_overflow.xml} (65%)
 rename src/changelog/{.2.x.x => 2.23.1}/improve_CloseableThreadContext_closeMap.xml (100%)
 copy src/changelog/{.2.x.x/update_com_fasterxml_jackson_jackson_bom.xml => 2.23.1/update_jakarta_activation_jakarta_activation_api.xml} (61%)
 copy src/changelog/{.2.x.x/update_io_netty_netty_bom.xml => 2.23.1/update_jakarta_mail_jakarta_mail_api.xml} (62%)
 copy src/changelog/{.2.x.x/update_com_fasterxml_jackson_jackson_bom.xml => 2.23.1/update_org_apache_commons_commons_compress.xml} (62%)
 rename src/changelog/{.2.x.x/update_io_fabric8_docker_maven_plugin.xml => 2.23.1/update_org_apache_commons_commons_dbcp2.xml} (62%)
 copy src/changelog/{.2.x.x/update_io_netty_netty_bom.xml => 2.23.1/update_org_apache_kafka_kafka_clients.xml} (62%)
 copy src/changelog/{.2.x.x/update_com_fasterxml_jackson_jackson_bom.xml => 2.23.1/update_org_eclipse_angus_angus_activation.xml} (62%)
 rename src/changelog/{.2.x.x/update_io_netty_netty_bom.xml => 2.23.1/update_org_eclipse_angus_jakarta_mail.xml} (62%)
 create mode 100644 src/docgen-templates/index.adoc.ftl
 rename log4j-internal-docgen/src/main/resources/templates/license.adoc.ftl => src/docgen-templates/license.adoc (100%)
 create mode 100644 src/docgen-templates/type.adoc.ftl
 copy src/site/_release-notes/{_2.x.x.adoc => _2.23.0.adoc} (88%)
 create mode 100644 src/site/_release-notes/_2.23.1.adoc
 create mode 100644 src/site/asciidoc/articles.adoc
 create mode 100644 src/site/asciidoc/components.adoc
 create mode 100644 src/site/asciidoc/docs.adoc
 create mode 100644 src/site/asciidoc/download.adoc
 rename src/site/{markdown/faq.md.vm => asciidoc/faq.adoc} (52%)
 create mode 100644 src/site/asciidoc/guidelines.adoc
 copy src/site/{markdown/log4j-jpl.md => asciidoc/javadoc.adoc} (56%)
 create mode 100644 src/site/asciidoc/log4j-1.2-api.adoc
 rename src/site/{markdown/log4j-api.md => asciidoc/log4j-api.adoc} (70%)
 create mode 100644 src/site/asciidoc/log4j-appserver.adoc
 rename src/site/{markdown/log4j-cassandra.md.vm => asciidoc/log4j-cassandra.adoc} (81%)
 rename src/site/{markdown/log4j-couchdb.md.vm => asciidoc/log4j-couchdb.adoc} (75%)
 rename src/site/{markdown/log4j-docker.md.vm => asciidoc/log4j-docker.adoc} (55%)
 rename src/site/{markdown/log4j-flume-ng.md.vm => asciidoc/log4j-flume-ng.adoc} (90%)
 create mode 100644 src/site/asciidoc/log4j-iostreams.adoc
 rename src/site/{markdown/log4j-jakarta-web.md => asciidoc/log4j-jakarta-web.adoc} (68%)
 rename src/site/{markdown/log4j-jcl.md => asciidoc/log4j-jcl.adoc} (63%)
 rename src/site/{markdown/log4j-jmx-gui.md => asciidoc/log4j-jmx-gui.adoc} (71%)
 rename src/site/{markdown/log4j-jpl.md => asciidoc/log4j-jpl.adoc} (78%)
 create mode 100644 src/site/asciidoc/log4j-jul.adoc
 create mode 100644 src/site/asciidoc/log4j-kubernetes.adoc
 rename src/site/{markdown/log4j-mongodb3.md.vm => asciidoc/log4j-mongodb3.adoc} (75%)
 rename src/site/{markdown/log4j-mongodb4.md.vm => asciidoc/log4j-mongodb4.adoc} (75%)
 rename src/site/{markdown/log4j-slf4j-impl.md => asciidoc/log4j-slf4j-impl.adoc} (62%)
 rename src/site/{markdown/log4j-slf4j2-impl.md => asciidoc/log4j-slf4j2-impl.adoc} (62%)
 rename src/site/{markdown/log4j-spring-boot.md => asciidoc/log4j-spring-boot.adoc} (51%)
 create mode 100644 src/site/asciidoc/log4j-spring-cloud-config-client.adoc
 rename src/site/{markdown/log4j-spring-cloud-config.md => asciidoc/log4j-spring-cloud-config.adoc} (83%)
 create mode 100644 src/site/asciidoc/log4j-taglib.adoc
 rename src/site/{markdown/log4j-to-jul.md => asciidoc/log4j-to-jul.adoc} (58%)
 rename src/site/{markdown/log4j-to-slf4j.md => asciidoc/log4j-to-slf4j.adoc} (58%)
 rename src/site/{markdown/log4j-web.md => asciidoc/log4j-web.adoc} (68%)
 rename src/site/{markdown/manual/api-separation.md => asciidoc/manual/api-separation.adoc} (64%)
 create mode 100644 src/site/asciidoc/manual/api.adoc
 create mode 100644 src/site/asciidoc/manual/appenders.adoc
 create mode 100644 src/site/asciidoc/manual/architecture.adoc
 create mode 100644 src/site/asciidoc/manual/async.adoc
 create mode 100644 src/site/asciidoc/manual/cloud.adoc
 rename src/site/{markdown/manual/compatibility.md => asciidoc/manual/compatibility.adoc} (67%)
 create mode 100644 src/site/asciidoc/manual/configuration.adoc
 create mode 100644 src/site/asciidoc/manual/customconfig.adoc
 create mode 100644 src/site/asciidoc/manual/customloglevels.adoc
 rename src/site/{xdoc/manual/eventlogging.xml => asciidoc/manual/eventlogging.adoc} (55%)
 create mode 100644 src/site/asciidoc/manual/extending.adoc
 create mode 100644 src/site/asciidoc/manual/filters.adoc
 rename src/site/{xdoc/manual/flowtracing.xml => asciidoc/manual/flowtracing.adoc} (62%)
 create mode 100644 src/site/asciidoc/manual/garbagefree.adoc
 create mode 100644 src/site/asciidoc/manual/index.adoc
 create mode 100644 src/site/asciidoc/manual/jmx.adoc
 create mode 100644 src/site/asciidoc/manual/layouts.adoc
 create mode 100644 src/site/asciidoc/manual/logbuilder.adoc
 create mode 100644 src/site/asciidoc/manual/logsep.adoc
 create mode 100644 src/site/asciidoc/manual/lookups.adoc
 create mode 100644 src/site/asciidoc/manual/markers.adoc
 create mode 100644 src/site/asciidoc/manual/messages.adoc
 rename src/site/{markdown/manual/migration.md => asciidoc/manual/migration.adoc} (56%)
 create mode 100644 src/site/asciidoc/manual/plugins.adoc
 create mode 100644 src/site/asciidoc/manual/thread-context.adoc
 create mode 100644 src/site/asciidoc/manual/usage.adoc
 create mode 100644 src/site/asciidoc/manual/webapp.adoc
 create mode 100644 src/site/asciidoc/performance.adoc
 create mode 100644 src/site/asciidoc/runtime-dependencies.adoc
 create mode 100644 src/site/asciidoc/thanks.adoc
 delete mode 100644 src/site/markdown/articles.md
 delete mode 100644 src/site/markdown/download.md.vm
 delete mode 100644 src/site/markdown/javadoc.md
 delete mode 100644 src/site/markdown/log4j-1.2-api.md
 delete mode 100644 src/site/markdown/log4j-appserver.md.vm
 delete mode 100644 src/site/markdown/log4j-iostreams.md
 delete mode 100644 src/site/markdown/log4j-jul.md
 delete mode 100644 src/site/markdown/log4j-kubernetes.md.vm
 delete mode 100644 src/site/markdown/log4j-spring-cloud-config-client.md
 delete mode 100644 src/site/markdown/log4j-taglib.md
 delete mode 100644 src/site/markdown/manual/cloud.md
 delete mode 100644 src/site/markdown/maven-artifacts.md.vm
 create mode 100644 src/site/resources/css/fonts.css
 create mode 100644 src/site/resources/css/logging-custom.css
 delete mode 100644 src/site/resources/css/site.css
 create mode 100644 src/site/resources/font-awesome-4.7.0/css/font-awesome.css
 create mode 100644 src/site/resources/font-awesome-4.7.0/css/font-awesome.min.css
 create mode 100644 src/site/resources/font-awesome-4.7.0/fonts/FontAwesome.otf
 create mode 100644 src/site/resources/font-awesome-4.7.0/fonts/fontawesome-webfont.eot
 create mode 100644 src/site/resources/font-awesome-4.7.0/fonts/fontawesome-webfont.svg
 create mode 100644 src/site/resources/font-awesome-4.7.0/fonts/fontawesome-webfont.ttf
 create mode 100644 src/site/resources/font-awesome-4.7.0/fonts/fontawesome-webfont.woff
 create mode 100644 src/site/resources/font-awesome-4.7.0/fonts/fontawesome-webfont.woff2
 create mode 100644 src/site/resources/fonts/noto-OFL.txt
 create mode 100644 src/site/resources/fonts/noto-serif-v23-latin-100.woff2
 create mode 100644 src/site/resources/fonts/noto-serif-v23-latin-100italic.woff2
 create mode 100644 src/site/resources/fonts/noto-serif-v23-latin-200.woff2
 create mode 100644 src/site/resources/fonts/noto-serif-v23-latin-200italic.woff2
 create mode 100644 src/site/resources/fonts/noto-serif-v23-latin-300.woff2
 create mode 100644 src/site/resources/fonts/noto-serif-v23-latin-300italic.woff2
 create mode 100644 src/site/resources/fonts/noto-serif-v23-latin-500.woff2
 create mode 100644 src/site/resources/fonts/noto-serif-v23-latin-500italic.woff2
 create mode 100644 src/site/resources/fonts/noto-serif-v23-latin-600.woff2
 create mode 100644 src/site/resources/fonts/noto-serif-v23-latin-600italic.woff2
 create mode 100644 src/site/resources/fonts/noto-serif-v23-latin-700.woff2
 create mode 100644 src/site/resources/fonts/noto-serif-v23-latin-700italic.woff2
 create mode 100644 src/site/resources/fonts/noto-serif-v23-latin-800.woff2
 create mode 100644 src/site/resources/fonts/noto-serif-v23-latin-800italic.woff2
 create mode 100644 src/site/resources/fonts/noto-serif-v23-latin-900.woff2
 create mode 100644 src/site/resources/fonts/noto-serif-v23-latin-900italic.woff2
 create mode 100644 src/site/resources/fonts/noto-serif-v23-latin-italic.woff2
 create mode 100644 src/site/resources/fonts/noto-serif-v23-latin-regular.woff2
 create mode 100644 src/site/resources/fonts/noto-serif-v23-latin.zip
 create mode 100644 src/site/resources/fonts/open-sans-OFL.txt
 create mode 100644 src/site/resources/fonts/open-sans-v40-latin-300.woff2
 create mode 100644 src/site/resources/fonts/open-sans-v40-latin-300italic.woff2
 create mode 100644 src/site/resources/fonts/open-sans-v40-latin-500.woff2
 create mode 100644 src/site/resources/fonts/open-sans-v40-latin-500italic.woff2
 create mode 100644 src/site/resources/fonts/open-sans-v40-latin-600.woff2
 create mode 100644 src/site/resources/fonts/open-sans-v40-latin-600italic.woff2
 create mode 100644 src/site/resources/fonts/open-sans-v40-latin-700.woff2
 create mode 100644 src/site/resources/fonts/open-sans-v40-latin-700italic.woff2
 create mode 100644 src/site/resources/fonts/open-sans-v40-latin-800.woff2
 create mode 100644 src/site/resources/fonts/open-sans-v40-latin-800italic.woff2
 create mode 100644 src/site/resources/fonts/open-sans-v40-latin-italic.woff2
 create mode 100644 src/site/resources/fonts/open-sans-v40-latin-regular.woff2
 delete mode 100644 src/site/resources/glyphicons-halflings-2-1.zip
 create mode 100644 src/site/resources/images/log4j-logo.png
 delete mode 100644 src/site/resources/img/glyphicons-halflings-white.png
 delete mode 100644 src/site/resources/img/glyphicons-halflings.png
 delete mode 100644 src/site/resources/img/glyphicons/book.png
 delete mode 100644 src/site/resources/img/glyphicons/cog.png
 delete mode 100644 src/site/resources/img/glyphicons/home.png
 delete mode 100644 src/site/resources/img/glyphicons/info.png
 delete mode 100644 src/site/resources/img/glyphicons/layers.png
 delete mode 100644 src/site/resources/img/glyphicons/link.png
 delete mode 100644 src/site/resources/img/glyphicons/pencil.png
 delete mode 100644 src/site/resources/img/glyphicons/tag.png
 delete mode 100644 src/site/resources/logo/logo-2.9.1.png
 delete mode 100644 src/site/resources/logo/logo-2.9.1.xcf
 delete mode 100644 src/site/resources/logo/logo-3d-green-bg-2.png
 delete mode 100644 src/site/resources/logo/logo-3d-green-bg-2.xcf
 delete mode 100644 src/site/resources/logo/logo-3d-green-bg.png
 delete mode 100644 src/site/resources/logo/logo-3d-green-bg.xcf
 delete mode 100644 src/site/resources/logo/logo-big-blue-cup-2.10.png
 delete mode 100644 src/site/resources/logo/logo-big-blue-cup-2.10.xcf
 delete mode 100644 src/site/resources/logo/logo-big-blue-cup-2.9.png
 delete mode 100644 src/site/resources/logo/logo-big-blue-cup-2.9.xcf
 delete mode 100644 src/site/resources/logo/logo-big-blue-cup.xcf
 delete mode 100644 src/site/resources/logo/logo-big-blue.png
 delete mode 100644 src/site/resources/logo/logo-big-blue.xcf
 delete mode 100644 src/site/resources/logo/logo-blue-web-2.11.0.png
 delete mode 100644 src/site/resources/logo/logo-blue-web-2.11.0.xcf
 delete mode 100644 src/site/resources/logo/logo-blue-web-r2.6.png
 delete mode 100644 src/site/resources/logo/logo-blue-web-r2.6.xcf
 delete mode 100644 src/site/resources/logo/logo-blue-web.png
 delete mode 100644 src/site/resources/logo/logo-blue-web.xcf
 delete mode 100644 src/site/resources/logo/logo-chocolate-swirl-2.png
 delete mode 100644 src/site/resources/logo/logo-chocolate-swirl-2.xcf
 delete mode 100644 src/site/resources/logo/logo-chocolate-swirl.png
 delete mode 100644 src/site/resources/logo/logo-chocolate-swirl.xcf
 delete mode 100644 src/site/resources/logo/logo-craters-2.png
 delete mode 100644 src/site/resources/logo/logo-craters-2.xcf
 delete mode 100644 src/site/resources/logo/logo-craters.png
 delete mode 100644 src/site/resources/logo/logo-craters.xcf
 delete mode 100644 src/site/resources/logo/logo-electric-blue-2-2.8.2.png
 delete mode 100644 src/site/resources/logo/logo-electric-blue-2-2.8.2.xcf
 delete mode 100644 src/site/resources/logo/logo-electric-blue-2.xcf
 delete mode 100644 src/site/resources/logo/logo-electric-blue.png
 delete mode 100644 src/site/resources/logo/logo-electric-blue.xcf
 delete mode 100644 src/site/resources/logo/logo-granite-2.png
 delete mode 100644 src/site/resources/logo/logo-granite-2.xcf
 delete mode 100644 src/site/resources/logo/logo-granite.png
 delete mode 100644 src/site/resources/logo/logo-granite.xcf
 delete mode 100644 src/site/resources/logo/logo-ice.png
 delete mode 100644 src/site/resources/logo/logo-ice.xcf
 delete mode 100644 src/site/resources/logo/logo-java-1.png
 delete mode 100644 src/site/resources/logo/logo-java-1.xcf
 delete mode 100644 src/site/resources/logo/logo-java-2-2.6.2.png
 delete mode 100644 src/site/resources/logo/logo-java-2-2.6.2.xcf
 delete mode 100644 src/site/resources/logo/logo-java-2.png
 delete mode 100644 src/site/resources/logo/logo-java-2.xcf
 delete mode 100644 src/site/resources/logo/logo-java-3.png
 delete mode 100644 src/site/resources/logo/logo-java-3.xcf
 delete mode 100644 src/site/resources/logo/logo-leather-2.png
 delete mode 100644 src/site/resources/logo/logo-leather-2.xcf
 delete mode 100644 src/site/resources/logo/logo-leather.png
 delete mode 100644 src/site/resources/logo/logo-leather.xcf
 delete mode 100644 src/site/resources/logo/logo-lightning-2.6.1.png
 delete mode 100644 src/site/resources/logo/logo-lightning-2.6.1.xcf
 delete mode 100644 src/site/resources/logo/logo-lightning.png
 delete mode 100644 src/site/resources/logo/logo-lightning.xcf
 delete mode 100644 src/site/resources/logo/logo-marble-1.png
 delete mode 100644 src/site/resources/logo/logo-marble-1.xcf
 delete mode 100644 src/site/resources/logo/logo-paper-1.png
 delete mode 100644 src/site/resources/logo/logo-paper-1.xcf
 delete mode 100644 src/site/resources/logo/logo-paper-2.png
 delete mode 100644 src/site/resources/logo/logo-paper-2.xcf
 delete mode 100644 src/site/resources/logo/logo-parque-1.png
 delete mode 100644 src/site/resources/logo/logo-parque-1.xcf
 delete mode 100644 src/site/resources/logo/logo-parque-2.png
 delete mode 100644 src/site/resources/logo/logo-parque-2.xcf
 delete mode 100644 src/site/resources/logo/logo-parque-3.png
 delete mode 100644 src/site/resources/logo/logo-parque-3.xcf
 delete mode 100644 src/site/resources/logo/logo-pastel-stuff-2.8.1.png
 delete mode 100644 src/site/resources/logo/logo-pastel-stuff-2.png
 delete mode 100644 src/site/resources/logo/logo-pastel-stuff-2.xcf
 delete mode 100644 src/site/resources/logo/logo-pastel-stuff-3.png
 delete mode 100644 src/site/resources/logo/logo-pastel-stuff-3.xcf
 delete mode 100644 src/site/resources/logo/logo-pastel-stuff.png
 delete mode 100644 src/site/resources/logo/logo-pastel-stuff.xcf
 delete mode 100644 src/site/resources/logo/logo-pine.png
 delete mode 100644 src/site/resources/logo/logo-pine.xcf
 delete mode 100644 src/site/resources/logo/logo-pool-bottom-2.7.png
 delete mode 100644 src/site/resources/logo/logo-pool-bottom-bg.png
 delete mode 100644 src/site/resources/logo/logo-pool-bottom-bg.xcf
 delete mode 100644 src/site/resources/logo/logo-pool-bottom.png
 delete mode 100644 src/site/resources/logo/logo-pool-bottom.xcf
 delete mode 100644 src/site/resources/logo/logo-qbert.png
 delete mode 100644 src/site/resources/logo/logo-qbert.xcf
 delete mode 100644 src/site/resources/logo/logo-rain.png
 delete mode 100644 src/site/resources/logo/logo-rain.xcf
 delete mode 100644 src/site/resources/logo/logo-red-cubes.png
 delete mode 100644 src/site/resources/logo/logo-red-cubes.xcf
 delete mode 100644 src/site/resources/logo/logo-rocks.png
 delete mode 100644 src/site/resources/logo/logo-rocks.xcf
 delete mode 100644 src/site/resources/logo/logo-sky.png
 delete mode 100644 src/site/resources/logo/logo-sky.xcf
 delete mode 100644 src/site/resources/logo/logo-starfield.png
 delete mode 100644 src/site/resources/logo/logo-starfield.xcf
 delete mode 100644 src/site/resources/logo/logo-stone-2.8.png
 delete mode 100644 src/site/resources/logo/logo-stone-2.8.xcf
 delete mode 100644 src/site/resources/logo/logo-stone.png
 delete mode 100644 src/site/resources/logo/logo-stone.xcf
 delete mode 100644 src/site/resources/logo/logo-tree-bark.png
 delete mode 100644 src/site/resources/logo/logo-tree-bark.xcf
 delete mode 100644 src/site/resources/logo/logo-walnut.png
 delete mode 100644 src/site/resources/logo/logo-walnut.xcf
 delete mode 100644 src/site/resources/logo/logo-wood-1.png
 delete mode 100644 src/site/resources/logo/logo-wood-1.xcf
 delete mode 100644 src/site/resources/logo/logo-wood-2.png
 delete mode 100644 src/site/resources/logo/logo-wood-2.xcf
 delete mode 100644 src/site/resources/logo/logo-wood.png
 delete mode 100644 src/site/resources/logo/logo-wood.xcf
 delete mode 100644 src/site/resources/logo/logo.jpg
 delete mode 100644 src/site/site.xml
 delete mode 100644 src/site/xdoc/guidelines.xml
 delete mode 100644 src/site/xdoc/javastyle.xml
 delete mode 100644 src/site/xdoc/manual/api.xml
 delete mode 100644 src/site/xdoc/manual/appenders.xml
 delete mode 100644 src/site/xdoc/manual/architecture.xml
 delete mode 100644 src/site/xdoc/manual/async.xml
 delete mode 100644 src/site/xdoc/manual/configuration.xml.vm
 delete mode 100644 src/site/xdoc/manual/customconfig.xml
 delete mode 100644 src/site/xdoc/manual/customloglevels.xml.vm
 delete mode 100644 src/site/xdoc/manual/extending.xml
 delete mode 100644 src/site/xdoc/manual/filters.xml
 delete mode 100644 src/site/xdoc/manual/garbagefree.xml
 delete mode 100644 src/site/xdoc/manual/index.xml
 delete mode 100644 src/site/xdoc/manual/jmx.xml.vm
 delete mode 100644 src/site/xdoc/manual/layouts.xml.vm
 delete mode 100644 src/site/xdoc/manual/logbuilder.xml
 delete mode 100644 src/site/xdoc/manual/logsep.xml
 delete mode 100644 src/site/xdoc/manual/lookups.xml
 delete mode 100644 src/site/xdoc/manual/markers.xml
 delete mode 100644 src/site/xdoc/manual/messages.xml
 delete mode 100644 src/site/xdoc/manual/plugins.xml
 delete mode 100644 src/site/xdoc/manual/thread-context.xml
 delete mode 100644 src/site/xdoc/manual/usage.xml
 delete mode 100644 src/site/xdoc/manual/webapp.xml
 delete mode 100644 src/site/xdoc/performance.xml
 delete mode 100644 src/site/xdoc/runtime-dependencies.xml
 delete mode 100644 src/site/xdoc/thanks.xml


(logging-log4j2) 11/11: Improve plugin reference pages

Posted by vy...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

vy pushed a commit to branch 2.x-docgen
in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git

commit 55659648e587466b6bab62336b32f2dd3314d292
Author: Volkan Yazıcı <vo...@yazi.ci>
AuthorDate: Thu Mar 14 11:24:36 2024 +0100

    Improve plugin reference pages
---
 pom.xml                                            |  2 +-
 src/asciidoc/templates/document.html.erb           |  3 +-
 src/docgen-templates/index.adoc.ftl                | 32 +++++++++++++++++++---
 .../{license.adoc.ftl => license.adoc}             |  0
 src/docgen-templates/type.adoc.ftl                 | 11 +++++++-
 5 files changed, 41 insertions(+), 7 deletions(-)

diff --git a/pom.xml b/pom.xml
index 82ec7b15ed..49e8528346 100644
--- a/pom.xml
+++ b/pom.xml
@@ -803,7 +803,7 @@
               <templateDirectory>${project.basedir}/src/docgen-templates</templateDirectory>
               <indexTemplate>
                 <source>index.adoc.ftl</source>
-                <target>${project.build.directory}/generated-sources/site/asciidoc/plugin-reference.adoc</target>
+                <target>${project.build.directory}/generated-sources/site/asciidoc/plugin-reference/index.adoc</target>
               </indexTemplate>
               <typeTemplate>
                 <source>type.adoc.ftl</source>
diff --git a/src/asciidoc/templates/document.html.erb b/src/asciidoc/templates/document.html.erb
index bd752114f4..b9b24caaad 100644
--- a/src/asciidoc/templates/document.html.erb
+++ b/src/asciidoc/templates/document.html.erb
@@ -65,7 +65,8 @@
         <li>
           <a href="#">Learn <i class="fa fa-chevron-circle-down" aria-hidden="true"></i></a>
           <ul class="menu-drop-down">
-            <li><a href="/docs.html">Documentation</a></li>
+            <li><a href="/docs.html">Manual</a></li>
+            <li><a href="/plugin-reference/index.html">Plugin reference</a></li>
             <li><a href="https://cwiki.apache.org/confluence/display/LOGGING/Log4j">Wiki</a></li>
             <li><a href="/articles.html">Articles</a></li>
             <li><a href="/faq.html">FAQ</a></li>
diff --git a/src/docgen-templates/index.adoc.ftl b/src/docgen-templates/index.adoc.ftl
index 496ac6ce68..b914712e74 100644
--- a/src/docgen-templates/index.adoc.ftl
+++ b/src/docgen-templates/index.adoc.ftl
@@ -16,9 +16,33 @@ See the License for the specific language governing permissions and
 limitations under the License.
 -->
 <#-- @ftlvariable name="lookup" type="org.apache.logging.log4j.docgen.generator.TypeLookup" -->
-<#include "license.adoc.ftl">
+<#include "license.adoc">
+
+= Plugin reference
+
+This page is a Javadoc-on-steroids specialized for Log4j plugins.
+This reference manual is derived from the source code of all Log4j plugins and types associated with them.
+You can use this reference manual to precisely customize your `log4j2.xml`.
+
+[INFO]
+====
+Every running Log4j system is a constellation of xref:manual/plugins.adoc[plugins], which is analogous to beans in Java EE and Spring.
+This not only allows Log4j itself to be developed in individual components, but also enables extensibility users can leverage.
+====
+
+[#shortcuts]
+== Shortcuts
+
+* xref:org.apache.logging.log4j/log4j-core/org.apache.logging.log4j.core.config.Configuration.adoc[The `<Configuration>` element assembly in a `log4j2.xml`]
+* xref:org.apache.logging.log4j/log4j-core/org.apache.logging.log4j.core.Appender.adoc[The type hierarchy of *appenders*]
+* xref:org.apache.logging.log4j/log4j-core/org.apache.logging.log4j.core.Layout.adoc[The type hierarchy of *layouts*]
+* xref:org.apache.logging.log4j/log4j-core/org.apache.logging.log4j.core.Filter.adoc[The type hierarchy of *filters*]
+
 [#index]
-= Index
+== Index
+
+Below is a list of all types reachable by plugins grouped by the Maven coordinate of the artifact bundling them.
+
 <#assign sourcedTypes = lookup?values/>
 <#-- @ftlvariable name="sourcedTypes" type="org.apache.logging.log4j.docgen.generator.ArtifactSourcedType[]" -->
 <#assign lastGroupId = ''/>
@@ -29,8 +53,8 @@ limitations under the License.
         <#assign lastArtifactId = sourcedType.artifactId/>
 
 [#${sourcedType.groupId?replace('.', '_')}-${sourcedType.artifactId?replace('.', '_')}]
-== `${sourcedType.groupId}:${sourcedType.artifactId}`
+=== `${sourcedType.groupId}:${sourcedType.artifactId}`
 
     </#if>
-* xref:plugin-reference/${sourcedType.groupId}/${sourcedType.artifactId}/${sourcedType.type.className}.adoc[`${sourcedType.type.className}`]
+* xref:${sourcedType.groupId}/${sourcedType.artifactId}/${sourcedType.type.className}.adoc[`${sourcedType.type.className}`]
 </#list>
diff --git a/src/docgen-templates/license.adoc.ftl b/src/docgen-templates/license.adoc
similarity index 100%
rename from src/docgen-templates/license.adoc.ftl
rename to src/docgen-templates/license.adoc
diff --git a/src/docgen-templates/type.adoc.ftl b/src/docgen-templates/type.adoc.ftl
index 49f96edf17..3c087e7a96 100644
--- a/src/docgen-templates/type.adoc.ftl
+++ b/src/docgen-templates/type.adoc.ftl
@@ -19,7 +19,7 @@
 <#assign type = sourcedType.type/>
 <#-- @ftlvariable name="type" type="org.apache.logging.log4j.docgen.Type" -->
 <#-- @ftlvariable name="lookup" type="org.apache.logging.log4j.docgen.generator.TypeLookup" -->
-<#include "license.adoc.ftl">
+<#include "license.adoc">
 
 [#${type.className?replace('.', '_')}]
 = ${type.name!('`' + type.className + '`')}
@@ -135,3 +135,12 @@ a|${descriptionCell}
 * xref:../../${implSourcedType.groupId}/${implSourcedType.artifactId}/${impl}.adoc[${impl?contains('.')?then(impl?keep_after_last('.'), impl)}]
     </#list>
 </#if>
+
+[#shortcuts]
+== Shortcuts
+
+* xref:../../index.adoc[The plugin reference]
+* xref:../../org.apache.logging.log4j/log4j-core/org.apache.logging.log4j.core.config.Configuration.adoc[The `<Configuration>` element assembly in a `log4j2.xml`]
+* xref:../../org.apache.logging.log4j/log4j-core/org.apache.logging.log4j.core.Appender.adoc[The type hierarchy of *appenders*]
+* xref:../../org.apache.logging.log4j/log4j-core/org.apache.logging.log4j.core.Layout.adoc[The type hierarchy of *layouts*]
+* xref:../../org.apache.logging.log4j/log4j-core/org.apache.logging.log4j.core.Filter.adoc[The type hierarchy of *filters*]


(logging-log4j2) 06/11: Fix `docgen.log4j.version` to `revision`

Posted by vy...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

vy pushed a commit to branch 2.x-docgen
in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git

commit a2e151965554c73fb3ca84b07dcbc86748796141
Author: Volkan Yazıcı <vo...@yazi.ci>
AuthorDate: Tue Mar 12 09:12:11 2024 +0100

    Fix `docgen.log4j.version` to `revision`
---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 632c58ffee..0f2d367950 100644
--- a/pom.xml
+++ b/pom.xml
@@ -337,7 +337,7 @@
     <log4j-docgen.version>1.0.0-SNAPSHOT</log4j-docgen.version>
 
     <!-- Versions of libraries whose plugin descriptors will be documented: -->
-    <docgen.log4j.version>2.23.0-SNAPSHOT</docgen.log4j.version>
+    <docgen.log4j.version>${revision}</docgen.log4j.version>
 
   </properties>
 


(logging-log4j2) 07/11: The first working code with phased descriptors folder

Posted by vy...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

vy pushed a commit to branch 2.x-docgen
in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git

commit a927d615c9e22996cb7952b445d811fa23a3421c
Author: Volkan Yazıcı <vo...@yazi.ci>
AuthorDate: Wed Mar 13 14:31:28 2024 +0100

    The first working code with phased descriptors folder
---
 pom.xml | 82 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------
 1 file changed, 71 insertions(+), 11 deletions(-)

diff --git a/pom.xml b/pom.xml
index 0f2d367950..c9803a2137 100644
--- a/pom.xml
+++ b/pom.xml
@@ -742,33 +742,66 @@
         </executions>
       </plugin>
 
-      <!-- Download plugin descriptors -->
+      <!-- Descriptor documenting order matters!
+
+           Imagine we download all descriptors to the same folder.
+           Assume that the filesystem walks folder contents in alphanumeric order.
+           Sourcing `log4j-docgen:generate-*` from that folder will consume descriptors in the following order:
+
+           1. `log4j-1.2.api`
+           2. `log4j-cassandra`
+           3. `log4j-core`
+           4. ...
+
+           For instance, `AbstractFilterable` is defined by the descriptors of both `log4j-cassandra` and `log4j-core`.
+           Due to alphanumeric scanning order, it will appear as it is provided by `log4j-cassandra`.
+           Though, it is actually provided by `log4j-core`.
+           To avoid this problem, we download descriptors to folders associated with phases.
+           We will pass the folder of each phase in a certain order to `log4j-docgen:generate-*`. -->
+
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-dependency-plugin</artifactId>
+        <inherited>false</inherited>
         <executions>
+
+          <!-- Download plugin descriptors (phase 1) -->
           <execution>
-            <id>download-plugin-descriptors</id>
+            <id>download-plugin-descriptors-phase1</id>
             <goals>
               <goal>copy</goal>
             </goals>
             <phase>pre-site</phase>
-            <inherited>false</inherited>
             <configuration>
-              <outputDirectory>${project.build.directory}/plugin-descriptors</outputDirectory>
+              <outputDirectory>${project.build.directory}/plugin-descriptors/phase1</outputDirectory>
               <artifactItems>
 
                 <artifactItem>
                   <groupId>org.apache.logging.log4j</groupId>
-                  <artifactId>log4j-1.2-api</artifactId>
+                  <artifactId>log4j-core</artifactId>
                   <version>${docgen.log4j.version}</version>
                   <type>xml</type>
                   <classifier>log4j-plugins</classifier>
                 </artifactItem>
 
+              </artifactItems>
+            </configuration>
+          </execution>
+
+          <!-- Download plugin descriptors (phase 2) -->
+          <execution>
+            <id>download-plugin-descriptors-phase2</id>
+            <goals>
+              <goal>copy</goal>
+            </goals>
+            <phase>pre-site</phase>
+            <configuration>
+              <outputDirectory>${project.build.directory}/plugin-descriptors/phase2</outputDirectory>
+              <artifactItems>
+
                 <artifactItem>
                   <groupId>org.apache.logging.log4j</groupId>
-                  <artifactId>log4j-cassandra</artifactId>
+                  <artifactId>log4j-1.2-api</artifactId>
                   <version>${docgen.log4j.version}</version>
                   <type>xml</type>
                   <classifier>log4j-plugins</classifier>
@@ -776,7 +809,7 @@
 
                 <artifactItem>
                   <groupId>org.apache.logging.log4j</groupId>
-                  <artifactId>log4j-core</artifactId>
+                  <artifactId>log4j-cassandra</artifactId>
                   <version>${docgen.log4j.version}</version>
                   <type>xml</type>
                   <classifier>log4j-plugins</classifier>
@@ -865,6 +898,7 @@
               </artifactItems>
             </configuration>
           </execution>
+
         </executions>
       </plugin>
 
@@ -878,11 +912,14 @@
         <configuration>
           <descriptorFileMatchers>
             <descriptorFileMatcher>
-              <baseDirectory>${project.build.directory}/plugin-descriptors</baseDirectory>
-              <pathPatterns>glob:**/*.xml</pathPatterns>
+              <baseDirectory>${project.build.directory}/plugin-descriptors/phase1</baseDirectory>
+            </descriptorFileMatcher>
+            <descriptorFileMatcher>
+              <baseDirectory>${project.build.directory}/plugin-descriptors/phase2</baseDirectory>
             </descriptorFileMatcher>
           </descriptorFileMatchers>
           <typeFilter>
+            <!-- `excludes` must be in sync. with the `log4j-docgen-type-filter-exclude-pattern` configuration of `log4j-docgen-asciidoctor-extension`! -->
             <excludes>
               <exclude>java\..+</exclude>
             </excludes>
@@ -891,7 +928,7 @@
 
         <executions>
 
-          <!-- Generate AsciiDoc from download plugin descriptors -->
+          <!-- Generate AsciiDoc from downloaded plugin descriptors -->
           <execution>
             <id>generate-plugin-docs</id>
             <goals>
@@ -906,12 +943,13 @@
               </indexTemplate>
               <typeTemplate>
                 <source>type.adoc.ftl</source>
+                <!-- `target` must be in sync. with the `log4j-docgen-type-template-target` configuration of `log4j-docgen-asciidoctor-extension`! -->
                 <target>${project.build.directory}/generated-sources/site/asciidoc/plugin-reference/%g/%a/%c.adoc</target>
               </typeTemplate>
             </configuration>
           </execution>
 
-          <!-- Generate XSD from download plugin descriptors -->
+          <!-- Generate XSD from downloaded plugin descriptors -->
           <execution>
             <id>generate-plugin-schema</id>
             <goals>
@@ -930,12 +968,29 @@
       <plugin>
         <groupId>org.asciidoctor</groupId>
         <artifactId>asciidoctor-maven-plugin</artifactId>
+        <!-- `log4j-docgen` uses `asciidoctorj` version `3.x`.
+             Though `asciidoctor-maven-plugin` version `<3.0.0` doesn't work against `asciidoctorj` version `3.x`.
+             Hence, override the `asciidoctor-maven-plugin` version to `3.x`. -->
+        <version>3.0.0</version>
         <dependencies>
           <dependency>
             <groupId>io.spring.asciidoctor</groupId>
             <artifactId>spring-asciidoctor-extensions-block-switch</artifactId>
             <version>0.6.3</version>
           </dependency>
+          <!-- `log4j-docgen` uses `asciidoctorj` version `3.x`.
+               Though `asciidoctor-maven-plugin` version `3.x` still uses `asciidoctorj` version `2.x`.
+               Hence, upgrade the `asciidoctorj` used to version `3.x`. -->
+          <dependency>
+            <groupId>org.asciidoctor</groupId>
+            <artifactId>asciidoctorj</artifactId>
+            <version>3.0.0-alpha.2</version>
+          </dependency>
+          <dependency>
+            <groupId>org.apache.logging.log4j</groupId>
+            <artifactId>log4j-docgen-asciidoctor-extension</artifactId>
+            <version>${log4j-docgen.version}</version>
+          </dependency>
         </dependencies>
         <executions>
           <execution>
@@ -955,6 +1010,11 @@
               <attributes>
                 <source-highlighter>rouge</source-highlighter>
                 <toc>left</toc>
+                <log4j-docgen-descriptor-directory>${project.build.directory}/plugin-descriptors</log4j-docgen-descriptor-directory>
+                <!-- `log4j-docgen-type-filter-exclude-pattern` must be in sync. with the `typeFilter` configuration of `log4j-docgen-maven-plugin`! -->
+                <log4j-docgen-type-filter-exclude-pattern>java\..+</log4j-docgen-type-filter-exclude-pattern>
+                <!-- `log4j-docgen-type-template-target` must be in sync. with the `typeTemplate` configuration of `log4j-docgen-maven-plugin`! -->
+                <log4j-docgen-type-template-target>../../%g/%a/%c.html</log4j-docgen-type-template-target>
               </attributes>
             </configuration>
           </execution>


(logging-log4j2) 03/11: Adapt most recent `log4j-docgen` changes

Posted by vy...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

vy pushed a commit to branch 2.x-docgen
in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git

commit 150b5bb1825db50a049d8904b3da890bd863dfd7
Author: Volkan Yazıcı <vo...@yazi.ci>
AuthorDate: Wed Mar 6 21:43:06 2024 +0100

    Adapt most recent `log4j-docgen` changes
---
 pom.xml                                            | 18 ++---
 .../{scalars.adoc.ftl => index.adoc.ftl}           | 37 ++++-----
 src/docgen-templates/interface.adoc.ftl            | 40 ----------
 src/docgen-templates/license.adoc.ftl              | 16 ++++
 .../{plugin.adoc.ftl => type.adoc.ftl}             | 90 +++++++++++-----------
 5 files changed, 81 insertions(+), 120 deletions(-)

diff --git a/pom.xml b/pom.xml
index 199fcd417b..feb520e4a4 100644
--- a/pom.xml
+++ b/pom.xml
@@ -900,18 +900,14 @@
             <phase>pre-site</phase>
             <configuration>
               <templateDirectory>${project.basedir}/src/docgen-templates</templateDirectory>
-              <scalarsTemplate>
-                <source>scalars.adoc.ftl</source>
-                <target>${project.build.directory}/generated-sources/site/asciidoc/plugin-reference/scalars.adoc</target>
-              </scalarsTemplate>
-              <interfaceTemplate>
-                <source>interface.adoc.ftl</source>
+              <indexTemplate>
+                <source>index.adoc.ftl</source>
+                <target>${project.build.directory}/generated-sources/site/asciidoc/plugin-reference.adoc</target>
+              </indexTemplate>
+              <typeTemplate>
+                <source>type.adoc.ftl</source>
                 <target>${project.build.directory}/generated-sources/site/asciidoc/plugin-reference/%g/%a/%c.adoc</target>
-              </interfaceTemplate>
-              <pluginTemplate>
-                <source>plugin.adoc.ftl</source>
-                <target>${project.build.directory}/generated-sources/site/asciidoc/plugin-reference/%g/%a/%c.adoc</target>
-              </pluginTemplate>
+              </typeTemplate>
             </configuration>
           </execution>
 
diff --git a/src/docgen-templates/scalars.adoc.ftl b/src/docgen-templates/index.adoc.ftl
similarity index 55%
rename from src/docgen-templates/scalars.adoc.ftl
rename to src/docgen-templates/index.adoc.ftl
index 9b5edb9add..496ac6ce68 100644
--- a/src/docgen-templates/scalars.adoc.ftl
+++ b/src/docgen-templates/index.adoc.ftl
@@ -15,31 +15,22 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 See the License for the specific language governing permissions and
 limitations under the License.
 -->
-<#-- @ftlvariable name="sourcedTypes" type="org.apache.logging.log4j.docgen.generator.ArtifactSourcedType[]" -->
+<#-- @ftlvariable name="lookup" type="org.apache.logging.log4j.docgen.generator.TypeLookup" -->
 <#include "license.adoc.ftl">
-[#type-converters]
-= Type converters
-
-Type converter plugins are used to convert simple `String` values into other types.
-<#list sourcedTypes as sourcedType>
-<#assign scalar = sourcedType.type/>
-<#-- @ftlvariable name="scalar" type="org.apache.logging.log4j.docgen.model.ScalarType" -->
-
-[#${scalar.className?replace('.', '_')}]
-== `${scalar.className}`
-
-    <#if sourcedType.groupId?has_content && sourcedType.artifactId?has_content>
-Provider:: `${sourcedType.groupId}:${sourcedType.artifactId}`
-    </#if>
-
-${(scalar.description.text)!}
-    <#if scalar.values?size != 0>
+[#index]
+= Index
+<#assign sourcedTypes = lookup?values/>
+<#-- @ftlvariable name="sourcedTypes" type="org.apache.logging.log4j.docgen.generator.ArtifactSourcedType[]" -->
+<#assign lastGroupId = ''/>
+<#assign lastArtifactId = ''/>
+<#list sourcedTypes?sort_by('artifactId', 'groupId', ['type', 'className']) as sourcedType>
+    <#if sourcedType.groupId != lastGroupId || sourcedType.artifactId != lastArtifactId>
+        <#assign lastGroupId = sourcedType.groupId/>
+        <#assign lastArtifactId = sourcedType.artifactId/>
 
-[#${scalar.className?replace('.', '_')}-values]
-=== Possible values
+[#${sourcedType.groupId?replace('.', '_')}-${sourcedType.artifactId?replace('.', '_')}]
+== `${sourcedType.groupId}:${sourcedType.artifactId}`
 
-        <#list scalar.values as value>
-`${value.name}`:: ${(value.description.text)!}
-        </#list>
     </#if>
+* xref:plugin-reference/${sourcedType.groupId}/${sourcedType.artifactId}/${sourcedType.type.className}.adoc[`${sourcedType.type.className}`]
 </#list>
diff --git a/src/docgen-templates/interface.adoc.ftl b/src/docgen-templates/interface.adoc.ftl
deleted file mode 100644
index cfa565913c..0000000000
--- a/src/docgen-templates/interface.adoc.ftl
+++ /dev/null
@@ -1,40 +0,0 @@
-<#ftl output_format="plainText" strip_whitespace=true>
-<#--
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements. See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You under the Apache License, Version 2.0
-  (the "License"); you may not use this file except in compliance with
-  the License. You may obtain a copy of the License at
-
-      https://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
--->
-<#-- @ftlvariable name="sourcedType" type="org.apache.logging.log4j.docgen.model.ArtifactSourcedType" -->
-<#assign type = sourcedType.type/>
-<#-- @ftlvariable name="type" type="org.apache.logging.log4j.docgen.model.AbstractType" -->
-<#-- @ftlvariable name="lookup" type="org.apache.logging.log4j.docgen.generator.TypeLookup" -->
-<#include "license.adoc.ftl">
-[#${type.className?replace('.', '_')}]
-= ${type.className?keep_after_last('.')}
-
-Class:: `${type.className}`
-<#if sourcedType.groupId?has_content && sourcedType.artifactId?has_content>
-Provider:: `${sourcedType.groupId}:${sourcedType.artifactId}`
-
-</#if><#if type.description??>
-${type.description.text}
-</#if>
-
-[#${type.className?replace('.', '_')}-implementations]
-== Known implementations
-
-<#list type.implementations as impl>
-    <#assign implSourcedType = lookup[impl]/>
-* xref:../../${implSourcedType.groupId}/${implSourcedType.artifactId}/${impl}.adoc[${impl?contains('.')?then(impl?keep_after_last('.'), impl)}]
-</#list>
diff --git a/src/docgen-templates/license.adoc.ftl b/src/docgen-templates/license.adoc.ftl
new file mode 100644
index 0000000000..797f7c9fb7
--- /dev/null
+++ b/src/docgen-templates/license.adoc.ftl
@@ -0,0 +1,16 @@
+////
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements. See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License. You may obtain a copy of the License at
+
+    https://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+////
diff --git a/src/docgen-templates/plugin.adoc.ftl b/src/docgen-templates/type.adoc.ftl
similarity index 63%
rename from src/docgen-templates/plugin.adoc.ftl
rename to src/docgen-templates/type.adoc.ftl
index 8085461a2b..49f96edf17 100644
--- a/src/docgen-templates/plugin.adoc.ftl
+++ b/src/docgen-templates/type.adoc.ftl
@@ -17,52 +17,58 @@
 -->
 <#-- @ftlvariable name="sourcedType" type="org.apache.logging.log4j.docgen.model.ArtifactSourcedType" -->
 <#assign type = sourcedType.type/>
-<#-- @ftlvariable name="type" type="org.apache.logging.log4j.docgen.PluginType" -->
+<#-- @ftlvariable name="type" type="org.apache.logging.log4j.docgen.Type" -->
 <#-- @ftlvariable name="lookup" type="org.apache.logging.log4j.docgen.generator.TypeLookup" -->
 <#include "license.adoc.ftl">
+
 [#${type.className?replace('.', '_')}]
-= ${type.name}
+= ${type.name!('`' + type.className + '`')}
 
 Class:: `${type.className}`
 <#if sourcedType.groupId?has_content && sourcedType.artifactId?has_content>
 Provider:: `${sourcedType.groupId}:${sourcedType.artifactId}`
 
-</#if>${(type.description.text)!}
+</#if>
+
+${(type.description.text)!}
 
+<#assign hasElements = ((type.elements?size)!0) != 0/>
+<#if type.class.simpleName == 'PluginType'>
+    <#-- @ftlvariable name="type" type="org.apache.logging.log4j.docgen.PluginType" -->
 [#${type.className?replace('.', '_')}-XML-snippet]
 == XML snippet
 [source, xml]
 ----
-<#assign tag><${type.name} </#assign>
-<#assign indent = tag?replace('.', ' ', 'r')/>
-<#assign has_elements = type.elements?size != 0/>
-<#if !type.attributes?has_content>
+    <#assign tag><${type.name} </#assign>
+    <#assign indent = tag?replace('.', ' ', 'r')/>
+    <#if !type.attributes?has_content>
 <${type.name}/>
-    <#else>
-        <#list type.attributes?sort_by('name') as attr>
-            <#if attr?is_first>
-${tag}${attr.name}="${attr.defaultValue!}"${attr?is_last?then(has_elements?then('>', '/>'), '')}
-            <#else>
-${indent}${attr.name}="${attr.defaultValue!}"${attr?is_last?then(has_elements?then('>', '/>'), '')}
-            </#if>
-        </#list>
-        <#if has_elements>
-            <#list type.elements as element>
-                <#assign multiplicitySuffix = (element.multiplicity == '*')?then('<!-- multiple occurrences allowed -->','')/>
-                <#assign elementName = 'a-' + element.type?keep_after_last('.') + '-implementation'/>
-                <#if lookup[element.type]??>
-                    <#assign element_type = lookup[element.type].type/>
-                    <#-- @ftlvariable name="element_type" type="org.apache.logging.log4j.docgen.model.AbstractType" -->
-                    <#if element_type.name?? && !element_type.implementations?has_content>
-                        <#assign elementName = element_type.name/>
-                    </#if>
+        <#else>
+            <#list type.attributes?sort_by('name') as attr>
+                <#if attr?is_first>
+${tag}${attr.name}="${attr.defaultValue!}"${attr?is_last?then(hasElements?then('>', '/>'), '')}
+                <#else>
+${indent}${attr.name}="${attr.defaultValue!}"${attr?is_last?then(hasElements?then('>', '/>'), '')}
                 </#if>
-    <${elementName}/>${multiplicitySuffix}
             </#list>
+            <#if hasElements>
+                <#list type.elements as element>
+                    <#assign multiplicitySuffix = (element.multiplicity == '*')?then('<!-- multiple occurrences allowed -->','')/>
+                    <#assign elementName = 'a-' + element.type?keep_after_last('.') + '-implementation'/>
+                    <#if lookup[element.type]??>
+                        <#assign element_type = lookup[element.type].type/>
+                        <#-- @ftlvariable name="element_type" type="org.apache.logging.log4j.docgen.model.AbstractType" -->
+                        <#if element_type.name?? && !element_type.implementations?has_content>
+                            <#assign elementName = element_type.name/>
+                        </#if>
+                    </#if>
+    <${elementName}/>${multiplicitySuffix}
+                </#list>
 </${type.name}>
-        </#if>
-</#if>
+            </#if>
+    </#if>
 ----
+</#if>
 <#if type.attributes?has_content>
 
 [#${type.className?replace('.', '_')}-attributes]
@@ -77,14 +83,20 @@ Optional attributes are denoted by `?`-suffixed types.
     <#list type.attributes?sort_by('name') as attr>
         <#assign requirementSuffix = attr.required?then('', '?')/>
 |${attr.name}
-|xref:../../scalars.adoc#${attr.type?replace('.', '_')}[${attr.type?contains('.')?then(attr.type?keep_after_last('.'), attr.type)}]${requirementSuffix}
+        <#assign attrTypeName = attr.type?contains('.')?then(attr.type?keep_after_last('.'), attr.type)/>
+        <#if lookup[attr.type]??>
+            <#assign attrSourcedType = lookup[attr.type]/>
+|xref:../../${attrSourcedType.groupId}/${attrSourcedType.artifactId}/${attr.type}.adoc[${attrTypeName}]${requirementSuffix}
+        <#else>
+|${attrTypeName}${requirementSuffix}
+        </#if>
 |${attr.defaultValue!}
 a|${(attr.description.text)!}
 
     </#list>
 |===
 </#if>
-<#if has_elements>
+<#if hasElements>
 
 [#${type.className?replace('.', '_')}-components]
 == Nested components
@@ -101,28 +113,14 @@ Optional components are denoted by `?`-suffixed types.
         <#assign elementName = element.type?contains('.')?then(element.type?keep_after_last('.'), element.type)/>
         <#if lookup[element.type]??>
             <#assign elementSourcedType = lookup[element.type]/>
-            <#assign elementType = elementSourcedType.type/>
-            <#assign tagCell = elementType.name!/>
-            <#switch elementType.class.simpleName>
-                <#case 'PluginType'>
-                <#case 'AbstractType'>
+            <#assign tagCell = elementSourcedType.type.name!/>
 |${tagCell}
 |xref:../../${elementSourcedType.groupId}/${elementSourcedType.artifactId}/${element.type}.adoc[${elementName}]${requirementSuffix}
-a|${descriptionCell}
-                    <#break>
-                <#case 'ScalarType'>
-|${tagCell}
-|xref:../../scalars.adoc#${element.type?replace('.', '_')}[${elementName}]${requirementSuffix}
-a|${descriptionCell}
-                    <#break>
-                <#default>
-                    <#stop 'Unknown type `' + element.type + '` modelled in class `' + elementType.class.name + '`'/>
-            </#switch>
         <#else>
 |
 |${elementName}${requirementSuffix}
-a|${descriptionCell}
         </#if>
+a|${descriptionCell}
 
     </#list>
 |===


(logging-log4j2) 09/11: Merge remote-tracking branch 'origin/2.x' into 2.x-docgen

Posted by vy...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

vy pushed a commit to branch 2.x-docgen
in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git

commit 59aa802c7fde69961e5fb17917d17051de01c7c4
Merge: 79154c91c1 3242ffb790
Author: Volkan Yazıcı <vo...@yazi.ci>
AuthorDate: Wed Mar 13 17:07:56 2024 +0100

    Merge remote-tracking branch 'origin/2.x' into 2.x-docgen

 .github/workflows/scorecards-analysis.yaml         |   2 +-
 .../map/StringArrayThreadContextMapTest.java       | 287 +++++++++++
 .../map/UnmodifiableArrayBackedMapTest.java        | 387 +++++++++++++++
 .../org/apache/logging/log4j/ThreadContext.java    |   5 +
 .../internal/map/StringArrayThreadContextMap.java  | 199 ++++++++
 .../internal/map/UnmodifiableArrayBackedMap.java   | 552 +++++++++++++++++++++
 .../org/apache/logging/log4j/spi/package-info.java |   2 +-
 log4j-parent/pom.xml                               |   4 +-
 pom.xml                                            |   4 +-
 ...xml => 2330_add_faster_web_app_context_map.xml} |   6 +-
 ...deql_action.xml => update_actions_checkout.xml} |   4 +-
 ...pdate_co_elastic_clients_elasticsearch_java.xml |   8 -
 ...update_co_elastic_logging_log4j2_ecs_layout.xml |   8 -
 ...> update_com_fasterxml_jackson_jackson_bom.xml} |   4 +-
 ...update_com_github_tomakehurst_wiremock_jre8.xml |   8 -
 .../update_org_apache_commons_commons_compress.xml |   4 +-
 .../update_org_codehaus_groovy_groovy_bom.xml      |   8 -
 src/changelog/2.23.1/.release-notes.adoc.ftl       |  25 +
 src/changelog/2.23.1/.release.xml                  |  21 +
 .../2309_fix_logger_context_aware_lookups.xml      |   2 +-
 .../2346_unix_millis_data_pattern.xml              |   2 +-
 ...ix_ParameterFormatter_for_insufficient_args.xml |   0
 .../fix_StatusLogger_debug_mode.xml                |   0
 .../fix_StatusLogger_instant_formatting.xml        |   4 +-
 .../fix_StatusLogger_properties_read.xml           |   0
 .../fix_StatusLogger_stack_overflow.xml            |   0
 .../improve_CloseableThreadContext_closeMap.xml    |   0
 ...e_jakarta_activation_jakarta_activation_api.xml |   0
 .../update_jakarta_mail_jakarta_mail_api.xml       |   0
 .../update_org_apache_commons_commons_compress.xml |   0
 .../update_org_apache_commons_commons_dbcp2.xml    |   0
 .../update_org_apache_kafka_kafka_clients.xml      |   0
 .../update_org_eclipse_angus_angus_activation.xml  |   0
 .../update_org_eclipse_angus_jakarta_mail.xml      |   0
 src/site/_constants.adoc                           |   2 +-
 src/site/_release-notes.adoc                       |   1 +
 .../_release-notes/{_2.x.x.adoc => _2.23.1.adoc}   |  27 +-
 src/site/_release-notes/_2.x.x.adoc                |  29 +-
 src/site/resources/css/logging-custom.css          |   1 +
 39 files changed, 1513 insertions(+), 93 deletions(-)



(logging-log4j2) 01/11: Adapt the most recent docgen changes

Posted by vy...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

vy pushed a commit to branch 2.x-docgen
in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git

commit 4b8a03158c7ea8261d28239bc745b0ff2360fff9
Author: Volkan Yazıcı <vo...@yazi.ci>
AuthorDate: Thu Feb 29 16:34:17 2024 +0100

    Adapt the most recent docgen changes
---
 pom.xml                                 | 36 ++++++++++++++--------
 src/docgen-templates/interface.adoc.ftl |  3 +-
 src/docgen-templates/plugin.adoc.ftl    | 54 ++++++++++++++++++++++++---------
 src/docgen-templates/scalars.adoc.ftl   |  4 +--
 4 files changed, 66 insertions(+), 31 deletions(-)

diff --git a/pom.xml b/pom.xml
index ce70851308..199fcd417b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -334,7 +334,7 @@
     <maven.site.deploy.skip>true</maven.site.deploy.skip>
 
     <!-- Dependency versions -->
-    <log4j-docgen.version>0.8.0-SNAPSHOT</log4j-docgen.version>
+    <log4j-docgen.version>1.0.0-SNAPSHOT</log4j-docgen.version>
 
     <!-- Versions of libraries whose plugin descriptors will be documented: -->
     <docgen.log4j.version>2.23.0-SNAPSHOT</docgen.log4j.version>
@@ -873,7 +873,25 @@
         <artifactId>log4j-docgen-maven-plugin</artifactId>
         <version>${log4j-docgen.version}</version>
         <inherited>false</inherited>
+
+        <!-- Common docgen configuration -->
+        <configuration>
+          <descriptorFileMatchers>
+            <descriptorFileMatcher>
+              <baseDirectory>${project.build.directory}/plugin-descriptors</baseDirectory>
+              <pathPatterns>glob:**/*.xml</pathPatterns>
+            </descriptorFileMatcher>
+          </descriptorFileMatchers>
+          <typeFilter>
+            <excludes>
+              <exclude>java\..+</exclude>
+            </excludes>
+          </typeFilter>
+        </configuration>
+
         <executions>
+
+          <!-- Generate AsciiDoc from download plugin descriptors -->
           <execution>
             <id>generate-plugin-docs</id>
             <goals>
@@ -881,12 +899,6 @@
             </goals>
             <phase>pre-site</phase>
             <configuration>
-              <descriptorFileMatchers>
-                <descriptorFileMatcher>
-                  <baseDirectory>${project.build.directory}/plugin-descriptors</baseDirectory>
-                  <pathPatterns>glob:**/*.xml</pathPatterns>
-                </descriptorFileMatcher>
-              </descriptorFileMatchers>
               <templateDirectory>${project.basedir}/src/docgen-templates</templateDirectory>
               <scalarsTemplate>
                 <source>scalars.adoc.ftl</source>
@@ -902,6 +914,8 @@
               </pluginTemplate>
             </configuration>
           </execution>
+
+          <!-- Generate XSD from download plugin descriptors -->
           <execution>
             <id>generate-plugin-schema</id>
             <goals>
@@ -909,16 +923,12 @@
             </goals>
             <phase>pre-site</phase>
             <configuration>
-              <descriptorFileMatchers>
-                <descriptorFileMatcher>
-                  <baseDirectory>${project.build.directory}/plugin-descriptors</baseDirectory>
-                  <pathPatterns>glob:**/*.xml</pathPatterns>
-                </descriptorFileMatcher>
-              </descriptorFileMatchers>
               <schemaFile>${project.build.directory}/generated-sources/site/resources/config.xsd</schemaFile>
             </configuration>
           </execution>
+
         </executions>
+
       </plugin>
 
       <plugin>
diff --git a/src/docgen-templates/interface.adoc.ftl b/src/docgen-templates/interface.adoc.ftl
index 53020979e8..cfa565913c 100644
--- a/src/docgen-templates/interface.adoc.ftl
+++ b/src/docgen-templates/interface.adoc.ftl
@@ -35,5 +35,6 @@ ${type.description.text}
 == Known implementations
 
 <#list type.implementations as impl>
-* xref:${impl}.adoc[${impl?contains('.')?then(impl?keep_after_last('.'), impl)}]
+    <#assign implSourcedType = lookup[impl]/>
+* xref:../../${implSourcedType.groupId}/${implSourcedType.artifactId}/${impl}.adoc[${impl?contains('.')?then(impl?keep_after_last('.'), impl)}]
 </#list>
diff --git a/src/docgen-templates/plugin.adoc.ftl b/src/docgen-templates/plugin.adoc.ftl
index f7d54b461d..8085461a2b 100644
--- a/src/docgen-templates/plugin.adoc.ftl
+++ b/src/docgen-templates/plugin.adoc.ftl
@@ -27,7 +27,7 @@ Class:: `${type.className}`
 <#if sourcedType.groupId?has_content && sourcedType.artifactId?has_content>
 Provider:: `${sourcedType.groupId}:${sourcedType.artifactId}`
 
-</#if>${(type.description.text)!'N/A'}
+</#if>${(type.description.text)!}
 
 [#${type.className?replace('.', '_')}-XML-snippet]
 == XML snippet
@@ -48,16 +48,16 @@ ${indent}${attr.name}="${attr.defaultValue!}"${attr?is_last?then(has_elements?th
         </#list>
         <#if has_elements>
             <#list type.elements as element>
+                <#assign multiplicitySuffix = (element.multiplicity == '*')?then('<!-- multiple occurrences allowed -->','')/>
+                <#assign elementName = 'a-' + element.type?keep_after_last('.') + '-implementation'/>
                 <#if lookup[element.type]??>
                     <#assign element_type = lookup[element.type].type/>
                     <#-- @ftlvariable name="element_type" type="org.apache.logging.log4j.docgen.model.AbstractType" -->
                     <#if element_type.name?? && !element_type.implementations?has_content>
-                    <#-- @ftlvariable name="element_type" type="org.apache.logging.log4j.docgen.model.PluginType" -->
-    <${element_type.name}/>
-                    <#else>
-    <a-${element.type?keep_after_last('.')}-implementation/><#if element.multiplicity == '*'><!-- multiple occurrences allowed --></#if>
+                        <#assign elementName = element_type.name/>
                     </#if>
                 </#if>
+    <${elementName}/>${multiplicitySuffix}
             </#list>
 </${type.name}>
         </#if>
@@ -68,17 +68,18 @@ ${indent}${attr.name}="${attr.defaultValue!}"${attr?is_last?then(has_elements?th
 [#${type.className?replace('.', '_')}-attributes]
 == Attributes
 
-Required attributes are in **bold face**.
+Optional attributes are denoted by `?`-suffixed types.
 
 [cols="1m,1m,1m,5"]
 |===
 |Name|Type|Default|Description
 
     <#list type.attributes?sort_by('name') as attr>
-|${attr.required?then('**', '')}${attr.name}${attr.required?then('**', '')}
-|xref:../../scalars.adoc#${attr.type?replace('.', '_')}[${attr.type?contains('.')?then(attr.type?keep_after_last('.'), attr.type)}]
+        <#assign requirementSuffix = attr.required?then('', '?')/>
+|${attr.name}
+|xref:../../scalars.adoc#${attr.type?replace('.', '_')}[${attr.type?contains('.')?then(attr.type?keep_after_last('.'), attr.type)}]${requirementSuffix}
 |${attr.defaultValue!}
-a|${(attr.description.text)!'N/A'}
+a|${(attr.description.text)!}
 
     </#list>
 |===
@@ -88,19 +89,41 @@ a|${(attr.description.text)!'N/A'}
 [#${type.className?replace('.', '_')}-components]
 == Nested components
 
-Required components are in **bold face**.
+Optional components are denoted by `?`-suffixed types.
 
 [cols="1m,1m,5"]
 |===
 |Tag|Type|Description
 
     <#list type.elements?sort_by('type') as element>
+        <#assign requirementSuffix = element.required?then('', '?')/>
+        <#assign descriptionCell = (element.description.text)!/>
+        <#assign elementName = element.type?contains('.')?then(element.type?keep_after_last('.'), element.type)/>
         <#if lookup[element.type]??>
-|${element.required?then('**', '') + (lookup[element.type].type.name!'N/A') + element.required?then('**', '')}
-|xref:${element.type}.adoc[${element.type?contains('.')?then(element.type?keep_after_last('.'), element.type)}]
-a|${(element.description.text)!'N/A'}
-
+            <#assign elementSourcedType = lookup[element.type]/>
+            <#assign elementType = elementSourcedType.type/>
+            <#assign tagCell = elementType.name!/>
+            <#switch elementType.class.simpleName>
+                <#case 'PluginType'>
+                <#case 'AbstractType'>
+|${tagCell}
+|xref:../../${elementSourcedType.groupId}/${elementSourcedType.artifactId}/${element.type}.adoc[${elementName}]${requirementSuffix}
+a|${descriptionCell}
+                    <#break>
+                <#case 'ScalarType'>
+|${tagCell}
+|xref:../../scalars.adoc#${element.type?replace('.', '_')}[${elementName}]${requirementSuffix}
+a|${descriptionCell}
+                    <#break>
+                <#default>
+                    <#stop 'Unknown type `' + element.type + '` modelled in class `' + elementType.class.name + '`'/>
+            </#switch>
+        <#else>
+|
+|${elementName}${requirementSuffix}
+a|${descriptionCell}
         </#if>
+
     </#list>
 |===
 </#if>
@@ -110,6 +133,7 @@ a|${(element.description.text)!'N/A'}
 == Known implementations
 
     <#list type.implementations as impl>
-* xref:${impl}.adoc[${impl?contains('.')?then(impl?keep_after_last('.'), impl)}]
+        <#assign implSourcedType = lookup[impl]/>
+* xref:../../${implSourcedType.groupId}/${implSourcedType.artifactId}/${impl}.adoc[${impl?contains('.')?then(impl?keep_after_last('.'), impl)}]
     </#list>
 </#if>
diff --git a/src/docgen-templates/scalars.adoc.ftl b/src/docgen-templates/scalars.adoc.ftl
index cb581261cc..9b5edb9add 100644
--- a/src/docgen-templates/scalars.adoc.ftl
+++ b/src/docgen-templates/scalars.adoc.ftl
@@ -32,14 +32,14 @@ Type converter plugins are used to convert simple `String` values into other typ
 Provider:: `${sourcedType.groupId}:${sourcedType.artifactId}`
     </#if>
 
-${scalar.description.text}
+${(scalar.description.text)!}
     <#if scalar.values?size != 0>
 
 [#${scalar.className?replace('.', '_')}-values]
 === Possible values
 
         <#list scalar.values as value>
-`${value.name}`:: ${(value.description.text)!'N/A'}
+`${value.name}`:: ${(value.description.text)!}
         </#list>
     </#if>
 </#list>


(logging-log4j2) 05/11: Merge remote-tracking branch 'origin/ms12_restructure_website_2x' into 2.x-docgen

Posted by vy...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

vy pushed a commit to branch 2.x-docgen
in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git

commit d9b84fae5040a87c894b457d64b5a87e7b484c9d
Merge: ef3f28b542 f8a829311d
Author: Volkan Yazıcı <vo...@yazi.ci>
AuthorDate: Tue Mar 12 09:09:53 2024 +0100

    Merge remote-tracking branch 'origin/ms12_restructure_website_2x' into 2.x-docgen

 .github/generate-email.sh                          |   17 +-
 .mvn/jvm.config                                    |    1 +
 .../log4j/test/junit/UsingStatusLoggerMock.java    |    2 +
 .../logging/log4j/test/junit/package-info.java     |    2 +-
 .../log4j/message/ParameterFormatterTest.java      |   25 +-
 .../log4j/message/ParameterizedMessageTest.java    |   87 +-
 .../log4j/status/StatusConsoleListenerTest.java    |   23 +-
 .../StatusLoggerPropertiesUtilDoubleTest.java      |   10 +
 ...StatusLoggerPropertiesUtilDoubleTest.properties |   22 +
 .../logging/log4j/message/ParameterFormatter.java  |   15 +-
 .../log4j/message/ParameterizedMessage.java        |   18 +-
 .../log4j/status/StatusConsoleListener.java        |    6 +-
 .../apache/logging/log4j/status/StatusLogger.java  |   12 +-
 .../appender/rolling/PatternProcessorTest.java     |    9 +
 .../core/config/AbstractConfigurationTest.java     |   99 +
 .../config/ConfigurationPropertiesOrderTest.java   |   67 -
 .../log4j/core/lookup/InterpolatorTest.java        |   71 +
 .../core/appender/rolling/PatternProcessor.java    |    4 +
 .../log4j/core/config/AbstractConfiguration.java   |    1 +
 .../log4j/core/config/PropertiesPlugin.java        |    5 +-
 .../logging/log4j/core/lookup/Interpolator.java    |   29 +-
 .../log4j/core/pattern/DatePatternConverter.java   |    2 +-
 log4j-parent/pom.xml                               |   10 +-
 pom.xml                                            |   73 +-
 src/asciidoc/templates/document.html.erb           |  229 +
 .../2309_fix_logger_context_aware_lookups.xml      |    8 +
 .../.2.x.x/2346_unix_millis_data_pattern.xml       |    8 +
 ...ix_ParameterFormatter_for_insufficient_args.xml |    8 +
 .../.2.x.x/fix_StatusLogger_properties_read.xml    |    8 +
 .../update_jakarta_mail_jakarta_mail_api.xml       |    8 +
 .../update_org_apache_commons_commons_dbcp2.xml    |    8 +
 .../update_org_codehaus_groovy_groovy_bom.xml      |    8 +
 .../update_org_eclipse_angus_angus_activation.xml  |    8 +
 .../update_org_eclipse_angus_jakarta_mail.xml      |    8 +
 src/site/_release-notes/_2.x.x.adoc                |    6 +
 src/site/asciidoc/articles.adoc                    |  147 +
 src/site/asciidoc/components.adoc                  |   45 +
 src/site/asciidoc/docs.adoc                        |  228 +
 src/site/asciidoc/download.adoc                    |  229 +
 src/site/{markdown/faq.md.vm => asciidoc/faq.adoc} |  362 +-
 src/site/asciidoc/guidelines.adoc                  |  384 ++
 .../log4j-jpl.md => asciidoc/javadoc.adoc}         |   27 +-
 src/site/asciidoc/log4j-1.2-api.adoc               |   78 +
 .../log4j-api.md => asciidoc/log4j-api.adoc}       |   20 +-
 src/site/asciidoc/log4j-appserver.adoc             |   52 +
 .../log4j-cassandra.adoc}                          |   16 +-
 .../log4j-couchdb.adoc}                            |   25 +-
 .../log4j-docker.adoc}                             |   42 +-
 .../log4j-flume-ng.adoc}                           |   40 +-
 src/site/asciidoc/log4j-iostreams.adoc             |   46 +
 .../log4j-jakarta-web.adoc}                        |   20 +-
 .../log4j-jcl.md => asciidoc/log4j-jcl.adoc}       |   26 +-
 .../log4j-jmx-gui.adoc}                            |   14 +-
 .../log4j-jpl.md => asciidoc/log4j-jpl.adoc}       |   19 +-
 src/site/asciidoc/log4j-jul.adoc                   |  122 +
 src/site/asciidoc/log4j-kubernetes.adoc            |  202 +
 .../log4j-mongodb3.adoc}                           |   25 +-
 .../log4j-mongodb4.adoc}                           |   25 +-
 .../log4j-slf4j-impl.adoc}                         |   37 +-
 .../log4j-slf4j2-impl.adoc}                        |   37 +-
 .../log4j-spring-boot.adoc}                        |   67 +-
 .../asciidoc/log4j-spring-cloud-config-client.adoc |  189 +
 .../log4j-spring-cloud-config.adoc}                |   14 +-
 src/site/asciidoc/log4j-taglib.adoc                |   55 +
 .../log4j-to-jul.md => asciidoc/log4j-to-jul.adoc} |   33 +-
 .../log4j-to-slf4j.adoc}                           |   34 +-
 .../log4j-web.md => asciidoc/log4j-web.adoc}       |   20 +-
 .../manual/api-separation.adoc}                    |  149 +-
 src/site/asciidoc/manual/api.adoc                  |  200 +
 src/site/asciidoc/manual/appenders.adoc            | 4597 ++++++++++++++++
 src/site/asciidoc/manual/architecture.adoc         |  481 ++
 src/site/asciidoc/manual/async.adoc                |  732 +++
 src/site/asciidoc/manual/cloud.adoc                |  638 +++
 .../manual/compatibility.adoc}                     |   19 +-
 src/site/asciidoc/manual/configuration.adoc        | 2528 +++++++++
 src/site/asciidoc/manual/customconfig.adoc         |  386 ++
 src/site/asciidoc/manual/customloglevels.adoc      |  323 ++
 .../manual/eventlogging.adoc}                      |  110 +-
 src/site/asciidoc/manual/extending.adoc            |  618 +++
 src/site/asciidoc/manual/filters.adoc              | 1017 ++++
 .../manual/flowtracing.adoc}                       |  222 +-
 src/site/asciidoc/manual/garbagefree.adoc          |  582 ++
 src/site/asciidoc/manual/index.adoc                |  138 +
 src/site/asciidoc/manual/jmx.adoc                  |  100 +
 src/site/asciidoc/manual/layouts.adoc              | 2158 ++++++++
 src/site/asciidoc/manual/logbuilder.adoc           |   79 +
 src/site/asciidoc/manual/logsep.adoc               |  116 +
 src/site/asciidoc/manual/lookups.adoc              |  745 +++
 src/site/asciidoc/manual/markers.adoc              |  104 +
 src/site/asciidoc/manual/messages.adoc             |  329 ++
 .../manual/migration.adoc}                         |  280 +-
 src/site/asciidoc/manual/plugins.adoc              |  108 +
 src/site/asciidoc/manual/thread-context.adoc       |  240 +
 src/site/asciidoc/manual/usage.adoc                |  226 +
 src/site/asciidoc/manual/webapp.adoc               |  320 ++
 src/site/asciidoc/performance.adoc                 |  571 ++
 src/site/asciidoc/runtime-dependencies.adoc        |  267 +
 src/site/asciidoc/thanks.adoc                      |   52 +
 src/site/markdown/articles.md                      |  251 -
 src/site/markdown/download.md.vm                   |  106 -
 src/site/markdown/javadoc.md                       |   26 -
 src/site/markdown/log4j-1.2-api.md                 |   58 -
 src/site/markdown/log4j-appserver.md.vm            |   59 -
 src/site/markdown/log4j-iostreams.md               |   55 -
 src/site/markdown/log4j-jul.md                     |  117 -
 src/site/markdown/log4j-kubernetes.md.vm           |  104 -
 .../markdown/log4j-spring-cloud-config-client.md   |  134 -
 src/site/markdown/log4j-taglib.md                  |   67 -
 src/site/markdown/manual/cloud.md                  |  568 --
 src/site/markdown/maven-artifacts.md.vm            |  329 --
 src/site/resources/css/fonts.css                   |  257 +
 src/site/resources/css/logging-custom.css          |  238 +
 src/site/resources/css/site.css                    |   37 -
 .../font-awesome-4.7.0/css/font-awesome.css        | 2337 +++++++++
 .../font-awesome-4.7.0/css/font-awesome.min.css    |    4 +
 .../font-awesome-4.7.0/fonts/FontAwesome.otf       |  Bin 0 -> 134808 bytes
 .../fonts/fontawesome-webfont.eot                  |  Bin 0 -> 165742 bytes
 .../fonts/fontawesome-webfont.svg                  | 2671 ++++++++++
 .../fonts/fontawesome-webfont.ttf                  |  Bin 0 -> 165548 bytes
 .../fonts/fontawesome-webfont.woff                 |  Bin 0 -> 98024 bytes
 .../fonts/fontawesome-webfont.woff2                |  Bin 0 -> 77160 bytes
 src/site/resources/fonts/noto-OFL.txt              |   93 +
 .../resources/fonts/noto-serif-v23-latin-100.woff2 |  Bin 0 -> 15232 bytes
 .../fonts/noto-serif-v23-latin-100italic.woff2     |  Bin 0 -> 15904 bytes
 .../resources/fonts/noto-serif-v23-latin-200.woff2 |  Bin 0 -> 15528 bytes
 .../fonts/noto-serif-v23-latin-200italic.woff2     |  Bin 0 -> 16544 bytes
 .../resources/fonts/noto-serif-v23-latin-300.woff2 |  Bin 0 -> 15364 bytes
 .../fonts/noto-serif-v23-latin-300italic.woff2     |  Bin 0 -> 16496 bytes
 .../resources/fonts/noto-serif-v23-latin-500.woff2 |  Bin 0 -> 15072 bytes
 .../fonts/noto-serif-v23-latin-500italic.woff2     |  Bin 0 -> 16304 bytes
 .../resources/fonts/noto-serif-v23-latin-600.woff2 |  Bin 0 -> 15212 bytes
 .../fonts/noto-serif-v23-latin-600italic.woff2     |  Bin 0 -> 16260 bytes
 .../resources/fonts/noto-serif-v23-latin-700.woff2 |  Bin 0 -> 14964 bytes
 .../fonts/noto-serif-v23-latin-700italic.woff2     |  Bin 0 -> 15812 bytes
 .../resources/fonts/noto-serif-v23-latin-800.woff2 |  Bin 0 -> 15568 bytes
 .../fonts/noto-serif-v23-latin-800italic.woff2     |  Bin 0 -> 16768 bytes
 .../resources/fonts/noto-serif-v23-latin-900.woff2 |  Bin 0 -> 15436 bytes
 .../fonts/noto-serif-v23-latin-900italic.woff2     |  Bin 0 -> 16628 bytes
 .../fonts/noto-serif-v23-latin-italic.woff2        |  Bin 0 -> 15640 bytes
 .../fonts/noto-serif-v23-latin-regular.woff2       |  Bin 0 -> 14612 bytes
 src/site/resources/fonts/noto-serif-v23-latin.zip  |  Bin 0 -> 286034 bytes
 src/site/resources/fonts/open-sans-OFL.txt         |   93 +
 .../resources/fonts/open-sans-v40-latin-300.woff2  |  Bin 0 -> 18704 bytes
 .../fonts/open-sans-v40-latin-300italic.woff2      |  Bin 0 -> 19332 bytes
 .../resources/fonts/open-sans-v40-latin-500.woff2  |  Bin 0 -> 18720 bytes
 .../fonts/open-sans-v40-latin-500italic.woff2      |  Bin 0 -> 19332 bytes
 .../resources/fonts/open-sans-v40-latin-600.woff2  |  Bin 0 -> 18596 bytes
 .../fonts/open-sans-v40-latin-600italic.woff2      |  Bin 0 -> 19328 bytes
 .../resources/fonts/open-sans-v40-latin-700.woff2  |  Bin 0 -> 18260 bytes
 .../fonts/open-sans-v40-latin-700italic.woff2      |  Bin 0 -> 18860 bytes
 .../resources/fonts/open-sans-v40-latin-800.woff2  |  Bin 0 -> 18644 bytes
 .../fonts/open-sans-v40-latin-800italic.woff2      |  Bin 0 -> 19056 bytes
 .../fonts/open-sans-v40-latin-italic.woff2         |  Bin 0 -> 19280 bytes
 .../fonts/open-sans-v40-latin-regular.woff2        |  Bin 0 -> 18668 bytes
 src/site/resources/glyphicons-halflings-2-1.zip    |  Bin 4101069 -> 0 bytes
 src/site/resources/images/log4j-logo.png           |  Bin 0 -> 71270 bytes
 .../resources/img/glyphicons-halflings-white.png   |  Bin 8777 -> 0 bytes
 src/site/resources/img/glyphicons-halflings.png    |  Bin 12799 -> 0 bytes
 src/site/resources/img/glyphicons/book.png         |  Bin 173 -> 0 bytes
 src/site/resources/img/glyphicons/cog.png          |  Bin 300 -> 0 bytes
 src/site/resources/img/glyphicons/home.png         |  Bin 235 -> 0 bytes
 src/site/resources/img/glyphicons/info.png         |  Bin 235 -> 0 bytes
 src/site/resources/img/glyphicons/layers.png       |  Bin 260 -> 0 bytes
 src/site/resources/img/glyphicons/link.png         |  Bin 233 -> 0 bytes
 src/site/resources/img/glyphicons/pencil.png       |  Bin 248 -> 0 bytes
 src/site/resources/img/glyphicons/tag.png          |  Bin 245 -> 0 bytes
 src/site/resources/logo/logo-2.9.1.png             |  Bin 31667 -> 0 bytes
 src/site/resources/logo/logo-2.9.1.xcf             |  Bin 63493 -> 0 bytes
 src/site/resources/logo/logo-3d-green-bg-2.png     |  Bin 33619 -> 0 bytes
 src/site/resources/logo/logo-3d-green-bg-2.xcf     |  Bin 58311 -> 0 bytes
 src/site/resources/logo/logo-3d-green-bg.png       |  Bin 32865 -> 0 bytes
 src/site/resources/logo/logo-3d-green-bg.xcf       |  Bin 58333 -> 0 bytes
 src/site/resources/logo/logo-big-blue-cup-2.10.png |  Bin 33655 -> 0 bytes
 src/site/resources/logo/logo-big-blue-cup-2.10.xcf |  Bin 59855 -> 0 bytes
 src/site/resources/logo/logo-big-blue-cup-2.9.png  |  Bin 33960 -> 0 bytes
 src/site/resources/logo/logo-big-blue-cup-2.9.xcf  |  Bin 59949 -> 0 bytes
 src/site/resources/logo/logo-big-blue-cup.xcf      |  Bin 60186 -> 0 bytes
 src/site/resources/logo/logo-big-blue.png          |  Bin 30347 -> 0 bytes
 src/site/resources/logo/logo-big-blue.xcf          |  Bin 55133 -> 0 bytes
 src/site/resources/logo/logo-blue-web-2.11.0.png   |  Bin 38475 -> 0 bytes
 src/site/resources/logo/logo-blue-web-2.11.0.xcf   |  Bin 65088 -> 0 bytes
 src/site/resources/logo/logo-blue-web-r2.6.png     |  Bin 38268 -> 0 bytes
 src/site/resources/logo/logo-blue-web-r2.6.xcf     |  Bin 64192 -> 0 bytes
 src/site/resources/logo/logo-blue-web.png          |  Bin 35254 -> 0 bytes
 src/site/resources/logo/logo-blue-web.xcf          |  Bin 63386 -> 0 bytes
 src/site/resources/logo/logo-chocolate-swirl-2.png |  Bin 31842 -> 0 bytes
 src/site/resources/logo/logo-chocolate-swirl-2.xcf |  Bin 58254 -> 0 bytes
 src/site/resources/logo/logo-chocolate-swirl.png   |  Bin 34753 -> 0 bytes
 src/site/resources/logo/logo-chocolate-swirl.xcf   |  Bin 64646 -> 0 bytes
 src/site/resources/logo/logo-craters-2.png         |  Bin 30522 -> 0 bytes
 src/site/resources/logo/logo-craters-2.xcf         |  Bin 58393 -> 0 bytes
 src/site/resources/logo/logo-craters.png           |  Bin 32590 -> 0 bytes
 src/site/resources/logo/logo-craters.xcf           |  Bin 58716 -> 0 bytes
 .../resources/logo/logo-electric-blue-2-2.8.2.png  |  Bin 40494 -> 0 bytes
 .../resources/logo/logo-electric-blue-2-2.8.2.xcf  |  Bin 67168 -> 0 bytes
 src/site/resources/logo/logo-electric-blue-2.xcf   |  Bin 66097 -> 0 bytes
 src/site/resources/logo/logo-electric-blue.png     |  Bin 31853 -> 0 bytes
 src/site/resources/logo/logo-electric-blue.xcf     |  Bin 58321 -> 0 bytes
 src/site/resources/logo/logo-granite-2.png         |  Bin 33714 -> 0 bytes
 src/site/resources/logo/logo-granite-2.xcf         |  Bin 58695 -> 0 bytes
 src/site/resources/logo/logo-granite.png           |  Bin 31959 -> 0 bytes
 src/site/resources/logo/logo-granite.xcf           |  Bin 58354 -> 0 bytes
 src/site/resources/logo/logo-ice.png               |  Bin 33947 -> 0 bytes
 src/site/resources/logo/logo-ice.xcf               |  Bin 64835 -> 0 bytes
 src/site/resources/logo/logo-java-1.png            |  Bin 33698 -> 0 bytes
 src/site/resources/logo/logo-java-1.xcf            |  Bin 58663 -> 0 bytes
 src/site/resources/logo/logo-java-2-2.6.2.png      |  Bin 40736 -> 0 bytes
 src/site/resources/logo/logo-java-2-2.6.2.xcf      |  Bin 66719 -> 0 bytes
 src/site/resources/logo/logo-java-2.png            |  Bin 36999 -> 0 bytes
 src/site/resources/logo/logo-java-2.xcf            |  Bin 64767 -> 0 bytes
 src/site/resources/logo/logo-java-3.png            |  Bin 33016 -> 0 bytes
 src/site/resources/logo/logo-java-3.xcf            |  Bin 58335 -> 0 bytes
 src/site/resources/logo/logo-leather-2.png         |  Bin 33766 -> 0 bytes
 src/site/resources/logo/logo-leather-2.xcf         |  Bin 58757 -> 0 bytes
 src/site/resources/logo/logo-leather.png           |  Bin 32668 -> 0 bytes
 src/site/resources/logo/logo-leather.xcf           |  Bin 58406 -> 0 bytes
 src/site/resources/logo/logo-lightning-2.6.1.png   |  Bin 41622 -> 0 bytes
 src/site/resources/logo/logo-lightning-2.6.1.xcf   |  Bin 65630 -> 0 bytes
 src/site/resources/logo/logo-lightning.png         |  Bin 38593 -> 0 bytes
 src/site/resources/logo/logo-lightning.xcf         |  Bin 64749 -> 0 bytes
 src/site/resources/logo/logo-marble-1.png          |  Bin 33208 -> 0 bytes
 src/site/resources/logo/logo-marble-1.xcf          |  Bin 64833 -> 0 bytes
 src/site/resources/logo/logo-paper-1.png           |  Bin 33016 -> 0 bytes
 src/site/resources/logo/logo-paper-1.xcf           |  Bin 58337 -> 0 bytes
 src/site/resources/logo/logo-paper-2.png           |  Bin 33082 -> 0 bytes
 src/site/resources/logo/logo-paper-2.xcf           |  Bin 58324 -> 0 bytes
 src/site/resources/logo/logo-parque-1.png          |  Bin 33676 -> 0 bytes
 src/site/resources/logo/logo-parque-1.xcf          |  Bin 58334 -> 0 bytes
 src/site/resources/logo/logo-parque-2.png          |  Bin 32530 -> 0 bytes
 src/site/resources/logo/logo-parque-2.xcf          |  Bin 58370 -> 0 bytes
 src/site/resources/logo/logo-parque-3.png          |  Bin 32927 -> 0 bytes
 src/site/resources/logo/logo-parque-3.xcf          |  Bin 58348 -> 0 bytes
 .../resources/logo/logo-pastel-stuff-2.8.1.png     |  Bin 40517 -> 0 bytes
 src/site/resources/logo/logo-pastel-stuff-2.png    |  Bin 33441 -> 0 bytes
 src/site/resources/logo/logo-pastel-stuff-2.xcf    |  Bin 58354 -> 0 bytes
 src/site/resources/logo/logo-pastel-stuff-3.png    |  Bin 33194 -> 0 bytes
 src/site/resources/logo/logo-pastel-stuff-3.xcf    |  Bin 58367 -> 0 bytes
 src/site/resources/logo/logo-pastel-stuff.png      |  Bin 37102 -> 0 bytes
 src/site/resources/logo/logo-pastel-stuff.xcf      |  Bin 66300 -> 0 bytes
 src/site/resources/logo/logo-pine.png              |  Bin 28260 -> 0 bytes
 src/site/resources/logo/logo-pine.xcf              |  Bin 61254 -> 0 bytes
 src/site/resources/logo/logo-pool-bottom-2.7.png   |  Bin 36964 -> 0 bytes
 src/site/resources/logo/logo-pool-bottom-bg.png    |  Bin 31480 -> 0 bytes
 src/site/resources/logo/logo-pool-bottom-bg.xcf    |  Bin 58386 -> 0 bytes
 src/site/resources/logo/logo-pool-bottom.png       |  Bin 33961 -> 0 bytes
 src/site/resources/logo/logo-pool-bottom.xcf       |  Bin 64819 -> 0 bytes
 src/site/resources/logo/logo-qbert.png             |  Bin 34606 -> 0 bytes
 src/site/resources/logo/logo-qbert.xcf             |  Bin 64777 -> 0 bytes
 src/site/resources/logo/logo-rain.png              |  Bin 34527 -> 0 bytes
 src/site/resources/logo/logo-rain.xcf              |  Bin 64686 -> 0 bytes
 src/site/resources/logo/logo-red-cubes.png         |  Bin 32485 -> 0 bytes
 src/site/resources/logo/logo-red-cubes.xcf         |  Bin 58334 -> 0 bytes
 src/site/resources/logo/logo-rocks.png             |  Bin 39238 -> 0 bytes
 src/site/resources/logo/logo-rocks.xcf             |  Bin 64798 -> 0 bytes
 src/site/resources/logo/logo-sky.png               |  Bin 33307 -> 0 bytes
 src/site/resources/logo/logo-sky.xcf               |  Bin 64206 -> 0 bytes
 src/site/resources/logo/logo-starfield.png         |  Bin 30603 -> 0 bytes
 src/site/resources/logo/logo-starfield.xcf         |  Bin 56479 -> 0 bytes
 src/site/resources/logo/logo-stone-2.8.png         |  Bin 42958 -> 0 bytes
 src/site/resources/logo/logo-stone-2.8.xcf         |  Bin 65661 -> 0 bytes
 src/site/resources/logo/logo-stone.png             |  Bin 39696 -> 0 bytes
 src/site/resources/logo/logo-stone.xcf             |  Bin 64755 -> 0 bytes
 src/site/resources/logo/logo-tree-bark.png         |  Bin 40313 -> 0 bytes
 src/site/resources/logo/logo-tree-bark.xcf         |  Bin 64751 -> 0 bytes
 src/site/resources/logo/logo-walnut.png            |  Bin 35644 -> 0 bytes
 src/site/resources/logo/logo-walnut.xcf            |  Bin 64852 -> 0 bytes
 src/site/resources/logo/logo-wood-1.png            |  Bin 34322 -> 0 bytes
 src/site/resources/logo/logo-wood-1.xcf            |  Bin 64867 -> 0 bytes
 src/site/resources/logo/logo-wood-2.png            |  Bin 33795 -> 0 bytes
 src/site/resources/logo/logo-wood-2.xcf            |  Bin 64846 -> 0 bytes
 src/site/resources/logo/logo-wood.png              |  Bin 37241 -> 0 bytes
 src/site/resources/logo/logo-wood.xcf              |  Bin 64930 -> 0 bytes
 src/site/resources/logo/logo.jpg                   |  Bin 14818 -> 0 bytes
 src/site/xdoc/guidelines.xml                       |  358 --
 src/site/xdoc/javastyle.xml                        |  806 ---
 src/site/xdoc/manual/api.xml                       |  173 -
 src/site/xdoc/manual/appenders.xml                 | 5543 --------------------
 src/site/xdoc/manual/architecture.xml              |  741 ---
 src/site/xdoc/manual/async.xml                     | 1002 ----
 src/site/xdoc/manual/configuration.xml.vm          | 2999 -----------
 src/site/xdoc/manual/customconfig.xml              |  378 --
 src/site/xdoc/manual/customloglevels.xml.vm        |  347 --
 src/site/xdoc/manual/extending.xml                 |  580 --
 src/site/xdoc/manual/filters.xml                   | 1059 ----
 src/site/xdoc/manual/garbagefree.xml               |  615 ---
 src/site/xdoc/manual/index.xml                     |  147 -
 src/site/xdoc/manual/jmx.xml.vm                    |  109 -
 src/site/xdoc/manual/layouts.xml.vm                | 2757 ----------
 src/site/xdoc/manual/logbuilder.xml                |  112 -
 src/site/xdoc/manual/logsep.xml                    |  125 -
 src/site/xdoc/manual/lookups.xml                   |  752 ---
 src/site/xdoc/manual/markers.xml                   |  109 -
 src/site/xdoc/manual/messages.xml                  |  332 --
 src/site/xdoc/manual/plugins.xml                   |  259 -
 src/site/xdoc/manual/thread-context.xml            |  217 -
 src/site/xdoc/manual/usage.xml                     |  258 -
 src/site/xdoc/manual/webapp.xml                    |  464 --
 src/site/xdoc/performance.xml                      |  468 --
 src/site/xdoc/runtime-dependencies.xml             |  445 --
 src/site/xdoc/thanks.xml                           |  134 -
 300 files changed, 26658 insertions(+), 24267 deletions(-)

diff --cc pom.xml
index feb520e4a4,dd40787ceb..632c58ffee
--- a/pom.xml
+++ b/pom.xml
@@@ -742,238 -735,16 +742,201 @@@
          </executions>
        </plugin>
  
 +      <!-- Download plugin descriptors -->
 +      <plugin>
 +        <groupId>org.apache.maven.plugins</groupId>
 +        <artifactId>maven-dependency-plugin</artifactId>
 +        <executions>
 +          <execution>
 +            <id>download-plugin-descriptors</id>
 +            <goals>
 +              <goal>copy</goal>
 +            </goals>
 +            <phase>pre-site</phase>
 +            <inherited>false</inherited>
 +            <configuration>
 +              <outputDirectory>${project.build.directory}/plugin-descriptors</outputDirectory>
 +              <artifactItems>
 +
 +                <artifactItem>
 +                  <groupId>org.apache.logging.log4j</groupId>
 +                  <artifactId>log4j-1.2-api</artifactId>
 +                  <version>${docgen.log4j.version}</version>
 +                  <type>xml</type>
 +                  <classifier>log4j-plugins</classifier>
 +                </artifactItem>
 +
 +                <artifactItem>
 +                  <groupId>org.apache.logging.log4j</groupId>
 +                  <artifactId>log4j-cassandra</artifactId>
 +                  <version>${docgen.log4j.version}</version>
 +                  <type>xml</type>
 +                  <classifier>log4j-plugins</classifier>
 +                </artifactItem>
 +
 +                <artifactItem>
 +                  <groupId>org.apache.logging.log4j</groupId>
 +                  <artifactId>log4j-core</artifactId>
 +                  <version>${docgen.log4j.version}</version>
 +                  <type>xml</type>
 +                  <classifier>log4j-plugins</classifier>
 +                </artifactItem>
 +
 +                <artifactItem>
 +                  <groupId>org.apache.logging.log4j</groupId>
 +                  <artifactId>log4j-couchdb</artifactId>
 +                  <version>${docgen.log4j.version}</version>
 +                  <type>xml</type>
 +                  <classifier>log4j-plugins</classifier>
 +                </artifactItem>
 +
 +                <artifactItem>
 +                  <groupId>org.apache.logging.log4j</groupId>
 +                  <artifactId>log4j-docker</artifactId>
 +                  <version>${docgen.log4j.version}</version>
 +                  <type>xml</type>
 +                  <classifier>log4j-plugins</classifier>
 +                </artifactItem>
 +
 +                <artifactItem>
 +                  <groupId>org.apache.logging.log4j</groupId>
 +                  <artifactId>log4j-flume-ng</artifactId>
 +                  <version>${docgen.log4j.version}</version>
 +                  <type>xml</type>
 +                  <classifier>log4j-plugins</classifier>
 +                </artifactItem>
 +
 +                <artifactItem>
 +                  <groupId>org.apache.logging.log4j</groupId>
 +                  <artifactId>log4j-jakarta-web</artifactId>
 +                  <version>${docgen.log4j.version}</version>
 +                  <type>xml</type>
 +                  <classifier>log4j-plugins</classifier>
 +                </artifactItem>
 +
 +                <artifactItem>
 +                  <groupId>org.apache.logging.log4j</groupId>
 +                  <artifactId>log4j-jdbc-dbcp2</artifactId>
 +                  <version>${docgen.log4j.version}</version>
 +                  <type>xml</type>
 +                  <classifier>log4j-plugins</classifier>
 +                </artifactItem>
 +
 +                <artifactItem>
 +                  <groupId>org.apache.logging.log4j</groupId>
 +                  <artifactId>log4j-jpa</artifactId>
 +                  <version>${docgen.log4j.version}</version>
 +                  <type>xml</type>
 +                  <classifier>log4j-plugins</classifier>
 +                </artifactItem>
 +
 +                <artifactItem>
 +                  <groupId>org.apache.logging.log4j</groupId>
 +                  <artifactId>log4j-layout-template-json</artifactId>
 +                  <version>${docgen.log4j.version}</version>
 +                  <type>xml</type>
 +                  <classifier>log4j-plugins</classifier>
 +                </artifactItem>
 +
 +                <artifactItem>
 +                  <groupId>org.apache.logging.log4j</groupId>
 +                  <artifactId>log4j-mongodb3</artifactId>
 +                  <version>${docgen.log4j.version}</version>
 +                  <type>xml</type>
 +                  <classifier>log4j-plugins</classifier>
 +                </artifactItem>
 +
 +                <artifactItem>
 +                  <groupId>org.apache.logging.log4j</groupId>
 +                  <artifactId>log4j-mongodb4</artifactId>
 +                  <version>${docgen.log4j.version}</version>
 +                  <type>xml</type>
 +                  <classifier>log4j-plugins</classifier>
 +                </artifactItem>
 +
 +                <artifactItem>
 +                  <groupId>org.apache.logging.log4j</groupId>
 +                  <artifactId>log4j-spring-boot</artifactId>
 +                  <version>${docgen.log4j.version}</version>
 +                  <type>xml</type>
 +                  <classifier>log4j-plugins</classifier>
 +                </artifactItem>
 +
 +              </artifactItems>
 +            </configuration>
 +          </execution>
 +        </executions>
 +      </plugin>
 +
 +      <plugin>
 +        <groupId>org.apache.logging.log4j</groupId>
 +        <artifactId>log4j-docgen-maven-plugin</artifactId>
 +        <version>${log4j-docgen.version}</version>
 +        <inherited>false</inherited>
 +
 +        <!-- Common docgen configuration -->
 +        <configuration>
 +          <descriptorFileMatchers>
 +            <descriptorFileMatcher>
 +              <baseDirectory>${project.build.directory}/plugin-descriptors</baseDirectory>
 +              <pathPatterns>glob:**/*.xml</pathPatterns>
 +            </descriptorFileMatcher>
 +          </descriptorFileMatchers>
 +          <typeFilter>
 +            <excludes>
 +              <exclude>java\..+</exclude>
 +            </excludes>
 +          </typeFilter>
 +        </configuration>
 +
 +        <executions>
 +
 +          <!-- Generate AsciiDoc from download plugin descriptors -->
 +          <execution>
 +            <id>generate-plugin-docs</id>
 +            <goals>
 +              <goal>generate-documentation</goal>
 +            </goals>
 +            <phase>pre-site</phase>
 +            <configuration>
 +              <templateDirectory>${project.basedir}/src/docgen-templates</templateDirectory>
 +              <indexTemplate>
 +                <source>index.adoc.ftl</source>
 +                <target>${project.build.directory}/generated-sources/site/asciidoc/plugin-reference.adoc</target>
 +              </indexTemplate>
 +              <typeTemplate>
 +                <source>type.adoc.ftl</source>
 +                <target>${project.build.directory}/generated-sources/site/asciidoc/plugin-reference/%g/%a/%c.adoc</target>
 +              </typeTemplate>
 +            </configuration>
 +          </execution>
 +
 +          <!-- Generate XSD from download plugin descriptors -->
 +          <execution>
 +            <id>generate-plugin-schema</id>
 +            <goals>
 +              <goal>generate-schema</goal>
 +            </goals>
 +            <phase>pre-site</phase>
 +            <configuration>
 +              <schemaFile>${project.build.directory}/generated-sources/site/resources/config.xsd</schemaFile>
 +            </configuration>
 +          </execution>
 +
 +        </executions>
 +
 +      </plugin>
 +
        <plugin>
-         <groupId>org.apache.maven.plugins</groupId>
-         <artifactId>maven-project-info-reports-plugin</artifactId>
-         <executions>
-           <execution>
-             <id>team-list</id>
-             <goals>
-               <goal>team</goal>
-             </goals>
-             <phase>site</phase>
-             <inherited>false</inherited>
-           </execution>
-         </executions>
-       </plugin>
- 
-       <plugin>
-         <groupId>org.apache.maven.plugins</groupId>
-         <artifactId>maven-site-plugin</artifactId>
-         <inherited>false</inherited>
-         <configuration combine.self="override">
-           <skip>false</skip>
-           <generateProjectInfo>false</generateProjectInfo>
-           <generateReports>false</generateReports>
-           <siteDirectory>${project.build.directory}/generated-sources/site</siteDirectory>
-           <locales>en</locales>
-           <!-- Exclude the navigation file for Maven 1 sites as it interferes with the site generation. -->
-           <moduleExcludes>
-             <xdoc>navigation.xml</xdoc>
-           </moduleExcludes>
-           <attributes>
-             <Log4jReleaseVersion>${revision}</Log4jReleaseVersion>
-           </attributes>
-         </configuration>
+         <groupId>org.asciidoctor</groupId>
+         <artifactId>asciidoctor-maven-plugin</artifactId>
          <dependencies>
            <dependency>
-             <groupId>org.asciidoctor</groupId>
-             <artifactId>asciidoctor-maven-plugin</artifactId>
-             <version>${asciidoctor-maven-plugin.version}</version>
+             <groupId>io.spring.asciidoctor</groupId>
+             <artifactId>spring-asciidoctor-extensions-block-switch</artifactId>
+             <version>0.6.3</version>
            </dependency>
          </dependencies>
-       </plugin>
- 
-       <!-- We (sadly) use `maven-site-plugin`, which handles AsciiDoc files.
-            Hence, skip the `asciidoctor-maven-plugin` redundant execution inherited from the parent. -->
-       <plugin>
-         <groupId>org.asciidoctor</groupId>
-         <artifactId>asciidoctor-maven-plugin</artifactId>
          <executions>
            <execution>
              <id>export-asciidoc-to-html</id>


(logging-log4j2) 10/11: Delete redundant `site.xml`

Posted by vy...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

vy pushed a commit to branch 2.x-docgen
in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git

commit 3340d025192861f10f3a746d83fa4b57f0fa4959
Author: Volkan Yazıcı <vo...@yazi.ci>
AuthorDate: Thu Mar 14 08:54:35 2024 +0100

    Delete redundant `site.xml`
---
 src/site/site.xml | 363 ------------------------------------------------------
 1 file changed, 363 deletions(-)

diff --git a/src/site/site.xml b/src/site/site.xml
deleted file mode 100644
index f8882530f6..0000000000
--- a/src/site/site.xml
+++ /dev/null
@@ -1,363 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to you under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~      http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  -->
-<project name="Log4j"
-         xmlns="http://maven.apache.org/DECORATION/1.4.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/DECORATION/1.4.0 http://maven.apache.org/xsd/decoration-1.4.0.xsd">
-
-  <bannerLeft>
-    <src>images/ls-logo.jpg</src>
-    <href>https://logging.apache.org</href>
-  </bannerLeft>
-  <bannerRight>
-    <src>images/logo.png</src>
-    <href>https://logging.apache.org/log4j/2.x</href>
-  </bannerRight>
-  <skin>
-    <groupId>org.apache.maven.skins</groupId>
-    <artifactId>maven-fluido-skin</artifactId>
-    <version>1.11.2</version>
-  </skin>
-  <body>
-    <links>
-      <item name="Logging Wiki" href="https://cwiki.apache.org/confluence/display/LOGGING/Log4j"/>
-      <item name="Apache" href="https://www.apache.org/"/>
-      <item name="Logging Services" href="https://logging.apache.org/"/>
-      <item name="GitHub" href="https://github.com/apache/logging-log4j2"/>
-    </links>
-
-    <menu name="Apache Log4j™ 2" inherit="top" img="img/glyphicons/home.png">
-      <item name="About" href="/index.html"/>
-      <item name="Download" href="/download.html"/>
-      <item name="Support" href="/support.html"/>
-      <item name="Maven, Ivy, Gradle Artifacts" href="/maven-artifacts.html" collapse="true">
-        <item name="Maven" href="/maven-artifacts.html#using-log4j-in-your-apache-maven-build" />
-        <item name="Ivy" href="/maven-artifacts.html#using-log4j-in-your-apache-ivy-build" />
-        <item name="Gradle" href="/maven-artifacts.html#using-log4j-in-your-gradle-build" />
-        <item name="SBT" href="/maven-artifacts.html#using-log4j-in-your-sbt-build" />
-        <item name="Maven Bill of Materials (BOM)" href="/maven-artifacts.html#maven-bill-of-materials-bom" />
-        <item name="CycloneDX Software Bill of Materials (SBOM)" href="/maven-artifacts.html#cyclonedx-software-bill-of-materials-sbom" />
-        <item name="Optional Components" href="/maven-artifacts.html#optional-components" />
-        <item name="Snapshot builds" href="/maven-artifacts.html#snapshot-builds" />
-      </item>
-      <item name="Release Notes" href="/release-notes.html"/>
-      <item name="FAQ" href="/faq.html"/>
-      <item name="Performance" href="/performance.html" collapse="true">
-        <item name="Benchmarks" href="/performance.html#benchmarks" />
-        <item name="Logging Library Comparison" href="/performance.html#loglibComparison" />
-        <item name="Async Logging Comparison" href="/performance.html#asyncLogging" />
-        <item name="Async Logging Latency" href="/performance.html#asyncLoggingResponseTime" />
-        <item name="Parameters" href="/performance.html#asyncLoggingWithParams" />
-        <item name="Location" href="/performance.html#asyncLoggingWithLocation" />
-        <item name="File Logging Comparison" href="/performance.html#fileLoggingComparison" />
-        <item name="Filtering Comparison" href="/performance.html#filtering" />
-        <item name="Trade-offs" href="/performance.html#tradeoffs" />
-      </item>
-      <item name="Articles and Tutorials" href="/articles.html"/>
-      <item name="Security" href="/security.html" collapse="true">
-        <item name="Getting support" href="/security.html#support" />
-        <item name="Reporting vulnerabilities" href="/security.html#reporting" />
-        <item name="Vulnerability handling policy" href="/security.html#policy" />
-        <item name="Vulnerability Disclosure Report (VDR)" href="/security.html#vdr" />
-        <item name="Known Vulnerabilities" href="/security.html#vulnerabilities" />
-      </item>
-    </menu>
-
-    <menu name="Manual" inherit="top" img="img/glyphicons/book.png">
-      <item name="Introduction" href="/manual/index.html"/>
-      <item name="Architecture" href="/manual/architecture.html"/>
-      <item name="API Separation" href="/manual/api-separation.html"/>
-
-      <item name="Log4j 1.x Migration" href="manual/migration.html" collapse="true">
-        <item name="Log4j 1.x Bridge" href="manual/migration.html#Log4j1.2Bridge"/>
-        <item name="Enabling the Bridge" href="manual/migration.html#EnablingLog4j1.2Bridge"/>
-        <item name="API Compatibility" href="manual/migration.html#APICompatibility"/>
-        <item name="Configuration Compatibility" href="manual/migration.html#ConfigurationCompatibility"/>
-        <item name="Bridge Limitations" href="manual/migration.html#Log4j1.2BridgeLimitations"/>
-        <item name="Migrating to the Log4j 2 API" href="manual/migration.html#Log4j2API"/>
-        <item name="Migrating to the Log4j 2 Configuration" href="manual/migration.html#Log4j2ConfigurationFormat"/>
-      </item>
-
-      <item name="Java API" href="/manual/api.html" collapse="true">
-        <item name="Log Builder" href="manual/logbuilder.html"/>
-        <item name="Flow Tracing" href="manual/flowtracing.html"/>
-        <item name="Markers" href="manual/markers.html"/>
-        <item name="Event Logging" href="/manual/eventlogging.html"/>
-        <item name="Messages" href="/manual/messages.html"/>
-        <item name="ThreadContext" href="/manual/thread-context.html"/>
-      </item>
-
-      <item name="Kotlin API" href="https://logging.apache.org/log4j/kotlin"/>
-      <item name="Scala API" href="https://logging.apache.org/log4j/scala"/>
-
-      <item name="Configuration" href="/manual/configuration.html" collapse="true">
-        <item name="Configuration Architecture" href="/manual/configuration.html#Architecture"/>
-        <item name="Arbiters" href="/manual/configuration.html#Arbiters"/>
-        <item name="Automatic Configuration" href="/manual/configuration.html#AutomaticConfiguration"/>
-        <item name="Additivity" href="/manual/configuration.html#Additivity"/>
-        <item name="Automatic Reconfiguration" href="/manual/configuration.html#AutomaticReconfiguration"/>
-        <item name="Chainsaw Support" href="/manual/configuration.html#ChainsawSupport"/>
-        <item name="Configuration Syntax" href="/manual/configuration.html#ConfigurationSyntax" />
-        <item name="XML Syntax" href="/manual/configuration.html#XML"/>
-        <item name="JSON Syntax" href="/manual/configuration.html#JSON"/>
-        <item name="YAML Syntax" href="/manual/configuration.html#YAML"/>
-        <item name="Properties Syntax" href="/manual/configuration.html#Properties"/>
-        <item name="Configuring Loggers" href="/manual/configuration.html#Loggers"/>
-        <item name="Configuring Appenders" href="/manual/configuration.html#Appenders"/>
-        <item name="Configuring Filters" href="/manual/configuration.html#Filters"/>
-        <item name="Property Substitution" href="/manual/configuration.html#PropertySubstitution"/>
-        <item name="Lookup Variables" href="/manual/configuration.html#RuntimeLookup"/>
-        <item name="Scripts" href="/manual/configuration.html#Scripts"/>
-        <item name="XInclude" href="/manual/configuration.html#XInclude"/>
-        <item name="Composite Configurations" href="/manual/configuration.html#CompositeConfiguration"/>
-        <item name="Status Messages" href="/manual/configuration.html#StatusMessages"/>
-        <item name="Unit Testing in Maven" href="/manual/configuration.html#UnitTestingInMaven"/>
-        <item name="System Properties" href="/manual/configuration.html#SystemProperties"/>
-      </item>
-
-      <item name="Usage" href="/manual/usage.html" collapse="true">
-        <item name="Static vs non-Static Loggers" href="/manual/usage.html#StaticVsNonStatic"/>
-        <item name="Logger Name vs Class Name" href="/manual/usage.html#LoggerVsClass"/>
-        <item name="Logging in the Cloud" href="/manual/cloud.html"/>
-      </item>
-
-      <item name="Web Applications and JSPs" href="/manual/webapp.html" collapse="true">
-        <item name="Servlet 3.0 and Newer" href="/manual/webapp.html#Servlet-3.0" />
-        <item name="Servlet 2.5" href="/manual/webapp.html#Servlet-2.5" />
-        <item name="Context Parameters" href="/manual/webapp.html#ContextParams" />
-        <item name="Configuration Lookups" href="/manual/webapp.html#WebLookup" />
-        <item name="JavaServer Pages Logging" href="/manual/webapp.html#JspLogging" />
-        <item name="Asynchronous Requests" href="/manual/webapp.html#Async" />
-      </item>
-
-      <item name="Lookups" href="/manual/lookups.html" collapse="true">
-        <item name="Context Map" href="/manual/lookups.html#ContextMapLookup"/>
-        <item name="Date" href="/manual/lookups.html#DateLookup"/>
-        <item name="Docker" href="manual/lookups.html#DockerLookup"/>
-        <item name="Environment" href="/manual/lookups.html#EnvironmentLookup"/>
-        <item name="Event" href="/manual/lookups.html#EventLookup"/>
-        <item name="Java" href="/manual/lookups.html#JavaLookup"/>
-        <item name="JNDI" href="/manual/lookups.html#JndiLookup"/>
-        <item name="JVM Arguments" href="/manual/lookups.html#JmxRuntimeInputArgumentsLookup"/>
-        <item name="Kubernetes" href="/manual/lookups.html#KubernetesLookup"/>
-        <item name="Log4j Config" href="/manual/lookups.html#Log4jConfigLookup"/>
-        <item name="Lower" href="/manual/lookups.html#LowerLookup"/>
-        <item name="Main Arguments" href="/manual/lookups.html#AppMainArgsLookup"/>
-        <item name="Map" href="/manual/lookups.html#MapLookup"/>
-        <item name="Spring" href="/manual/lookups.html#SpringLookup"/>
-        <item name="Structured Data" href="/manual/lookups.html#StructuredDataLookup"/>
-        <item name="System Properties" href="/manual/lookups.html#SystemPropertiesLookup"/>
-        <item name="Upper" href="/manual/lookups.html#UpperLookup"/>
-        <item name="Web" href="/manual/lookups.html#WebLookup"/>
-      </item>
-
-      <item name="Appenders" href="/manual/appenders.html" collapse="true">
-        <item name="Async" href="/manual/appenders.html#AsyncAppender"/>
-        <item name="Cassandra" href="/manual/appenders.html#CassandraAppender"/>
-        <item name="Console" href="/manual/appenders.html#ConsoleAppender"/>
-        <item name="Failover" href="/manual/appenders.html#FailoverAppender"/>
-        <item name="File" href="/manual/appenders.html#FileAppender"/>
-        <item name="Flume" href="/manual/appenders.html#FlumeAppender"/>
-        <item name="JDBC" href="/manual/appenders.html#JDBCAppender"/>
-        <item name="JMS" href="/manual/appenders.html#JMSAppender"/>
-        <item name="JPA" href="/manual/appenders.html#JPAAppender"/>
-        <item name="HTTP" href="/manual/appenders.html#HttpAppender"/>
-        <item name="Kafka" href="/manual/appenders.html#KafkaAppender"/>
-        <item name="Memory Mapped File" href="/manual/appenders.html#MemoryMappedFileAppender"/>
-        <item name="NoSQL" href="/manual/appenders.html#NoSQLAppender"/>
-        <item name="NoSQL for MongoDB" href="/manual/appenders.html#NoSQLAppenderMongoDB"/>
-        <item name="NoSQL for MongoDB 3" href="/manual/appenders.html#NoSQLAppenderMongoDB3"/>
-        <item name="NoSQL for MongoDB 4" href="/manual/appenders.html#NoSQLAppenderMongoDB4"/>
-        <item name="NoSQL for CouchDB" href="/manual/appenders.html#NoSQLAppenderCouchDB"/>
-        <item name="Output Stream" href="/manual/appenders.html#OutputStreamAppender"/>
-        <item name="Random Access File" href="/manual/appenders.html#RandomAccessFileAppender"/>
-        <item name="Rewrite" href="/manual/appenders.html#RewriteAppender"/>
-        <item name="Rolling File" href="/manual/appenders.html#RollingFileAppender"/>
-        <item name="Rolling Random Access File" href="/manual/appenders.html#RollingRandomAccessFileAppender"/>
-        <item name="Routing" href="/manual/appenders.html#RoutingAppender"/>
-        <item name="SMTP" href="/manual/appenders.html#SMTPAppender"/>
-        <item name="ScriptAppenderSelector" href="/manual/appenders.html#ScriptAppenderSelector"/>
-        <item name="Socket" href="/manual/appenders.html#SocketAppender"/>
-        <item name="SSL" href="/manual/appenders.html#SSL"/>
-        <item name="Syslog" href="/manual/appenders.html#SyslogAppender"/>
-        <item name="ZeroMQ/JeroMQ" href="/manual/appenders.html#JeroMQAppender"/>
-      </item>
-
-      <item name="Layouts" href="/manual/layouts.html" collapse="true">
-        <item name="CSV" href="/manual/layouts.html#CSVLayouts"/>
-        <item name="GELF" href="/manual/layouts.html#GELFLayout"/>
-        <item name="HTML" href="/manual/layouts.html#HTMLLayout"/>
-        <item name="JSON" href="/manual/layouts.html#JSONLayout"/>
-        <item name="JSON Template" href="/manual/json-template-layout.html"/>
-        <item name="Pattern" href="/manual/layouts.html#PatternLayout"/>
-        <item name="RFC-5424" href="/manual/layouts.html#RFC5424Layout"/>
-        <item name="Serialized" href="/manual/layouts.html#SerializedLayout"/>
-        <item name="Syslog" href="/manual/layouts.html#SyslogLayout"/>
-        <item name="XML" href="/manual/layouts.html#XMLLayout"/>
-        <item name="YAML" href="/manual/layouts.html#YamlLayout"/>
-        <item name="Location Information" href="/manual/layouts.html#LocationInformation"/>
-      </item>
-
-      <item name="Filters" href="/manual/filters.html" collapse="true">
-        <item name="Burst" href="/manual/filters.html#BurstFilter"/>
-        <item name="Composite Filter" href="/manual/filters.html#CompositeFilter"/>
-        <item name="Dynamic Threshold" href="/manual/filters.html#DynamicThresholdFilter"/>
-        <item name="Map" href="/manual/filters.html#MapFilter"/>
-        <item name="Marker" href="/manual/filters.html#MarkerFilter"/>
-        <item name="Regex" href="/manual/filters.html#RegexFilter"/>
-        <item name="Script" href="/manual/filters.html#Script"/>
-        <item name="Structured Data" href="/manual/filters.html#StructuredDataFilter"/>
-        <item name="Thread Context Map" href="/manual/filters.html#ThreadContextMapFilter"/>
-        <item name="Threshold" href="/manual/filters.html#ThresholdFilter"/>
-        <item name="Time" href="/manual/filters.html#TimeFilter"/>
-      </item>
-
-      <item name="Async Loggers" href="/manual/async.html" collapse="true">
-        <item name="Trade-offs" href="/manual/async.html#Trade-offs"/>
-        <item name="All Loggers Async" href="/manual/async.html#AllAsync"/>
-        <item name="Mixed Sync &amp; Async" href="/manual/async.html#MixedSync-Async"/>
-        <item name="WaitStrategy" href="/manual/async.html#WaitStrategy"/>
-        <item name="Location" href="/manual/async.html#Location"/>
-        <item name="Performance" href="/manual/async.html#Performance"/>
-        <item name="Under The Hood" href="/manual/async.html#UnderTheHood"/>
-      </item>
-
-      <item name="Garbage-free Logging" href="/manual/garbagefree.html" collapse="true">
-        <item name="Configuration" href="/manual/garbagefree.html#Config"/>
-        <item name="Supported Appenders" href="/manual/garbagefree.html#Appenders"/>
-        <item name="Supported Layouts" href="/manual/garbagefree.html#Layouts"/>
-        <item name="Supported Filters" href="/manual/garbagefree.html#Filters"/>
-        <item name="API Changes" href="/manual/garbagefree.html#api"/>
-        <item name="Impact on Application Code" href="/manual/garbagefree.html#codeImpact"/>
-        <item name="Performance" href="/manual/garbagefree.html#Performance"/>
-        <item name="Under the Hood" href="/manual/garbagefree.html#UnderTheHood"/>
-      </item>
-
-      <item name="JMX" href="/manual/jmx.html"/>
-      <item name="Logging Separation" href="/manual/logsep.html"/>
-
-      <item name="Extending Log4j" href="/manual/extending.html" collapse="true">
-        <item name="LoggerContextFactory" href="/manual/extending.html#LoggerContextFactory"/>
-        <item name="ContextSelector" href="/manual/extending.html#ContextSelector"/>
-        <item name="ConfigurationFactory" href="/manual/extending.html#ConfigurationFactory"/>
-        <item name="LoggerConfig" href="/manual/extending.html#LoggerConfig"/>
-        <item name="LogEventFactory" href="/manual/extending.html#LogEventFactory"/>
-        <item name="MessageFactory" href="/manual/extending.html#MessageFactory"/>
-        <item name="Lookups" href="/manual/extending.html#Lookups"/>
-        <item name="Filters" href="/manual/extending.html#Filters"/>
-        <item name="Appenders" href="/manual/extending.html#Appenders"/>
-        <item name="Layouts" href="/manual/extending.html#Layouts"/>
-        <item name="PatternConverters" href="/manual/extending.html#PatternConverters"/>
-        <item name="Plugin Builders" href="/manual/extending.html#Plugin_Builders"/>
-        <item name="Custom ContextDataProvider" href="/manual/extending.html#ContextDataProvider"/>
-        <item name="Custom Plugins" href="/manual/extending.html#Custom_Plugins"/>
-      </item>
-
-      <item name="Plugins" href="/manual/plugins.html" collapse="true">
-        <item name="Core" href="/manual/plugins.html#Core"/>
-        <item name="Converters" href="/manual/plugins.html#Converters"/>
-        <item name="Key Providers" href="/manual/plugins.html#KeyProviders"/>
-        <item name="Lookups" href="/manual/plugins.html#Lookups"/>
-        <item name="Type Converters" href="/manual/plugins.html#TypeConverters"/>
-        <item name="Developer Notes" href="/manual/plugins.html#DeveloperNotes"/>
-      </item>
-
-      <item name="Plugin reference" href="/plugin-reference.html"/>
-
-      <item name="Programmatic Log4j Configuration" href="/manual/customconfig.html" collapse="true">
-        <item name="ConfigurationBuilder API" href="/manual/customconfig.html#ConfigurationBuilder"/>
-        <item name="Understanding ConfigurationFactory" href="/manual/customconfig.html#ConfigurationFactory"/>
-        <item name="Example" href="/manual/customconfig.html#Example"/>
-        <item name="Using Configurator" href="/manual/customconfig.html#Configurator"/>
-        <item name="Config File and Code" href="/manual/customconfig.html#Hybrid"/>
-        <item name="After Initialization" href="/manual/customconfig.html#AddingToCurrent"/>
-        <item name="Appending to Writers &amp; OutputStreams" href="/manual/customconfig.html#AppendingToWritersAndOutputStreams"/>
-      </item>
-
-      <item name="Custom Log Levels" href="/manual/customloglevels.html" collapse="true">
-        <item name="In Code" href="/manual/customloglevels.html#DefiningLevelsInCode"/>
-        <item name="In Configuration" href="/manual/customloglevels.html#DefiningLevelsInConfiguration"/>
-        <item name="Adding or Replacing Levels" href="/manual/customloglevels.html#AddingOrReplacingLevels"/>
-        <item name="Custom Loggers" href="/manual/customloglevels.html#CustomLoggers"/>
-        <item name="Custom Logger Example" href="/manual/customloglevels.html#ExampleUsage"/>
-        <item name="Code Generation Tool" href="/manual/customloglevels.html#CodeGen"/>
-      </item>
-
-    </menu>
-
-    <menu name="For Contributors" inherit="top" img="img/glyphicons/pencil.png">
-      <item name="Guidelines" href="/guidelines.html"/>
-      <item name="Style Guide" href="/javastyle.html"/>
-    </menu>
-
-    <menu name="Components" inherit="top" img="img/glyphicons/cog.png">
-      <item name="API" href="log4j-api.html"/>
-      <item name="Commons Logging Bridge" href="log4j-jcl.html"/>
-      <item name="Log4j 1.2 API" href="log4j-1.2-api.html"/>
-      <item name="SLF4J Binding" href="log4j-slf4j-impl.html"/>
-      <item name="JUL Adapter" href="log4j-jul.html"/>
-      <item name="JDK Platform Logger" href="log4j-jpl.html"/>
-      <item name="Log4j 2 to SLF4J Adapter" href="log4j-to-slf4j.html"/>
-      <item name="Apache Flume Appender" href="log4j-flume-ng.html"/>
-      <item name="Log4j Tag Library" href="log4j-taglib.html"/>
-      <item name="Log4j JMX GUI" href="log4j-jmx-gui.html"/>
-      <item name="Log4j Web Application Support" href="log4j-web.html"/>
-      <item name="Log4j Jakarta Web Application Support" href="log4j-jakarta-web.html"/>
-      <item name="Log4j Application Server Integration" href="log4j-appserver.html"/>
-      <item name="Log4j CouchDB appender" href="log4j-couchdb.html"/>
-      <item name="Log4j MongoDB3 appender" href="log4j-mongodb3.html"/>
-      <item name="Log4j MongoDB4 appender" href="log4j-mongodb4.html"/>
-      <item name="Log4j Cassandra appender" href="log4j-cassandra.html"/>
-      <item name="Log4j IO Streams" href="log4j-iostreams.html"/>
-      <item name="Log4j Docker Support" href="log4j-docker.html"/>
-      <item name="Log4j Kubernetes Support" href="log4j-kubernetes.html"/>
-      <item name="Log4j Spring Boot" href="log4j-spring-boot.html"/>
-      <item name="Log4j Spring Cloud Config Client" href="log4j-spring-cloud-config-client.html"/>
-    </menu>
-
-    <menu name="Related Projects" inherit="top" img="img/glyphicons/tag.png">
-      <!-- In AB order for simplicity -->
-      <item name="Chainsaw" href="https://logging.apache.org/chainsaw/2.x/index.html"/>
-      <item name="Log4Cxx" href="https://logging.apache.org/log4cxx/latest_stable/index.html"/>
-      <item name="Log4j Audit" href="https://logging.apache.org/log4j-audit/latest/index.html"/>
-      <item name="Log4j Kotlin" href="https://logging.apache.org/log4j/kotlin"/>
-      <item name="Log4j Scala" href="https://logging.apache.org/log4j/scala"/>
-      <item name="Log4j Transform" href="https://logging.apache.org/log4j/transform"/>
-      <item name="Log4Net" href="https://logging.apache.org/log4net/index.html"/>
-    </menu>
-
-    <menu name="Legacy Sites" inherit="top" img="img/glyphicons/link.png">
-      <item name="Log4j 2.12.4 - Java 7" href="https://logging.apache.org/log4j/log4j-2.12.4/"/>
-      <item name="Log4j 2.3.2 - Java 6" href="https://logging.apache.org/log4j/log4j-2.3.2/"/>
-      <item name="Log4j 1.2 - End of Life" href="https://logging.apache.org/log4j/1.2/"/>
-    </menu>
-
-    <menu name="Project Information" img="img/glyphicons/info.png">
-      <item name="Project Team" href="/team.html" />
-      <item name="Project License" href="https://www.apache.org/licenses/LICENSE-2.0" />
-      <item name="Source Repository" href="https://github.com/apache/logging-log4j2" />
-      <item name="Runtime Dependencies" href="/runtime-dependencies.html"/>
-      <item name="Javadoc" href="/javadoc.html"/>
-      <item name="Thanks" href="/thanks.html"/>
-    </menu>
-
-    <footer><![CDATA[<p align="center">Copyright &copy; ${project.inceptionYear}-${currentYear} <a class="external" href="https://www.apache.org">The Apache Software Foundation</a>. All Rights Reserved.<br>
-      Apache Logging, Apache Log4j, Log4j, Apache, the Apache feather logo, and the Apache Logging project logo are trademarks of The Apache Software Foundation.</p>]]>
-    </footer>
-  </body>
-</project>


(logging-log4j2) 02/11: Merge remote-tracking branch 'origin/2.x' into 2.x-docgen

Posted by vy...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

vy pushed a commit to branch 2.x-docgen
in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git

commit 621288234b88a58aa9567e91c43e7e9fabaffaeb
Merge: 4b8a03158c c5420410df
Author: Volkan Yazıcı <vo...@yazi.ci>
AuthorDate: Fri Mar 1 18:04:01 2024 +0100

    Merge remote-tracking branch 'origin/2.x' into 2.x-docgen

 .github/workflows/scorecards-analysis.yaml         |  2 +-
 log4j-1.2-api/.log4j-plugin-processing-activator   |  1 -
 log4j-1.2-api/pom.xml                              | 28 ++++++--
 .../log4j/status/StatusLoggerLevelTest.java        | 82 +++++++++++++++++++++
 .../apache/logging/log4j/status/StatusLogger.java  | 21 ++++--
 log4j-cassandra/.log4j-plugin-processing-activator |  1 -
 log4j-cassandra/pom.xml                            | 26 +++++--
 log4j-core-java9/pom.xml                           |  2 -
 log4j-core-test/.log4j-plugin-processing-activator |  1 -
 log4j-core-test/pom.xml                            | 20 ++++--
 log4j-core/pom.xml                                 | 72 +++----------------
 .../appender/rolling/action/ScriptCondition.java   |  4 +-
 log4j-couchdb/.log4j-plugin-processing-activator   |  1 -
 log4j-couchdb/pom.xml                              | 26 +++++--
 log4j-docker/.log4j-plugin-processing-activator    |  1 -
 log4j-docker/pom.xml                               | 32 +++++++--
 log4j-flume-ng/.log4j-plugin-processing-activator  |  1 -
 log4j-flume-ng/pom.xml                             | 29 ++++++--
 .../.log4j-plugin-processing-activator             |  1 -
 log4j-jakarta-web/pom.xml                          | 26 ++++++-
 .../.log4j-plugin-processing-activator             |  1 -
 log4j-jdbc-dbcp2/pom.xml                           | 26 +++++--
 log4j-jpa/.log4j-plugin-processing-activator       |  1 -
 log4j-jpa/pom.xml                                  | 25 +++++--
 log4j-kubernetes/pom.xml                           | 29 ++++++--
 log4j-layout-template-json-test/pom.xml            | 17 ++++-
 .../.log4j-plugin-processing-activator             |  1 -
 log4j-layout-template-json/pom.xml                 | 40 ++++++++++-
 log4j-mongodb3/.log4j-plugin-processing-activator  |  1 -
 log4j-mongodb3/pom.xml                             | 23 ++++--
 log4j-mongodb4/.log4j-plugin-processing-activator  |  1 -
 log4j-mongodb4/pom.xml                             | 23 ++++--
 log4j-osgi-test/.log4j-plugin-processing-activator |  1 -
 log4j-osgi-test/pom.xml                            | 29 +++++---
 log4j-parent/pom.xml                               | 83 +---------------------
 .../.log4j-plugin-processing-activator             |  1 -
 log4j-spring-boot/pom.xml                          | 29 ++++++--
 log4j-web/pom.xml                                  | 27 ++++++-
 ...verflow.xml => fix_StatusLogger_debug_mode.xml} |  3 +-
 .../.2.x.x/fix_StatusLogger_instant_formatting.xml |  1 +
 .../.2.x.x/fix_StatusLogger_stack_overflow.xml     |  1 +
 .../.2.x.x/update_github_codeql_action.xml         |  4 +-
 ..._jakarta_activation_jakarta_activation_api.xml} |  4 +-
 src/docgen-templates/license.adoc.ftl              | 16 -----
 src/site/_release-notes/_2.x.x.adoc                |  9 ++-
 src/site/resources/plugin-reference.html           | 26 -------
 src/site/site.xml                                  |  2 -
 47 files changed, 509 insertions(+), 292 deletions(-)


(logging-log4j2) 04/11: Bring back files reverted by mistake

Posted by vy...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

vy pushed a commit to branch 2.x-docgen
in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git

commit ef3f28b5424f19e6da739adeab45ca191a8a9c2c
Author: Volkan Yazıcı <vo...@yazi.ci>
AuthorDate: Mon Mar 11 22:34:30 2024 +0100

    Bring back files reverted by mistake
---
 log4j-1.2-api/.log4j-plugin-processing-activator   |  1 +
 log4j-1.2-api/pom.xml                              | 28 ++------
 log4j-cassandra/.log4j-plugin-processing-activator |  1 +
 log4j-cassandra/pom.xml                            | 26 ++-----
 log4j-core-java9/pom.xml                           |  2 +
 log4j-core-test/.log4j-plugin-processing-activator |  1 +
 log4j-core-test/pom.xml                            | 20 ++----
 log4j-core/pom.xml                                 | 72 ++++++++++++++++---
 .../appender/rolling/action/ScriptCondition.java   |  4 +-
 log4j-couchdb/.log4j-plugin-processing-activator   |  1 +
 log4j-couchdb/pom.xml                              | 26 ++-----
 log4j-docker/.log4j-plugin-processing-activator    |  1 +
 log4j-docker/pom.xml                               | 32 ++-------
 log4j-flume-ng/.log4j-plugin-processing-activator  |  1 +
 log4j-flume-ng/pom.xml                             | 29 ++------
 .../.log4j-plugin-processing-activator             |  1 +
 log4j-jakarta-web/pom.xml                          | 26 +------
 .../.log4j-plugin-processing-activator             |  1 +
 log4j-jdbc-dbcp2/pom.xml                           | 26 ++-----
 log4j-jpa/.log4j-plugin-processing-activator       |  1 +
 log4j-jpa/pom.xml                                  | 25 ++-----
 log4j-kubernetes/pom.xml                           | 29 ++------
 log4j-layout-template-json-test/pom.xml            | 17 +----
 .../.log4j-plugin-processing-activator             |  1 +
 log4j-layout-template-json/pom.xml                 | 40 +----------
 log4j-mongodb3/.log4j-plugin-processing-activator  |  1 +
 log4j-mongodb3/pom.xml                             | 23 ++----
 log4j-mongodb4/.log4j-plugin-processing-activator  |  1 +
 log4j-mongodb4/pom.xml                             | 23 ++----
 log4j-osgi-test/.log4j-plugin-processing-activator |  1 +
 log4j-osgi-test/pom.xml                            | 29 +++-----
 log4j-parent/pom.xml                               | 81 ++++++++++++++++++++++
 .../.log4j-plugin-processing-activator             |  1 +
 log4j-spring-boot/pom.xml                          | 29 ++------
 log4j-web/pom.xml                                  | 27 +-------
 src/site/_release-notes/_2.x.x.adoc                |  5 +-
 src/site/site.xml                                  |  2 +
 37 files changed, 241 insertions(+), 394 deletions(-)

diff --git a/log4j-1.2-api/.log4j-plugin-processing-activator b/log4j-1.2-api/.log4j-plugin-processing-activator
new file mode 100644
index 0000000000..ba133f3696
--- /dev/null
+++ b/log4j-1.2-api/.log4j-plugin-processing-activator
@@ -0,0 +1 @@
+This file is here to activate the `plugin-processing` Maven profile.
diff --git a/log4j-1.2-api/pom.xml b/log4j-1.2-api/pom.xml
index 58c18dd5bc..b9f286d49a 100644
--- a/log4j-1.2-api/pom.xml
+++ b/log4j-1.2-api/pom.xml
@@ -16,17 +16,21 @@
   ~ limitations under the License.
   -->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
   <modelVersion>4.0.0</modelVersion>
+
   <parent>
     <groupId>org.apache.logging.log4j</groupId>
     <artifactId>log4j</artifactId>
     <version>${revision}</version>
     <relativePath>../log4j-parent</relativePath>
   </parent>
+
   <artifactId>log4j-1.2-api</artifactId>
-  <packaging>jar</packaging>
+
   <name>Apache Log4j 1.x Compatibility API</name>
   <description>The Apache Log4j 1.x Compatibility API</description>
+
   <properties>
     <module.name>org.apache.log4j</module.name>
 
@@ -45,6 +49,7 @@
     <Fragment-Host>org.apache.logging.log4j.core</Fragment-Host>
     <!-- we have an `bnd.bnd` file to override the parent's defaults -->
   </properties>
+
   <dependencies>
     <!-- Used for JMS appenders (needs an implementation of course) -->
     <dependency>
@@ -138,27 +143,6 @@
     </dependency>
   </dependencies>
 
-  <build>
-    <plugins>
-
-      <!-- Enable Log4j plugin processing -->
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-compiler-plugin</artifactId>
-        <configuration>
-          <annotationProcessorPaths combine.children="append">
-            <path>
-              <groupId>org.apache.logging.log4j</groupId>
-              <artifactId>log4j-core</artifactId>
-              <version>${project.version}</version>
-            </path>
-          </annotationProcessorPaths>
-        </configuration>
-      </plugin>
-
-    </plugins>
-  </build>
-
   <profiles>
 
     <!-- Fixes incompatible with Java 8 -->
diff --git a/log4j-cassandra/.log4j-plugin-processing-activator b/log4j-cassandra/.log4j-plugin-processing-activator
new file mode 100644
index 0000000000..ba133f3696
--- /dev/null
+++ b/log4j-cassandra/.log4j-plugin-processing-activator
@@ -0,0 +1 @@
+This file is here to activate the `plugin-processing` Maven profile.
diff --git a/log4j-cassandra/pom.xml b/log4j-cassandra/pom.xml
index f0ae5007f2..a248ca734b 100644
--- a/log4j-cassandra/pom.xml
+++ b/log4j-cassandra/pom.xml
@@ -16,7 +16,9 @@
   ~ limitations under the License.
   -->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
   <modelVersion>4.0.0</modelVersion>
+
   <parent>
     <groupId>org.apache.logging.log4j</groupId>
     <artifactId>log4j</artifactId>
@@ -25,8 +27,10 @@
   </parent>
 
   <artifactId>log4j-cassandra</artifactId>
+
   <name>Apache Log4j Cassandra</name>
   <description>Cassandra appender for Log4j.</description>
+
   <properties>
 
     <!--
@@ -108,26 +112,4 @@
     </dependency>
   </dependencies>
 
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-compiler-plugin</artifactId>
-        <configuration>
-          <!--
-            ~ Modules that contain `log4j-core` plugins, must be compiled with:
-            ~
-            ~   org.apache.logging.log4j.core.config.plugins.processor.PluginProcessor
-            -->
-          <annotationProcessorPaths combine.children="append">
-            <path>
-              <groupId>org.apache.logging.log4j</groupId>
-              <artifactId>log4j-core</artifactId>
-              <version>${project.version}</version>
-            </path>
-          </annotationProcessorPaths>
-        </configuration>
-      </plugin>
-    </plugins>
-  </build>
 </project>
diff --git a/log4j-core-java9/pom.xml b/log4j-core-java9/pom.xml
index 6b6c0e0b25..bf1d9dc9ea 100644
--- a/log4j-core-java9/pom.xml
+++ b/log4j-core-java9/pom.xml
@@ -30,6 +30,8 @@
   <properties>
     <maven.compiler.release>9</maven.compiler.release>
     <maven.deploy.skip>true</maven.deploy.skip>
+    <maven.install.skip>true</maven.install.skip>
+    <sign.skip>true</sign.skip>
   </properties>
   <dependencies>
     <!-- Naturally, all implementations require the log4j-api JAR -->
diff --git a/log4j-core-test/.log4j-plugin-processing-activator b/log4j-core-test/.log4j-plugin-processing-activator
new file mode 100644
index 0000000000..ba133f3696
--- /dev/null
+++ b/log4j-core-test/.log4j-plugin-processing-activator
@@ -0,0 +1 @@
+This file is here to activate the `plugin-processing` Maven profile.
diff --git a/log4j-core-test/pom.xml b/log4j-core-test/pom.xml
index 1155ed9989..ac718f0e72 100644
--- a/log4j-core-test/pom.xml
+++ b/log4j-core-test/pom.xml
@@ -16,7 +16,9 @@
   ~ limitations under the License.
   -->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
   <modelVersion>4.0.0</modelVersion>
+
   <parent>
     <groupId>org.apache.logging.log4j</groupId>
     <artifactId>log4j</artifactId>
@@ -25,9 +27,10 @@
   </parent>
 
   <artifactId>log4j-core-test</artifactId>
-  <packaging>jar</packaging>
+
   <name>Apache Log4j Core Tests</name>
   <description>The Apache Log4j Implementation Tests</description>
+
   <properties>
     <!-- Ignore less important (high rank) bugs for test artifacts -->
     <spotbugs.maxRank>9</spotbugs.maxRank>
@@ -351,21 +354,6 @@
   <build>
     <plugins>
 
-      <!-- Enable Log4j plugin processing -->
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-compiler-plugin</artifactId>
-        <configuration>
-          <annotationProcessorPaths combine.children="append">
-            <path>
-              <groupId>org.apache.logging.log4j</groupId>
-              <artifactId>log4j-core</artifactId>
-              <version>${project.version}</version>
-            </path>
-          </annotationProcessorPaths>
-        </configuration>
-      </plugin>
-
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-surefire-plugin</artifactId>
diff --git a/log4j-core/pom.xml b/log4j-core/pom.xml
index 4fa7392c89..0f51b1e488 100644
--- a/log4j-core/pom.xml
+++ b/log4j-core/pom.xml
@@ -16,20 +16,28 @@
   ~ limitations under the License.
   -->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
   <modelVersion>4.0.0</modelVersion>
+
   <parent>
     <groupId>org.apache.logging.log4j</groupId>
     <artifactId>log4j</artifactId>
     <version>${revision}</version>
     <relativePath>../log4j-parent</relativePath>
   </parent>
+
   <artifactId>log4j-core</artifactId>
-  <packaging>jar</packaging>
+
   <name>Apache Log4j Core</name>
   <description>The Apache Log4j Implementation</description>
+
   <properties>
+
     <javadoc.skip>false</javadoc.skip>
 
+    <!-- Tests are located elsewhere, no need to do any processing for the `src/test` directory: -->
+    <maven.test.skip>true</maven.test.skip>
+
     <!--
       ~ OSGi and JPMS options
       -->
@@ -82,6 +90,7 @@
       javax.mail.api;substitute="javax.mail-api";transitive=false;static=true
     </bnd-extra-module-options>
   </properties>
+
   <dependencies>
     <dependency>
       <groupId>javax.activation</groupId>
@@ -200,6 +209,7 @@
       <optional>true</optional>
     </dependency>
   </dependencies>
+
   <build>
     <plugins>
 
@@ -207,6 +217,8 @@
         <groupId>org.codehaus.mojo</groupId>
         <artifactId>build-helper-maven-plugin</artifactId>
         <executions>
+
+          <!-- Add Java 9+ code for the MRJ -->
           <execution>
             <id>add-source</id>
             <goals>
@@ -219,36 +231,74 @@
               </sources>
             </configuration>
           </execution>
+
+          <!-- Attach the generated `log4j-plugins.xml` -->
+          <execution>
+            <id>attach-plugin-descriptor</id>
+            <goals>
+              <goal>attach-artifact</goal>
+            </goals>
+            <phase>package</phase>
+            <configuration>
+              <artifacts>
+                <artifact>
+                  <file>${project.build.directory}/log4j-plugins.xml</file>
+                  <type>xml</type>
+                  <classifier>log4j-plugins</classifier>
+                </artifact>
+              </artifacts>
+            </configuration>
+          </execution>
+
         </executions>
       </plugin>
 
+      <!-- We can't use `plugin-processing` Maven profile activated by `.log4j-plugin-processing-activator` file, because...
+           `log4j-core` contains `PluginProcessor`, that is responsible for generating `META-INF/org/apache/.../Log4j2Plugins.dat` from `@Plugin`-annotated members.
+           `log4j-core` also contains `@Plugin`-annotated members too.
+           That is, we need `log4j-core` to build `log4j-core`.
+           To work around this chicken-and-egg problem, we build as follows:
+
+           1. Compile sources using the `default-compile` default compilation execution.
+              This will generate the `PluginProcessor` class.
+
+           2. Make a second compilation pass using the generated `PluginProcessor`. -->
       <plugin>
         <artifactId>maven-compiler-plugin</artifactId>
-        <configuration>
-          <annotationProcessorPaths combine.self="override" />
-        </configuration>
         <executions>
+
+          <!-- Compile sources as usual -->
           <execution>
-            <!-- disable annotation processing for first pass -->
             <id>default-compile</id>
             <configuration>
-              <annotationProcessorPaths>
+              <annotationProcessorPaths combine.children="append">
+                <!-- `org.apache.logging.log4j.docgen.processor.DescriptorGenerator` for generating `log4j-plugins.xml`: -->
                 <path>
-                  <groupId>com.google.errorprone</groupId>
-                  <artifactId>error_prone_core</artifactId>
-                  <version>${error-prone.version}</version>
+                  <groupId>org.apache.logging.log4j</groupId>
+                  <artifactId>log4j-docgen</artifactId>
+                  <version>${log4j-docgen.version}</version>
                 </path>
               </annotationProcessorPaths>
+              <compilerArgs combine.children="append">
+                <!-- Provide `org.apache.logging.log4j.docgen.processor.DescriptorGenerator` arguments: -->
+                <arg>-Alog4j.docgen.descriptorFilePath=${project.build.directory}/log4j-plugins.xml</arg>
+                <arg>-Alog4j.docgen.groupId=${project.groupId}</arg>
+                <arg>-Alog4j.docgen.artifactId=${project.artifactId}</arg>
+                <arg>-Alog4j.docgen.version=${project.version}</arg>
+                <arg>-Alog4j.docgen.description=${project.description}</arg>
+              </compilerArgs>
             </configuration>
           </execution>
+
+          <!-- Process sources using `PluginProcessor` to generate `META-INF/org/apache/.../Log4j2Plugins.dat` -->
           <execution>
-            <!-- then do a processing-only pass to generate plugins .dat file -->
             <id>process-plugins</id>
             <goals>
               <goal>compile</goal>
             </goals>
             <phase>process-classes</phase>
             <configuration>
+              <annotationProcessorPaths combine.self="override" />
               <annotationProcessors>
                 <processor>org.apache.logging.log4j.core.config.plugins.processor.PluginProcessor</processor>
               </annotationProcessors>
@@ -256,6 +306,7 @@
               <proc>only</proc>
             </configuration>
           </execution>
+
         </executions>
       </plugin>
 
@@ -291,4 +342,5 @@
 
     </plugins>
   </build>
+
 </project>
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/ScriptCondition.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/ScriptCondition.java
index 87e439a5f2..3519980c2a 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/ScriptCondition.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/ScriptCondition.java
@@ -89,8 +89,8 @@ public class ScriptCondition {
      *            <li>pathList - a {@code java.util.List} containing {@link org.apache.logging.log4j.core.appender.rolling.action.PathWithAttributes} objects. (The script is
      *            free to modify and return this list.)</li>
      *            <li>substitutor - a {@link org.apache.logging.log4j.core.lookup.StrSubstitutor} that can be used to look up variables embedded in the base
-     *            dir or other properties
-     *            <li>statusLogger - the {@link StatusLogger} that can be used to log events during script execution
+     *            dir or other properties</li>
+     *            <li>statusLogger - the {@link StatusLogger} that can be used to log events during script execution</li>
      *            <li>any properties declared in the configuration</li>
      *            </ul>
      * @param configuration the configuration
diff --git a/log4j-couchdb/.log4j-plugin-processing-activator b/log4j-couchdb/.log4j-plugin-processing-activator
new file mode 100644
index 0000000000..ba133f3696
--- /dev/null
+++ b/log4j-couchdb/.log4j-plugin-processing-activator
@@ -0,0 +1 @@
+This file is here to activate the `plugin-processing` Maven profile.
diff --git a/log4j-couchdb/pom.xml b/log4j-couchdb/pom.xml
index ac65c693e0..63ce30aaf4 100644
--- a/log4j-couchdb/pom.xml
+++ b/log4j-couchdb/pom.xml
@@ -16,7 +16,9 @@
   ~ limitations under the License.
   -->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
   <modelVersion>4.0.0</modelVersion>
+
   <parent>
     <groupId>org.apache.logging.log4j</groupId>
     <artifactId>log4j</artifactId>
@@ -25,8 +27,10 @@
   </parent>
 
   <artifactId>log4j-couchdb</artifactId>
+
   <name>Apache Log4j CouchDB</name>
   <description>CouchDB appender for Log4j.</description>
+
   <properties>
 
     <!--
@@ -81,26 +85,4 @@
     </dependency>
   </dependencies>
 
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-compiler-plugin</artifactId>
-        <configuration>
-          <!--
-            ~ Modules that contain `log4j-core` plugins, must be compiled with:
-            ~
-            ~   org.apache.logging.log4j.core.config.plugins.processor.PluginProcessor
-            -->
-          <annotationProcessorPaths combine.children="append">
-            <path>
-              <groupId>org.apache.logging.log4j</groupId>
-              <artifactId>log4j-core</artifactId>
-              <version>${project.version}</version>
-            </path>
-          </annotationProcessorPaths>
-        </configuration>
-      </plugin>
-    </plugins>
-  </build>
 </project>
diff --git a/log4j-docker/.log4j-plugin-processing-activator b/log4j-docker/.log4j-plugin-processing-activator
new file mode 100644
index 0000000000..ba133f3696
--- /dev/null
+++ b/log4j-docker/.log4j-plugin-processing-activator
@@ -0,0 +1 @@
+This file is here to activate the `plugin-processing` Maven profile.
diff --git a/log4j-docker/pom.xml b/log4j-docker/pom.xml
index 7682421d2b..2b6bb357dc 100644
--- a/log4j-docker/pom.xml
+++ b/log4j-docker/pom.xml
@@ -16,17 +16,21 @@
   ~ limitations under the License.
   -->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
   <modelVersion>4.0.0</modelVersion>
+
   <parent>
     <groupId>org.apache.logging.log4j</groupId>
     <artifactId>log4j</artifactId>
     <version>${revision}</version>
     <relativePath>../log4j-parent</relativePath>
   </parent>
+
   <artifactId>log4j-docker</artifactId>
-  <packaging>jar</packaging>
+
   <name>Apache Log4j Docker Library</name>
   <description>Apache Log4j Docker Support</description>
+
   <properties>
 
     <!--
@@ -34,6 +38,7 @@
       -->
     <Fragment-Host>org.apache.logging.log4j.core</Fragment-Host>
   </properties>
+
   <dependencies>
     <dependency>
       <groupId>org.apache.logging.log4j</groupId>
@@ -63,29 +68,4 @@
     </dependency>
   </dependencies>
 
-  <build>
-    <plugins>
-
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-compiler-plugin</artifactId>
-        <configuration>
-          <!--
-            ~ Modules that contain `log4j-core` plugins, must be compiled with:
-            ~
-            ~   org.apache.logging.log4j.core.config.plugins.processor.PluginProcessor
-            -->
-          <annotationProcessorPaths combine.children="append">
-            <path>
-              <groupId>org.apache.logging.log4j</groupId>
-              <artifactId>log4j-core</artifactId>
-              <version>${project.version}</version>
-            </path>
-          </annotationProcessorPaths>
-        </configuration>
-      </plugin>
-
-    </plugins>
-  </build>
-
 </project>
diff --git a/log4j-flume-ng/.log4j-plugin-processing-activator b/log4j-flume-ng/.log4j-plugin-processing-activator
new file mode 100644
index 0000000000..ba133f3696
--- /dev/null
+++ b/log4j-flume-ng/.log4j-plugin-processing-activator
@@ -0,0 +1 @@
+This file is here to activate the `plugin-processing` Maven profile.
diff --git a/log4j-flume-ng/pom.xml b/log4j-flume-ng/pom.xml
index c3bffe0ec5..6af2f7c517 100644
--- a/log4j-flume-ng/pom.xml
+++ b/log4j-flume-ng/pom.xml
@@ -16,17 +16,21 @@
   ~ limitations under the License.
   -->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
   <modelVersion>4.0.0</modelVersion>
+
   <parent>
     <groupId>org.apache.logging.log4j</groupId>
     <artifactId>log4j</artifactId>
     <version>${revision}</version>
     <relativePath>../log4j-parent</relativePath>
   </parent>
+
   <artifactId>log4j-flume-ng</artifactId>
-  <packaging>jar</packaging>
+
   <name>Apache Log4j Flume Bridge</name>
   <description>The Apache Log4j Flume Appender</description>
+
   <properties>
 
     <!--
@@ -39,6 +43,7 @@
     </bnd-extra-module-options>
     <Fragment-Host>org.apache.logging.log4j.core</Fragment-Host>
   </properties>
+
   <dependencies>
     <dependency>
       <groupId>org.apache.logging.log4j</groupId>
@@ -113,26 +118,4 @@
     </dependency>
   </dependencies>
 
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-compiler-plugin</artifactId>
-        <configuration>
-          <!--
-            ~ Modules that contain `log4j-core` plugins, must be compiled with:
-            ~
-            ~   org.apache.logging.log4j.core.config.plugins.processor.PluginProcessor
-            -->
-          <annotationProcessorPaths combine.children="append">
-            <path>
-              <groupId>org.apache.logging.log4j</groupId>
-              <artifactId>log4j-core</artifactId>
-              <version>${project.version}</version>
-            </path>
-          </annotationProcessorPaths>
-        </configuration>
-      </plugin>
-    </plugins>
-  </build>
 </project>
diff --git a/log4j-jakarta-web/.log4j-plugin-processing-activator b/log4j-jakarta-web/.log4j-plugin-processing-activator
new file mode 100644
index 0000000000..ba133f3696
--- /dev/null
+++ b/log4j-jakarta-web/.log4j-plugin-processing-activator
@@ -0,0 +1 @@
+This file is here to activate the `plugin-processing` Maven profile.
diff --git a/log4j-jakarta-web/pom.xml b/log4j-jakarta-web/pom.xml
index a3f81e5146..f3434f9f85 100644
--- a/log4j-jakarta-web/pom.xml
+++ b/log4j-jakarta-web/pom.xml
@@ -16,7 +16,9 @@
   ~ limitations under the License.
   -->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
   <modelVersion>4.0.0</modelVersion>
+
   <parent>
     <groupId>org.apache.logging.log4j</groupId>
     <artifactId>log4j</artifactId>
@@ -25,7 +27,7 @@
   </parent>
 
   <artifactId>log4j-jakarta-web</artifactId>
-  <packaging>jar</packaging>
+
   <name>Apache Log4j Jakarta Web</name>
   <description>The Apache Log4j support for Jakarta EE 9+ web servlet containers</description>
 
@@ -79,26 +81,4 @@
     </dependency>
   </dependencies>
 
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-compiler-plugin</artifactId>
-        <configuration>
-          <!--
-            ~ Modules that contain `log4j-core` plugins, must be compiled with:
-            ~
-            ~   org.apache.logging.log4j.core.config.plugins.processor.PluginProcessor
-            -->
-          <annotationProcessorPaths combine.children="append">
-            <path>
-              <groupId>org.apache.logging.log4j</groupId>
-              <artifactId>log4j-core</artifactId>
-              <version>${project.version}</version>
-            </path>
-          </annotationProcessorPaths>
-        </configuration>
-      </plugin>
-    </plugins>
-  </build>
 </project>
diff --git a/log4j-jdbc-dbcp2/.log4j-plugin-processing-activator b/log4j-jdbc-dbcp2/.log4j-plugin-processing-activator
new file mode 100644
index 0000000000..ba133f3696
--- /dev/null
+++ b/log4j-jdbc-dbcp2/.log4j-plugin-processing-activator
@@ -0,0 +1 @@
+This file is here to activate the `plugin-processing` Maven profile.
diff --git a/log4j-jdbc-dbcp2/pom.xml b/log4j-jdbc-dbcp2/pom.xml
index 50196e3cc9..95522b7c1f 100644
--- a/log4j-jdbc-dbcp2/pom.xml
+++ b/log4j-jdbc-dbcp2/pom.xml
@@ -16,7 +16,9 @@
   ~ limitations under the License.
   -->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
   <modelVersion>4.0.0</modelVersion>
+
   <parent>
     <groupId>org.apache.logging.log4j</groupId>
     <artifactId>log4j</artifactId>
@@ -25,8 +27,10 @@
   </parent>
 
   <artifactId>log4j-jdbc-dbcp2</artifactId>
+
   <name>Apache Log4j JDBC DBCP 2</name>
   <description>Connection source for the JDBC Appender using Apache Commons DBCP2.</description>
+
   <properties>
 
     <!--
@@ -73,26 +77,4 @@
     </dependency>
   </dependencies>
 
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-compiler-plugin</artifactId>
-        <configuration>
-          <!--
-            ~ Modules that contain `log4j-core` plugins, must be compiled with:
-            ~
-            ~   org.apache.logging.log4j.core.config.plugins.processor.PluginProcessor
-            -->
-          <annotationProcessorPaths combine.children="append">
-            <path>
-              <groupId>org.apache.logging.log4j</groupId>
-              <artifactId>log4j-core</artifactId>
-              <version>${project.version}</version>
-            </path>
-          </annotationProcessorPaths>
-        </configuration>
-      </plugin>
-    </plugins>
-  </build>
 </project>
diff --git a/log4j-jpa/.log4j-plugin-processing-activator b/log4j-jpa/.log4j-plugin-processing-activator
new file mode 100644
index 0000000000..ba133f3696
--- /dev/null
+++ b/log4j-jpa/.log4j-plugin-processing-activator
@@ -0,0 +1 @@
+This file is here to activate the `plugin-processing` Maven profile.
diff --git a/log4j-jpa/pom.xml b/log4j-jpa/pom.xml
index e90cd50e2a..b2c873b12a 100644
--- a/log4j-jpa/pom.xml
+++ b/log4j-jpa/pom.xml
@@ -16,7 +16,9 @@
   ~ limitations under the License.
   -->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
   <modelVersion>4.0.0</modelVersion>
+
   <parent>
     <groupId>org.apache.logging.log4j</groupId>
     <artifactId>log4j</artifactId>
@@ -25,8 +27,10 @@
   </parent>
 
   <artifactId>log4j-jpa</artifactId>
+
   <name>Apache Log4j JPA</name>
   <description>Apache Log4j Java Persistence API Appender.</description>
+
   <properties>
 
     <!--
@@ -93,27 +97,6 @@
     </dependency>
   </dependencies>
 
-  <build>
-    <plugins>
-
-      <!-- Enable Log4j plugin processing -->
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-compiler-plugin</artifactId>
-        <configuration>
-          <annotationProcessorPaths combine.children="append">
-            <path>
-              <groupId>org.apache.logging.log4j</groupId>
-              <artifactId>log4j-core</artifactId>
-              <version>${project.version}</version>
-            </path>
-          </annotationProcessorPaths>
-        </configuration>
-      </plugin>
-
-    </plugins>
-  </build>
-
   <profiles>
 
     <!-- Fixes incompatible with Java 8 -->
diff --git a/log4j-kubernetes/pom.xml b/log4j-kubernetes/pom.xml
index 47313c6b12..359f9ef483 100644
--- a/log4j-kubernetes/pom.xml
+++ b/log4j-kubernetes/pom.xml
@@ -16,17 +16,21 @@
   ~ limitations under the License.
   -->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
   <modelVersion>4.0.0</modelVersion>
+
   <parent>
     <groupId>org.apache.logging.log4j</groupId>
     <artifactId>log4j</artifactId>
     <version>${revision}</version>
     <relativePath>../log4j-parent</relativePath>
   </parent>
+
   <artifactId>log4j-kubernetes</artifactId>
-  <packaging>jar</packaging>
+
   <name>Apache Log4j Kubernetes Library</name>
   <description>Apache Log4j Kubernetes Support</description>
+
   <properties>
 
     <!--
@@ -39,6 +43,7 @@
     </bnd-extra-module-options>
     <Fragment-Host>org.apache.logging.log4j.core</Fragment-Host>
   </properties>
+
   <dependencies>
     <dependency>
       <groupId>org.apache.logging.log4j</groupId>
@@ -65,26 +70,4 @@
     </dependency>
   </dependencies>
 
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-compiler-plugin</artifactId>
-        <configuration>
-          <!--
-            ~ Modules that contain `log4j-core` plugins, must be compiled with:
-            ~
-            ~   org.apache.logging.log4j.core.config.plugins.processor.PluginProcessor
-            -->
-          <annotationProcessorPaths combine.children="append">
-            <path>
-              <groupId>org.apache.logging.log4j</groupId>
-              <artifactId>log4j-core</artifactId>
-              <version>${project.version}</version>
-            </path>
-          </annotationProcessorPaths>
-        </configuration>
-      </plugin>
-    </plugins>
-  </build>
 </project>
diff --git a/log4j-layout-template-json-test/pom.xml b/log4j-layout-template-json-test/pom.xml
index 30b1dac1f8..20c9d9d155 100644
--- a/log4j-layout-template-json-test/pom.xml
+++ b/log4j-layout-template-json-test/pom.xml
@@ -27,11 +27,13 @@
   </parent>
 
   <artifactId>log4j-layout-template-json-test</artifactId>
+
   <name>Apache Log4j JSON Template Layout tests</name>
 
   <properties>
 
     <maven.deploy.skip>true</maven.deploy.skip>
+    <maven.install.skip>true</maven.install.skip>
     <sign.skip>true</sign.skip>
 
     <!--
@@ -126,21 +128,6 @@
   <build>
     <plugins>
 
-      <!-- Modules that contain `log4j-core` plugins, must be compiled with: `org.apache.logging.log4j.core.config.plugins.processor.PluginProcessor` -->
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-compiler-plugin</artifactId>
-        <configuration>
-          <annotationProcessorPaths combine.children="append">
-            <path>
-              <groupId>org.apache.logging.log4j</groupId>
-              <artifactId>log4j-core</artifactId>
-              <version>${project.version}</version>
-            </path>
-          </annotationProcessorPaths>
-        </configuration>
-      </plugin>
-
       <!-- Disable ITs, which are Docker-dependent, by default. -->
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
diff --git a/log4j-layout-template-json/.log4j-plugin-processing-activator b/log4j-layout-template-json/.log4j-plugin-processing-activator
new file mode 100644
index 0000000000..ba133f3696
--- /dev/null
+++ b/log4j-layout-template-json/.log4j-plugin-processing-activator
@@ -0,0 +1 @@
+This file is here to activate the `plugin-processing` Maven profile.
diff --git a/log4j-layout-template-json/pom.xml b/log4j-layout-template-json/pom.xml
index 369d38d7ff..9b1351fae3 100644
--- a/log4j-layout-template-json/pom.xml
+++ b/log4j-layout-template-json/pom.xml
@@ -27,6 +27,7 @@
   </parent>
 
   <artifactId>log4j-layout-template-json</artifactId>
+
   <name>Apache Log4j JSON Template Layout</name>
   <description>Apache Log4j Layout for producing JSON output that is structured according to a user-provided template.</description>
 
@@ -63,43 +64,4 @@
 
   </dependencies>
 
-  <build>
-    <plugins>
-
-      <!-- Modules that contain `log4j-core` plugins, must be compiled with: `org.apache.logging.log4j.core.config.plugins.processor.PluginProcessor` -->
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-compiler-plugin</artifactId>
-        <configuration>
-          <annotationProcessorPaths combine.children="append">
-            <path>
-              <groupId>org.apache.logging.log4j</groupId>
-              <artifactId>log4j-core</artifactId>
-              <version>${project.version}</version>
-            </path>
-          </annotationProcessorPaths>
-        </configuration>
-      </plugin>
-
-      <!-- Disable Failsafe, tests are in the `-test` module. -->
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-failsafe-plugin</artifactId>
-        <configuration>
-          <skip>true</skip>
-        </configuration>
-      </plugin>
-
-      <!-- Disable Surefire, tests are in the `-test` module. -->
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-surefire-plugin</artifactId>
-        <configuration>
-          <skip>true</skip>
-        </configuration>
-      </plugin>
-
-    </plugins>
-  </build>
-
 </project>
diff --git a/log4j-mongodb3/.log4j-plugin-processing-activator b/log4j-mongodb3/.log4j-plugin-processing-activator
new file mode 100644
index 0000000000..ba133f3696
--- /dev/null
+++ b/log4j-mongodb3/.log4j-plugin-processing-activator
@@ -0,0 +1 @@
+This file is here to activate the `plugin-processing` Maven profile.
diff --git a/log4j-mongodb3/pom.xml b/log4j-mongodb3/pom.xml
index 94fd94dc3e..e5e285b017 100644
--- a/log4j-mongodb3/pom.xml
+++ b/log4j-mongodb3/pom.xml
@@ -16,7 +16,9 @@
   ~ limitations under the License.
   -->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
   <modelVersion>4.0.0</modelVersion>
+
   <parent>
     <groupId>org.apache.logging.log4j</groupId>
     <artifactId>log4j</artifactId>
@@ -25,8 +27,10 @@
   </parent>
 
   <artifactId>log4j-mongodb3</artifactId>
+
   <name>Apache Log4j MongoDB 3</name>
   <description>MongoDB appender for Log4j using the MongoDB 3 driver API.</description>
+
   <properties>
 
     <!--
@@ -146,25 +150,6 @@
   <build>
     <plugins>
 
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-compiler-plugin</artifactId>
-        <configuration>
-          <!--
-            ~ Modules that contain `log4j-core` plugins, must be compiled with:
-            ~
-            ~   org.apache.logging.log4j.core.config.plugins.processor.PluginProcessor
-            -->
-          <annotationProcessorPaths combine.children="append">
-            <path>
-              <groupId>org.apache.logging.log4j</groupId>
-              <artifactId>log4j-core</artifactId>
-              <version>${project.version}</version>
-            </path>
-          </annotationProcessorPaths>
-        </configuration>
-      </plugin>
-
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-surefire-plugin</artifactId>
diff --git a/log4j-mongodb4/.log4j-plugin-processing-activator b/log4j-mongodb4/.log4j-plugin-processing-activator
new file mode 100644
index 0000000000..ba133f3696
--- /dev/null
+++ b/log4j-mongodb4/.log4j-plugin-processing-activator
@@ -0,0 +1 @@
+This file is here to activate the `plugin-processing` Maven profile.
diff --git a/log4j-mongodb4/pom.xml b/log4j-mongodb4/pom.xml
index 098f1f76af..da17281813 100644
--- a/log4j-mongodb4/pom.xml
+++ b/log4j-mongodb4/pom.xml
@@ -16,7 +16,9 @@
   ~ limitations under the License.
   -->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
   <modelVersion>4.0.0</modelVersion>
+
   <parent>
     <groupId>org.apache.logging.log4j</groupId>
     <artifactId>log4j</artifactId>
@@ -25,8 +27,10 @@
   </parent>
 
   <artifactId>log4j-mongodb4</artifactId>
+
   <name>Apache Log4j MongoDB 4</name>
   <description>MongoDB appender for Log4j using the MongoDB 4 driver API.</description>
+
   <properties>
 
     <!--
@@ -108,25 +112,6 @@
   <build>
     <plugins>
 
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-compiler-plugin</artifactId>
-        <configuration>
-          <!--
-            ~ Modules that contain `log4j-core` plugins, must be compiled with:
-            ~
-            ~   org.apache.logging.log4j.core.config.plugins.processor.PluginProcessor
-            -->
-          <annotationProcessorPaths combine.children="append">
-            <path>
-              <groupId>org.apache.logging.log4j</groupId>
-              <artifactId>log4j-core</artifactId>
-              <version>${project.version}</version>
-            </path>
-          </annotationProcessorPaths>
-        </configuration>
-      </plugin>
-
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-surefire-plugin</artifactId>
diff --git a/log4j-osgi-test/.log4j-plugin-processing-activator b/log4j-osgi-test/.log4j-plugin-processing-activator
new file mode 100644
index 0000000000..ba133f3696
--- /dev/null
+++ b/log4j-osgi-test/.log4j-plugin-processing-activator
@@ -0,0 +1 @@
+This file is here to activate the `plugin-processing` Maven profile.
diff --git a/log4j-osgi-test/pom.xml b/log4j-osgi-test/pom.xml
index 7f8b52961e..19dcd37e65 100644
--- a/log4j-osgi-test/pom.xml
+++ b/log4j-osgi-test/pom.xml
@@ -16,17 +16,21 @@
   ~ limitations under the License.
   -->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
   <modelVersion>4.0.0</modelVersion>
+
   <parent>
     <groupId>org.apache.logging.log4j</groupId>
     <artifactId>log4j</artifactId>
     <version>${revision}</version>
     <relativePath>../log4j-parent</relativePath>
   </parent>
+
   <artifactId>log4j-osgi-test</artifactId>
-  <packaging>jar</packaging>
+
   <name>Apache Log4j OSGi tests</name>
   <description>The Apache Log4j OSGi tests</description>
+
   <properties>
     <module.name>org.apache.logging.log4j.osgi</module.name>
     <bnd.baseline.skip>true</bnd.baseline.skip>
@@ -37,6 +41,7 @@
     <spotbugs.skip>true</spotbugs.skip>
     <spifly.version>1.3.7</spifly.version>
   </properties>
+
   <dependencies>
     <dependency>
       <groupId>javax.inject</groupId>
@@ -135,7 +140,9 @@
       <scope>test</scope>
     </dependency>
   </dependencies>
+
   <build>
+
     <testResources>
       <testResource>
         <!-- Enable variable interpolation in resources -->
@@ -143,6 +150,7 @@
         <directory>src/test/resources</directory>
       </testResource>
     </testResources>
+
     <plugins>
 
       <!--
@@ -180,25 +188,6 @@
         </executions>
       </plugin>
 
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-compiler-plugin</artifactId>
-        <configuration>
-          <!--
-            ~ Modules that contain `log4j-core` plugins, must be compiled with:
-            ~
-            ~   org.apache.logging.log4j.core.config.plugins.processor.PluginProcessor
-            -->
-          <annotationProcessorPaths combine.children="append">
-            <path>
-              <groupId>org.apache.logging.log4j</groupId>
-              <artifactId>log4j-core</artifactId>
-              <version>${project.version}</version>
-            </path>
-          </annotationProcessorPaths>
-        </configuration>
-      </plugin>
-
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-resources-plugin</artifactId>
diff --git a/log4j-parent/pom.xml b/log4j-parent/pom.xml
index 5517c43c0c..3f11b042ff 100644
--- a/log4j-parent/pom.xml
+++ b/log4j-parent/pom.xml
@@ -1196,4 +1196,85 @@
     </plugins>
   </build>
 
+  <profiles>
+
+    <!-- `plugin-processing` profile containing configuration specific to `@Plugin`-annotated members -->
+    <profile>
+
+      <id>plugin-processing</id>
+
+      <!-- Profile gets activated using a file instead of, say, a property.
+           Since a Maven property lookup requires model interpolation and that hasn't happened at this stage yet.
+           See: https://maven.apache.org/ref/3.9.6/maven-model-builder -->
+      <activation>
+        <file>
+          <exists>.log4j-plugin-processing-activator</exists>
+        </file>
+      </activation>
+
+      <build>
+        <plugins>
+
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-compiler-plugin</artifactId>
+            <configuration>
+              <annotationProcessorPaths combine.children="append">
+                <!-- Include `org.apache.logging.log4j.docgen.processor.DescriptorGenerator` that generates `log4j-plugins.xml`.
+                     `DescriptorGenerator` must precede `PluginProcessor`, since the latter *claims* the `@Plugin`.
+                     Once claimed, `javac` doesn't pass those sources to other processors. -->
+                <path>
+                  <groupId>org.apache.logging.log4j</groupId>
+                  <artifactId>log4j-docgen</artifactId>
+                  <version>${log4j-docgen.version}</version>
+                </path>
+                <!-- `org.apache.logging.log4j.core.config.plugins.processor.PluginProcessor` for generating `META-INF/org/apache/.../Log4j2Plugins.dat`: -->
+                <path>
+                  <groupId>org.apache.logging.log4j</groupId>
+                  <artifactId>log4j-core</artifactId>
+                  <version>${project.version}</version>
+                </path>
+              </annotationProcessorPaths>
+              <compilerArgs combine.children="append">
+                <!-- Provide `org.apache.logging.log4j.docgen.processor.DescriptorGenerator` arguments: -->
+                <arg>-Alog4j.docgen.descriptorFilePath=${project.build.directory}/log4j-plugins.xml</arg>
+                <arg>-Alog4j.docgen.groupId=${project.groupId}</arg>
+                <arg>-Alog4j.docgen.artifactId=${project.artifactId}</arg>
+                <arg>-Alog4j.docgen.version=${project.version}</arg>
+                <arg>-Alog4j.docgen.description=${project.description}</arg>
+              </compilerArgs>
+            </configuration>
+          </plugin>
+
+          <!-- Attach the generated `log4j-plugins.xml` -->
+          <plugin>
+            <groupId>org.codehaus.mojo</groupId>
+            <artifactId>build-helper-maven-plugin</artifactId>
+            <executions>
+              <execution>
+                <id>attach-plugin-descriptor</id>
+                <goals>
+                  <goal>attach-artifact</goal>
+                </goals>
+                <phase>package</phase>
+                <configuration>
+                  <artifacts>
+                    <artifact>
+                      <file>${project.build.directory}/log4j-plugins.xml</file>
+                      <type>xml</type>
+                      <classifier>log4j-plugins</classifier>
+                    </artifact>
+                  </artifacts>
+                </configuration>
+              </execution>
+            </executions>
+          </plugin>
+
+        </plugins>
+      </build>
+
+    </profile>
+
+  </profiles>
+
 </project>
diff --git a/log4j-spring-boot/.log4j-plugin-processing-activator b/log4j-spring-boot/.log4j-plugin-processing-activator
new file mode 100644
index 0000000000..ba133f3696
--- /dev/null
+++ b/log4j-spring-boot/.log4j-plugin-processing-activator
@@ -0,0 +1 @@
+This file is here to activate the `plugin-processing` Maven profile.
diff --git a/log4j-spring-boot/pom.xml b/log4j-spring-boot/pom.xml
index 342489bbb4..08d2aaf3ba 100644
--- a/log4j-spring-boot/pom.xml
+++ b/log4j-spring-boot/pom.xml
@@ -16,19 +16,22 @@
   ~ limitations under the License.
   -->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
   <modelVersion>4.0.0</modelVersion>
+
   <parent>
     <groupId>org.apache.logging.log4j</groupId>
     <artifactId>log4j</artifactId>
     <version>${revision}</version>
     <relativePath>../log4j-parent</relativePath>
   </parent>
+
   <artifactId>log4j-spring-boot</artifactId>
-  <packaging>jar</packaging>
+
   <name>Apache Log4j Spring Boot Support</name>
   <description>Apache Log4j Spring Boot Support</description>
-  <properties>
 
+  <properties>
     <!--
       ~ OSGi and JPMS options
       -->
@@ -120,26 +123,4 @@
 
   </dependencies>
 
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-compiler-plugin</artifactId>
-        <configuration>
-          <!--
-            ~ Modules that contain `log4j-core` plugins, must be compiled with:
-            ~
-            ~   org.apache.logging.log4j.core.config.plugins.processor.PluginProcessor
-            -->
-          <annotationProcessorPaths combine.children="append">
-            <path>
-              <groupId>org.apache.logging.log4j</groupId>
-              <artifactId>log4j-core</artifactId>
-              <version>${project.version}</version>
-            </path>
-          </annotationProcessorPaths>
-        </configuration>
-      </plugin>
-    </plugins>
-  </build>
 </project>
diff --git a/log4j-web/pom.xml b/log4j-web/pom.xml
index 287cd9a583..aa8b482ef9 100644
--- a/log4j-web/pom.xml
+++ b/log4j-web/pom.xml
@@ -16,7 +16,9 @@
   ~ limitations under the License.
   -->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
   <modelVersion>4.0.0</modelVersion>
+
   <parent>
     <groupId>org.apache.logging.log4j</groupId>
     <artifactId>log4j</artifactId>
@@ -25,7 +27,7 @@
   </parent>
 
   <artifactId>log4j-web</artifactId>
-  <packaging>jar</packaging>
+
   <name>Apache Log4j Web</name>
   <description>The Apache Log4j support for web servlet containers</description>
 
@@ -88,27 +90,4 @@
     </dependency>
   </dependencies>
 
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-compiler-plugin</artifactId>
-        <configuration>
-          <!--
-            ~ Modules that contain `log4j-core` plugins, must be compiled with:
-            ~
-            ~   org.apache.logging.log4j.core.config.plugins.processor.PluginProcessor
-            -->
-          <annotationProcessorPaths combine.children="append">
-            <path>
-              <groupId>org.apache.logging.log4j</groupId>
-              <artifactId>log4j-core</artifactId>
-              <version>${project.version}</version>
-            </path>
-          </annotationProcessorPaths>
-        </configuration>
-      </plugin>
-    </plugins>
-  </build>
-
 </project>
diff --git a/src/site/_release-notes/_2.x.x.adoc b/src/site/_release-notes/_2.x.x.adoc
index d7acc079e2..8c4ffcc0e4 100644
--- a/src/site/_release-notes/_2.x.x.adoc
+++ b/src/site/_release-notes/_2.x.x.adoc
@@ -31,8 +31,9 @@ This releases contains ...
 [#release-notes-2-x-x-fixed]
 === Fixed
 
-* Add `log4j2.StatusLogger.DateFormatZone` system property to set the time-zone `StatusLogger` uses to format `java.time.Instant`. Without this formatting patterns accessing to time-zone-specific fields (e.g., year-of-era) cause failures.
-* Fix stack overflow in `StatusLogger`
+* Fix `StatusLogger` log level filtering when debug mode is enabled (https://github.com/apache/logging-log4j2/issues/2337[2337])
+* Add `log4j2.StatusLogger.DateFormatZone` system property to set the time-zone `StatusLogger` uses to format `java.time.Instant`. Without this formatting patterns accessing to time-zone-specific fields (e.g., year-of-era) cause failures. (https://github.com/apache/logging-log4j2/pull/2322[2322])
+* Fix stack overflow in `StatusLogger` (https://github.com/apache/logging-log4j2/pull/2322[2322])
 
 [#release-notes-2-x-x-updated]
 === Updated
diff --git a/src/site/site.xml b/src/site/site.xml
index 75c89e075e..f8882530f6 100644
--- a/src/site/site.xml
+++ b/src/site/site.xml
@@ -277,6 +277,8 @@
         <item name="Developer Notes" href="/manual/plugins.html#DeveloperNotes"/>
       </item>
 
+      <item name="Plugin reference" href="/plugin-reference.html"/>
+
       <item name="Programmatic Log4j Configuration" href="/manual/customconfig.html" collapse="true">
         <item name="ConfigurationBuilder API" href="/manual/customconfig.html#ConfigurationBuilder"/>
         <item name="Understanding ConfigurationFactory" href="/manual/customconfig.html#ConfigurationFactory"/>


(logging-log4j2) 08/11: Switch from downloading descriptors to outputting them to the root

Posted by vy...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

vy pushed a commit to branch 2.x-docgen
in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git

commit 79154c91c16ca0a5b339f69bf9c8b2449124f6e7
Author: Volkan Yazıcı <vo...@yazi.ci>
AuthorDate: Wed Mar 13 15:48:14 2024 +0100

    Switch from downloading descriptors to outputting them to the root
---
 log4j-core/pom.xml   |  24 +------
 log4j-parent/pom.xml |  26 +------
 pom.xml              | 190 ++++++++-------------------------------------------
 3 files changed, 30 insertions(+), 210 deletions(-)

diff --git a/log4j-core/pom.xml b/log4j-core/pom.xml
index 0f51b1e488..b8737a72b2 100644
--- a/log4j-core/pom.xml
+++ b/log4j-core/pom.xml
@@ -213,12 +213,11 @@
   <build>
     <plugins>
 
+      <!-- Add Java 9+ code for the MRJ -->
       <plugin>
         <groupId>org.codehaus.mojo</groupId>
         <artifactId>build-helper-maven-plugin</artifactId>
         <executions>
-
-          <!-- Add Java 9+ code for the MRJ -->
           <execution>
             <id>add-source</id>
             <goals>
@@ -231,25 +230,6 @@
               </sources>
             </configuration>
           </execution>
-
-          <!-- Attach the generated `log4j-plugins.xml` -->
-          <execution>
-            <id>attach-plugin-descriptor</id>
-            <goals>
-              <goal>attach-artifact</goal>
-            </goals>
-            <phase>package</phase>
-            <configuration>
-              <artifacts>
-                <artifact>
-                  <file>${project.build.directory}/log4j-plugins.xml</file>
-                  <type>xml</type>
-                  <classifier>log4j-plugins</classifier>
-                </artifact>
-              </artifacts>
-            </configuration>
-          </execution>
-
         </executions>
       </plugin>
 
@@ -281,7 +261,7 @@
               </annotationProcessorPaths>
               <compilerArgs combine.children="append">
                 <!-- Provide `org.apache.logging.log4j.docgen.processor.DescriptorGenerator` arguments: -->
-                <arg>-Alog4j.docgen.descriptorFilePath=${project.build.directory}/log4j-plugins.xml</arg>
+                <arg>-Alog4j.docgen.descriptorFilePath=${log4j.docgen.pluginDescriptorsDir.phase1}/${project.artifactId}-plugins.xml</arg>
                 <arg>-Alog4j.docgen.groupId=${project.groupId}</arg>
                 <arg>-Alog4j.docgen.artifactId=${project.artifactId}</arg>
                 <arg>-Alog4j.docgen.version=${project.version}</arg>
diff --git a/log4j-parent/pom.xml b/log4j-parent/pom.xml
index 889a18a95f..5f099fce9e 100644
--- a/log4j-parent/pom.xml
+++ b/log4j-parent/pom.xml
@@ -1237,7 +1237,7 @@
               </annotationProcessorPaths>
               <compilerArgs combine.children="append">
                 <!-- Provide `org.apache.logging.log4j.docgen.processor.DescriptorGenerator` arguments: -->
-                <arg>-Alog4j.docgen.descriptorFilePath=${project.build.directory}/log4j-plugins.xml</arg>
+                <arg>-Alog4j.docgen.descriptorFilePath=${log4j.docgen.pluginDescriptorsDir.phase2}/${project.artifactId}-plugins.xml</arg>
                 <arg>-Alog4j.docgen.groupId=${project.groupId}</arg>
                 <arg>-Alog4j.docgen.artifactId=${project.artifactId}</arg>
                 <arg>-Alog4j.docgen.version=${project.version}</arg>
@@ -1246,30 +1246,6 @@
             </configuration>
           </plugin>
 
-          <!-- Attach the generated `log4j-plugins.xml` -->
-          <plugin>
-            <groupId>org.codehaus.mojo</groupId>
-            <artifactId>build-helper-maven-plugin</artifactId>
-            <executions>
-              <execution>
-                <id>attach-plugin-descriptor</id>
-                <goals>
-                  <goal>attach-artifact</goal>
-                </goals>
-                <phase>package</phase>
-                <configuration>
-                  <artifacts>
-                    <artifact>
-                      <file>${project.build.directory}/log4j-plugins.xml</file>
-                      <type>xml</type>
-                      <classifier>log4j-plugins</classifier>
-                    </artifact>
-                  </artifacts>
-                </configuration>
-              </execution>
-            </executions>
-          </plugin>
-
         </plugins>
       </build>
 
diff --git a/pom.xml b/pom.xml
index c9803a2137..14013122b0 100644
--- a/pom.xml
+++ b/pom.xml
@@ -336,8 +336,9 @@
     <!-- Dependency versions -->
     <log4j-docgen.version>1.0.0-SNAPSHOT</log4j-docgen.version>
 
-    <!-- Versions of libraries whose plugin descriptors will be documented: -->
-    <docgen.log4j.version>${revision}</docgen.log4j.version>
+    <!-- Directories where `log4j-docgen` annotation processor will emit files to -->
+    <log4j.docgen.pluginDescriptorsDir.phase1>${maven.multiModuleProjectDirectory}/target/plugin-descriptors/phase1</log4j.docgen.pluginDescriptorsDir.phase1>
+    <log4j.docgen.pluginDescriptorsDir.phase2>${maven.multiModuleProjectDirectory}/target/plugin-descriptors/phase2</log4j.docgen.pluginDescriptorsDir.phase2>
 
   </properties>
 
@@ -655,6 +656,7 @@
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-resources-plugin</artifactId>
         <executions>
+
           <!-- Copy `src/site/_release-notes` to `src/site/asciidoc/_release-notes`.
                This is necessary since `logging-parent` version `<=10.1.1` exports changelogs to `src/site/_release-notes`.
                Though `maven-site-plugin` expects them to be at `src/site/asciidoc/_release-notes`.
@@ -676,6 +678,7 @@
               </resources>
             </configuration>
           </execution>
+
           <!-- Copy `src/site` to `target/generated-sources/site` -->
           <execution>
             <id>copy-site</id>
@@ -698,6 +701,7 @@
               </resources>
             </configuration>
           </execution>
+
           <!-- Copy `target/site/apidocs` to the parent module's `target/site/javadoc/<artifactId>` folder -->
           <execution>
             <id>copy-javadoc</id>
@@ -739,165 +743,6 @@
               </target>
             </configuration>
           </execution>
-        </executions>
-      </plugin>
-
-      <!-- Descriptor documenting order matters!
-
-           Imagine we download all descriptors to the same folder.
-           Assume that the filesystem walks folder contents in alphanumeric order.
-           Sourcing `log4j-docgen:generate-*` from that folder will consume descriptors in the following order:
-
-           1. `log4j-1.2.api`
-           2. `log4j-cassandra`
-           3. `log4j-core`
-           4. ...
-
-           For instance, `AbstractFilterable` is defined by the descriptors of both `log4j-cassandra` and `log4j-core`.
-           Due to alphanumeric scanning order, it will appear as it is provided by `log4j-cassandra`.
-           Though, it is actually provided by `log4j-core`.
-           To avoid this problem, we download descriptors to folders associated with phases.
-           We will pass the folder of each phase in a certain order to `log4j-docgen:generate-*`. -->
-
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-dependency-plugin</artifactId>
-        <inherited>false</inherited>
-        <executions>
-
-          <!-- Download plugin descriptors (phase 1) -->
-          <execution>
-            <id>download-plugin-descriptors-phase1</id>
-            <goals>
-              <goal>copy</goal>
-            </goals>
-            <phase>pre-site</phase>
-            <configuration>
-              <outputDirectory>${project.build.directory}/plugin-descriptors/phase1</outputDirectory>
-              <artifactItems>
-
-                <artifactItem>
-                  <groupId>org.apache.logging.log4j</groupId>
-                  <artifactId>log4j-core</artifactId>
-                  <version>${docgen.log4j.version}</version>
-                  <type>xml</type>
-                  <classifier>log4j-plugins</classifier>
-                </artifactItem>
-
-              </artifactItems>
-            </configuration>
-          </execution>
-
-          <!-- Download plugin descriptors (phase 2) -->
-          <execution>
-            <id>download-plugin-descriptors-phase2</id>
-            <goals>
-              <goal>copy</goal>
-            </goals>
-            <phase>pre-site</phase>
-            <configuration>
-              <outputDirectory>${project.build.directory}/plugin-descriptors/phase2</outputDirectory>
-              <artifactItems>
-
-                <artifactItem>
-                  <groupId>org.apache.logging.log4j</groupId>
-                  <artifactId>log4j-1.2-api</artifactId>
-                  <version>${docgen.log4j.version}</version>
-                  <type>xml</type>
-                  <classifier>log4j-plugins</classifier>
-                </artifactItem>
-
-                <artifactItem>
-                  <groupId>org.apache.logging.log4j</groupId>
-                  <artifactId>log4j-cassandra</artifactId>
-                  <version>${docgen.log4j.version}</version>
-                  <type>xml</type>
-                  <classifier>log4j-plugins</classifier>
-                </artifactItem>
-
-                <artifactItem>
-                  <groupId>org.apache.logging.log4j</groupId>
-                  <artifactId>log4j-couchdb</artifactId>
-                  <version>${docgen.log4j.version}</version>
-                  <type>xml</type>
-                  <classifier>log4j-plugins</classifier>
-                </artifactItem>
-
-                <artifactItem>
-                  <groupId>org.apache.logging.log4j</groupId>
-                  <artifactId>log4j-docker</artifactId>
-                  <version>${docgen.log4j.version}</version>
-                  <type>xml</type>
-                  <classifier>log4j-plugins</classifier>
-                </artifactItem>
-
-                <artifactItem>
-                  <groupId>org.apache.logging.log4j</groupId>
-                  <artifactId>log4j-flume-ng</artifactId>
-                  <version>${docgen.log4j.version}</version>
-                  <type>xml</type>
-                  <classifier>log4j-plugins</classifier>
-                </artifactItem>
-
-                <artifactItem>
-                  <groupId>org.apache.logging.log4j</groupId>
-                  <artifactId>log4j-jakarta-web</artifactId>
-                  <version>${docgen.log4j.version}</version>
-                  <type>xml</type>
-                  <classifier>log4j-plugins</classifier>
-                </artifactItem>
-
-                <artifactItem>
-                  <groupId>org.apache.logging.log4j</groupId>
-                  <artifactId>log4j-jdbc-dbcp2</artifactId>
-                  <version>${docgen.log4j.version}</version>
-                  <type>xml</type>
-                  <classifier>log4j-plugins</classifier>
-                </artifactItem>
-
-                <artifactItem>
-                  <groupId>org.apache.logging.log4j</groupId>
-                  <artifactId>log4j-jpa</artifactId>
-                  <version>${docgen.log4j.version}</version>
-                  <type>xml</type>
-                  <classifier>log4j-plugins</classifier>
-                </artifactItem>
-
-                <artifactItem>
-                  <groupId>org.apache.logging.log4j</groupId>
-                  <artifactId>log4j-layout-template-json</artifactId>
-                  <version>${docgen.log4j.version}</version>
-                  <type>xml</type>
-                  <classifier>log4j-plugins</classifier>
-                </artifactItem>
-
-                <artifactItem>
-                  <groupId>org.apache.logging.log4j</groupId>
-                  <artifactId>log4j-mongodb3</artifactId>
-                  <version>${docgen.log4j.version}</version>
-                  <type>xml</type>
-                  <classifier>log4j-plugins</classifier>
-                </artifactItem>
-
-                <artifactItem>
-                  <groupId>org.apache.logging.log4j</groupId>
-                  <artifactId>log4j-mongodb4</artifactId>
-                  <version>${docgen.log4j.version}</version>
-                  <type>xml</type>
-                  <classifier>log4j-plugins</classifier>
-                </artifactItem>
-
-                <artifactItem>
-                  <groupId>org.apache.logging.log4j</groupId>
-                  <artifactId>log4j-spring-boot</artifactId>
-                  <version>${docgen.log4j.version}</version>
-                  <type>xml</type>
-                  <classifier>log4j-plugins</classifier>
-                </artifactItem>
-
-              </artifactItems>
-            </configuration>
-          </execution>
 
         </executions>
       </plugin>
@@ -910,20 +755,39 @@
 
         <!-- Common docgen configuration -->
         <configuration>
+
+          <!-- Descriptor processing order matters!
+
+               Imagine we place all descriptors to the same folder.
+               Assume that the filesystem walks folder contents in alphanumeric order.
+               Sourcing `log4j-docgen:generate-*` from that folder will consume descriptors in the following order:
+
+               1. `log4j-1.2.api`
+               2. `log4j-cassandra`
+               3. `log4j-core`
+               4. ...
+
+               For instance, `AbstractFilterable` is defined by the descriptors of both `log4j-cassandra` and `log4j-core`.
+               Due to alphanumeric scanning order, it will appear as it is provided by `log4j-cassandra`.
+               Though, it is actually provided by `log4j-core`.
+               To avoid this problem, we place descriptors to folders associated with phases.
+               We pass the folder of each phase in a certain order to `log4j-docgen:generate-*`. -->
           <descriptorFileMatchers>
             <descriptorFileMatcher>
-              <baseDirectory>${project.build.directory}/plugin-descriptors/phase1</baseDirectory>
+              <baseDirectory>${log4j.docgen.pluginDescriptorsDir.phase1}</baseDirectory>
             </descriptorFileMatcher>
             <descriptorFileMatcher>
-              <baseDirectory>${project.build.directory}/plugin-descriptors/phase2</baseDirectory>
+              <baseDirectory>${log4j.docgen.pluginDescriptorsDir.phase2}</baseDirectory>
             </descriptorFileMatcher>
           </descriptorFileMatchers>
+
           <typeFilter>
             <!-- `excludes` must be in sync. with the `log4j-docgen-type-filter-exclude-pattern` configuration of `log4j-docgen-asciidoctor-extension`! -->
             <excludes>
               <exclude>java\..+</exclude>
             </excludes>
           </typeFilter>
+
         </configuration>
 
         <executions>