blob: 657f08637cd68bfac44cf111c6a27e47e5f1bb2e [file]
<?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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.apache.auron</groupId>
<artifactId>auron-parent_${scalaVersion}</artifactId>
<version>${project.version}</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<artifactId>auron-it-${shimName}_${scalaVersion}</artifactId>
<packaging>jar</packaging>
<name>Apache Auron Integration Tests</name>
<description>Apache Auron Integration Tests Project</description>
<properties />
<dependencies>
<!-- auron spark uber jar -->
<dependency>
<groupId>org.apache.auron</groupId>
<artifactId>auron-${shimName}_${scalaVersion}</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.github.scopt</groupId>
<artifactId>scopt_${scalaVersion}</artifactId>
<version>4.1.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-core_${scalaVersion}</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-catalyst_${scalaVersion}</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-hive_${scalaVersion}</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-sql_${scalaVersion}</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-core_${scalaVersion}</artifactId>
<type>test-jar</type>
</dependency>
<dependency>
<groupId>org.scalatest</groupId>
<artifactId>scalatest_${scalaVersion}</artifactId>
<version>3.2.9</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>${checkstyle-plugin.version}</version>
<configuration>
<failOnViolation>true</failOnViolation>
<includeTestSourceDirectory>true</includeTestSourceDirectory>
<sourceDirectories>
<directory>${project.basedir}/src/main/java</directory>
<directory>${project.basedir}/src/main/scala</directory>
</sourceDirectories>
<testSourceDirectories>
<directory>${project.basedir}/src/test/java</directory>
</testSourceDirectories>
<suppressionsLocation>${maven.multiModuleProjectDirectory}/../../dev/checkstyle-suppressions.xml</suppressionsLocation>
<configLocation>${maven.multiModuleProjectDirectory}/../../dev/checkstyle.xml</configLocation>
<outputFile>${project.basedir}/target/checkstyle-output.xml</outputFile>
<inputEncoding>UTF-8</inputEncoding>
<outputEncoding>UTF-8</outputEncoding>
</configuration>
<dependencies>
<dependency>
<groupId>com.puppycrawl.tools</groupId>
<artifactId>checkstyle</artifactId>
<version>8.29</version>
</dependency>
</dependencies>
<executions>
<execution>
<goals>
<goal>check</goal>
</goals>
<phase>validate</phase>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.scalastyle</groupId>
<artifactId>scalastyle-maven-plugin</artifactId>
<version>${maven.plugin.scalastyle.version}</version>
<configuration>
<verbose>false</verbose>
<failOnViolation>true</failOnViolation>
<includeTestSourceDirectory>false</includeTestSourceDirectory>
<failOnWarning>false</failOnWarning>
<sourceDirectory>${basedir}/src/main/scala</sourceDirectory>
<testSourceDirectory>${basedir}/src/test/scala</testSourceDirectory>
<configLocation>${maven.multiModuleProjectDirectory}/../../dev/scalastyle-config.xml</configLocation>
<outputFile>${basedir}/target/scalastyle-output.xml</outputFile>
<inputEncoding>${project.build.sourceEncoding}</inputEncoding>
<outputEncoding>${project.reporting.outputEncoding}</outputEncoding>
</configuration>
<executions>
<execution>
<goals>
<goal>check</goal>
</goals>
<phase>validate</phase>
</execution>
</executions>
</plugin>
<!-- spotless -->
<plugin>
<groupId>com.diffplug.spotless</groupId>
<artifactId>spotless-maven-plugin</artifactId>
<version>${spotless.plugin.version}</version>
<configuration>
<java>
<palantirJavaFormat />
<removeUnusedImports />
<licenseHeader>
<file>${maven.multiModuleProjectDirectory}/../../dev/license-header</file>
</licenseHeader>
</java>
<scala>
<scalafmt>
<version>${scalafmtVersion}</version>
<file>${maven.multiModuleProjectDirectory}/../../scalafmt.conf</file>
<scalaMajorVersion>${scalaVersion}</scalaMajorVersion>
</scalafmt>
<licenseHeader>
<file>${maven.multiModuleProjectDirectory}/../../dev/license-header</file>
</licenseHeader>
</scala>
<pom>
<sortPom>
<encoding>UTF-8</encoding>
<lineSeparator>${line.separator}</lineSeparator>
<expandEmptyElements>false</expandEmptyElements>
<spaceBeforeCloseEmptyElement>true</spaceBeforeCloseEmptyElement>
<keepBlankLines>true</keepBlankLines>
<nrOfIndentSpace>2</nrOfIndentSpace>
<indentBlankLines>false</indentBlankLines>
<indentSchemaLocation>false</indentSchemaLocation>
<predefinedSortOrder>recommended_2008_06</predefinedSortOrder>
<sortOrderFile />
<sortDependencies />
<sortDependencyExclusions />
<sortPlugins />
<sortProperties>false</sortProperties>
<sortModules>false</sortModules>
<sortExecutions>false</sortExecutions>
</sortPom>
</pom>
</configuration>
<executions>
<execution>
<id>scalafix</id>
<goals>
<goal>apply</goal>
</goals>
<phase>validate</phase>
</execution>
</executions>
</plugin>
<!-- scalafix -->
<plugin>
<groupId>io.github.evis</groupId>
<artifactId>scalafix-maven-plugin_${scalaVersion}</artifactId>
<version>0.1.4_0.9.31</version>
<configuration>
<config>${maven.multiModuleProjectDirectory}/../../scalafix.conf</config>
</configuration>
<dependencies>
<dependency>
<groupId>com.nequissimus</groupId>
<artifactId>sort-imports_${scalaVersion}</artifactId>
<version>0.6.1</version>
</dependency>
</dependencies>
<executions>
<execution>
<id>scalafix</id>
<goals>
<goal>scalafix</goal>
</goals>
<phase>prepare-package</phase>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.rat</groupId>
<artifactId>apache-rat-plugin</artifactId>
<inherited>true</inherited>
<configuration>
<excludeSubProjects>false</excludeSubProjects>
<numUnapprovedLicenses>0</numUnapprovedLicenses>
<licenseFamilies>
<licenseFamily implementation="org.apache.rat.license.SimpleLicenseFamily">
<familyName>Apache License 2.0</familyName>
</licenseFamily>
</licenseFamilies>
<excludesFile>${maven.multiModuleProjectDirectory}/../../.rat-excludes</excludesFile>
</configuration>
<executions>
<execution>
<goals>
<goal>check</goal>
</goals>
<phase>verify</phase>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>shade</goal>
</goals>
<phase>package</phase>
<configuration>
<createDependencyReducedPom>true</createDependencyReducedPom>
<shadedArtifactAttached>true</shadedArtifactAttached>
<shadedClassifierName>jar-with-dependencies</shadedClassifierName>
<filters>
<filter>
<artifact>*:*</artifact>
</filter>
</filters>
<relocations />
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer" />
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>org.apache.auron.integration.Main</mainClass>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>spark-3.0</id>
<properties>
<shimName>spark-3.0</shimName>
<sparkVersion>3.0.3</sparkVersion>
</properties>
</profile>
<profile>
<id>spark-3.1</id>
<properties>
<shimName>spark-3.1</shimName>
<sparkVersion>3.1.3</sparkVersion>
</properties>
</profile>
<profile>
<id>spark-3.2</id>
<properties>
<shimName>spark-3.2</shimName>
<sparkVersion>3.2.4</sparkVersion>
</properties>
</profile>
<profile>
<id>spark-3.3</id>
<properties>
<shimName>spark-3.3</shimName>
<sparkVersion>3.3.4</sparkVersion>
</properties>
</profile>
<profile>
<id>spark-3.4</id>
<properties>
<shimName>spark-3.4</shimName>
<sparkVersion>3.4.4</sparkVersion>
</properties>
</profile>
<profile>
<id>spark-3.5</id>
<properties>
<shimName>spark-3.5</shimName>
<sparkVersion>3.5.7</sparkVersion>
</properties>
</profile>
<profile>
<id>spark-4.0</id>
<properties>
<shimName>spark-4.0</shimName>
<sparkVersion>4.0.2</sparkVersion>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>${maven-enforcer-plugin.version}</version>
<executions>
<execution>
<id>spark40-enforce-java-scala-version</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<!-- Spark 4.0 requires JDK 17+ and Scala 2.13.x -->
<requireJavaVersion>
<version>[17,)</version>
<message>Spark 4.0 requires JDK 17 or higher. Current: ${java.version}</message>
</requireJavaVersion>
<requireProperty>
<property>scalaLongVersion</property>
<regex>2\.13\.\d+</regex>
<regexMessage>Spark 4.0 requires Scala 2.13.x. Current: ${scalaLongVersion}</regexMessage>
</requireProperty>
</rules>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>spark-4.1</id>
<properties>
<shimName>spark-4.1</shimName>
<sparkVersion>4.1.1</sparkVersion>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>${maven-enforcer-plugin.version}</version>
<executions>
<execution>
<id>spark41-enforce-java-scala-version</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<!-- Spark 4.1 requires JDK 17+ and Scala 2.13.x -->
<requireJavaVersion>
<version>[17,)</version>
<message>Spark 4.1 requires JDK 17 or higher. Current: ${java.version}</message>
</requireJavaVersion>
<requireProperty>
<property>scalaLongVersion</property>
<regex>2\.13\.\d+</regex>
<regexMessage>Spark 4.1 requires Scala 2.13.x. Current: ${scalaLongVersion}</regexMessage>
</requireProperty>
</rules>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>scala-2.12</id>
<properties>
<scalaVersion>2.12</scalaVersion>
<scalaLongVersion>2.12.18</scalaLongVersion>
</properties>
</profile>
<profile>
<id>scala-2.13</id>
<properties>
<scalaVersion>2.13</scalaVersion>
<scalaLongVersion>2.13.17</scalaLongVersion>
</properties>
</profile>
</profiles>
</project>