<?xml version="1.0" encoding="UTF-8"?>
<!--
 Copyright (c) 2001-2015, Zoltan Farkas All Rights Reserved.

  This library is free software; you can redistribute it and/or
  modify it under the terms of the GNU Lesser General Public
  License as published by the Free Software Foundation; either
  version 2.1 of the License, or (at your option) any later version.

  This library is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  GNU General Public License for more details.

  You should have received a copy of the GNU Lesser General Public
  License along with this program; if not, write to the Free Software
  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
-->
<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>

  <groupId>org.spf4j</groupId>
  <artifactId>spf4j-slf4j-test</artifactId>
  <packaging>jar</packaging>
  <parent>
    <groupId>org.spf4j</groupId>
    <artifactId>spf4j</artifactId>
    <version>8.5.10</version>
  </parent>
  <name>${project.artifactId}</name>
  <description>A slf4j backend for your unit tests</description>
  <dependencies>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
      <version>${slf4j.version}</version>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>${junit.version}</version>
    </dependency>
    <dependency>
      <groupId>com.google.code.findbugs</groupId>
      <artifactId>findbugs-annotations</artifactId>
      <version>3.0.1</version>
    </dependency>
    <dependency>
      <groupId>com.google.code.findbugs</groupId>
      <artifactId>jsr305</artifactId>
      <version>3.0.2</version>
    </dependency>
    <dependency>
      <groupId>net.sf.trove4j</groupId>
      <artifactId>trove4j</artifactId>
      <version>3.0.3</version>
    </dependency>
    <dependency>
      <groupId>com.google.guava</groupId>
      <artifactId>guava</artifactId>
      <version>${guava.version}</version>
    </dependency>
    <dependency>
      <groupId>org.hamcrest</groupId>
      <artifactId>hamcrest-library</artifactId>
      <version>1.3</version>
    </dependency>
    <dependency>
      <groupId>net.java.dev.jna</groupId>
      <artifactId>jna-platform</artifactId>
      <version>4.5.0</version>
      <optional>true</optional>
    </dependency>
  </dependencies>
  
  <build>
    <plugins>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-antrun-plugin</artifactId>
        <version>1.8</version>
        <executions>
          <execution>
            <id>create avsc destination folder</id>
            <phase>generate-sources</phase>
            <goals>
              <goal>run</goal>
            </goals>
            <configuration>
              <target>
                <mkdir dir="target/generated-sources/spf4j-core" />
                <copy todir="target/generated-sources/spf4j-core" verbose="true">
                  <fileset dir="${project.build.directory}/../../spf4j-core/src/main/java/">
                    <include name="org/spf4j/base/UncheckedTimeoutException.java" />
                    <include name="org/spf4j/base/UncheckedExecutionException.java" />
                    <include name="org/spf4j/base/EscapeJsonStringAppendableWrapper.java" />
                    <include name="org/spf4j/base/Callables.java" />
                    <include name="org/spf4j/base/Arrays.java" />
                    <include name="org/spf4j/base/XCollectors.java" />
                    <include name="org/spf4j/base/AppendableUtils.java" />
                    <include name="org/spf4j/base/Objects.java" />
                    <include name="org/spf4j/base/IntAppender.java" />
                    <include name="org/spf4j/base/IntMath.java" />
                    <include name="org/spf4j/base/TLScratch.java" />
                    <include name="org/spf4j/base/OctalUnescaper.java" />
                    <include name="org/spf4j/base/UnicodeUnescaper.java" />
                    <include name="org/spf4j/base/LookupTranslator.java" />
                    <include name="org/spf4j/base/CloneFailedException.java" />
                    <include name="org/spf4j/base/IntSequence.java" />
                    <include name="org/spf4j/base/CharSequences.java" />
                    <include name="org/spf4j/base/MemorizedCallable.java" />
                    <include name="org/spf4j/base/ReferenceType.java" />
                    <include name="org/spf4j/base/PackageInfo.java" />
                    <include name="org/spf4j/base/Slf4jMessageFormatter.java" />
                    <include name="org/spf4j/io/ObjectAppenderSupplier.java" />
                    <include name="org/spf4j/io/ConfigurableAppenderSupplier.java" />
                    <include name="org/spf4j/io/ObjectAppender.java" />
                    <include name="org/spf4j/io/MimeTypes.java" />
                    <include name="org/spf4j/reflect/ByTypeSupplier.java" />
                    <include name="org/spf4j/reflect/CachingTypeMapWrapper.java" />
                    <include name="org/spf4j/reflect/GraphTypeMap.java" />
                    <include name="org/spf4j/reflect/TypeMap.java" />
                    <include name="org/spf4j/base/Throwables.java" />
                    <include name="org/spf4j/io/ByteArrayBuilder.java" />
                    <include name="org/spf4j/recyclable/impl/ArraySuppliers.java" />
                    <include name="org/spf4j/recyclable/SizedRecyclingSupplier.java" />
                    <include name="org/spf4j/recyclable/NonValidatingRecyclingSupplier.java" />
                    <include name="org/spf4j/recyclable/impl/Powerof2ThreadLocalRecyclingSupplier.java" />
                    <include name="org/spf4j/recyclable/impl/Powerof2SizedGlobalRecyclingSupplier.java" />
                    <include name="org/spf4j/concurrent/UnboundedLoadingCache.java" />
                    <include name="org/spf4j/ds/IdentityHashSet.java" />
                    <include name="org/spf4j/base/CharSequenceTranslator.java" />
                    <include name="org/spf4j/base/AggregateTranslator.java" />                  
                    <include name="org/spf4j/ds/Graphs.java" />
                    <include name="org/spf4j/base/Closeables.java" />
                    <include name="org/spf4j/log/SLF4JBridgeHandler.java" />
                    <include name="org/spf4j/text/*.java" />
                    <include name="org/spf4j/base/Method.java" />
                    <include name="org/spf4j/base/Writeable.java" />
                    <include name="org/spf4j/recyclable/Disposable.java" />
                    <include name="org/spf4j/recyclable/*Exception.java" />
                    <include name="org/spf4j/recyclable/impl/ThreadLocalRecyclingSupplier.java" />
                    <!-- start ExecutionContext -->
                    <include name="org/spf4j/base/*ExecutionContext*.java" />
                    <include name="org/spf4j/base/TimeSource.java" />
                    <include name="org/spf4j/base/TimeoutDeadline.java" />
                    <!-- end ExecutionContext -->
                  </fileset>
                </copy>
              </target>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>build-helper-maven-plugin</artifactId>
        <version>3.0.0</version>
        <executions>
          <execution>
            <id>add-source</id>
            <phase>generate-sources</phase>
            <goals>
              <goal>add-source</goal>
            </goals>
            <configuration>
              <sources>
                <source>${project.build.directory}/generated-sources/spf4j-core/</source>
              </sources>
            </configuration>
          </execution>
        </executions>
      </plugin>


      <plugin>
        <groupId>com.github.spotbugs</groupId>
        <artifactId>spotbugs-maven-plugin</artifactId>
      </plugin>
            
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-checkstyle-plugin</artifactId>
      </plugin>

      <plugin>
        <groupId>org.jacoco</groupId>
        <artifactId>jacoco-maven-plugin</artifactId>
        <configuration>
          <excludes> <!-- covered in spf4j-core  -->
            <exclude>org/spf4j/base/**/*</exclude>
            <exclude>org/spf4j/io/**/*</exclude>
            <exclude>org/spf4j/reflect/**/*</exclude>
            <exclude>org/spf4j/recyclable/**/*</exclude>
            <exclude>org/spf4j/ds/**/*</exclude>
            <exclude>org/spf4j/concurrent/**/*</exclude>
          </excludes>
        </configuration>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <configuration>
          <properties>
            <property>
              <name>listener</name>
              <value>org.spf4j.test.log.junit4.DetailOnFailureRunListener</value>
            </property>
          </properties>
        </configuration>
      </plugin>

    </plugins>
  </build>
  <reporting>
    <plugins>
      <plugin>
        <groupId>org.jacoco</groupId>
        <artifactId>jacoco-maven-plugin</artifactId>
        <version>${jacoco.version}</version>
      </plugin>
      <plugin>
        <groupId>org.spf4j</groupId>
        <artifactId>spf4j-jdiff-maven-plugin</artifactId>
        <version>${project.version}</version>
        <configuration>
          <maxNumberOfDiffs>12</maxNumberOfDiffs>
        </configuration>
      </plugin>
    </plugins>
  </reporting>
</project>
