| <?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> |