| <?xml version="1.0" encoding="UTF-8"?> |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one |
| or more contributor license agreements. See the NOTICE file |
| distributed with this work for additional information |
| regarding copyright ownership. The ASF licenses this file |
| to you under the Apache License, Version 2.0 (the |
| "License"); you may not use this file except in compliance |
| with the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, |
| software distributed under the License is distributed on an |
| "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| KIND, either express or implied. See the License for the |
| specific language governing permissions and limitations |
| under the License. |
| --> |
| <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> |
| <groupId>org.apache.flink</groupId> |
| <artifactId>flink-connector-aws-parent</artifactId> |
| <version>4.1.0</version> |
| </parent> |
| |
| <artifactId>flink-connector-kinesis</artifactId> |
| <name>Flink : Connectors : AWS : Amazon Kinesis Data Streams</name> |
| |
| <properties> |
| <aws.kinesis-kpl.version>0.14.1</aws.kinesis-kpl.version> |
| <aws.dynamodbstreams-kinesis-adapter.version>1.5.3</aws.dynamodbstreams-kinesis-adapter.version> |
| <hamcrest.version>1.3</hamcrest.version> |
| </properties> |
| |
| <packaging>jar</packaging> |
| |
| <dependencies> |
| <!-- AWS dependencies --> |
| <dependency> |
| <groupId>com.amazonaws</groupId> |
| <artifactId>amazon-kinesis-aggregator</artifactId> |
| <version>1.0.3</version> |
| <scope>test</scope> |
| </dependency> |
| |
| <!-- Amazon AWS SDK v1.x dependencies --> |
| <dependency> |
| <groupId>com.amazonaws</groupId> |
| <artifactId>aws-java-sdk-kinesis</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>com.amazonaws</groupId> |
| <artifactId>aws-java-sdk-sts</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>com.amazonaws</groupId> |
| <artifactId>aws-java-sdk-kms</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>com.amazonaws</groupId> |
| <artifactId>aws-java-sdk-s3</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>com.amazonaws</groupId> |
| <artifactId>aws-java-sdk-dynamodb</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>com.amazonaws</groupId> |
| <artifactId>aws-java-sdk-cloudwatch</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>com.amazonaws</groupId> |
| <artifactId>amazon-kinesis-producer</artifactId> |
| <version>${aws.kinesis-kpl.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.amazonaws</groupId> |
| <artifactId>amazon-kinesis-client</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>com.amazonaws</groupId> |
| <artifactId>dynamodb-streams-kinesis-adapter</artifactId> |
| <version>${aws.dynamodbstreams-kinesis-adapter.version}</version> |
| </dependency> |
| |
| <!-- Transitive dependencies that we explicitly declare again because we |
| bundle the direct dependencies but not these transitive dependencies. |
| Without this explicit declaration these dependencies would be lost. --> |
| <dependency> |
| <groupId>joda-time</groupId> |
| <artifactId>joda-time</artifactId> |
| <version>2.8.1</version> |
| </dependency> |
| <dependency> |
| <groupId>commons-codec</groupId> |
| <artifactId>commons-codec</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>commons-io</groupId> |
| <artifactId>commons-io</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>commons-lang</groupId> |
| <artifactId>commons-lang</artifactId> |
| <version>2.6</version> |
| </dependency> |
| <dependency> |
| <groupId>commons-logging</groupId> |
| <artifactId>commons-logging</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.commons</groupId> |
| <artifactId>commons-lang3</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.flink</groupId> |
| <artifactId>flink-connector-base</artifactId> |
| <version>${flink.version}</version> |
| </dependency> |
| |
| <!-- Other third-party dependencies --> |
| <dependency> |
| <!-- KPL requires jaxb-api for javax.xml.bind.DatatypeConverter --> |
| <groupId>javax.xml.bind</groupId> |
| <artifactId>jaxb-api</artifactId> |
| <!-- packaged in flink-dist --> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>com.google.guava</groupId> |
| <artifactId>guava</artifactId> |
| </dependency> |
| |
| <!-- Flink ecosystem --> |
| <dependency> |
| <groupId>org.apache.flink</groupId> |
| <artifactId>flink-streaming-java</artifactId> |
| <version>${flink.version}</version> |
| <scope>provided</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.flink</groupId> |
| <artifactId>flink-connector-aws-kinesis-streams</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.flink</groupId> |
| <artifactId>flink-connector-aws-base</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| |
| <!-- Flink Table API ecosystem --> |
| <!-- Projects depending on this project won't depend on flink-table-*. --> |
| <dependency> |
| <groupId>org.apache.flink</groupId> |
| <artifactId>flink-table-api-java-bridge</artifactId> |
| <version>${flink.version}</version> |
| <scope>provided</scope> |
| <optional>true</optional> |
| </dependency> |
| |
| <!-- Test dependencies --> |
| <dependency> |
| <groupId>org.apache.flink</groupId> |
| <artifactId>flink-core</artifactId> |
| <version>${flink.version}</version> |
| <scope>test</scope> |
| <type>test-jar</type> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.flink</groupId> |
| <artifactId>flink-streaming-java</artifactId> |
| <version>${flink.version}</version> |
| <scope>test</scope> |
| <type>test-jar</type> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.flink</groupId> |
| <artifactId>flink-connector-test-utils</artifactId> |
| <version>${flink.version}</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.flink</groupId> |
| <artifactId>flink-test-utils</artifactId> |
| <version>${flink.version}</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.flink</groupId> |
| <artifactId>flink-runtime</artifactId> |
| <version>${flink.version}</version> |
| <type>test-jar</type> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.hamcrest</groupId> |
| <artifactId>hamcrest-all</artifactId> |
| <version>${hamcrest.version}</version> |
| <scope>test</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.flink</groupId> |
| <artifactId>flink-connector-aws-kinesis-streams</artifactId> |
| <version>${project.version}</version> |
| <type>test-jar</type> |
| <scope>test</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.flink</groupId> |
| <artifactId>flink-connector-aws-base</artifactId> |
| <version>${project.version}</version> |
| <type>test-jar</type> |
| <scope>test</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.testcontainers</groupId> |
| <artifactId>testcontainers</artifactId> |
| <scope>test</scope> |
| </dependency> |
| |
| <!-- Kinesis table factory testing --> |
| <dependency> |
| <groupId>org.apache.flink</groupId> |
| <artifactId>flink-table-common</artifactId> |
| <version>${flink.version}</version> |
| <type>test-jar</type> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.flink</groupId> |
| <artifactId>flink-table-test-utils</artifactId> |
| <version>${flink.version}</version> |
| <scope>test</scope> |
| </dependency> |
| |
| <!-- Amazon AWS SDK v2.x dependencies --> |
| <dependency> |
| <groupId>software.amazon.awssdk</groupId> |
| <artifactId>kinesis</artifactId> |
| </dependency> |
| |
| <dependency> |
| <groupId>software.amazon.awssdk</groupId> |
| <artifactId>netty-nio-client</artifactId> |
| </dependency> |
| |
| <dependency> |
| <groupId>software.amazon.awssdk</groupId> |
| <artifactId>sts</artifactId> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.httpcomponents</groupId> |
| <artifactId>httpclient</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.httpcomponents</groupId> |
| <artifactId>httpcore</artifactId> |
| </dependency> |
| |
| <dependency> |
| <groupId>com.fasterxml.jackson.dataformat</groupId> |
| <artifactId>jackson-dataformat-cbor</artifactId> |
| </dependency> |
| |
| <!-- ArchUit test dependencies --> |
| |
| <dependency> |
| <groupId>org.apache.flink</groupId> |
| <artifactId>flink-architecture-tests-test</artifactId> |
| <scope>test</scope> |
| </dependency> |
| </dependencies> |
| |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-jar-plugin</artifactId> |
| <executions> |
| <execution> |
| <goals> |
| <goal>test-jar</goal> |
| </goals> |
| <configuration> |
| <includes> |
| <include>**/org/apache/flink/streaming/connectors/kinesis/testutils/**</include> |
| <include>META-INF/LICENSE</include> |
| <include>META-INF/NOTICE</include> |
| </includes> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-shade-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>shade-flink</id> |
| <phase>package</phase> |
| <goals> |
| <goal>shade</goal> |
| </goals> |
| <configuration> |
| <!-- required for the Kinesis e2e test --> |
| <shadeTestJar>true</shadeTestJar> |
| <artifactSet combine.children="append"> |
| <includes> |
| <include>org.apache.flink:flink-connector-aws-base:*</include> |
| <include>org.apache.flink:flink-connector-aws-kinesis-streams:*</include> |
| <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> |
| <include>com.fasterxml.jackson.core:*</include> |
| <include>com.fasterxml.jackson.dataformat:*</include> |
| </includes> |
| </artifactSet> |
| <relocations combine.children="override"> |
| <!-- Do not relocate guava because it is exposed in the Kinesis API (KinesisProducer#addUserRecord). |
| Users may be using other affected API's, so relocations may break user-code --> |
| <relocation> |
| <pattern>org.apache.flink.connector.aws.config</pattern> |
| <shadedPattern> |
| org.apache.flink.kinesis.shaded.org.apache.flink.connector.aws.config |
| </shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>org.apache.flink.connector.aws.util</pattern> |
| <shadedPattern>org.apache.flink.kinesis.shaded.org.apache.flink.connector.aws.util |
| </shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>com.google.protobuf</pattern> |
| <shadedPattern>org.apache.flink.kinesis.shaded.com.google.protobuf</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>com.amazonaws</pattern> |
| <shadedPattern>org.apache.flink.kinesis.shaded.com.amazonaws</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>org.apache.http</pattern> |
| <shadedPattern>org.apache.flink.kinesis.shaded.org.apache.http</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>software.amazon</pattern> |
| <shadedPattern>org.apache.flink.kinesis.shaded.software.amazon</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>io.netty</pattern> |
| <shadedPattern>org.apache.flink.kinesis.shaded.io.netty</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>com.typesafe.netty</pattern> |
| <shadedPattern>org.apache.flink.kinesis.shaded.com.typesafe.netty</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>org.reactivestreams</pattern> |
| <shadedPattern>org.apache.flink.kinesis.shaded.org.reactivestreams</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>com.fasterxml.jackson</pattern> |
| <shadedPattern>org.apache.flink.kinesis.shaded.com.fasterxml.jackson</shadedPattern> |
| </relocation> |
| </relocations> |
| <filters> |
| <filter> |
| <artifact>*:*</artifact> |
| <excludes> |
| <exclude>.gitkeep</exclude> |
| </excludes> |
| </filter> |
| <filter> |
| <artifact>com.amazonaws:amazon-kinesis-producer</artifact> |
| <excludes> |
| <exclude>META-INF/THIRD_PARTY_NOTICES</exclude> |
| </excludes> |
| </filter> |
| <filter> |
| <artifact>software.amazon.awssdk:*</artifact> |
| <excludes> |
| <exclude>META-INF/services/**</exclude> |
| </excludes> |
| </filter> |
| <filter> |
| <artifact>org.apache.flink:flink-connector-aws-kinesis-streams:*</artifact> |
| <excludes> |
| <exclude>profile</exclude> |
| </excludes> |
| </filter> |
| <filter> |
| <artifact>org.apache.flink:flink-connector-aws-base:*</artifact> |
| <excludes> |
| <exclude>profile</exclude> |
| </excludes> |
| </filter> |
| </filters> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-surefire-plugin</artifactId> |
| <configuration> |
| <systemPropertyVariables> |
| <com.amazonaws.sdk.disableCbor>true</com.amazonaws.sdk.disableCbor> |
| <com.amazonaws.sdk.disableCertChecking>true</com.amazonaws.sdk.disableCertChecking> |
| </systemPropertyVariables> |
| </configuration> |
| </plugin> |
| </plugins> |
| </build> |
| </project> |