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

vy pushed a commit to branch parent-10.1.1
in repository https://gitbox.apache.org/repos/asf/logging-log4j-transform.git

commit 69015fad627e06e8e7ded3b1e2a0edbb633ada1a
Author: Volkan Yazıcı <[email protected]>
AuthorDate: Mon Oct 2 20:24:07 2023 +0200

    Create the project website
---
 .../src/doc/process-classes-mojo.adoc              |  70 ----------
 .../README.adoc                                    |  77 -----------
 .../src/site/markdown/index.md                     |  88 -------------
 .../src/site/site.xml                              |  52 --------
 src/site/_constants.adoc                           |  41 ++++++
 src/site/_constants.tmpl.adoc                      |  41 ++++++
 .../site/_log4j-transform-maven-plugin.adoc        | 143 ++++++++++++++-------
 ...4j-transform-maven-shade-plugin-extensions.adoc |  74 +++++++++++
 src/site/index.adoc                                |  90 +++++++++++++
 9 files changed, 344 insertions(+), 332 deletions(-)

diff --git a/log4j-transform-maven-plugin/src/doc/process-classes-mojo.adoc 
b/log4j-transform-maven-plugin/src/doc/process-classes-mojo.adoc
deleted file mode 100644
index b310e23..0000000
--- a/log4j-transform-maven-plugin/src/doc/process-classes-mojo.adoc
+++ /dev/null
@@ -1,70 +0,0 @@
-//
-// 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.
-//
-= `log4j-transform:process-classes`
-
-Full name::
-
-`org.apache.logging.log4j:log4j-transform-maven-plugin:0.1.0:process-classes`
-
-Description::
-
-Generates static location information of Log4j 2.x API calls in the project 
classes.
-The resulting bytecode will not rely on runtime resolution of the location 
information.
-
-Attributes::
-
- * Requires a Maven project to be executed
- * Requires dependency resolution of artifacts in scope: `<code>compile</code>`
- * The goal is thread-safe and supports parallel builds
- * Binds by default to the 
http://maven.apache.org/ref/current/maven-core/lifecycles.html[lifecycle 
phase]: `process-classes`.
-
-== Required Parameters
-
-[cols="3,3,10"]
-|===
-|Name|Type|Description
-
-|`<sourceDirectory>`
-|`File`
-| The directory containing classes to be processed.
-It defaults to `${project.build.outputDirectory}`.
-
-|`<sourceDirectory>`
-|`File`
-| The directory where woven classes will be written.
-It defaults to `${project.build.outputDirectory}`.
-|===
-
-== Optional Parameters
-
-[cols="3,3,10"]
-|===
-|Name|Type|Description
-
-|`<includes>`
-|`List<String>`
-| Files to include. If empty all class files will be processed.
-
-|`<excludes>`
-|`List<String>`
-| Files to exclude.
-
-|`<staleMillis>`
-|`int`
-| Sets the granularity in milliseconds of the last modification date for 
testing if a class file needs weaving.
-It defaults to `0` and can be configured using the `lastModGranularityMs` 
property.
-|===
diff --git a/log4j-transform-maven-shade-plugin-extensions/README.adoc 
b/log4j-transform-maven-shade-plugin-extensions/README.adoc
deleted file mode 100644
index e5e3528..0000000
--- a/log4j-transform-maven-shade-plugin-extensions/README.adoc
+++ /dev/null
@@ -1,77 +0,0 @@
-//
-// 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.
-//
-= Log4j Plugin Cache Transformer
-
-A
-https://maven.apache.org/plugins/maven-shade-plugin/examples/resource-transformers.html[resource
 transformer]
-for the
-https://maven.apache.org/plugins/maven-shade-plugin/index.html[Apache Maven 
Shade Plugin]
-that merges `Log4j2Plugins.dat` plugin caches from all the jars containing 
Log4j 2.x Core components.
-
-This transformer was formerly available at
-https://github.com/edwgiz/maven-shaded-log4j-transformer[edwgiz/maven-shaded-log4j-transformer]
-and was donated to the Apache Software Foundation by its author.
-
-== Usage
-
-This resource transformer is usually used together with the 
`ManifestResourceTrasnformer` and `ServicesResourceTransformer` to integrate 
Log4j 2.x libraries in a shaded jar.
-
-A typical configuration is:
-
-[source,xml]
-----
-<project>
-  [...]
-  <build>
-    <plugins>
-      [...]
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-shade-plugin</artifactId>
-        <version>3.4.1</version>
-        <dependencies>
-          <dependency>
-            <groupId>org.apache.logging.log4j</groupId>
-            
<artifactId>log4j-transform-maven-shade-plugin-extensions</artifactId>
-            <version>0.1.0</version>
-          </dependency>
-        </dependencies>
-        <executions>
-          <execution>
-            <goals>
-              <goal>shade</goal>
-            </goals>
-            <configuration>
-              <transformers>
-                <transformer 
implementation="org.apache.logging.log4j.maven.plugins.shade.transformer.Log4j2PluginCacheFileTransformer"/>
-                <transformer 
implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
-                <transformer 
implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
-                  <manifestEntries>
-                    <Multi-Release>true</Multi-Release>
-                  </manifestEntries>
-                </transformer>
-              </transformers>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-      [...]
-    </plugins>
-  </build>
-  [...]
-</project>
-----
diff --git 
a/log4j-transform-maven-shade-plugin-extensions/src/site/markdown/index.md 
b/log4j-transform-maven-shade-plugin-extensions/src/site/markdown/index.md
deleted file mode 100644
index f9cba3c..0000000
--- a/log4j-transform-maven-shade-plugin-extensions/src/site/markdown/index.md
+++ /dev/null
@@ -1,88 +0,0 @@
-<!-- vim: set syn=markdown : -->
-<!--
-    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.
--->
-
-# Log4j Maven Shaded Plugin Support
-
-This module provides support for [Apache Maven Shade 
Plugin](https://maven.apache.org/plugins/maven-shade-plugin/). 
-
-## Introduction to the problem
-
-Log4j 2 is composed of plugins and they are loaded from Log4j2Plugins.dat file 
found in the classpath at runtime.
-Shading overrides the cache files provided by each individual module. For 
instance, -web and -core, etc. ... 
-So if you happen to shade libraries providing Log4j 2 plugins, you need this 
thing.
-
-
-## Overview
-
-This module includes the transformer for [Apache Maven Shade 
Plugin](https://maven.apache.org/plugins/maven-shade-plugin/), that 
concatenates `Log4j2Plugins.dat` files,
-so it must be used when there are several Log4j2Plugins.dat files in the fat 
jar dependencies.
-
-For example a fat jar must be assembled with 
`org.apache.logging.log4j:log4j-web` that for sure requires also 
`org.apache.logging.log4j:log4j-core`. Still both includes `Log4j2Plugins.dat` 
resources the transformer must be configured. 
-
-## Usage
-
-The transformer configuration must augment standard [Apache Maven Shade 
Plugin](https://maven.apache.org/plugins/maven-shade-plugin/) configuration in 
`pom.xml`.
-
-```xml
-
-<project>
-    ...
-    <build>
-        ...
-        <plugins>
-            ...
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-shade-plugin</artifactId>
-                <version>3.2.4</version>
-                <executions>
-                    <execution>
-                        <phase>package</phase>
-                        <goals>
-                            <goal>shade</goal>
-                        </goals>
-                        <configuration>
-                            <transformers>
-                                ...
-                                <transformer
-                                        
implementation="org.apache.logging.log4j.maven.plugins.shade.transformer.Log4j2PluginCacheFileTransformer">
-                                </transformer>
-                            </transformers>
-                            ...
-                        </configuration>
-                    </execution>
-                </executions>
-                <dependencies>
-                    <dependency>
-                        <groupId>org.apache.logging.maven</groupId>
-                        
<artifactId>log4j-maven-shade-plugin-extensions</artifactId>
-                        <version>${log4jVersion}</version>
-                    </dependency>
-                </dependencies>
-            </plugin>
-        </plugins>
-
-    </build>
-
-</project>
-```
-In the above example `${log4jVersion}` placeholder should point to the same 
version of the fat jar dependencies of `org.apache.logging.log4j` group
-
-# Legacy
-
-Initially the transformer was developed in this repository  
https://github.com/edwgiz/maven-shaded-log4j-transformer
diff --git a/log4j-transform-maven-shade-plugin-extensions/src/site/site.xml 
b/log4j-transform-maven-shade-plugin-extensions/src/site/site.xml
deleted file mode 100644
index f77f23e..0000000
--- a/log4j-transform-maven-shade-plugin-extensions/src/site/site.xml
+++ /dev/null
@@ -1,52 +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 Maven Shade Plugin Transformer"
-         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";>
-  <body>
-    <links>
-      <item name="Apache" href="http://www.apache.org/"; />
-      <item name="Logging Services" href="http://logging.apache.org/"/>
-      <item name="Log4j" href="../index.html"/>
-    </links>
-
-    <!-- Component-specific reports -->
-    <menu ref="reports"/>
-
-       <!-- Overall Project Info -->
-    <menu name="Log4j Project Information" img="icon-info-sign">
-      <item name="Dependencies" href="../dependencies.html" />
-      <item name="Dependency Convergence" 
href="../dependency-convergence.html" />
-      <item name="Dependency Management" href="../dependency-management.html" 
/>
-      <item name="Project Team" href="../team-list.html" />
-      <item name="Mailing Lists" href="../mail-lists.html" />
-      <item name="Issue Tracking" href="../issue-tracking.html" />
-      <item name="Project License" href="../license.html" />
-      <item name="Source Repository" href="../source-repository.html" />
-      <item name="Project Summary" href="../project-summary.html" />
-    </menu>
-
-    <menu name="Log4j Project Reports" img="icon-cog">
-      <item name="Changes Report" href="../changes-report.html" />
-      <item name="JIRA Report" href="../jira-report.html" />
-      <item name="Surefire Report" href="../surefire-report.html" />
-      <item name="RAT Report" href="../rat-report.html" />
-    </menu>
-  </body>
-</project>
diff --git a/src/site/_constants.adoc b/src/site/_constants.adoc
new file mode 100644
index 0000000..b52ac71
--- /dev/null
+++ b/src/site/_constants.adoc
@@ -0,0 +1,41 @@
+////
+    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.
+////
+
+////
+    ██     ██  █████  ██████  ███    ██ ██ ███    ██  ██████  ██
+    ██     ██ ██   ██ ██   ██ ████   ██ ██ ████   ██ ██       ██
+    ██  █  ██ ███████ ██████  ██ ██  ██ ██ ██ ██  ██ ██   ███ ██
+    ██ ███ ██ ██   ██ ██   ██ ██  ██ ██ ██ ██  ██ ██ ██    ██
+     ███ ███  ██   ██ ██   ██ ██   ████ ██ ██   ████  ██████  ██
+
+    IF THIS FILE DOESN'T HAVE A `.tmpl.adoc` SUFFIX, IT IS AUTO-GENERATED, DO 
NOT EDIT IT!
+
+    `_constants.adoc` is auto-generated from `_constants.tmpl.adoc`.
+    Auto-generation happens during `process-sources` phase of Maven.
+    Hence, you must always
+
+    1. Edit `_constants.tmpl.adoc`
+    2. Run `./mvnw process-sources`
+    3. Commit both `_constants.tmpl.adoc` and the generated `_constants.adoc`
+////
+
+:project-github-url: https://github.com/apache/logging-log4j-transform
+:project-version: 0.2.0-SNAPSHOT
+:project-name: Log4j Transform
+:project-id: log4j-transform
+:java-target-version: 8
+:java-compiler-version: [17,18)
diff --git a/src/site/_constants.tmpl.adoc b/src/site/_constants.tmpl.adoc
new file mode 100644
index 0000000..5c4b881
--- /dev/null
+++ b/src/site/_constants.tmpl.adoc
@@ -0,0 +1,41 @@
+////
+    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.
+////
+
+////
+    ██     ██  █████  ██████  ███    ██ ██ ███    ██  ██████  ██
+    ██     ██ ██   ██ ██   ██ ████   ██ ██ ████   ██ ██       ██
+    ██  █  ██ ███████ ██████  ██ ██  ██ ██ ██ ██  ██ ██   ███ ██
+    ██ ███ ██ ██   ██ ██   ██ ██  ██ ██ ██ ██  ██ ██ ██    ██
+     ███ ███  ██   ██ ██   ██ ██   ████ ██ ██   ████  ██████  ██
+
+    IF THIS FILE DOESN'T HAVE A `.tmpl.adoc` SUFFIX, IT IS AUTO-GENERATED, DO 
NOT EDIT IT!
+
+    `_constants.adoc` is auto-generated from `_constants.tmpl.adoc`.
+    Auto-generation happens during `process-sources` phase of Maven.
+    Hence, you must always
+
+    1. Edit `_constants.tmpl.adoc`
+    2. Run `./mvnw process-sources`
+    3. Commit both `_constants.tmpl.adoc` and the generated `_constants.adoc`
+////
+
+:project-github-url: ${scm.url}
+:project-version: ${project.version}
+:project-name: Log4j Transform
+:project-id: log4j-transform
+:java-target-version: ${maven.compiler.target}
+:java-compiler-version: ${minimalJavaBuildVersion}
diff --git a/log4j-transform-maven-plugin/README.adoc 
b/src/site/_log4j-transform-maven-plugin.adoc
similarity index 58%
rename from log4j-transform-maven-plugin/README.adoc
rename to src/site/_log4j-transform-maven-plugin.adoc
index 907ce78..d2da48b 100644
--- a/log4j-transform-maven-plugin/README.adoc
+++ b/src/site/_log4j-transform-maven-plugin.adoc
@@ -1,25 +1,27 @@
-//
-// 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.
-//
-= Log4j Transform Maven Plugin
+////
+    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.
+////
+[#log4j-transform-maven-plugin]
+== Log4j Transform Maven Plugin
 
 The Transform Plugin is used to postprocess the compiled classes of your 
project and replace all Log4j 2.x API calls with 
https://logging.apache.org/log4j/2.x/log4j-api/apidocs/org/apache/logging/log4j/LogBuilder.html[`LogBuilder`]
 calls with a statically precomputed location.
 This allows you to use location information in your logs without incurring in 
the *expensive* runtime calls usually used to acquire it.
 
-== Why do we need it
+[#log4j-transform-maven-plugin-why]
+=== Why do we need it
 
 Finding the location of a logging call is a very expensive operation (a couple 
of microseconds).
 
@@ -141,7 +143,8 @@ By comparison, *disabling* location information on the same 
machine gives:
 
 |===
 
-== How it works
+[#log4j-transform-maven-plugin-how]
+=== How it works
 
 The working principle is very simple: every call to the Log4j 2.x API like
 [source,java]
@@ -167,41 +170,91 @@ public void helloLog() {
 
 In the current implementation locations are stored in classes whose name ends 
in `+++$$Log4j2$$Cache+++`, so they can not accidentally be used by XML/JSON 
serializers.
 
-== Goals
+[#log4j-transform-maven-plugin-goals]
+=== Goals
 
 This plugin consists of a single goal:
 
-xref:src/doc/process-classes-mojo.adoc[`log4j-transform:process-classes`]::
+xref:#log4j-transform-maven-plugin-process-classes[`log4j-transform:process-classes`]::
 is bound to the process-classes phase and weaves your classes to include 
precomputed location information.
 
-== Usage
+[#log4j-transform-maven-plugin-process-classes]
+==== `log4j-transform:process-classes`
+
+Full name::
+
+`org.apache.logging.log4j:log4j-transform-maven-plugin:{project-version}:process-classes`
+
+Description::
+
+Generates static location information of Log4j 2.x API calls in the project 
classes.
+The resulting bytecode will not rely on runtime resolution of the location 
information.
+
+Attributes::
+
+* Requires a Maven project to be executed
+* Requires dependency resolution of artifacts in scope: `<code>compile</code>`
+* The goal is thread-safe and supports parallel builds
+* Binds by default to the 
http://maven.apache.org/ref/current/maven-core/lifecycles.html[lifecycle 
phase]: `process-classes`.
+
+[#log4j-transform-maven-plugin-process-classes-required-parameters]
+===== Required Parameters
+
+[cols="3,3,10"]
+|===
+|Name|Type|Description
+
+|`<sourceDirectory>`
+|`File`
+| The directory containing classes to be processed.
+It defaults to `${project.build.outputDirectory}`.
+
+|`<sourceDirectory>`
+|`File`
+| The directory where woven classes will be written.
+It defaults to `${project.build.outputDirectory}`.
+|===
+
+[#log4j-transform-maven-plugin-process-classes-optional-parameters]
+===== Optional Parameters
+
+[cols="3,3,10"]
+|===
+|Name|Type|Description
+
+|`<includes>`
+|`List<String>`
+| Files to include. If empty all class files will be processed.
+
+|`<excludes>`
+|`List<String>`
+| Files to exclude.
+
+|`<staleMillis>`
+|`int`
+| Sets the granularity in milliseconds of the last modification date for 
testing if a class file needs weaving.
+It defaults to `0` and can be configured using the `lastModGranularityMs` 
property.
+|===
+
+[#log4j-transform-maven-plugin-usage]
+=== Usage
 
 To use the plugin you need to declare a dependency on 
https://central.sonatype.com/artifact/org.apache.logging.log4j/log4j-api/2.20.0[`log4j-api`]
 version 2.20.0 or newer.
 
 Add the following configuration to your POM file:
 
-[source,xml]
+[source,xml,subs="+attributes"]
 ----
-<project>
-  [...]
-  <build>
-    [...]
-    <plugins>
-      <plugin>
-        <groupId>org.apache.logging.log4j</groupId>
-        <artifactId>log4j-transform-maven-plugin</artifactId>
-        <version>0.1.0</version>
-        <executions>
-          <execution>
-            <goals>
-              <goal>process-classes</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
-    [...]
-  </build>
-  [...]
-</project>
+<plugin>
+  <groupId>org.apache.logging.log4j</groupId>
+  <artifactId>log4j-transform-maven-plugin</artifactId>
+  <version>{project-version}</version>
+  <executions>
+    <execution>
+      <goals>
+        <goal>process-classes</goal>
+      </goals>
+    </execution>
+  </executions>
+</plugin>
 ----
diff --git a/src/site/_log4j-transform-maven-shade-plugin-extensions.adoc 
b/src/site/_log4j-transform-maven-shade-plugin-extensions.adoc
new file mode 100644
index 0000000..abad624
--- /dev/null
+++ b/src/site/_log4j-transform-maven-shade-plugin-extensions.adoc
@@ -0,0 +1,74 @@
+////
+    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.
+////
+[#maven-shade-plugin-extensions]
+== Maven Shade Plugin Extensions
+
+This project contains a collection of 
https://maven.apache.org/plugins/maven-shade-plugin/examples/resource-transformers.html[resource
 transformer]s for the Apache Maven Shade Plugin that allows you to use 
additional Log4j 2.x Core component modules.
+
+[#log4j-plugin-cache-transformer]
+=== Log4j Plugin Cache Transformer
+
+A
+https://maven.apache.org/plugins/maven-shade-plugin/examples/resource-transformers.html[resource
 transformer]
+for the
+https://maven.apache.org/plugins/maven-shade-plugin/index.html[Apache Maven 
Shade Plugin]
+that merges `Log4j2Plugins.dat` plugin caches from all the jars containing 
Log4j 2.x Core components.
+
+This transformer was formerly available at
+https://github.com/edwgiz/maven-shaded-log4j-transformer[edwgiz/maven-shaded-log4j-transformer]
+and was donated to the Apache Software Foundation by its author.
+
+[#log4j-plugin-cache-transformer-usage]
+==== Usage
+
+This resource transformer is usually used together with the 
`ManifestResourceTransformer` and `ServicesResourceTransformer` to integrate 
Log4j 2.x libraries in a shaded JAR.
+
+A typical configuration is:
+
+[source,xml,subs="+attributes"]
+----
+<plugin>
+  <groupId>org.apache.maven.plugins</groupId>
+  <artifactId>maven-shade-plugin</artifactId>
+  <version>3.4.1</version>
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.logging.log4j</groupId>
+      <artifactId>log4j-transform-maven-shade-plugin-extensions</artifactId>
+      <version>{project-version}</version>
+    </dependency>
+  </dependencies>
+  <executions>
+    <execution>
+      <goals>
+        <goal>shade</goal>
+      </goals>
+      <configuration>
+        <transformers>
+          <transformer 
implementation="org.apache.logging.log4j.maven.plugins.shade.transformer.Log4j2PluginCacheFileTransformer"/>
+          <transformer 
implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
+          <transformer 
implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
+            <manifestEntries>
+              <Multi-Release>true</Multi-Release>
+            </manifestEntries>
+          </transformer>
+        </transformers>
+      </configuration>
+    </execution>
+  </executions>
+</plugin>
+----
diff --git a/src/site/index.adoc b/src/site/index.adoc
new file mode 100644
index 0000000..dedb768
--- /dev/null
+++ b/src/site/index.adoc
@@ -0,0 +1,90 @@
+////
+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.
+////
+
+include::_constants.adoc[]
+
+= Log4j Transform
+
+{project-name} contains tools for binary postprocessing of projects that use 
https://logging.apache.org/log4j/2.x/[the Apache Log4j2 API].
+
+include::_log4j-transform-maven-plugin.adoc[]
+
+include::_log4j-transform-maven-shade-plugin-extensions.adoc[]
+
+[#development]
+== Development
+
+{project-name} uses {project-github-url}[GitHub] for source code management.
+
+The project requires a Java compiler matching the `{java-compiler-version}` 
range and targets Java `{java-target-version}`.
+
+You can build and verify sources using:
+
+[source,bash]
+----
+./mvnw verify
+----
+
+You can build and view the website as follows:
+
+[source,bash]
+----
+./mvnw -N site
+python -m http.server -d target/site
+----
+
+[#distribution]
+== Distribution
+
+In accordance with the Apache Software Foundation's release 
https://infra.apache.org/release-distribution.html[distribution policy] and 
https://infra.apache.org/release-publishing.html[creation process], project 
artifacts are _officially_ accessible from the following locations:
+
+* ASF https://repository.apache.org/content/repositories/releases[Release] and 
https://repository.apache.org/content/repositories/snapshots[snapshot] 
repositories (mirrored to https://central.sonatype.dev/[the Maven Central 
Repository])
+* ASF https://downloads.apache.org/logging/{project-id}[Distribution directory]
+
+See xref:#release-instructions[the release instructions] for details.
+
+[#support]
+== Support
+
+Please keep in mind that this project is intended for internal usage only.
+You can use GitHub Issues for feature requests and bug reports – not questions!
+See https://logging.apache.org/log4j/2.x/support.html[the Log4j support 
policy] for details.
+
+[#security]
+== Security
+
+If you have encountered an unlisted security vulnerability or other unexpected 
behaviour that has security impact, please report them privately to 
mailto:[email protected][the Log4j security mailing list].
+See https://logging.apache.org/log4j/2.x/security.html[the Log4j Security 
page] for further details.
+
+include::_release-notes.adoc[]
+
+[#release-instructions]
+== Release instructions
+
+{project-name} employs the CI/CD foundation provided by the 
https://logging.apache.org/logging-parent[`logging-parent`].
+You can simply use its release instructions.
+
+[#license]
+== License
+
+Licensed to the Apache Software Foundation (ASF) under one or more contributor 
license agreements.
+See `NOTICE.txt` 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.

Reply via email to