565 lines
22 KiB
XML
565 lines
22 KiB
XML
<?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/xsd/maven-4.0.0.xsd">
|
|
<modelVersion>4.0.0</modelVersion>
|
|
|
|
<groupId>com.starrocks</groupId>
|
|
<artifactId>java-extensions</artifactId>
|
|
<packaging>pom</packaging>
|
|
<version>1.0-SNAPSHOT</version>
|
|
<modules>
|
|
<module>jdbc-bridge</module>
|
|
<module>udf-extensions</module>
|
|
<module>java-utils</module>
|
|
<module>jni-connector</module>
|
|
<module>udf-examples</module>
|
|
<module>hudi-reader</module>
|
|
<module>paimon-reader</module>
|
|
<module>hive-reader</module>
|
|
<module>hadoop-ext</module>
|
|
<module>odps-reader</module>
|
|
<module>iceberg-metadata-reader</module>
|
|
<module>kudu-reader</module>
|
|
<module>common-runtime</module>
|
|
<module>hadoop-lib</module>
|
|
</modules>
|
|
<name>starrocks-java-extensions</name>
|
|
|
|
<properties>
|
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
|
<java.version>17</java.version>
|
|
<hikaricp.version>3.4.5</hikaricp.version>
|
|
<compiler-plugin.version>3.13.0</compiler-plugin.version>
|
|
<java-extensions.home>${basedir}</java-extensions.home>
|
|
<aws-v2-sdk.version>2.29.52</aws-v2-sdk.version>
|
|
<hadoop.version>3.4.1</hadoop.version>
|
|
<iceberg.version>1.9.0</iceberg.version>
|
|
<log4j2.version>2.23.1</log4j2.version>
|
|
<junit.version>5.10.3</junit.version>
|
|
<hive-apache.version>3.1.2-22</hive-apache.version>
|
|
<jni-connector.version>1.0.0</jni-connector.version>
|
|
<hadoop-ext.version>1.0.0</hadoop-ext.version>
|
|
<java-utils.version>1.0.0</java-utils.version>
|
|
<io.netty.version>4.1.118.Final</io.netty.version>
|
|
<protobuf-java.version>3.25.5</protobuf-java.version>
|
|
<nimbusds.version>9.37.2</nimbusds.version>
|
|
<commons-io.version>2.14.0</commons-io.version>
|
|
<gcs.connector.version>hadoop3-2.2.26</gcs.connector.version>
|
|
<slf4j.version>1.7.36</slf4j.version>
|
|
<arrow.version>17.0.0</arrow.version>
|
|
<jackson.version>2.12.7.2</jackson.version>
|
|
<guava.version>32.0.1-jre</guava.version>
|
|
<!-- hadoop-azure requires no more than jetty10+ -->
|
|
<!-- https://stackoverflow.com/questions/66713254/spark-wasb-and-jetty-11 -->
|
|
<jetty.version>9.4.57.v20241219</jetty.version>
|
|
<parquet.version>1.15.2</parquet.version>
|
|
<airlift.version>0.27</airlift.version>
|
|
<avro.version>1.12.0</avro.version>
|
|
<luben.zstd.jni.version>1.5.4-2</luben.zstd.jni.version>
|
|
<kryo.version>4.0.2</kryo.version>
|
|
<commons-beanutils.version>1.11.0</commons-beanutils.version>
|
|
</properties>
|
|
|
|
<dependencyManagement>
|
|
<dependencies>
|
|
<!-- jni connector -->
|
|
<dependency>
|
|
<groupId>com.starrocks</groupId>
|
|
<artifactId>jni-connector</artifactId>
|
|
<version>${jni-connector.version}</version>
|
|
</dependency>
|
|
<!-- jni connector -->
|
|
|
|
<!-- hadoop ext -->
|
|
<dependency>
|
|
<groupId>com.starrocks</groupId>
|
|
<artifactId>hadoop-ext</artifactId>
|
|
<version>${hadoop-ext.version}</version>
|
|
</dependency>
|
|
<!-- hadoop ext -->
|
|
|
|
<!-- java utils -->
|
|
<dependency>
|
|
<groupId>com.starrocks</groupId>
|
|
<artifactId>java-utils</artifactId>
|
|
<version>${java-utils.version}</version>
|
|
</dependency>
|
|
<!-- java utils -->
|
|
|
|
<dependency>
|
|
<groupId>io.netty</groupId>
|
|
<artifactId>netty-all</artifactId>
|
|
<version>${io.netty.version}</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>io.netty</groupId>
|
|
<artifactId>netty-transport-native-epoll</artifactId>
|
|
<version>${io.netty.version}</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>com.google.protobuf</groupId>
|
|
<artifactId>protobuf-java</artifactId>
|
|
<version>${protobuf-java.version}</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.apache.velocity</groupId>
|
|
<artifactId>velocity-engine-core</artifactId>
|
|
<version>2.4.1</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>com.nimbusds</groupId>
|
|
<artifactId>nimbus-jose-jwt</artifactId>
|
|
<version>${nimbusds.version}</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>commons-io</groupId>
|
|
<artifactId>commons-io</artifactId>
|
|
<version>${commons-io.version}</version>
|
|
</dependency>
|
|
|
|
<!-- hadoop -->
|
|
<dependency>
|
|
<groupId>org.apache.hadoop</groupId>
|
|
<artifactId>hadoop-common</artifactId>
|
|
<version>${hadoop.version}</version>
|
|
<exclusions>
|
|
<exclusion>
|
|
<groupId>org.apache.zookeeper</groupId>
|
|
<artifactId>zookeeper</artifactId>
|
|
</exclusion>
|
|
<exclusion>
|
|
<groupId>org.slf4j</groupId>
|
|
<artifactId>slf4j-reload4j</artifactId>
|
|
</exclusion>
|
|
<exclusion>
|
|
<groupId>org.apache.avro</groupId>
|
|
<artifactId>avro</artifactId>
|
|
</exclusion>
|
|
<exclusion>
|
|
<!-- exclude io.netty, use our provided netty version to address CVE issue -->
|
|
<groupId>io.netty</groupId>
|
|
<artifactId>netty-handler</artifactId>
|
|
</exclusion>
|
|
<exclusion>
|
|
<!-- exclude io.netty, use our provided netty version to address CVE issue -->
|
|
<groupId>io.netty</groupId>
|
|
<artifactId>netty-transport-native-epoll</artifactId>
|
|
</exclusion>
|
|
<exclusion>
|
|
<groupId>dnsjava</groupId>
|
|
<artifactId>dnsjava</artifactId>
|
|
</exclusion>
|
|
<exclusion>
|
|
<groupId>io.netty</groupId>
|
|
<artifactId>netty-handler</artifactId>
|
|
</exclusion>
|
|
</exclusions>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>commons-beanutils</groupId>
|
|
<artifactId>commons-beanutils</artifactId>
|
|
<version>${commons-beanutils.version}</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.apache.hadoop</groupId>
|
|
<artifactId>hadoop-hdfs-client</artifactId>
|
|
<version>${hadoop.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.hadoop</groupId>
|
|
<artifactId>hadoop-aws</artifactId>
|
|
<version>${hadoop.version}</version>
|
|
<exclusions>
|
|
<exclusion>
|
|
<groupId>software.amazon.awssdk</groupId>
|
|
<artifactId>bundle</artifactId>
|
|
</exclusion>
|
|
<exclusion>
|
|
<groupId>org.apache.hadoop</groupId>
|
|
<artifactId>hadoop-common</artifactId>
|
|
</exclusion>
|
|
</exclusions>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.hadoop</groupId>
|
|
<artifactId>hadoop-mapreduce-client-core</artifactId>
|
|
<version>${hadoop.version}</version>
|
|
<exclusions>
|
|
<exclusion>
|
|
<groupId>com.google.protobuf</groupId>
|
|
<artifactId>protobuf-java</artifactId>
|
|
</exclusion>
|
|
<exclusion>
|
|
<groupId>org.slf4j</groupId>
|
|
<artifactId>slf4j-reload4j</artifactId>
|
|
</exclusion>
|
|
</exclusions>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.apache.hadoop</groupId>
|
|
<artifactId>hadoop-kms</artifactId>
|
|
<version>${hadoop.version}</version>
|
|
<exclusions>
|
|
<exclusion>
|
|
<groupId>org.slf4j</groupId>
|
|
<artifactId>slf4j-reload4j</artifactId>
|
|
</exclusion>
|
|
</exclusions>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.apache.hadoop</groupId>
|
|
<artifactId>hadoop-hdfs-rbf</artifactId>
|
|
<version>${hadoop.version}</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.apache.hadoop</groupId>
|
|
<artifactId>hadoop-hdfs-httpfs</artifactId>
|
|
<version>${hadoop.version}</version>
|
|
<exclusions>
|
|
<exclusion>
|
|
<groupId>org.slf4j</groupId>
|
|
<artifactId>slf4j-reload4j</artifactId>
|
|
</exclusion>
|
|
</exclusions>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.apache.hadoop</groupId>
|
|
<artifactId>hadoop-nfs</artifactId>
|
|
<version>${hadoop.version}</version>
|
|
<exclusions>
|
|
<exclusion>
|
|
<groupId>org.slf4j</groupId>
|
|
<artifactId>slf4j-reload4j</artifactId>
|
|
</exclusion>
|
|
</exclusions>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.apache.hadoop</groupId>
|
|
<artifactId>hadoop-hdfs-nfs</artifactId>
|
|
<version>${hadoop.version}</version>
|
|
<exclusions>
|
|
<exclusion>
|
|
<groupId>org.slf4j</groupId>
|
|
<artifactId>slf4j-reload4j</artifactId>
|
|
</exclusion>
|
|
</exclusions>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.apache.hadoop</groupId>
|
|
<artifactId>hadoop-azure</artifactId>
|
|
<version>${hadoop.version}</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.apache.hadoop</groupId>
|
|
<artifactId>hadoop-azure-datalake</artifactId>
|
|
<version>${hadoop.version}</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.apache.hadoop</groupId>
|
|
<artifactId>hadoop-hdfs-native-client</artifactId>
|
|
<version>${hadoop.version}</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.apache.hadoop</groupId>
|
|
<artifactId>hadoop-registry</artifactId>
|
|
<version>${hadoop.version}</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>com.google.cloud.bigdataoss</groupId>
|
|
<artifactId>gcs-connector</artifactId>
|
|
<version>${gcs.connector.version}</version>
|
|
<classifier>shaded</classifier>
|
|
</dependency>
|
|
<!-- hadoop -->
|
|
|
|
<!-- hive -->
|
|
<dependency>
|
|
<groupId>io.trino.hive</groupId>
|
|
<artifactId>hive-apache</artifactId>
|
|
<version>${hive-apache.version}</version>
|
|
<exclusions>
|
|
<exclusion>
|
|
<groupId>org.apache.thrift</groupId>
|
|
<artifactId>libthrift</artifactId>
|
|
</exclusion>
|
|
<exclusion>
|
|
<groupId>org.apache.parquet</groupId>
|
|
<artifactId>*</artifactId>
|
|
</exclusion>
|
|
<exclusion>
|
|
<groupId>org.apache.avro</groupId>
|
|
<artifactId>*</artifactId>
|
|
</exclusion>
|
|
<exclusion>
|
|
<groupId>io.airlift</groupId>
|
|
<artifactId>aircompressor</artifactId>
|
|
</exclusion>
|
|
</exclusions>
|
|
</dependency>
|
|
<!-- hive -->
|
|
|
|
<!--slf4j-->
|
|
<dependency>
|
|
<groupId>org.slf4j</groupId>
|
|
<artifactId>slf4j-api</artifactId>
|
|
<version>${slf4j.version}</version>
|
|
</dependency>
|
|
<!--slf4j-->
|
|
|
|
<!--log4j 2-->
|
|
<dependency>
|
|
<groupId>org.apache.logging.log4j</groupId>
|
|
<artifactId>log4j-api</artifactId>
|
|
<version>${log4j2.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.logging.log4j</groupId>
|
|
<artifactId>log4j-core</artifactId>
|
|
<version>${log4j2.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.logging.log4j</groupId>
|
|
<artifactId>log4j-slf4j-impl</artifactId>
|
|
<version>${log4j2.version}</version>
|
|
</dependency>
|
|
<!--log4j 2-->
|
|
|
|
<!-- junit -->
|
|
<dependency>
|
|
<groupId>org.junit.jupiter</groupId>
|
|
<artifactId>junit-jupiter</artifactId>
|
|
<version>${junit.version}</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<!-- junit -->
|
|
<!-- jackson -->
|
|
<dependency>
|
|
<groupId>com.fasterxml.jackson.core</groupId>
|
|
<artifactId>jackson-databind</artifactId>
|
|
<version>${jackson.version}</version>
|
|
</dependency>
|
|
<!-- jackson -->
|
|
|
|
<!-- apache arrow -->
|
|
<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>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.apache.arrow</groupId>
|
|
<artifactId>arrow-compression</artifactId>
|
|
<version>${arrow.version}</version>
|
|
</dependency>
|
|
<!-- apache arrow -->
|
|
<dependency>
|
|
<groupId>com.google.guava</groupId>
|
|
<artifactId>guava</artifactId>
|
|
<version>${guava.version}</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.eclipse.jetty</groupId>
|
|
<artifactId>jetty-client</artifactId>
|
|
<version>${jetty.version}</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.eclipse.jetty</groupId>
|
|
<artifactId>jetty-server</artifactId>
|
|
<version>${jetty.version}</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.eclipse.jetty</groupId>
|
|
<artifactId>jetty-io</artifactId>
|
|
<version>${jetty.version}</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.eclipse.jetty</groupId>
|
|
<artifactId>jetty-webapp</artifactId>
|
|
<version>${jetty.version}</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.eclipse.jetty</groupId>
|
|
<artifactId>jetty-servlet</artifactId>
|
|
<version>${jetty.version}</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.eclipse.jetty</groupId>
|
|
<artifactId>jetty-util</artifactId>
|
|
<version>${jetty.version}</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.eclipse.jetty</groupId>
|
|
<artifactId>jetty-util-ajax</artifactId>
|
|
<version>${jetty.version}</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.apache.parquet</groupId>
|
|
<artifactId>parquet-hadoop-bundle</artifactId>
|
|
<version>${parquet.version}</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.apache.parquet</groupId>
|
|
<artifactId>parquet-avro</artifactId>
|
|
<version>${parquet.version}</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.apache.avro</groupId>
|
|
<artifactId>avro</artifactId>
|
|
<version>${avro.version}</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>io.airlift</groupId>
|
|
<artifactId>aircompressor</artifactId>
|
|
<version>${airlift.version}</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>com.github.luben</groupId>
|
|
<artifactId>zstd-jni</artifactId>
|
|
<version>${luben.zstd.jni.version}</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>com.esotericsoftware</groupId>
|
|
<artifactId>kryo-shaded</artifactId>
|
|
<version>${kryo.version}</version>
|
|
</dependency>
|
|
</dependencies>
|
|
</dependencyManagement>
|
|
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-compiler-plugin</artifactId>
|
|
<version>${compiler-plugin.version}</version>
|
|
<configuration>
|
|
<release>${java.version}</release>
|
|
<encoding>${project.build.sourceEncoding}</encoding>
|
|
</configuration>
|
|
</plugin>
|
|
<!-- run ut -->
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-surefire-plugin</artifactId>
|
|
<version>3.1.2</version>
|
|
</plugin>
|
|
<!-- coverage -->
|
|
<plugin>
|
|
<groupId>org.jacoco</groupId>
|
|
<artifactId>jacoco-maven-plugin</artifactId>
|
|
<version>0.8.7</version>
|
|
<executions>
|
|
<execution>
|
|
<goals>
|
|
<goal>prepare-agent</goal>
|
|
</goals>
|
|
</execution>
|
|
<execution>
|
|
<id>generate-code-coverage-report</id>
|
|
<phase>test</phase>
|
|
<goals>
|
|
<goal>report</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<!-- copy config files from fe before checkstyle -->
|
|
<plugin>
|
|
<groupId>com.coderplus.maven.plugins</groupId>
|
|
<artifactId>copy-rename-maven-plugin</artifactId>
|
|
<version>1.0</version>
|
|
<!-- only run in parent -->
|
|
<inherited>false</inherited>
|
|
<executions>
|
|
<execution>
|
|
<id>copy-file</id>
|
|
<phase>validate</phase>
|
|
<goals>
|
|
<goal>copy</goal>
|
|
</goals>
|
|
<configuration>
|
|
<fileSets>
|
|
<fileSet>
|
|
<sourceFile>../fe/checkstyle.xml</sourceFile>
|
|
<destinationFile>./checkstyle.xml</destinationFile>
|
|
</fileSet>
|
|
<fileSet>
|
|
<sourceFile>../fe/checkstyle-header.txt</sourceFile>
|
|
<destinationFile>./checkstyle-header.txt</destinationFile>
|
|
</fileSet>
|
|
</fileSets>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-checkstyle-plugin</artifactId>
|
|
<version>3.1.1</version>
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>com.puppycrawl.tools</groupId>
|
|
<artifactId>checkstyle</artifactId>
|
|
<version>8.40</version>
|
|
</dependency>
|
|
</dependencies>
|
|
<configuration>
|
|
<configLocation>${java-extensions.home}/checkstyle.xml</configLocation>
|
|
<encoding>UTF-8</encoding>
|
|
<consoleOutput>true</consoleOutput>
|
|
<failsOnError>true</failsOnError>
|
|
<linkXRef>false</linkXRef>
|
|
<includeTestSourceDirectory>true</includeTestSourceDirectory>
|
|
<excludes>org/apache/hadoop/**</excludes>
|
|
</configuration>
|
|
<executions>
|
|
<execution>
|
|
<id>validate</id>
|
|
<phase>validate</phase>
|
|
<goals>
|
|
<goal>check</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</project>
|