<?xml version="1.0"?>
<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>2.11.0</version>

    <relativePath>../</relativePath>

  </parent>

  <artifactId>log4j-core</artifactId>

  <packaging>jar</packaging>

  <name>Apache Log4j Core</name>

  <description>The Apache Log4j Implementation</description>

  <properties>
    <log4jParentDir>${basedir}/..</log4jParentDir>

    <docLabel>Core Documentation</docLabel>

    <projectDir>/core</projectDir>

  </properties>

  <dependencies>
    
    <dependency>
      <groupId>org.apache.logging.log4j</groupId>

      <artifactId>log4j-api</artifactId>

    </dependency>

    
    <dependency>
      <groupId>org.apache.logging.log4j</groupId>

      <artifactId>log4j-core-java9</artifactId>

      <scope>provided</scope>

      <type>zip</type>

    </dependency>

    
    <dependency>
      <groupId>org.osgi</groupId>

      <artifactId>org.osgi.core</artifactId>

      <scope>provided</scope>

    </dependency>

    
    <dependency>
      <groupId>com.lmax</groupId>

      <artifactId>disruptor</artifactId>

      <optional>true</optional>

    </dependency>

    
    <dependency>
      <groupId>com.conversantmedia</groupId>

      <artifactId>disruptor</artifactId>

      <classifier>jdk7</classifier>

      <optional>true</optional>

    </dependency>

    
    <dependency>
      <groupId>org.jctools</groupId>

      <artifactId>jctools-core</artifactId>

      <optional>true</optional>

    </dependency>

    
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>

      <artifactId>jackson-core</artifactId>

      <optional>true</optional>

    </dependency>

    
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>

      <artifactId>jackson-databind</artifactId>

      <optional>true</optional>

    </dependency>

    
    <dependency>
      <groupId>com.fasterxml.jackson.dataformat</groupId>

      <artifactId>jackson-dataformat-yaml</artifactId>

      <optional>true</optional>

    </dependency>

    
    <dependency>
      <groupId>com.fasterxml.jackson.dataformat</groupId>

      <artifactId>jackson-dataformat-xml</artifactId>

      <optional>true</optional>

    </dependency>

    
    <dependency>
      <groupId>com.fasterxml.woodstox</groupId>

      <artifactId>woodstox-core</artifactId>

      <version>5.0.3</version>

      <optional>true</optional>

    </dependency>

    
    <dependency>
      <groupId>org.fusesource.jansi</groupId>

      <artifactId>jansi</artifactId>

      <optional>true</optional>

    </dependency>

    
    <dependency>
      <groupId>com.sun.mail</groupId>

      <artifactId>javax.mail</artifactId>

      <optional>true</optional>

    </dependency>

    
    <dependency>
      <groupId>org.jboss.spec.javax.jms</groupId>

      <artifactId>jboss-jms-api_1.1_spec</artifactId>

      <scope>provided</scope>

      <optional>true</optional>

    </dependency>

    
    <dependency>
      <groupId>org.apache.kafka</groupId>

      <artifactId>kafka-clients</artifactId>

      <optional>true</optional>

    </dependency>

    
    <dependency>
      <groupId>org.zeromq</groupId>

      <artifactId>jeromq</artifactId>

      <optional>true</optional>

    </dependency>

    
    <dependency>
      <groupId>org.apache.commons</groupId>

      <artifactId>commons-compress</artifactId>

      <optional>true</optional>

    </dependency>

    
    <dependency>
      <groupId>org.apache.commons</groupId>

      <artifactId>commons-csv</artifactId>

      <optional>true</optional>

    </dependency>


    

    
    <dependency>
      <groupId>org.apache.logging.log4j</groupId>

      <artifactId>log4j-api</artifactId>

      <type>test-jar</type>

      <scope>test</scope>

    </dependency>

    
    <dependency>
      <groupId>org.tukaani</groupId>

      <artifactId>xz</artifactId>

      <scope>test</scope>

    </dependency>

    
    <dependency>
      <groupId>org.jmdns</groupId>

      <artifactId>jmdns</artifactId>

      <version>3.5.3</version>

      <scope>test</scope>

    </dependency>

    
    <dependency>
      <groupId>log4j</groupId>

      <artifactId>log4j</artifactId>

      <version>1.2.17</version>

      <scope>test</scope>

    </dependency>

    
    <dependency>
      <groupId>org.slf4j</groupId>

      <artifactId>slf4j-api</artifactId>

      <scope>test</scope>

    </dependency>

    <dependency>
      <groupId>org.slf4j</groupId>

      <artifactId>slf4j-ext</artifactId>

      <scope>test</scope>

    </dependency>

    
    <dependency>
      <groupId>junit</groupId>

      <artifactId>junit</artifactId>

      <scope>test</scope>

    </dependency>

    <dependency>
      <groupId>org.hamcrest</groupId>

      <artifactId>hamcrest-all</artifactId>

      <scope>test</scope>

    </dependency>

    
    <dependency>
      <groupId>org.mockito</groupId>

      <artifactId>mockito-core</artifactId>

      <scope>test</scope>

    </dependency>

    
    <dependency>
      <groupId>org.hsqldb</groupId>

      <artifactId>hsqldb</artifactId>

      <scope>test</scope>

    </dependency>

    <dependency>
      <groupId>com.h2database</groupId>

      <artifactId>h2</artifactId>

      <scope>test</scope>

    </dependency>

    
    <dependency>
      <groupId>org.springframework</groupId>

      <artifactId>spring-test</artifactId>

      <scope>test</scope>

    </dependency>

    
    <dependency>
      <groupId>org.apache.activemq</groupId>

      <artifactId>activemq-broker</artifactId>

      <scope>test</scope>

      <exclusions>
        <exclusion>
          <groupId>org.apache.geronimo.specs</groupId>

          <artifactId>geronimo-jms_1.1_spec</artifactId>

        </exclusion>

      </exclusions>
    
    </dependency>

    <dependency>
      <groupId>commons-logging</groupId>

      <artifactId>commons-logging</artifactId>

      <scope>test</scope>

    </dependency>

    
    <dependency>
      <groupId>ch.qos.logback</groupId>

      <artifactId>logback-core</artifactId>

      <scope>test</scope>

    </dependency>

    <dependency>
      <groupId>ch.qos.logback</groupId>

      <artifactId>logback-classic</artifactId>

      <scope>test</scope>

    </dependency>

    
    <dependency>
      <groupId>org.eclipse.tycho</groupId>

      <artifactId>org.eclipse.osgi</artifactId>

      <scope>test</scope>

    </dependency>

    <dependency>
      <groupId>org.apache.felix</groupId>

      <artifactId>org.apache.felix.framework</artifactId>

      <scope>test</scope>

    </dependency>

    <dependency>
      <groupId>org.codehaus.plexus</groupId>

      <artifactId>plexus-utils</artifactId>

      <scope>test</scope>

    </dependency>

    <dependency>
      <groupId>org.apache.maven</groupId>

      <artifactId>maven-core</artifactId>

      <scope>test</scope>

    </dependency>

    
    <dependency>
      <groupId>net.javacrumbs.json-unit</groupId>

      <artifactId>json-unit</artifactId>

      <scope>test</scope>

    </dependency>

    <dependency>
      <groupId>org.xmlunit</groupId>

      <artifactId>xmlunit-core</artifactId>

      <scope>test</scope>

    </dependency>

    <dependency>
      <groupId>org.xmlunit</groupId>

      <artifactId>xmlunit-matchers</artifactId>

      <scope>test</scope>

    </dependency>

    <dependency>
      <groupId>commons-io</groupId>

      <artifactId>commons-io</artifactId>

      <scope>test</scope>

    </dependency>

    
    <dependency>
      <groupId>commons-codec</groupId>

      <artifactId>commons-codec</artifactId>

      <scope>test</scope>

    </dependency>

    <dependency>
      <groupId>org.apache.commons</groupId>

      <artifactId>commons-lang3</artifactId>

      <scope>test</scope>

    </dependency>

    <dependency>
      <groupId>org.apache-extras.beanshell</groupId>

      <artifactId>bsh</artifactId>

      <scope>test</scope>

    </dependency>

    <dependency>
      <groupId>org.codehaus.groovy</groupId>

      <artifactId>groovy-all</artifactId>

      <scope>test</scope>

    </dependency>

    
    <dependency>
      <groupId>com.github.tomakehurst</groupId>

      <artifactId>wiremock</artifactId>

      <scope>test</scope>

    </dependency>

    
    <dependency>
      <groupId>com.google.code.java-allocation-instrumenter</groupId>

      <artifactId>java-allocation-instrumenter</artifactId>

      <scope>test</scope>

    </dependency>

    <dependency>
      <groupId>org.hdrhistogram</groupId>

      <artifactId>HdrHistogram</artifactId>

      <scope>test</scope>

    </dependency>

  </dependencies>

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>

        <artifactId>maven-dependency-plugin</artifactId>

        <version>3.0.2</version>

        <executions>
          <execution>
            <id>unpack-classes</id>

            <phase>prepare-package</phase>

            <goals>
              <goal>unpack</goal>

            </goals>

            <configuration>
              <artifactItems>
                <artifactItem>
                  <groupId>org.apache.logging.log4j</groupId>

                  <artifactId>log4j-core-java9</artifactId>

                  <version>${project.version}</version>

                  <type>zip</type>

                  <overWrite>false</overWrite>

                </artifactItem>

              </artifactItems>

              <includes>**/*.class</includes>

              <excludes>**/*.java</excludes>

              <outputDirectory>${project.build.directory}</outputDirectory>

              <overWriteReleases>false</overWriteReleases>

              <overWriteSnapshots>true</overWriteSnapshots>

            </configuration>

          </execution>

        </executions>

      </plugin>

      <plugin>
        <groupId>org.codehaus.mojo</groupId>

        <artifactId>build-helper-maven-plugin</artifactId>

        <version>1.7</version>

        <executions>
          <execution>
            <id>add-source</id>

            <phase>generate-sources</phase>

            <goals>
              <goal>add-source</goal>

            </goals>

            <configuration>
              <sources>
                <source>${project.build.directory}/log4j-core-java9</source>

              </sources>

            </configuration>

          </execution>

        </executions>

      </plugin>

      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>

        <executions>
          <execution>
            
            <id>default-compile</id>

            <configuration>
              <excludes>
                <exclude>module-info.java</exclude>

              </excludes>

              <proc>none</proc>

            </configuration>

          </execution>

          <execution>
            
            <id>process-plugins</id>

            <goals>
              <goal>compile</goal>

            </goals>

            <phase>process-classes</phase>

            <configuration>
              <excludes>
                <exclude>module-info.java</exclude>

              </excludes>

              <proc>only</proc>

            </configuration>

          </execution>

        </executions>

      </plugin>

      <plugin>
        <artifactId>maven-surefire-plugin</artifactId>

        <configuration>
          <excludedGroups>
            org.apache.logging.log4j.categories.PerformanceTests
          </excludedGroups>

          <forkCount>1</forkCount>

          <reuseForks>false</reuseForks>

          <systemPropertyVariables>
            <org.apache.activemq.SERIALIZABLE_PACKAGES>*</org.apache.activemq.SERIALIZABLE_PACKAGES>

          </systemPropertyVariables>

        </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>

                  <Automatic-Module-Name>org.apache.logging.log4j.core</Automatic-Module-Name>

                  <Multi-Release>true</Multi-Release>

                </manifestEntries>

              </archive>

            </configuration>

          </execution>

          <execution>
            <id>default</id>

            <goals>
              <goal>test-jar</goal>

            </goals>

            <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.core</Bundle-SymbolicName>

            
            <Export-Package>org.apache.logging.log4j.core.*</Export-Package>

            <Import-Package>
              sun.reflect;resolution:=optional,
              *
            </Import-Package>

            <Bundle-Activator>org.apache.logging.log4j.core.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%/show_bug.cgi?id=%ISSUE%</issueLinkTemplate>

          <useJql>true</useJql>

        </configuration>

      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>

        <artifactId>maven-checkstyle-plugin</artifactId>

        <version>${checkstyle.plugin.version}</version>

        <configuration>
          
          <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>

          <bottom>&lt;p align="center">Copyright &amp;#169; {inceptionYear}-{currentYear} {organizationName}. All Rights Reserved.&lt;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.&lt;/p></bottom>

          
          <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>org.codehaus.mojo</groupId>

        <artifactId>findbugs-maven-plugin</artifactId>

        <version>${findbugs.plugin.version}</version>

        <configuration>
          <fork>true</fork>

          <jvmArgs>-Duser.language=en</jvmArgs>

          <threshold>Normal</threshold>

          <effort>Default</effort>

          <excludeFilterFile>${log4jParentDir}/findbugs-exclude-filter.xml</excludeFilterFile>

        </configuration>

      </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>
