<?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.24</version>
   <packaging>jar</packaging>

   <name>Main</name>
   <description>
      JMockit is a Java toolkit for automated developer testing.
      It contains mocking and faking APIs and a code coverage tool, supporting both JUnit and TestNG.
      The mocking API allows all kinds of Java code, without testability restrictions, to be tested
      in isolation from selected dependencies.
   </description>
   <url>http://www.jmockit.org</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>
   <mailingLists>
      <mailingList>
         <name>JMockit Users</name>
         <archive>http://groups.google.com/group/jmockit-users</archive>
         <post>jmockit-users@googlegroups.com</post>
      </mailingList>
   </mailingLists>

   <properties>
      <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
   </properties>

   <build>
      <sourceDirectory>src</sourceDirectory>
      <testSourceDirectory>test</testSourceDirectory>
      <outputDirectory>classes</outputDirectory>
      <testOutputDirectory>test-classes</testOutputDirectory>
      <resources>
         <resource>
            <directory>.</directory>
            <includes>
               <include>META-INF/services/org.junit.gen5.engine.TestEngine</include>
               <include>META-INF/services/org.testng.ITestNGListener</include>
            </includes>
         </resource>
         <resource>
            <directory>src</directory>
            <includes>
               <include>**/*.css</include>
               <include>**/*.js</include>
               <include>**/*.png</include>
            </includes>
         </resource>
         <resource>
            <directory>..</directory>
            <includes>
               <include>LICENSE.txt</include>
               <include>NOTICE.txt</include>
            </includes>
         </resource>
      </resources>
      <testResources>
         <testResource>
            <directory>test</directory>
            <includes><include>**/*.zip</include></includes>
         </testResource>
      </testResources>
      <plugins>
         <plugin>
            <artifactId>maven-enforcer-plugin</artifactId><version>1.4.1</version>
            <executions>
               <execution>
                  <goals><goal>enforce</goal></goals>
                  <configuration>
                     <rules>
                        <requireJavaVersion><version>1.8</version></requireJavaVersion>
                        <requireMavenVersion><version>3.3.1</version></requireMavenVersion>
                        <dependencyConvergence/>
                     </rules>
                  </configuration>
               </execution>
            </executions>
         </plugin>
         <plugin>
            <artifactId>maven-compiler-plugin</artifactId><version>3.5.1</version>
            <configuration>
               <encoding>UTF-8</encoding>
               <source>1.6</source><target>1.6</target>
               <compilerArgs><arg>-Xlint:none</arg></compilerArgs>
               <useIncrementalCompilation>false</useIncrementalCompilation>
            </configuration>
         </plugin>
         <plugin>
            <artifactId>maven-jar-plugin</artifactId><version>2.6</version>
            <configuration>
               <archive>
                  <addMavenDescriptor>false</addMavenDescriptor>
                  <manifestEntries>
                     <Main-Class>mockit.coverage.CodeCoverage</Main-Class>
                     <Premain-Class>mockit.internal.startup.Startup</Premain-Class>
                     <Agent-Class>mockit.internal.startup.Startup</Agent-Class>
                     <Can-Redefine-Classes>true</Can-Redefine-Classes>
                     <Can-Retransform-Classes>true</Can-Retransform-Classes>
                  </manifestEntries>
               </archive>
            </configuration>
         </plugin>
         <plugin>
            <artifactId>maven-source-plugin</artifactId><version>3.0.0</version>
            <configuration>
               <excludes>
                  <exclude>*</exclude>
                  <exclude>**/*.css</exclude>
                  <exclude>**/*.js</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>2.10.3</version>
            <configuration>
               <encoding>UTF-8</encoding>
               <nodeprecated>true</nodeprecated>
               <noindex>true</noindex>
               <notree>true</notree>
               <nohelp>true</nohelp>
               <breakiterator>true</breakiterator>
               <use>false</use>
               <source>1.7</source>
               <windowtitle>JMockit Toolkit API</windowtitle>
               <doctitle>JMockit Toolkit API Documentation</doctitle>
               <stylesheetfile>${project.basedir}/../../jmockit.github.io/api1x/stylesheet.css</stylesheetfile>
               <overview>${project.basedir}/../../jmockit.github.io/api1x/overview.html</overview>
               <header><![CDATA[<a href="http://jmockit.org" target="_top"><img src="resources/logo.png">JMockit Home</a>]]></header>
               <footer><![CDATA[<a href="http://jmockit.org" target="_top"><img src="resources/logo.png">JMockit Home</a>]]></footer>
               <notimestamp>true</notimestamp>
               <quiet>true</quiet>
               <sourcepath>${basedir}/src</sourcepath>
               <subpackages>none</subpackages>
               <additionalparam>-Xdoclint:none mockit mockit.integration.junit4</additionalparam>
            </configuration>
            <executions>
               <execution>
                  <id>attach-javadocs</id>
                  <goals><goal>jar</goal></goals>
               </execution>
            </executions>
         </plugin>
         <plugin>
            <artifactId>maven-surefire-plugin</artifactId><version>2.19.1</version>
            <configuration>
               <skipTests>true</skipTests>
               <disableXmlReport>true</disableXmlReport>
               <runOrder>alphabetical</runOrder>
            </configuration>
            <executions>
               <execution>
                  <id>JUnit-tests</id>
                  <phase>test</phase>
                  <goals><goal>test</goal></goals>
                  <configuration>
                     <skipTests>${skipTests}</skipTests>
                     <testNGArtifactName>none:none</testNGArtifactName>
                     <excludes>
                        <exclude>**/*$*</exclude>
                        <exclude>**/Base*Test.class</exclude>
                        <exclude>**/JUnit4DecoratorTest.class</exclude>
                        <exclude>**/testng/*Test.class</exclude>
                        <exclude>**/MockStateBetweenTestMethodsNGTest.class</exclude>
                        <exclude>**/mockit/integration/TestedClass.class</exclude>
                     </excludes>
                  </configuration>
               </execution>
               <execution>
                  <id>TestNG-tests</id>
                  <phase>test</phase>
                  <goals><goal>test</goal></goals>
                  <configuration>
                     <skipTests>${skipTests}</skipTests>
                     <junitArtifactName>none:none</junitArtifactName>
                     <includes>
                        <include>**/testng/*Test.class</include>
                        <include>**/MockStateBetweenTestMethodsNGTest.class</include>
                     </includes>
                     <excludes>
                        <exclude>**/TestNGViolatedExpectationsTest.class</exclude>
                     </excludes>
                  </configuration>
               </execution>
            </executions>
         </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.7</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.0</version>
         <optional>true</optional>
      </dependency>
      <dependency>
         <groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version>
         <optional>true</optional>
      </dependency>
      <dependency>
         <groupId>org.junit</groupId><artifactId>junit5-api</artifactId><version>5.0.0-SNAPSHOT</version>
         <optional>true</optional>
      </dependency>
      <dependency>
         <groupId>org.junit</groupId><artifactId>junit-engine-api</artifactId><version>5.0.0-SNAPSHOT</version>
         <optional>true</optional>
      </dependency>
      <dependency>
         <groupId>org.junit</groupId><artifactId>junit5-engine</artifactId><version>5.0.0-SNAPSHOT</version>
         <optional>true</optional>
      </dependency>
      <dependency>
         <groupId>org.testng</groupId><artifactId>testng</artifactId><version>6.9.10</version>
         <optional>true</optional>
         <exclusions>
            <exclusion><groupId>com.google.inject</groupId><artifactId>guice</artifactId></exclusion>
            <exclusion><groupId>org.beanshell</groupId><artifactId>bsh</artifactId></exclusion>
            <exclusion><groupId>org.apache.ant</groupId><artifactId>ant</artifactId></exclusion>
            <exclusion><groupId>org.yaml</groupId><artifactId>snakeyaml</artifactId></exclusion>
            <exclusion><groupId>junit</groupId><artifactId>junit</artifactId></exclusion>
         </exclusions>
      </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>
            <exclusion><groupId>javax.activation</groupId><artifactId>activation</artifactId></exclusion>
         </exclusions>
      </dependency>
   </dependencies>
</project>