<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>com.tidbcloud</groupId>
  <artifactId>lake-flink-connector</artifactId>
  <packaging>jar</packaging>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>${maven-compiler-plugin.version}</version>
                <configuration>
                    <source>${maven.compiler.source}</source>
                    <target>${maven.compiler.target}</target>
                </configuration>
            </plugin>
            <plugin>
                <groupId>com.diffplug.spotless</groupId>
                <artifactId>spotless-maven-plugin</artifactId>
                <version>${spotless-maven-plugin.version}</version>
                <configuration>
                    <java>
                        <palantirJavaFormat>
                            <!-- Optionally specify a version -->
                            <version>${palantirJavaFormat.version}</version>
                        </palantirJavaFormat>
                    </java>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-shade-plugin</artifactId>
                <version>${maven-shade-plugin.version}</version>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>shade</goal>
                        </goals>
                        <configuration>
                            <shadeTestJar>false</shadeTestJar>
                            <artifactSet>
                                <excludes>
                                    <!-- These jars must exist on the server side -->
                                    <exclude>log4j:*</exclude>
                                    <exclude>org.slf4j:*</exclude>
                                    <exclude>com.google.code.findbugs:jsr305</exclude>
                                </excludes>
                            </artifactSet>
                            <relocations>
                                <relocation>
                                    <pattern>com.fasterxml</pattern>
                                    <shadedPattern>${shade.base}.com.fasterxml</shadedPattern>
                                </relocation>
                                <relocation>
                                    <pattern>org.apache.commons</pattern>
                                    <shadedPattern>${shade.base}.org.apache.commons</shadedPattern>
                                </relocation>
                                <relocation>
                                    <pattern>org.apache.http</pattern>
                                    <shadedPattern>${shade.base}.org.apache.http</shadedPattern>
                                </relocation>
                                <relocation>
                                    <pattern>net.jpountz</pattern>
                                    <shadedPattern>${shade.base}.net.jpountz</shadedPattern>
                                </relocation>
                            </relocations>
                            <filters>
                                <filter>
                                    <artifact>*:*</artifact>
                                    <excludes>
                                        <exclude>META-INF/*.SF</exclude>
                                        <exclude>META-INF/*.DSA</exclude>
                                        <exclude>META-INF/*.RSA</exclude>
                                    </excludes>
                                </filter>
                            </filters>
                            <transformers>
                                <transformer
                                        implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
                            </transformers>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-release-plugin</artifactId>
                <version>${maven-release-plugin.version}</version>
                <configuration>
                    <tagNameFormat>release-@{project.version}</tagNameFormat>
                    <autoVersionSubmodules>true</autoVersionSubmodules>
                </configuration>
            </plugin>
        </plugins>
    </build>
    <version>1.17.1-SNAPSHOT</version>
  <name>lake-flink-connector</name>
  <url>https://github.com/tidbcloud/lake-flink-connector</url>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>

        <checkstyle.version>8.14</checkstyle.version>
        <junit.version>4.13.2</junit.version>
        <scala.binary.version>2.12</scala.binary.version>
        <flink.version>1.17.1</flink.version>
        <flink.scope>provided</flink.scope>
        <guava.version>30.1.1-jre</guava.version>
        <jackson.version>2.14.3</jackson.version>
        <commons-lang3.version>3.12.0</commons-lang3.version>
        <mockito.version>4.10.0</mockito.version>
        <httpclient.version>4.5.14</httpclient.version>
        <testng.version>7.5.1</testng.version>
        <lake.jdbc.version>0.4.6</lake.jdbc.version>
        <shade.base>com.tidbcloud.flink.shaded.lake</shade.base>

        <maven-compiler-plugin.version>3.8.1</maven-compiler-plugin.version>
        <maven-shade-plugin.version>3.5.1</maven-shade-plugin.version>
        <maven-checkstyle-plugin.version>2.17</maven-checkstyle-plugin.version>
        <spotless-maven-plugin.version>2.36.0</spotless-maven-plugin.version>
        <maven-release-plugin.version>2.5.3</maven-release-plugin.version>
        <palantirJavaFormat.version>2.10.0</palantirJavaFormat.version>
    </properties>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>${junit.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>org.mockito</groupId>
          <artifactId>mockito-junit-jupiter</artifactId>
          <version>${mockito.version}</version>
          <scope>test</scope>
      </dependency>
      <dependency>
          <groupId>com.tidbcloud</groupId>
          <artifactId>lake-jdbc</artifactId>
          <version>0.4.6</version>
      </dependency>
      <dependency>
          <groupId>com.fasterxml.jackson.core</groupId>
          <artifactId>jackson-databind</artifactId>
          <version>${jackson.version}</version>
      </dependency>
      <dependency>
          <groupId>org.apache.commons</groupId>
          <artifactId>commons-lang3</artifactId>
          <version>${commons-lang3.version}</version>
      </dependency>

      <!-- flink jars -->
      <dependency>
          <groupId>org.apache.flink</groupId>
          <artifactId>flink-table-common</artifactId>
          <version>${flink.version}</version>
      </dependency>
      <dependency>
          <groupId>org.apache.flink</groupId>
          <artifactId>flink-table-api-java-bridge</artifactId>
          <version>${flink.version}</version>
          <scope>${flink.scope}</scope>
      </dependency>
      <dependency>
          <groupId>org.apache.flink</groupId>
          <artifactId>flink-runtime</artifactId>
          <version>${flink.version}</version>
          <scope>${flink.scope}</scope>
      </dependency>
<!--      <dependency>-->
<!--          <groupId>org.apache.flink</groupId>-->
<!--          <artifactId>flink-table-planner_${scala.binary.version}</artifactId>-->
<!--          <version>${flink.version}</version>-->
<!--      </dependency>-->
      <dependency>
          <groupId>org.apache.flink</groupId>
          <artifactId>flink-connector-base</artifactId>
          <version>${flink.version}</version>
      </dependency>
      <dependency>
          <groupId>org.apache.flink</groupId>
          <artifactId>flink-table-test-utils</artifactId>
          <version>${flink.version}</version>
          <scope>test</scope>
      </dependency>
      <dependency>
          <groupId>org.apache.httpcomponents</groupId>
          <artifactId>httpclient</artifactId>
          <version>${httpclient.version}</version>
      </dependency>
      <dependency>
          <groupId>org.testng</groupId>
          <artifactId>testng</artifactId>
          <version>${testng.version}</version>
          <scope>test</scope>
      </dependency>
  </dependencies>
    <distributionManagement>
        <snapshotRepository>
            <id>ossrh</id>
            <url>https://s01.oss.sonatype.org/content/repositories/snapshots</url>
        </snapshotRepository>
        <repository>
            <id>ossrh</id>
            <url>https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/</url>
        </repository>
    </distributionManagement>
</project>
