<?xml version="1.0" encoding="UTF-8"?>
<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.spf4j</groupId>
    <artifactId>spf4j-avro-components</artifactId>
    <version>8.6.2</version>
  </parent>
  <artifactId>maven-avro-schema-plugin</artifactId>
  <packaging>maven-plugin</packaging>
  <name>spf4j-${project.artifactId} - ${project.version}</name>
  <inceptionYear>2018</inceptionYear>

  <description>Avro plugin for better avro schemas</description>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <jdk-version>1.8</jdk-version>
    <!--
    <avro.version>1.8.1.18p</avro.version>
    -->
    <spf4j.version>${project.version}</spf4j.version>
    <skip.forbidenApi>true</skip.forbidenApi>
    <!-- jacoco limits whacky until I figure out a way to collect them for the integration tests -->
    <jacoco.instruction.ratio>0.0</jacoco.instruction.ratio>
    <jacoco.class.ratio>0.0</jacoco.class.ratio>
    <jacoco.method.ratio>0.0</jacoco.method.ratio>
  </properties>

  <dependencies>
    <dependency>
      <groupId>org.spf4j</groupId>
      <artifactId>spf4j-slf4j-test</artifactId>
      <scope>test</scope>
      <version>${project.version}</version>
    </dependency>
    <dependency>
        <groupId>org.bitbucket.cowwoc</groupId>
        <artifactId>diff-match-patch</artifactId>
        <version>1.2</version>
    </dependency>
    <!-- avro compiler -->
    <dependency>
      <groupId>org.apache.avro</groupId>
      <artifactId>avro-compiler</artifactId>
      <version>${avro.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.avro</groupId>
      <artifactId>avro</artifactId>
      <version>${avro.version}</version>
    </dependency>
    <dependency>
      <groupId>org.spf4j</groupId>
      <artifactId>spf4j-avro</artifactId>
      <version>${project.version}</version>
    </dependency>
    <dependency>
      <groupId>org.spf4j</groupId>
      <artifactId>spf4j-core</artifactId>
      <version>${project.version}</version>
    </dependency>
    <dependency>
      <groupId>org.spf4j</groupId>
      <artifactId>spf4j-aether</artifactId>
      <version>${project.version}</version>
    </dependency>
    <dependency>
      <groupId>net.java.dev.jna</groupId>
      <artifactId>jna-platform</artifactId>
      <version>4.5.0</version>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <scope>test</scope>
      <version>${junit.version}</version>
    </dependency>
   <!-- Maven Core -->
    <dependency>
      <groupId>org.apache.maven</groupId>
      <artifactId>maven-core</artifactId>
      <version>${mavenPluginApi.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.maven.shared</groupId>
      <artifactId>file-management</artifactId>
      <version>3.0.0</version>
    </dependency>
    <dependency>
      <groupId>org.apache.maven</groupId>
      <artifactId>maven-plugin-api</artifactId>
      <version>${mavenPluginApi.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.maven.plugin-tools</groupId>
      <artifactId>maven-plugin-annotations</artifactId>
      <version>${mavenPluginAnnotations.version}</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.maven</groupId>
      <artifactId>maven-archiver</artifactId>
      <version>3.2.0</version>
    </dependency>
  </dependencies>
	
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
      </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.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-plugin-plugin</artifactId>
        <executions>
          <execution>
            <id>mojo-descriptor</id>
            <goals>
              <goal>descriptor</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-invoker-plugin</artifactId>
        <version>3.1.0</version>
        <executions>
          <execution>
            <goals>
              <goal>install</goal>
              <goal>integration-test</goal>
              <goal>verify</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <debug>true</debug>
          <ignoreFailures>false</ignoreFailures>
          <localRepositoryPath>${project.build.directory}/local-repo</localRepositoryPath>
          <projectsDirectory>src/it/projects</projectsDirectory>
          <settingsFile>src/it/mrm/settings.xml</settingsFile>
          <filterProperties>
            <ap.version>${project.version}</ap.version>
            <mrm.repository.url>${mrm.repository.url}</mrm.repository.url>
            <mrm.distribution.url>${mrm.distribution.url}</mrm.distribution.url>
            <avro.version>${avro.version}</avro.version>
            <spf4j.version>${spf4j.version}</spf4j.version>
          </filterProperties>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>mrm-maven-plugin</artifactId>
        <version>1.1.0</version>
        <executions>
          <execution>
            <id>distribution</id>
            <goals>
              <goal>start</goal>
              <goal>stop</goal>
            </goals>
            <configuration>
              <propertyName>mrm.distribution.url</propertyName>
              <repositories>
                <hostedRepo>
                  <target>target/hosted-repo</target>
                </hostedRepo>
              </repositories>
            </configuration>
          </execution>
          <execution>
            <goals>
              <goal>start</goal>
              <goal>stop</goal>
            </goals>
        <configuration>
          <repositories>
            <!--
            <mockRepo>
              <source>${user.home}/.m2/repository</source>
              <cloneTo>target/mock-repo</cloneTo>
              <cloneClean>true</cloneClean>
              <lazyArchiver>false</lazyArchiver>
            </mockRepo>
            -->
            <proxyRepo />
          </repositories>
        </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.jacoco</groupId>
        <artifactId>jacoco-maven-plugin</artifactId>
      </plugin>
    </plugins>
    <resources>
      <resource>
        <directory>src/main/resources</directory>
        <includes>
          <include>**/*</include>
        </includes>
        <filtering>true</filtering>
      </resource>
    </resources>
    <testResources>
      <testResource>
        <directory>src/test/resources</directory>
        <includes>
          <include>**/*</include>
        </includes>
        <filtering>true</filtering>
      </testResource>
    </testResources>
  </build>

	
  <reporting>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-javadoc-plugin</artifactId>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-plugin-plugin</artifactId>
      </plugin>
    </plugins>
  </reporting>
	
</project>
