<?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>amazon-kinesis-connector-flink-parent</artifactId>
    <groupId>software.amazon.kinesis</groupId>
    <version>2.3.1</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
  <artifactId>amazon-kinesis-connector-flink</artifactId>
  <name>Amazon Kinesis Connector for Apache Flink</name>
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-checkstyle-plugin</artifactId>
        <configuration>
          <suppressionsLocation>tools/maven/suppressions.xml</suppressionsLocation>
          <configLocation>tools/maven/checkstyle.xml</configLocation>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-shade-plugin</artifactId>
        <executions>
          <execution>
            <id>shade</id>
            <phase>package</phase>
            <goals>
              <goal>shade</goal>
            </goals>
            <configuration>
              <promoteTransitiveDependencies>true</promoteTransitiveDependencies>
              <artifactSet>
                <includes>
                  <include>com.amazonaws:*</include>
                  <include>com.google.protobuf:*</include>
                  <include>org.apache.httpcomponents:*</include>
                  <include>software.amazon.awssdk:*</include>
                  <include>software.amazon.eventstream:*</include>
                  <include>software.amazon.ion:*</include>
                  <include>org.reactivestreams:*</include>
                  <include>io.netty:*</include>
                  <include>com.typesafe.netty:*</include>
                </includes>
              </artifactSet>
              <relocations>
                <relocation>
                  <pattern>com.google.protobuf</pattern>
                  <shadedPattern>software.amazon.kinesis.shaded.com.google.protobuf</shadedPattern>
                </relocation>
                <relocation>
                  <pattern>com.amazonaws</pattern>
                  <shadedPattern>software.amazon.kinesis.shaded.com.amazonaws</shadedPattern>
                </relocation>
                <relocation>
                  <pattern>org.apache.http</pattern>
                  <shadedPattern>software.amazon.kinesis.shaded.org.apache.http</shadedPattern>
                </relocation>
                <relocation>
                  <pattern>software.amazon.awssdk</pattern>
                  <shadedPattern>software.amazon.kinesis.shaded.software.amazon.awssdk</shadedPattern>
                </relocation>
                <relocation>
                  <pattern>software.amazon.eventstream</pattern>
                  <shadedPattern>software.amazon.kinesis.shaded.software.amazon.eventstream</shadedPattern>
                </relocation>
                <relocation>
                  <pattern>software.amazon.ion</pattern>
                  <shadedPattern>software.amazon.kinesis.shaded.software.amazon.ion</shadedPattern>
                </relocation>
                <relocation>
                  <pattern>io.netty</pattern>
                  <shadedPattern>software.amazon.kinesis.shaded.io.netty</shadedPattern>
                </relocation>
                <relocation>
                  <pattern>com.typesafe.netty</pattern>
                  <shadedPattern>software.amazon.kinesis.shaded.com.typesafe.netty</shadedPattern>
                </relocation>
                <relocation>
                  <pattern>org.reactivestreams</pattern>
                  <shadedPattern>software.amazon.kinesis.shaded.org.reactivestreams</shadedPattern>
                </relocation>
              </relocations>
              <filters>
                <filter>
                  <artifact>com.amazonaws:amazon-kinesis-producer</artifact>
                  <excludes>
                    <exclude>META-INF/THIRD_PARTY_NOTICES</exclude>
                  </excludes>
                </filter>
              </filters>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <artifactId>maven-surefire-plugin</artifactId>
        <configuration>
          <argLine>${surefireArgLine} -Xmx2048m</argLine>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.jacoco</groupId>
        <artifactId>jacoco-maven-plugin</artifactId>
        <version>0.8.5</version>
        <executions>
          <execution>
            <goals>
              <goal>prepare-agent</goal>
            </goals>
          </execution>
          <execution>
            <id>report</id>
            <phase>test</phase>
            <goals>
              <goal>report</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <destFile>${sonar.jacoco.reportPath}</destFile>
          <propertyName>surefireArgLine</propertyName>
        </configuration>
      </plugin>
    </plugins>
  </build>
  <dependencies>
    <dependency>
      <groupId>com.google.guava</groupId>
      <artifactId>guava</artifactId>
      <version>29.0-jre</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>com.google.guava</groupId>
      <artifactId>failureaccess</artifactId>
      <version>1.0.1</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>com.google.guava</groupId>
      <artifactId>listenablefuture</artifactId>
      <version>9999.0-empty-to-avoid-conflict-with-guava</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.checkerframework</groupId>
      <artifactId>checker-qual</artifactId>
      <version>2.11.1</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>com.google.errorprone</groupId>
      <artifactId>error_prone_annotations</artifactId>
      <version>2.3.4</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>com.google.j2objc</groupId>
      <artifactId>j2objc-annotations</artifactId>
      <version>1.3</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>commons-io</groupId>
      <artifactId>commons-io</artifactId>
      <version>2.4</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.commons</groupId>
      <artifactId>commons-lang3</artifactId>
      <version>3.3.2</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>com.fasterxml.jackson.dataformat</groupId>
      <artifactId>jackson-dataformat-cbor</artifactId>
      <version>2.12.1</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>joda-time</groupId>
      <artifactId>joda-time</artifactId>
      <version>2.5</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>commons-lang</groupId>
      <artifactId>commons-lang</artifactId>
      <version>2.6</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>commons-logging</groupId>
      <artifactId>commons-logging</artifactId>
      <version>1.1.3</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-databind</artifactId>
      <version>2.12.1</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-annotations</artifactId>
      <version>2.12.1</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-core</artifactId>
      <version>2.12.1</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>commons-codec</groupId>
      <artifactId>commons-codec</artifactId>
      <version>1.10</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.flink</groupId>
      <artifactId>force-shading</artifactId>
      <version>1.11.2</version>
      <scope>compile</scope>
    </dependency>
  </dependencies>
  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>org.apache.flink</groupId>
        <artifactId>flink-test-utils-junit</artifactId>
        <version>${flink.version}</version>
        <scope>test</scope>
      </dependency>
    </dependencies>
  </dependencyManagement>
</project>
