| <?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> |
| <parent> |
| <groupId>org.apache.gluten</groupId> |
| <artifactId>gluten-parent</artifactId> |
| <version>1.6.0-SNAPSHOT</version> |
| </parent> |
| |
| <artifactId>backends-velox</artifactId> |
| <packaging>jar</packaging> |
| <name>Gluten Backends Velox</name> |
| |
| <properties> |
| <cpp.build.dir>../cpp/build/</cpp.build.dir> |
| <cpp.releases.dir>${cpp.build.dir}/releases/</cpp.releases.dir> |
| <byte-buddy.version>1.9.3</byte-buddy.version> |
| </properties> |
| |
| <dependencies> |
| <dependency> |
| <groupId>org.apache.gluten</groupId> |
| <artifactId>gluten-substrait</artifactId> |
| <version>${project.version}</version> |
| <scope>compile</scope> |
| </dependency> |
| <dependency> |
| <groupId>com.google.protobuf</groupId> |
| <artifactId>protobuf-java</artifactId> |
| <version>${protobuf.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.gluten</groupId> |
| <artifactId>gluten-substrait</artifactId> |
| <version>${project.version}</version> |
| <type>test-jar</type> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.gluten</groupId> |
| <artifactId>gluten-ras-common</artifactId> |
| <version>${project.version}</version> |
| <type>test-jar</type> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.spark</groupId> |
| <artifactId>spark-core_${scala.binary.version}</artifactId> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.spark</groupId> |
| <artifactId>spark-catalyst_${scala.binary.version}</artifactId> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.spark</groupId> |
| <artifactId>spark-network-common_${scala.binary.version}</artifactId> |
| <version>${spark.version}</version> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.spark</groupId> |
| <artifactId>spark-hive_${scala.binary.version}</artifactId> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.gluten</groupId> |
| <artifactId>gluten-arrow</artifactId> |
| <version>${project.version}</version> |
| <scope>compile</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.scalacheck</groupId> |
| <artifactId>scalacheck_${scala.binary.version}</artifactId> |
| <version>1.17.0</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.scala-lang</groupId> |
| <artifactId>scala-library</artifactId> |
| <version>${scala.version}</version> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.scala-lang.modules</groupId> |
| <artifactId>scala-collection-compat_${scala.binary.version}</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.scalatest</groupId> |
| <artifactId>scalatest_${scala.binary.version}</artifactId> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.mockito</groupId> |
| <artifactId>mockito-core</artifactId> |
| <version>2.23.4</version> |
| <scope>test</scope> |
| <exclusions> |
| <exclusion> |
| <groupId>net.bytebuddy</groupId> |
| <artifactId>byte-buddy</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>net.bytebuddy</groupId> |
| <artifactId>byte-buddy</artifactId> |
| <version>${byte-buddy.version}</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>junit</groupId> |
| <artifactId>junit</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.scalatestplus</groupId> |
| <artifactId>scalatestplus-mockito_${scala.binary.version}</artifactId> |
| <version>1.0.0-M2</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.scalatestplus</groupId> |
| <artifactId>scalatestplus-scalacheck_${scala.binary.version}</artifactId> |
| <version>3.1.0.0-RC2</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hadoop</groupId> |
| <artifactId>hadoop-client</artifactId> |
| <version>${hadoop.version}</version> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>commons-io</groupId> |
| <artifactId>commons-io</artifactId> |
| <version>2.14.0</version> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.spark</groupId> |
| <artifactId>spark-core_${scala.binary.version}</artifactId> |
| <type>test-jar</type> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.spark</groupId> |
| <artifactId>spark-hive_${scala.binary.version}</artifactId> |
| <type>test-jar</type> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.spark</groupId> |
| <artifactId>spark-sql_${scala.binary.version}</artifactId> |
| <type>test-jar</type> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.spark</groupId> |
| <artifactId>spark-catalyst_${scala.binary.version}</artifactId> |
| <type>test-jar</type> |
| <scope>test</scope> |
| </dependency> |
| <!-- Fasterxml --> |
| <dependency> |
| <groupId>com.fasterxml.jackson.core</groupId> |
| <artifactId>jackson-databind</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>com.fasterxml.jackson.core</groupId> |
| <artifactId>jackson-annotations</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>com.fasterxml.jackson.core</groupId> |
| <artifactId>jackson-core</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>com.fasterxml.jackson.module</groupId> |
| <artifactId>jackson-module-scala_${scala.binary.version}</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>com.google.jimfs</groupId> |
| <artifactId>jimfs</artifactId> |
| <version>1.3.0</version> |
| <scope>compile</scope> |
| </dependency> |
| <!-- Java Faker for generating random data --> |
| <dependency> |
| <groupId>com.github.javafaker</groupId> |
| <artifactId>javafaker</artifactId> |
| <version>1.0.2</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>com.vladsch.flexmark</groupId> |
| <artifactId>flexmark-all</artifactId> |
| </dependency> |
| </dependencies> |
| |
| <build> |
| <resources> |
| <resource> |
| <directory>${project.basedir}/src/main/resources</directory> |
| </resource> |
| <resource> |
| <targetPath>${platform}/${arch}</targetPath> |
| <directory>${cpp.releases.dir}</directory> |
| </resource> |
| </resources> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-resources-plugin</artifactId> |
| </plugin> |
| <plugin> |
| <groupId>net.alchim31.maven</groupId> |
| <artifactId>scala-maven-plugin</artifactId> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-compiler-plugin</artifactId> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-surefire-plugin</artifactId> |
| </plugin> |
| <plugin> |
| <groupId>org.scalastyle</groupId> |
| <artifactId>scalastyle-maven-plugin</artifactId> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-checkstyle-plugin</artifactId> |
| </plugin> |
| <plugin> |
| <groupId>com.diffplug.spotless</groupId> |
| <artifactId>spotless-maven-plugin</artifactId> |
| </plugin> |
| <plugin> |
| <groupId>org.scalatest</groupId> |
| <artifactId>scalatest-maven-plugin</artifactId> |
| <configuration> |
| <junitxml>.</junitxml> |
| <tagsToExclude>${tagsToExclude}</tagsToExclude> |
| <systemProperties> |
| <velox.udf.lib.path>${cpp.build.dir}/velox/udf/examples/libmyudf.so,${cpp.build.dir}/velox/udf/examples/libmyudaf.so</velox.udf.lib.path> |
| </systemProperties> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-jar-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>prepare-test-jar</id> |
| <goals> |
| <goal>test-jar</goal> |
| </goals> |
| <phase>test-compile</phase> |
| </execution> |
| </executions> |
| </plugin> |
| <!-- compile proto buffer files using copied protoc binary --> |
| <plugin> |
| <groupId>org.xolstice.maven.plugins</groupId> |
| <artifactId>protobuf-maven-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>compile-gluten-proto</id> |
| <goals> |
| <goal>compile</goal> |
| <goal>test-compile</goal> |
| </goals> |
| <phase>generate-sources</phase> |
| <configuration> |
| <protocArtifact>com.google.protobuf:protoc:${protobuf.version}:exe:${os.detected.classifier}</protocArtifact> |
| <protoSourceRoot>src/main/resources/org/apache/gluten/proto</protoSourceRoot> |
| <clearOutputDirectory>false</clearOutputDirectory> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| <outputDirectory>target/scala-${scala.binary.version}/classes</outputDirectory> |
| <testOutputDirectory>target/scala-${scala.binary.version}/test-classes</testOutputDirectory> |
| </build> |
| |
| <profiles> |
| <profile> |
| <id>exclude-tests</id> |
| <activation> |
| <activeByDefault>true</activeByDefault> |
| </activation> |
| <properties> |
| <tagsToExclude>org.apache.gluten.tags.UDFTest,org.apache.gluten.tags.EnhancedFeaturesTest,org.apache.spark.tags.SkipTest</tagsToExclude> |
| </properties> |
| </profile> |
| <profile> |
| <id>celeborn</id> |
| <activation> |
| <activeByDefault>false</activeByDefault> |
| </activation> |
| <dependencies> |
| <dependency> |
| <groupId>org.apache.gluten</groupId> |
| <artifactId>gluten-celeborn</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.celeborn</groupId> |
| <artifactId>celeborn-client-spark-${spark.major.version}-shaded_${scala.binary.version}</artifactId> |
| <version>${celeborn.version}</version> |
| <scope>provided</scope> |
| <exclusions> |
| <exclusion> |
| <groupId>org.apache.celeborn</groupId> |
| <artifactId>celeborn-client-spark-${spark.major.version}_${scala.binary.version}</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.apache.celeborn</groupId> |
| <artifactId>celeborn-spark-${spark.major.version}-columnar-shuffle_${scala.binary.version}</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| </dependencies> |
| </profile> |
| <profile> |
| <id>uniffle</id> |
| <activation> |
| <activeByDefault>false</activeByDefault> |
| </activation> |
| <dependencies> |
| <dependency> |
| <groupId>org.apache.gluten</groupId> |
| <artifactId>gluten-uniffle</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.uniffle</groupId> |
| <artifactId>rss-client-spark${spark.major.version}-shaded</artifactId> |
| <version>${uniffle.version}</version> |
| <scope>provided</scope> |
| </dependency> |
| </dependencies> |
| </profile> |
| <profile> |
| <id>iceberg</id> |
| <activation> |
| <activeByDefault>false</activeByDefault> |
| </activation> |
| <properties> |
| <!-- The version should be same with the version in assertj-core --> |
| <byte-buddy.version>1.14.18</byte-buddy.version> |
| </properties> |
| <dependencies> |
| <dependency> |
| <groupId>org.apache.gluten</groupId> |
| <artifactId>gluten-iceberg</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.gluten</groupId> |
| <artifactId>gluten-iceberg</artifactId> |
| <version>${project.version}</version> |
| <type>test-jar</type> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.iceberg</groupId> |
| <artifactId>iceberg-spark-runtime-${sparkbundle.version}_${scala.binary.version}</artifactId> |
| <version>${iceberg.version}</version> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.iceberg</groupId> |
| <artifactId>iceberg-spark-${sparkbundle.version}_${scala.binary.version}</artifactId> |
| <version>${iceberg.version}</version> |
| <type>test-jar</type> |
| <scope>test</scope> |
| <exclusions> |
| <exclusion> |
| <groupId>org.apache.parquet</groupId> |
| <artifactId>parquet-avro</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.apache.parquet</groupId> |
| <artifactId>parquet-common</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.apache.parquet</groupId> |
| <artifactId>parquet-hadoop</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.iceberg</groupId> |
| <artifactId>iceberg-hive-metastore</artifactId> |
| <version>${iceberg.version}</version> |
| <type>test-jar</type> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.iceberg</groupId> |
| <artifactId>iceberg-api</artifactId> |
| <version>${iceberg.version}</version> |
| <type>test-jar</type> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.iceberg</groupId> |
| <artifactId>iceberg-data</artifactId> |
| <version>${iceberg.version}</version> |
| <type>test-jar</type> |
| <scope>test</scope> |
| <exclusions> |
| <exclusion> |
| <groupId>org.apache.parquet</groupId> |
| <artifactId>parquet-avro</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.iceberg</groupId> |
| <artifactId>iceberg-spark-extensions-${sparkbundle.version}_${scala.binary.version}</artifactId> |
| <version>${iceberg.version}</version> |
| <type>test-jar</type> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.assertj</groupId> |
| <artifactId>assertj-core</artifactId> |
| <version>3.26.3</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>junit</groupId> |
| <artifactId>junit</artifactId> |
| <version>4.13.2</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.junit.jupiter</groupId> |
| <artifactId>junit-jupiter-api</artifactId> |
| <version>5.11.4</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.awaitility</groupId> |
| <artifactId>awaitility</artifactId> |
| <version>4.2.2</version> |
| <scope>test</scope> |
| </dependency> |
| </dependencies> |
| </profile> |
| <profile> |
| <id>delta</id> |
| <dependencies> |
| <dependency> |
| <groupId>org.apache.gluten</groupId> |
| <artifactId>gluten-delta</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.gluten</groupId> |
| <artifactId>gluten-delta</artifactId> |
| <version>${project.version}</version> |
| <type>test-jar</type> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>io.delta</groupId> |
| <artifactId>${delta.package.name}_${scala.binary.version}</artifactId> |
| <scope>provided</scope> |
| </dependency> |
| </dependencies> |
| </profile> |
| <profile> |
| <id>hudi</id> |
| <dependencies> |
| <dependency> |
| <groupId>org.apache.gluten</groupId> |
| <artifactId>gluten-hudi</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.gluten</groupId> |
| <artifactId>gluten-hudi</artifactId> |
| <version>${project.version}</version> |
| <type>test-jar</type> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hudi</groupId> |
| <artifactId>hudi-spark${sparkbundle.version}-bundle_${scala.binary.version}</artifactId> |
| <version>${hudi.version}</version> |
| <scope>provided</scope> |
| </dependency> |
| </dependencies> |
| </profile> |
| <profile> |
| <id>paimon</id> |
| <activation> |
| <activeByDefault>false</activeByDefault> |
| </activation> |
| <dependencies> |
| <dependency> |
| <groupId>org.apache.gluten</groupId> |
| <artifactId>gluten-paimon</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.gluten</groupId> |
| <artifactId>gluten-paimon</artifactId> |
| <version>${project.version}</version> |
| <type>test-jar</type> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.paimon</groupId> |
| <artifactId>paimon-spark-${sparkbundle.version}</artifactId> |
| <version>${paimon.version}</version> |
| <scope>provided</scope> |
| </dependency> |
| </dependencies> |
| </profile> |
| </profiles> |
| </project> |