<?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">
  <parent>
    <artifactId>polaris-annotation-processor</artifactId>
    <groupId>cn.pivoto.polaris.toolkit</groupId>
    <version>${revision}</version>
    <relativePath>../../pom.xml</relativePath>
  </parent>
  <modelVersion>4.0.0</modelVersion>
  <artifactId>polaris-annotation-processor-core</artifactId>
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-shade-plugin</artifactId>
        <executions>
          <execution>
            <phase>package</phase>
            <goals>
              <goal>shade</goal>
            </goals>
            <configuration>
              <transformers>
                <transformer>
                  <manifestEntries>
                    <mainClass>${start-class}</mainClass>
                    <X-Author>Qt</X-Author>
                    <X-File-Encoding>${project.build.sourceEncoding}</X-File-Encoding>
                    <X-Compiler-Source>${maven.compiler.source}</X-Compiler-Source>
                    <X-Compiler-Target>${maven.compiler.target}</X-Compiler-Target>
                  </manifestEntries>
                </transformer>
                <transformer />
                <transformer />
                <transformer />
                <transformer>
                  <addHeader>true</addHeader>
                </transformer>
                <transformer>
                  <resource>.gitkeep</resource>
                </transformer>
                <transformer>
                  <resource>META-INF/proto/${project.groupId}-${project.artifactId}-${project.version}.pom.xml</resource>
                  <file>pom.xml</file>
                </transformer>
              </transformers>
            </configuration>
          </execution>
        </executions>
        <configuration>
          <createDependencyReducedPom>true</createDependencyReducedPom>
          <dependencyReducedPomLocation>${project.build.directory}/.shaded-pom.xml</dependencyReducedPomLocation>
          <shadedClassifierName>shaded</shadedClassifierName>
          <createSourcesJar>true</createSourcesJar>
          <minimizeJar>false</minimizeJar>
          <shadeSourcesContent>true</shadeSourcesContent>
          <shadedArtifactAttached>false</shadedArtifactAttached>
          <filters>
            <filter>
              <artifact>*:*</artifact>
              <excludes>
                <exclude>module-info.class</exclude>
                <exclude>META-INF/*.SF</exclude>
                <exclude>META-INF/*.DSA</exclude>
                <exclude>META-INF/*.RSA</exclude>
              </excludes>
            </filter>
          </filters>
          <artifactSet>
            <excludes>
              <exclude>org.slf4j:*</exclude>
              <exclude>com.google.code.findbugs:jsr305</exclude>
            </excludes>
          </artifactSet>
          <relocations>
            <relocation>
              <pattern>com.squareup.javapoet</pattern>
              <shadedPattern>io.polaris.dependency.com.squareup.javapoet</shadedPattern>
              <excludes />
            </relocation>
            <relocation>
              <pattern>org.objectweb.asm</pattern>
              <shadedPattern>io.polaris.dependency.org.objectweb.asm</shadedPattern>
            </relocation>
          </relocations>
        </configuration>
      </plugin>
    </plugins>
  </build>
  <profiles>
    <profile>
      <id>jdk8</id>
      <dependencies>
        <dependency>
          <groupId>cn.pivoto.jdk</groupId>
          <artifactId>tools</artifactId>
          <version>1.8</version>
          <scope>system</scope>
          <systemPath>D:\devel\java\jdk\jre/../lib/tools.jar</systemPath>
          <optional>true</optional>
        </dependency>
      </dependencies>
    </profile>
  </profiles>
  <dependencies>
    <dependency>
      <groupId>cn.pivoto.jdk</groupId>
      <artifactId>tools</artifactId>
      <version>1.8</version>
      <scope>system</scope>
      <systemPath>D:\devel\java\jdk\jre/../lib/tools.jar</systemPath>
      <optional>true</optional>
    </dependency>
    <dependency>
      <groupId>org.projectlombok</groupId>
      <artifactId>lombok</artifactId>
      <version>1.18.20</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.codehaus.groovy</groupId>
      <artifactId>groovy-all</artifactId>
      <version>2.5.14</version>
      <type>pom</type>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.openjdk.jmh</groupId>
      <artifactId>jmh-core</artifactId>
      <version>1.21</version>
      <scope>test</scope>
      <exclusions>
        <exclusion>
          <artifactId>jopt-simple</artifactId>
          <groupId>net.sf.jopt-simple</groupId>
        </exclusion>
        <exclusion>
          <artifactId>commons-math3</artifactId>
          <groupId>org.apache.commons</groupId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.openjdk.jmh</groupId>
      <artifactId>jmh-generator-annprocess</artifactId>
      <version>1.21</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.hsqldb</groupId>
      <artifactId>hsqldb</artifactId>
      <version>2.5.1</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>com.h2database</groupId>
      <artifactId>h2</artifactId>
      <version>1.4.200</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.junit.jupiter</groupId>
      <artifactId>junit-jupiter-api</artifactId>
      <version>5.8.1</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.mockito</groupId>
      <artifactId>mockito-core</artifactId>
      <version>3.5.13</version>
      <scope>test</scope>
      <exclusions>
        <exclusion>
          <artifactId>byte-buddy</artifactId>
          <groupId>net.bytebuddy</groupId>
        </exclusion>
        <exclusion>
          <artifactId>byte-buddy-agent</artifactId>
          <groupId>net.bytebuddy</groupId>
        </exclusion>
        <exclusion>
          <artifactId>objenesis</artifactId>
          <groupId>org.objenesis</groupId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.mockito</groupId>
      <artifactId>mockito-inline</artifactId>
      <version>3.5.13</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.mockito</groupId>
      <artifactId>mockito-junit-jupiter</artifactId>
      <version>3.5.13</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
  <properties>
    <dependency.javapoet.version>1.13.0</dependency.javapoet.version>
  </properties>
</project>
