| <?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:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0" |
| xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> |
| <modelVersion>4.0.0</modelVersion> |
| <parent> |
| <groupId>org.apache</groupId> |
| <artifactId>apache</artifactId> |
| <version>23</version> |
| </parent> |
| <groupId>org.apache.doris</groupId> |
| <artifactId>flink-doris-connector-${flink.major.version}</artifactId> |
| <version>${revision}</version> |
| <name>Flink Doris Connector</name> |
| <url>https://doris.apache.org/</url> |
| |
| <licenses> |
| <license> |
| <name>Apache 2.0 License</name> |
| <url>https://www.apache.org/licenses/LICENSE-2.0.html</url> |
| <distribution>repo</distribution> |
| </license> |
| </licenses> |
| |
| <scm> |
| <connection>scm:git:https://git@github.com/apache/doris-flink-connector.git</connection> |
| <developerConnection>scm:git:https://git@github.com/apache/doris-flink-connector.git</developerConnection> |
| <url>scm:git:https://git@github.com/apache/doris-flink-connector.git</url> |
| <tag>HEAD</tag> |
| </scm> |
| |
| <issueManagement> |
| <system>GitHub</system> |
| <url>https://github.com/apache/doris/issues</url> |
| </issueManagement> |
| |
| <mailingLists> |
| <mailingList> |
| <name>Dev Mailing List</name> |
| <post>dev@doris.apache.org</post> |
| <subscribe>dev-subscribe@doris.apache.org</subscribe> |
| <unsubscribe>dev-unsubscribe@doris.apache.org</unsubscribe> |
| </mailingList> |
| <mailingList> |
| <name>Commits Mailing List</name> |
| <post>commits@doris.apache.org</post> |
| <subscribe>commits-subscribe@doris.apache.org</subscribe> |
| <unsubscribe>commits-unsubscribe@doris.apache.org</unsubscribe> |
| </mailingList> |
| </mailingLists> |
| |
| <properties> |
| <revision>1.5.0-SNAPSHOT</revision> |
| <flink.version>1.18.0</flink.version> |
| <flink.major.version>1.18</flink.major.version> |
| <flink.sql.cdc.version>2.4.2</flink.sql.cdc.version> |
| <libthrift.version>0.16.0</libthrift.version> |
| <arrow.version>5.0.0</arrow.version> |
| <maven-compiler-plugin.version>3.10.1</maven-compiler-plugin.version> |
| <maven-javadoc-plugin.version>3.3.0</maven-javadoc-plugin.version> |
| <maven-source-plugin.version>3.2.1</maven-source-plugin.version> |
| <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> |
| <project.scm.id>github</project.scm.id> |
| <thrift-service.version>1.0.0</thrift-service.version> |
| <checkstyle.version>8.14</checkstyle.version> |
| <maven-checkstyle-plugin.version>2.17</maven-checkstyle-plugin.version> |
| <spotless.version>2.4.2</spotless.version> |
| <httpcomponents.version>4.5.13</httpcomponents.version> |
| <commons-codec.version>1.15</commons-codec.version> |
| <netty.version>4.1.77.Final</netty.version> |
| <fasterxml.version>2.13.3</fasterxml.version> |
| <guava.version>31.1-jre</guava.version> |
| <slf4j.version>1.7.25</slf4j.version> |
| <mockito.version>4.2.0</mockito.version> |
| <testcontainers.version>1.17.6</testcontainers.version> |
| <junit-jupiter.version>5.10.1</junit-jupiter.version> |
| <junit.version>4.11</junit.version> |
| <hamcrest.version>1.3</hamcrest.version> |
| </properties> |
| |
| <dependencies> |
| <dependency> |
| <groupId>org.apache.doris</groupId> |
| <artifactId>thrift-service</artifactId> |
| <version>${thrift-service.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.flink</groupId> |
| <artifactId>flink-clients</artifactId> |
| <version>${flink.version}</version> |
| <scope>provided</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.flink</groupId> |
| <artifactId>flink-table-planner-loader</artifactId> |
| <version>${flink.version}</version> |
| <scope>provided</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.flink</groupId> |
| <artifactId>flink-connector-base</artifactId> |
| <version>${flink.version}</version> |
| <scope>provided</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.flink</groupId> |
| <artifactId>flink-table-api-java-bridge</artifactId> |
| <version>${flink.version}</version> |
| <scope>provided</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.flink</groupId> |
| <artifactId>flink-table-runtime</artifactId> |
| <version>${flink.version}</version> |
| <scope>provided</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.thrift</groupId> |
| <artifactId>libthrift</artifactId> |
| <version>${libthrift.version}</version> |
| <exclusions> |
| <exclusion> |
| <artifactId>httpclient</artifactId> |
| <groupId>org.apache.httpcomponents</groupId> |
| </exclusion> |
| <exclusion> |
| <artifactId>httpcore</artifactId> |
| <groupId>org.apache.httpcomponents</groupId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.httpcomponents</groupId> |
| <artifactId>httpclient</artifactId> |
| <version>${httpcomponents.version}</version> |
| <exclusions> |
| <exclusion> |
| <groupId>commons-codec</groupId> |
| <artifactId>commons-codec</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| |
| <dependency> |
| <groupId>commons-codec</groupId> |
| <artifactId>commons-codec</artifactId> |
| <version>${commons-codec.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.arrow</groupId> |
| <artifactId>arrow-vector</artifactId> |
| <version>${arrow.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.arrow</groupId> |
| <artifactId>arrow-memory-netty</artifactId> |
| <version>${arrow.version}</version> |
| <scope>runtime</scope> |
| <exclusions> |
| <exclusion> |
| <groupId>com.fasterxml.jackson.core</groupId> |
| <artifactId>jackson-annotations</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>com.fasterxml.jackson.core</groupId> |
| <artifactId>jackson-core</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>com.fasterxml.jackson.core</groupId> |
| <artifactId>jackson-databind</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>io.netty</groupId> |
| <artifactId>netty-common</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| |
| <dependency> |
| <groupId>io.netty</groupId> |
| <artifactId>netty-common</artifactId> |
| <version>${netty.version}</version> |
| </dependency> |
| |
| <!-- jackson --> |
| <dependency> |
| <groupId>com.fasterxml.jackson.core</groupId> |
| <artifactId>jackson-annotations</artifactId> |
| <version>${fasterxml.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>com.fasterxml.jackson.core</groupId> |
| <artifactId>jackson-core</artifactId> |
| <version>${fasterxml.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>com.fasterxml.jackson.core</groupId> |
| <artifactId>jackson-databind</artifactId> |
| <version>${fasterxml.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>com.google.guava</groupId> |
| <artifactId>guava</artifactId> |
| <version>${guava.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.slf4j</groupId> |
| <artifactId>slf4j-log4j12</artifactId> |
| <version>${slf4j.version}</version> |
| <scope>provided</scope> |
| </dependency> |
| <!-- use cdc bundled jar for kafka connect class--> |
| <dependency> |
| <groupId>com.ververica</groupId> |
| <artifactId>flink-sql-connector-mysql-cdc</artifactId> |
| <version>${flink.sql.cdc.version}</version> |
| <scope>provided</scope> |
| <exclusions> |
| <exclusion> |
| <artifactId>flink-shaded-guava</artifactId> |
| <groupId>org.apache.flink</groupId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>com.ververica</groupId> |
| <artifactId>flink-sql-connector-oracle-cdc</artifactId> |
| <version>${flink.sql.cdc.version}</version> |
| <scope>provided</scope> |
| <exclusions> |
| <exclusion> |
| <artifactId>flink-shaded-guava</artifactId> |
| <groupId>org.apache.flink</groupId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>com.ververica</groupId> |
| <artifactId>flink-sql-connector-postgres-cdc</artifactId> |
| <version>${flink.sql.cdc.version}</version> |
| <scope>provided</scope> |
| <exclusions> |
| <exclusion> |
| <artifactId>flink-shaded-guava</artifactId> |
| <groupId>org.apache.flink</groupId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>com.ververica</groupId> |
| <artifactId>flink-sql-connector-sqlserver-cdc</artifactId> |
| <version>${flink.sql.cdc.version}</version> |
| <scope>provided</scope> |
| <exclusions> |
| <exclusion> |
| <artifactId>flink-shaded-guava</artifactId> |
| <groupId>org.apache.flink</groupId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.flink</groupId> |
| <artifactId>flink-runtime-web</artifactId> |
| <version>${flink.version}</version> |
| <scope>provided</scope> |
| </dependency> |
| <!--Test--> |
| <dependency> |
| <groupId>org.hamcrest</groupId> |
| <artifactId>hamcrest-core</artifactId> |
| <version>${hamcrest.version}</version> |
| <scope>test</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.mockito</groupId> |
| <artifactId>mockito-core</artifactId> |
| <version>${mockito.version}</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.mockito</groupId> |
| <artifactId>mockito-inline</artifactId> |
| <version>${mockito.version}</version> |
| <scope>test</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>junit</groupId> |
| <artifactId>junit</artifactId> |
| <version>${junit.version}</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.junit.jupiter</groupId> |
| <artifactId>junit-jupiter-api</artifactId> |
| <version>${junit-jupiter.version}</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.testcontainers</groupId> |
| <artifactId>testcontainers</artifactId> |
| <version>${testcontainers.version}</version> |
| <scope>test</scope> |
| </dependency> |
| </dependencies> |
| |
| <build> |
| <pluginManagement> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-gpg-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>sign-artifacts</id> |
| <phase>verify</phase> |
| <goals> |
| <goal>sign</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-shade-plugin</artifactId> |
| <version>3.2.4</version> |
| <configuration> |
| <relocations> |
| <relocation> |
| <pattern>org.apache.arrow</pattern> |
| <shadedPattern>org.apache.doris.shaded.org.apache.arrow</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>io.netty</pattern> |
| <shadedPattern>org.apache.doris.shaded.io.netty</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>com.fasterxml.jackson</pattern> |
| <shadedPattern>org.apache.doris.shaded.com.fasterxml.jackson</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>org.apache.commons.codec</pattern> |
| <shadedPattern>org.apache.doris.shaded.org.apache.commons.codec</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>com.google</pattern> |
| <shadedPattern>org.apache.doris.shaded.com.google</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>org.apache.thrift</pattern> |
| <shadedPattern>org.apache.doris.shaded.org.apache.thrift</shadedPattern> |
| </relocation> |
| </relocations> |
| </configuration> |
| <executions> |
| <execution> |
| <goals> |
| <goal>shade</goal> |
| </goals> |
| <phase>package</phase> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-compiler-plugin</artifactId> |
| <version>${maven-compiler-plugin.version}</version> |
| <configuration> |
| <source>8</source> |
| <target>8</target> |
| </configuration> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-javadoc-plugin</artifactId> |
| <version>${maven-javadoc-plugin.version}</version> |
| <configuration> |
| <skip>true</skip> |
| <source>8</source> |
| <failOnError>false</failOnError> |
| </configuration> |
| <executions> |
| <execution> |
| <id>attach-javadocs</id> |
| <goals> |
| <goal>jar</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-source-plugin</artifactId> |
| <version>${maven-source-plugin.version}</version> |
| <configuration> |
| <attach>true</attach> |
| </configuration> |
| <executions> |
| <execution> |
| <phase>compile</phase> |
| <goals> |
| <goal>jar</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>license-maven-plugin</artifactId> |
| <version>2.0.0</version> |
| <executions> |
| <execution> |
| <id>add-third-party</id> |
| <goals> |
| <goal>add-third-party</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-release-plugin</artifactId> |
| <version>3.0.0-M5</version> |
| <configuration> |
| <arguments>${releaseArgs}</arguments> |
| </configuration> |
| </plugin> |
| </plugins> |
| </pluginManagement> |
| |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-shade-plugin</artifactId> |
| </plugin> |
| <plugin> |
| <groupId>com.diffplug.spotless</groupId> |
| <artifactId>spotless-maven-plugin</artifactId> |
| <version>${spotless.version}</version> |
| <configuration> |
| <java> |
| <googleJavaFormat> |
| <version>1.7</version> |
| <style>AOSP</style> |
| </googleJavaFormat> |
| |
| <!-- \# refers to the static imports --> |
| <importOrder> |
| <order>org.apache.flink,org.apache.flink.shaded,,javax,java,scala,\# |
| </order> |
| </importOrder> |
| |
| <removeUnusedImports/> |
| </java> |
| </configuration> |
| <executions> |
| <execution> |
| <id>spotless-check</id> |
| <phase>validate</phase> |
| <goals> |
| <goal>check</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-checkstyle-plugin</artifactId> |
| <version>${maven-checkstyle-plugin.version}</version> |
| <dependencies> |
| <dependency> |
| <groupId>com.puppycrawl.tools</groupId> |
| <artifactId>checkstyle</artifactId> |
| <!-- Note: match version with docs/flinkDev/ide_setup.md --> |
| <version>${checkstyle.version}</version> |
| </dependency> |
| </dependencies> |
| <executions> |
| <execution> |
| <id>validate</id> |
| <phase>validate</phase> |
| <goals> |
| <goal>check</goal> |
| </goals> |
| </execution> |
| </executions> |
| <configuration> |
| <suppressionsLocation>../tools/maven/suppressions.xml</suppressionsLocation> |
| <includeTestSourceDirectory>true</includeTestSourceDirectory> |
| <configLocation>../tools/maven/checkstyle.xml</configLocation> |
| <logViolationsToConsole>true</logViolationsToConsole> |
| <failOnViolation>true</failOnViolation> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-compiler-plugin</artifactId> |
| </plugin> |
| </plugins> |
| |
| </build> |
| |
| <profiles> |
| <!-- for custom internal repository --> |
| <profile> |
| <id>custom-env</id> |
| <activation> |
| <property> |
| <name>env.CUSTOM_MAVEN_REPO</name> |
| </property> |
| </activation> |
| <repositories> |
| <repository> |
| <id>custom-nexus</id> |
| <url>${env.CUSTOM_MAVEN_REPO}</url> |
| </repository> |
| </repositories> |
| <pluginRepositories> |
| <pluginRepository> |
| <id>custom-nexus</id> |
| <url>${env.CUSTOM_MAVEN_REPO}</url> |
| </pluginRepository> |
| </pluginRepositories> |
| </profile> |
| |
| <!-- for general repository --> |
| <profile> |
| <id>general-env</id> |
| <activation> |
| <property> |
| <name>!env.CUSTOM_MAVEN_REPO</name> |
| </property> |
| </activation> |
| <repositories> |
| <repository> |
| <id>central</id> |
| <name>central maven repo https</name> |
| <url>https://repo.maven.apache.org/maven2</url> |
| </repository> |
| </repositories> |
| </profile> |
| |
| <profile> |
| <id>apache-release</id> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-gpg-plugin</artifactId> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-javadoc-plugin</artifactId> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-source-plugin</artifactId> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>license-maven-plugin</artifactId> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-release-plugin</artifactId> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| </profiles> |
| |
| </project> |