﻿<?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>

   <groupId>org.jmockit</groupId><artifactId>jmockit</artifactId><version>1.47</version>
   <packaging>jar</packaging>

   <name>JMockit</name>
   <description>
      JMockit is a Java toolkit for automated developer testing.
      It contains APIs for the creation of the objects to be tested, for mocking dependencies, and for faking external
      APIs; JUnit (4 &amp; 5) and TestNG test runners are supported.
      It also contains an advanced code coverage tool.
   </description>
   <url>http://jmockit.github.io</url>
   <licenses>
      <license>
         <name>The MIT License</name>
         <url>http://www.opensource.org/licenses/mit-license.php</url>
      </license>
   </licenses>
   <developers>
      <developer><name>Rogério Liesenfeld</name></developer>
   </developers>
   <inceptionYear>2006</inceptionYear>
   <scm>
      <url>https://github.com/jmockit/jmockit1</url>
      <connection>scm:git:https://github.com/jmockit/jmockit1</connection>
   </scm>
   <issueManagement>
      <system>GitHub Issues</system>
      <url>https://github.com/jmockit/jmockit1/issues</url>
   </issueManagement>

   <properties>
      <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
   </properties>

   <build>
      <sourceDirectory>src</sourceDirectory>
      <testSourceDirectory>test</testSourceDirectory>
      <resources>
         <resource>
            <directory>.</directory>
            <includes>
               <include>META-INF/services/*</include>
            </includes>
         </resource>
         <resource>
            <directory>src</directory>
            <includes>
               <include>mockit/coverage/reporting/coverage.css</include>
               <include>mockit/coverage/reporting/*.js</include>
               <include>mockit/coverage/reporting/*.png</include>
            </includes>
         </resource>
         <resource>
            <directory>..</directory>
            <includes>
               <include>LICENSE.txt</include>
               <include>NOTICE.txt</include>
            </includes>
         </resource>
      </resources>
      <plugins>
         <plugin>
            <artifactId>maven-compiler-plugin</artifactId><version>3.8.0</version>
            <configuration>
               <encoding>UTF-8</encoding>
               <source>1.7</source><target>1.7</target>
               <compilerArgs><arg>-Xlint:none</arg></compilerArgs>
               <useIncrementalCompilation>false</useIncrementalCompilation>
            </configuration>
         </plugin>
         <plugin>
            <artifactId>maven-jar-plugin</artifactId><version>3.1.0</version>
            <configuration>
               <archive>
                  <addMavenDescriptor>false</addMavenDescriptor>
                  <manifestEntries>
                     <Main-Class>mockit.coverage.CodeCoverage</Main-Class>
                     <Premain-Class>mockit.internal.startup.Startup</Premain-Class>
                     <Can-Redefine-Classes>true</Can-Redefine-Classes>
                     <Can-Retransform-Classes>true</Can-Retransform-Classes>
                     <Implementation-Version>${project.version}</Implementation-Version>
                     <Built-By/>
                  </manifestEntries>
               </archive>
            </configuration>
         </plugin>
         <plugin>
            <artifactId>maven-source-plugin</artifactId><version>3.0.1</version>
            <configuration>
               <archive>
                  <addMavenDescriptor>false</addMavenDescriptor>
               </archive>
               <excludes>
                  <exclude>*</exclude>
                  <exclude>**/*.css</exclude>
                  <exclude>**/*.js</exclude>
                  <exclude>**/*.png</exclude>
                  <exclude>META-INF/services/*</exclude>
               </excludes>
            </configuration>
            <executions>
               <execution>
                  <id>attach-sources</id>
                  <goals><goal>jar-no-fork</goal></goals>
               </execution>
            </executions>
         </plugin>
         <plugin>
            <artifactId>maven-javadoc-plugin</artifactId><version>3.0.1</version>
            <configuration>
               <encoding>UTF-8</encoding>
               <nodeprecated>true</nodeprecated>
               <noindex>true</noindex>
               <notree>true</notree>
               <nohelp>true</nohelp>
               <notimestamp>true</notimestamp>
               <breakiterator>true</breakiterator>
               <use>false</use>
               <source>1.8</source>
               <windowtitle>JMockit Toolkit API</windowtitle>
               <doctitle>JMockit Toolkit API Documentation</doctitle>
               <quiet>true</quiet>
               <subpackages>mockit</subpackages>
               <excludePackageNames>mockit.asm.*:mockit.coverage.*:mockit.internal.*:mockit.integration.*</excludePackageNames>
               <additionalOptions>
                  <additionalOption>-Xdoclint:none</additionalOption>
               </additionalOptions>
               <links>
                  <link>http://docs.oracle.com/javase/8/docs/api/</link>
                  <link>http://docs.oracle.com/javaee/7/api/</link>
               </links>
            </configuration>
            <executions>
               <execution>
                  <id>attach-javadocs</id>
                  <goals><goal>jar</goal></goals>
               </execution>
            </executions>
         </plugin>
         <plugin>
            <artifactId>maven-surefire-plugin</artifactId><version>2.22.2</version>
            <configuration>
               <disableXmlReport>true</disableXmlReport>
               <runOrder>alphabetical</runOrder>
               <argLine>-javaagent:../agent.jar</argLine>
               <properties><property><name>junit</name><value>false</value></property></properties>
               <excludes><exclude>**/TestNGViolatedExpectationsTest.class</exclude></excludes>
               <threadCount>1</threadCount>
               <forkCount>1C</forkCount>
            </configuration>
            <dependencies>
               <dependency>
                  <groupId>org.apache.maven.surefire</groupId><artifactId>surefire-junit47</artifactId><version>2.22.2</version>
               </dependency>
               <dependency>
                  <groupId>org.apache.maven.surefire</groupId><artifactId>surefire-testng</artifactId><version>2.22.2</version>
               </dependency>
            </dependencies>
         </plugin>
         <plugin>
            <artifactId>maven-gpg-plugin</artifactId><version>1.6</version>
            <executions>
               <execution>
                  <id>sign-artifacts</id>
                  <phase>deploy</phase>
                  <goals><goal>sign</goal></goals>
               </execution>
            </executions>
         </plugin>
         <plugin>
            <groupId>org.sonatype.plugins</groupId><artifactId>nexus-staging-maven-plugin</artifactId><version>1.6.8</version>
            <extensions>true</extensions>
            <configuration>
               <serverId>sonatype-nexus-staging</serverId>
               <nexusUrl>https://oss.sonatype.org/</nexusUrl>
               <autoReleaseAfterClose>true</autoReleaseAfterClose>
            </configuration>
         </plugin>
      </plugins>
   </build>

   <dependencies>
      <dependency>
         <groupId>com.google.code.findbugs</groupId><artifactId>jsr305</artifactId><version>3.0.2</version>
      </dependency>
      <dependency>
         <groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version>
         <optional>true</optional>
      </dependency>
      <dependency>
         <groupId>org.junit.jupiter</groupId><artifactId>junit-jupiter-engine</artifactId><version>5.5.0-RC2</version>
         <optional>true</optional>
         <exclusions>
            <exclusion><groupId>org.apiguardian</groupId><artifactId>apiguardian-api</artifactId></exclusion>
            <exclusion><groupId>org.opentest4j</groupId><artifactId>opentest4j</artifactId></exclusion>
            <exclusion><groupId>org.junit.platform</groupId><artifactId>junit-platform-engine</artifactId></exclusion>
            <exclusion><groupId>org.junit.platform</groupId><artifactId>junit-platform-commons</artifactId></exclusion>
         </exclusions>
      </dependency>
      <dependency>
         <groupId>org.testng</groupId><artifactId>testng</artifactId><version>6.14.3</version>
         <optional>true</optional>
      </dependency>
      <dependency>
         <groupId>javax</groupId><artifactId>javaee-api</artifactId><version>7.0</version>
         <optional>true</optional>
         <exclusions>
            <exclusion><groupId>com.sun.mail</groupId><artifactId>javax.mail</artifactId></exclusion>
         </exclusions>
      </dependency>
      <dependency>
         <groupId>org.springframework</groupId><artifactId>spring-web</artifactId><version>4.2.0.RELEASE</version>
         <optional>true</optional>
         <exclusions>
            <exclusion><groupId>org.springframework</groupId><artifactId>spring-aop</artifactId></exclusion>
            <exclusion><groupId>org.springframework</groupId><artifactId>spring-expression</artifactId></exclusion>
         </exclusions>
      </dependency>
   </dependencies>
</project>