| <?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 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>3.0.0-SNAPSHOT</version> |
| <relativePath>../</relativePath> |
| </parent> |
| <artifactId>log4j-plugins</artifactId> |
| <packaging>jar</packaging> |
| <name>Apache Log4j Plugins</name> |
| <description>Log4j Plugin Support</description> |
| <properties> |
| <log4jParentDir>${basedir}/..</log4jParentDir> |
| <docLabel>Plugin Documentation</docLabel> |
| <projectDir>/plugins</projectDir> |
| <maven.doap.skip>true</maven.doap.skip> |
| </properties> |
| <dependencies> |
| <dependency> |
| <groupId>org.apache.logging.log4j</groupId> |
| <artifactId>log4j-api</artifactId> |
| </dependency> |
| <!-- Used for OSGi bundle support --> |
| <dependency> |
| <groupId>org.osgi</groupId> |
| <artifactId>org.osgi.framework</artifactId> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.osgi</groupId> |
| <artifactId>org.osgi.resource</artifactId> |
| <scope>provided</scope> |
| </dependency> |
| |
| <!-- TEST DEPENDENCIES --> |
| |
| <!-- Pull in useful test classes from API --> |
| <dependency> |
| <groupId>org.apache.logging.log4j</groupId> |
| <artifactId>log4j-api</artifactId> |
| <type>test-jar</type> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.junit.vintage</groupId> |
| <artifactId>junit-vintage-engine</artifactId> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.junit.jupiter</groupId> |
| <artifactId>junit-jupiter-engine</artifactId> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.hamcrest</groupId> |
| <artifactId>hamcrest-all</artifactId> |
| <scope>test</scope> |
| </dependency> |
| </dependencies> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-clean-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>clean</id> |
| <phase>initialize</phase> |
| <goals> |
| <goal>clean</goal> |
| </goals> |
| </execution> |
| <execution> |
| <id>delete-test-module-info</id> |
| <phase>generate-test-sources</phase> |
| <goals> |
| <goal>clean</goal> |
| </goals> |
| <configuration> |
| <excludeDefaultDirectories>true</excludeDefaultDirectories> |
| <verbose>true</verbose> |
| <filesets> |
| <fileset> |
| <directory>${project.build.testOutputDirectory}</directory> |
| <followSymlinks>false</followSymlinks> |
| <useDefaultExcludes>true</useDefaultExcludes> |
| <includes> |
| <include>module-info.class</include> |
| <include>**/Log4jPlugins.class</include> |
| </includes> |
| </fileset> |
| <fileset> |
| <directory>${project.build.directory}/generated-test-sources/test-annotations</directory> |
| <followSymlinks>false</followSymlinks> |
| <useDefaultExcludes>true</useDefaultExcludes> |
| </fileset> |
| </filesets> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <artifactId>maven-compiler-plugin</artifactId> |
| <executions> |
| <execution> |
| <!-- build the plugin processor --> |
| <id>compile-processor</id> |
| <phase>generate-sources</phase> |
| <goals> |
| <goal>compile</goal> |
| </goals> |
| <configuration combine.self="override"> |
| <proc>none</proc> |
| </configuration> |
| </execution> |
| <execution> |
| <!-- then do a processing-only pass to generate plugins --> |
| <id>preprocess-plugins</id> |
| <goals> |
| <goal>compile</goal> |
| </goals> |
| <phase>generate-sources</phase> |
| <configuration combine.self="override"> |
| <source>${maven.compiler.source}</source> |
| <target>${maven.compiler.target}</target> |
| <proc>only</proc> |
| <compilerArguments> |
| <processor>org.apache.logging.log4j.plugins.processor.PluginProcessor</processor> |
| </compilerArguments> |
| </configuration> |
| </execution> |
| <execution> |
| <!-- capture the test plugins --> |
| <id>preprocess-test-plugins</id> |
| <goals> |
| <goal>testCompile</goal> |
| </goals> |
| <phase>generate-sources</phase> |
| <configuration combine.self="override"> |
| <source>${maven.compiler.source}</source> |
| <target>${maven.compiler.target}</target> |
| <proc>only</proc> |
| <annotationProcessors> |
| <annotationProcessor>org.apache.logging.log4j.plugins.processor.PluginProcessor</annotationProcessor> |
| </annotationProcessors> |
| <compileSourceRoots> |
| <compileSourceRoot>${project.basedir}/src/test/java-test</compileSourceRoot> |
| </compileSourceRoots> |
| <parameters>true</parameters> |
| </configuration> |
| </execution> |
| <execution> |
| <!-- capture the test plugins --> |
| <id>preprocess-unit-test-plugins</id> |
| <goals> |
| <goal>testCompile</goal> |
| </goals> |
| <phase>generate-sources</phase> |
| <configuration combine.self="override"> |
| <source>${maven.compiler.source}</source> |
| <target>${maven.compiler.target}</target> |
| <proc>only</proc> |
| <annotationProcessors> |
| <annotationProcessor>org.apache.logging.log4j.plugins.processor.PluginProcessor</annotationProcessor> |
| </annotationProcessors> |
| <compileSourceRoots> |
| <compileSourceRoot>${project.basedir}/src/test/java</compileSourceRoot> |
| <compileSourceRoot>${project.basedir}/src/test/java-test</compileSourceRoot> |
| </compileSourceRoots> |
| <generatedTestSourcesDirectory>${project.build.directory}/generated-test-sources/unit-test-annotations</generatedTestSourcesDirectory> |
| <outputDirectory>${project.build.directory}/unit-test-classes</outputDirectory> |
| <parameters>true</parameters> |
| </configuration> |
| </execution> |
| <execution> |
| <!-- compile the source --> |
| <id>default-compile</id> |
| <goals> |
| <goal>compile</goal> |
| </goals> |
| <configuration combine.self="override"> |
| <source>${maven.compiler.source}</source> |
| <target>${maven.compiler.target}</target> |
| <release>${maven.compiler.release}</release> |
| <showDeprecation>true</showDeprecation> |
| <showWarnings>true</showWarnings> |
| <encoding>UTF-8</encoding> |
| <fork>true</fork> |
| <meminitial>256</meminitial> |
| <maxmem>1024</maxmem> |
| <compilerArgs> |
| <arg>-XDcompilePolicy=simple</arg> |
| <arg>-Xplugin:ErrorProne</arg> |
| <!-- |
| https://errorprone.info/docs/installation |
| in Java 16+, https://openjdk.java.net/jeps/396 encapsulates internals that errorprone needs |
| --> |
| <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED</arg> |
| <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED</arg> |
| <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED</arg> |
| <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED</arg> |
| <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED</arg> |
| <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED</arg> |
| <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED</arg> |
| <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED</arg> |
| <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED</arg> |
| <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED</arg> |
| </compilerArgs> |
| <compilerArguments> |
| <Xmaxwarns>10000</Xmaxwarns> |
| <Xlint /> |
| </compilerArguments> |
| <annotationProcessorPaths> |
| <path> |
| <groupId>com.google.errorprone</groupId> |
| <artifactId>error_prone_core</artifactId> |
| <version>${errorprone.version}</version> |
| </path> |
| </annotationProcessorPaths> |
| <forceJavacCompilerUse>true</forceJavacCompilerUse> |
| <parameters>true</parameters> |
| <compileSourceRoots> |
| <compileSourceRoot>${project.basedir}/src/main/java</compileSourceRoot> |
| <compileSourceRoot>${project.basedir}/src/main/java9</compileSourceRoot> |
| </compileSourceRoots> |
| </configuration> |
| </execution> |
| <execution> |
| <!-- then compile the test module--> |
| <id>process-test-plugins</id> |
| <goals> |
| <goal>testCompile</goal> |
| </goals> |
| <phase>process-classes</phase> |
| <configuration combine.self="override"> |
| <source>${maven.compiler.source}</source> |
| <target>${maven.compiler.target}</target> |
| <proc>none</proc> |
| <compileSourceRoots> |
| <compileSourceRoot>${project.basedir}/src/test/java-test</compileSourceRoot> |
| <compileSourceRoot>${project.basedir}/src/test/java-test9</compileSourceRoot> |
| </compileSourceRoots> |
| <parameters>true</parameters> |
| </configuration> |
| </execution> |
| <execution> |
| <!-- compile the test source --> |
| <id>default-testCompile</id> |
| <goals> |
| <goal>testCompile</goal> |
| </goals> |
| <configuration combine.self="override"> |
| <source>${maven.compiler.source}</source> |
| <target>${maven.compiler.target}</target> |
| <release>${maven.compiler.release}</release> |
| <showDeprecation>true</showDeprecation> |
| <showWarnings>true</showWarnings> |
| <encoding>UTF-8</encoding> |
| <fork>true</fork> |
| <meminitial>256</meminitial> |
| <maxmem>1024</maxmem> |
| <compilerArgs> |
| <arg>-XDcompilePolicy=simple</arg> |
| <arg>-Xplugin:ErrorProne</arg> |
| <!-- |
| https://errorprone.info/docs/installation |
| in Java 16+, https://openjdk.java.net/jeps/396 encapsulates internals that errorprone needs |
| --> |
| <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED</arg> |
| <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED</arg> |
| <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED</arg> |
| <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED</arg> |
| <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED</arg> |
| <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED</arg> |
| <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED</arg> |
| <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED</arg> |
| <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED</arg> |
| <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED</arg> |
| </compilerArgs> |
| <compilerArguments> |
| <Xmaxwarns>10000</Xmaxwarns> |
| <Xlint /> |
| </compilerArguments> |
| <forceJavacCompilerUse>true</forceJavacCompilerUse> |
| <parameters>true</parameters> |
| <annotationProcessorPaths> |
| <path> |
| <groupId>com.google.errorprone</groupId> |
| <artifactId>error_prone_core</artifactId> |
| <version>${errorprone.version}</version> |
| </path> |
| </annotationProcessorPaths> |
| <compileSourceRoots> |
| <compileSourceRoot>${project.basedir}/src/test/java</compileSourceRoot> |
| <compileSourceRoot>${project.basedir}/src/test/java9</compileSourceRoot> |
| <compileSourceRoot>${project.basedir}/src/test/java-test</compileSourceRoot> |
| <compileSourceRoot>${project.build.directory}/generated-test-sources/unit-test-annotations</compileSourceRoot> |
| </compileSourceRoots> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <artifactId>maven-resources-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>copy-service</id> |
| <phase>process-classes</phase> |
| <goals> |
| <goal>copy-resources</goal> |
| </goals> |
| <configuration> |
| <outputDirectory>${project.build.testOutputDirectory}</outputDirectory> |
| <overwrite>true</overwrite> |
| <resources> |
| <resource> |
| <directory>${project.build.directory}/unit-test-classes</directory> |
| <includes> |
| <include>**/*</include> |
| </includes> |
| </resource> |
| </resources> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <artifactId>maven-surefire-plugin</artifactId> |
| <configuration> |
| <useModulePath>false</useModulePath> |
| <excludedGroups> |
| org.apache.logging.log4j.categories.PerformanceTests |
| </excludedGroups> |
| <systemPropertyVariables> |
| <org.apache.activemq.SERIALIZABLE_PACKAGES>*</org.apache.activemq.SERIALIZABLE_PACKAGES> |
| </systemPropertyVariables> |
| <argLine>--add-opens java.base/java.net=ALL-UNNAMED</argLine> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-failsafe-plugin</artifactId> |
| <configuration> |
| <skipTests>true</skipTests> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-jar-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>default-jar</id> |
| <goals> |
| <goal>jar</goal> |
| </goals> |
| <configuration combine.self="override"> |
| <archive> |
| <manifestFile>${manifestfile}</manifestFile> |
| <manifestEntries> |
| <Specification-Title>${project.name}</Specification-Title> |
| <Specification-Version>${project.version}</Specification-Version> |
| <Specification-Vendor>${project.organization.name}</Specification-Vendor> |
| <Implementation-Title>${project.name}</Implementation-Title> |
| <Implementation-Version>${project.version}</Implementation-Version> |
| <Implementation-Vendor>${project.organization.name}</Implementation-Vendor> |
| <Implementation-Vendor-Id>org.apache</Implementation-Vendor-Id> |
| <X-Compile-Source-JDK>${maven.compiler.source}</X-Compile-Source-JDK> |
| <X-Compile-Target-JDK>${maven.compiler.target}</X-Compile-Target-JDK> |
| </manifestEntries> |
| </archive> |
| </configuration> |
| </execution> |
| <execution> |
| <id>test-jar</id> |
| <goals> |
| <goal>test-jar</goal> |
| </goals> |
| <phase>process-classes</phase> |
| <configuration> |
| <archive> |
| <!--<manifestFile>${manifestfile}</manifestFile>--> |
| <manifestEntries> |
| <Specification-Title>${project.name}</Specification-Title> |
| <Specification-Version>${project.version}</Specification-Version> |
| <Specification-Vendor>${project.organization.name}</Specification-Vendor> |
| <Implementation-Title>${project.name}</Implementation-Title> |
| <Implementation-Version>${project.version}</Implementation-Version> |
| <Implementation-Vendor>${project.organization.name}</Implementation-Vendor> |
| <Implementation-Vendor-Id>org.apache</Implementation-Vendor-Id> |
| <X-Compile-Source-JDK>${maven.compiler.source}</X-Compile-Source-JDK> |
| <X-Compile-Target-JDK>${maven.compiler.target}</X-Compile-Target-JDK> |
| </manifestEntries> |
| </archive> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.felix</groupId> |
| <artifactId>maven-bundle-plugin</artifactId> |
| <configuration> |
| <instructions> |
| <Bundle-SymbolicName>org.apache.logging.log4j.plugins</Bundle-SymbolicName> |
| <!-- TODO: exclude internal classes from export --> |
| <Export-Package>org.apache.logging.log4j.plugins.*</Export-Package> |
| <Import-Package> |
| org.apache.logging.log4j, |
| org.apache.logging.log4j.status, |
| org.apache.logging.log4j.util, |
| org.osgi.framework.* |
| </Import-Package> |
| <Bundle-Activator>org.apache.logging.log4j.plugins.osgi.Activator</Bundle-Activator> |
| </instructions> |
| </configuration> |
| </plugin> |
| </plugins> |
| </build> |
| <reporting> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-changes-plugin</artifactId> |
| <version>${changes.plugin.version}</version> |
| <reportSets> |
| <reportSet> |
| <reports> |
| <report>changes-report</report> |
| </reports> |
| </reportSet> |
| </reportSets> |
| <configuration> |
| <issueLinkTemplate>%URL%/%ISSUE%</issueLinkTemplate> |
| <useJql>true</useJql> |
| <component>Plugins</component> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-checkstyle-plugin</artifactId> |
| <version>${checkstyle.plugin.version}</version> |
| <configuration> |
| <!--<propertiesLocation>${vfs.parent.dir}/checkstyle.properties</propertiesLocation> --> |
| <configLocation>${log4jParentDir}/checkstyle.xml</configLocation> |
| <suppressionsLocation>${log4jParentDir}/checkstyle-suppressions.xml</suppressionsLocation> |
| <enableRulesSummary>false</enableRulesSummary> |
| <propertyExpansion>basedir=${basedir}</propertyExpansion> |
| <propertyExpansion>licensedir=${log4jParentDir}/checkstyle-header.txt</propertyExpansion> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-javadoc-plugin</artifactId> |
| <version>${javadoc.plugin.version}</version> |
| <configuration> |
| <failOnError>false</failOnError> |
| <source>8</source> |
| <bottom><![CDATA[<p align="center">Copyright © {inceptionYear}-{currentYear} {organizationName}. All Rights Reserved.<br /> |
| Apache Logging, Apache Log4j, Log4j, Apache, the Apache feather logo, the Apache Logging project logo, |
| and the Apache Log4j logo are trademarks of The Apache Software Foundation.</p>]]></bottom> |
| <!-- module link generation is completely broken in the javadoc plugin for a multi-module non-aggregating |
| project --> |
| <additionalparam>${javadoc.opts}</additionalparam> |
| <detectOfflineLinks>false</detectOfflineLinks> |
| <linksource>true</linksource> |
| <links> |
| <link>http://docs.oracle.com/javaee/6/api/</link> |
| <link>http://www.osgi.org/javadoc/r4v43/core/</link> |
| <link>https://commons.apache.org/proper/commons-lang/javadocs/api-release/</link> |
| </links> |
| <groups> |
| <group> |
| <title>Core API</title> |
| <packages>org.apache.logging.log4j.core</packages> |
| </group> |
| <group> |
| <title>Configuration</title> |
| <packages>org.apache.logging.log4j.core.config*:org.apache.logging.log4j.core.selector</packages> |
| </group> |
| <group> |
| <title>Core Plugins</title> |
| <packages>org.apache.logging.log4j.core.appender*:org.apache.logging.log4j.core.filter:org.apache.logging.log4j.core.layout:org.apache.logging.log4j.core.lookup:org.apache.logging.log4j.core.pattern:org.apache.logging.log4j.core.script</packages> |
| </group> |
| <group> |
| <title>Tools</title> |
| <packages>org.apache.logging.log4j.core.net*:org.apache.logging.log4j.core.tools</packages> |
| </group> |
| <group> |
| <title>Internals</title> |
| <packages>org.apache.logging.log4j.core.async:org.apache.logging.log4j.core.impl:org.apache.logging.log4j.core.util*:org.apache.logging.log4j.core.osgi:org.apache.logging.log4j.core.jackson:org.apache.logging.log4j.core.jmx</packages> |
| </group> |
| </groups> |
| </configuration> |
| <reportSets> |
| <reportSet> |
| <id>non-aggregate</id> |
| <reports> |
| <report>javadoc</report> |
| </reports> |
| </reportSet> |
| </reportSets> |
| </plugin> |
| <plugin> |
| <groupId>com.github.spotbugs</groupId> |
| <artifactId>spotbugs-maven-plugin</artifactId> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-jxr-plugin</artifactId> |
| <version>${jxr.plugin.version}</version> |
| <reportSets> |
| <reportSet> |
| <id>non-aggregate</id> |
| <reports> |
| <report>jxr</report> |
| </reports> |
| </reportSet> |
| <reportSet> |
| <id>aggregate</id> |
| <reports> |
| <report>aggregate</report> |
| </reports> |
| </reportSet> |
| </reportSets> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-pmd-plugin</artifactId> |
| <version>${pmd.plugin.version}</version> |
| <configuration> |
| <targetJdk>${maven.compiler.target}</targetJdk> |
| </configuration> |
| </plugin> |
| </plugins> |
| </reporting> |
| </project> |
| |