<?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> 
    <artifactId>ipp-v3-java-devkit-pom</artifactId>  
    <groupId>com.intuit.quickbooks-online</groupId>  
    <version>6.4.2</version>
  </parent>  
  <artifactId>ipp-v3-java-devkit</artifactId>  
  <packaging>jar</packaging>  
  <name>IPP V3 Java Devkit - Development Project</name>  
  <description>IPP Java V3 DevKit Project - Core</description>  
  <properties> 
    <sonar.langauge>java</sonar.langauge>  
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>  
    <javadocExecutable>${java.home}/bin/javadoc</javadocExecutable> 
  </properties>  
  <dependencies> 
    <dependency> 
      <groupId>com.intuit.quickbooks-online</groupId>  
      <artifactId>ipp-v3-java-data</artifactId>  
      <version>6.4.2</version>
      <exclusions> 
        <exclusion> 
          <groupId>javax.xml.bind</groupId>  
          <artifactId>jaxb-api</artifactId> 
        </exclusion>  
        <exclusion> 
          <groupId>org.glassfish.jaxb</groupId>  
          <artifactId>txw2</artifactId> 
        </exclusion>
        <exclusion> 
          <groupId>com.sun.xml.bind</groupId>  
          <artifactId>jaxb-impl</artifactId> 
        </exclusion>  
        <exclusion> 
          <groupId>javax.activation</groupId>  
          <artifactId>javax.activation-api</artifactId> 
        </exclusion>  
        <exclusion>
          <groupId>org.jvnet.jaxb2_commons</groupId>
          <artifactId>jaxb2-commons-lang</artifactId>
        </exclusion>
      </exclusions> 
    </dependency>
    <dependency>
      <groupId>org.ow2.asm</groupId>
      <artifactId>asm-commons</artifactId>
      <version>9.7</version>
    </dependency>  
    <dependency> 
      <groupId>com.sun.mail</groupId>  
      <artifactId>javax.mail</artifactId>  
      <version>1.6.1</version>  
      <exclusions> 
        <exclusion> 
          <groupId>javax.activation</groupId>  
          <artifactId>activation</artifactId> 
        </exclusion> 
      </exclusions> 
    </dependency>  
    <dependency> 
      <groupId>com.google.code.gson</groupId>  
      <artifactId>gson</artifactId>  
      <version>2.8.1</version> 
    </dependency>  
    <dependency> 
      <groupId>oauth.signpost</groupId>  
      <artifactId>signpost-core</artifactId>  
      <version>1.2.1.1</version> 
    </dependency>  
    <dependency> 
      <groupId>oauth.signpost</groupId>  
      <artifactId>signpost-commonshttp4</artifactId>  
      <version>1.2</version> 
    </dependency>  
    <!-- Exclude commons-collection 3.2.1 due to security vulnerability and bring in 3.2.2 below that has the fix -->  
    <dependency> 
      <groupId>commons-configuration</groupId>  
      <artifactId>commons-configuration</artifactId>  
      <version>1.6</version>  
      <exclusions> 
        <exclusion> 
          <groupId>commons-collections</groupId>  
          <artifactId>commons-collections</artifactId> 
        </exclusion>
        <!-- Fix to exclude commons-beanutils 1.7 due to security vulnerability and bring in 1.9.4-->
        <exclusion>
          <groupId>commons-beanutils</groupId>
          <artifactId>commons-beanutils</artifactId>
        </exclusion>
      </exclusions> 
    </dependency>  
    <!-- https://mvnrepository.com/artifact/commons-collections/commons-collections -->  
    <!-- As per 3.2.2 fixes the vulnerability https://commons.apache.org/proper/commons-collections/security-reports.html -->  
    <dependency> 
      <groupId>commons-collections</groupId>  
      <artifactId>commons-collections</artifactId>  
      <version>3.2.2</version> 
    </dependency>
    <!-- https://mvnrepository.com/artifact/commons-beanutils/commons-beanutils -->
    <!-- 1.9.4 fixes vulnerability -->
    <dependency>
      <groupId>commons-beanutils</groupId>
      <artifactId>commons-beanutils</artifactId>
      <version>1.9.4</version>
    </dependency>
    <dependency>
      <groupId>commons-io</groupId>
      <artifactId>commons-io</artifactId>
      <version>2.16.1</version>
    </dependency>  
    <dependency> 
      <groupId>commons-codec</groupId>  
      <artifactId>commons-codec</artifactId>  
      <version>1.11</version> 
    </dependency>  
    <dependency> 
      <groupId>com.fasterxml.jackson.jaxrs</groupId>  
      <artifactId>jackson-jaxrs-json-provider</artifactId>  
      <version>2.9.10</version> 
    </dependency>  
    <dependency> 
      <groupId>org.jmockit</groupId>  
      <artifactId>jmockit</artifactId>  
      <version>1.25</version>  
      <scope>test</scope> 
    </dependency>
    <dependency>
      <groupId>net.bytebuddy</groupId>
      <artifactId>byte-buddy</artifactId>
      <version>1.15.0</version>
    </dependency>
  </dependencies>  
  <build> 
    <testResources> 
      <testResource> 
        <directory>${basedir}/src/test/resources</directory> 
      </testResource> 
    </testResources>  
    <resources> 
      <resource> 
        <directory>${basedir}/src/main/resources</directory> 
      </resource> 
    </resources>  
    <!-- <finalName>ipp-v3-java-devkit</finalName> -->  
    <plugins> 
      <plugin> 
        <groupId>org.eluder.coveralls</groupId>  
        <artifactId>coveralls-maven-plugin</artifactId>  
        <version>4.3.0</version> 
      </plugin>  
      <plugin> 
        <groupId>org.apache.maven.plugins</groupId>  
        <artifactId>maven-deploy-plugin</artifactId>  
        <version>3.0.0-M1</version>  
        <configuration> 
          <skip>true</skip> 
        </configuration> 
      </plugin>  
      <!-- build jar with dependencies -->  
      <plugin> 
        <artifactId>maven-assembly-plugin</artifactId>  
        <configuration> 
          <finalName>${project.artifactId}-${project.version}</finalName>  
          <descriptorRefs> 
            <descriptorRef>jar-with-dependencies</descriptorRef> 
          </descriptorRefs> 
        </configuration>  
        <executions> 
          <execution> 
            <id>dist-assembly</id>  
            <phase>package</phase>  
            <goals> 
              <goal>single</goal> 
            </goals> 
          </execution> 
        </executions> 
      </plugin>  
      <!-- Surefire plugin before 2.9 version is buggy -->  
      <plugin> 
        <artifactId>maven-surefire-plugin</artifactId>  
        <version>3.0.0-M3</version>  
        <configuration> 
          <argLine>${argLine} -Djdk.attach.allowAttachSelf</argLine>  
          <suiteXmlFiles> 
            <suiteXmlFile>testng-devkit.xml</suiteXmlFile> 
          </suiteXmlFiles> 
        </configuration> 
      </plugin>  
      <plugin> 
        <groupId>org.jacoco</groupId>  
        <artifactId>jacoco-maven-plugin</artifactId>  
        <!-- <version>0.7.6-SNAPSHOT</version> -->  
        <version>0.8.4</version>  
        <executions> 
          <execution> 
            <id>default-prepare-agent</id>  
            <goals> 
              <goal>prepare-agent</goal> 
            </goals> 
          </execution>  
          <execution> 
            <id>default-report</id>  
            <phase>prepare-package</phase>  
            <goals> 
              <goal>report</goal> 
            </goals> 
          </execution>  
          <execution> 
            <id>default-check</id>  
            <goals> 
              <goal>check</goal> 
            </goals>  
            <configuration> 
              <rules> 
                <rule implementation="org.jacoco.maven.RuleConfiguration"> 
                  <element>BUNDLE</element>  
                  <limits> 
                    <limit implementation="org.jacoco.report.check.Limit"> 
                      <counter>COMPLEXITY</counter>  
                      <value>COVEREDRATIO</value>  
                      <minimum>0.30</minimum> 
                    </limit> 
                  </limits> 
                </rule> 
              </rules> 
            </configuration> 
          </execution> 
        </executions> 
      </plugin> 
    </plugins> 
  </build>  
  <profiles> 
    <profile> 
      <properties> 
        <test.suite>testng.xml</test.suite> 
      </properties> 
    </profile>  
    <profile> 
      <id>noTest</id>  
      <build> 
        <plugins> 
          <plugin> 
            <groupId>org.apache.maven.plugins</groupId>  
            <artifactId>maven-surefire-plugin</artifactId>  
            <version>3.0.0-M3</version>  
            <configuration> 
              <skipTests>true</skipTests> 
            </configuration> 
          </plugin> 
        </plugins> 
      </build> 
    </profile>  
    <profile> 
      <id>intTest</id>  
      <build> 
        <plugins> 
          <plugin> 
            <groupId>org.apache.maven.plugins</groupId>  
            <artifactId>maven-surefire-plugin</artifactId>  
            <version>3.0.0-M3</version>  
            <configuration> 
              <argLine>-Djdk.attach.allowAttachSelf 
                <!-- required to run test with jmockit on JDK 9 --> 
              </argLine>  
              <suiteXmlFiles> 
                <suiteXmlFile>testng.xml</suiteXmlFile> 
              </suiteXmlFiles> 
            </configuration> 
          </plugin> 
        </plugins> 
      </build> 
    </profile>  
    <profile> 
      <id>sign</id>  
      <build> 
        <plugins> 
          <!-- build javadocs jar -->  
          <plugin> 
            <groupId>org.apache.maven.plugins</groupId>  
            <artifactId>maven-javadoc-plugin</artifactId>  
            <version>2.9</version>  
            <executions> 
              <execution> 
                <id>attach-javadocs</id>  
                <goals> 
                  <goal>jar</goal> 
                </goals> 
              </execution> 
            </executions> 
          </plugin>  
          <!-- build sources jar -->  
          <plugin> 
            <groupId>org.apache.maven.plugins</groupId>  
            <artifactId>maven-source-plugin</artifactId>  
            <version>2.2.1</version>  
            <executions> 
              <execution> 
                <id>attach-sources</id>  
                <goals> 
                  <goal>jar-no-fork</goal> 
                </goals> 
              </execution> 
            </executions> 
          </plugin> 
        </plugins> 
      </build> 
    </profile> 
  </profiles>  
  <dependencyManagement> 
    <dependencies> 
      <dependency> 
        <groupId>com.fasterxml.jackson.jaxrs</groupId>  
        <artifactId>jackson-jaxrs-base</artifactId>  
        <version>2.9.10</version> 
      </dependency>  
      <dependency> 
        <groupId>org.apache.commons</groupId>  
        <artifactId>commons-lang3</artifactId>  
        <version>3.9</version> 
      </dependency>  
      <dependency> 
        <groupId>org.jvnet.staxex</groupId>  
        <artifactId>stax-ex</artifactId>  
        <version>1.8</version> 
      </dependency>  
      <dependency> 
        <groupId>com.sun.xml.fastinfoset</groupId>  
        <artifactId>FastInfoset</artifactId>  
        <version>1.2.15</version> 
      </dependency> 
    </dependencies> 
  </dependencyManagement> 
</project>
