Back to home page

OSCL-LXR

 
 

    


0001 <?xml version="1.0" encoding="UTF-8"?>
0002 <!--
0003   ~ Licensed to the Apache Software Foundation (ASF) under one or more
0004   ~ contributor license agreements.  See the NOTICE file distributed with
0005   ~ this work for additional information regarding copyright ownership.
0006   ~ The ASF licenses this file to You under the Apache License, Version 2.0
0007   ~ (the "License"); you may not use this file except in compliance with
0008   ~ the License.  You may obtain a copy of the License at
0009   ~
0010   ~    http://www.apache.org/licenses/LICENSE-2.0
0011   ~
0012   ~ Unless required by applicable law or agreed to in writing, software
0013   ~ distributed under the License is distributed on an "AS IS" BASIS,
0014   ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
0015   ~ See the License for the specific language governing permissions and
0016   ~ limitations under the License.
0017   -->
0018 
0019 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
0020          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
0021   <modelVersion>4.0.0</modelVersion>
0022   <parent>
0023     <groupId>org.apache</groupId>
0024     <artifactId>apache</artifactId>
0025     <version>18</version>
0026   </parent>
0027   <groupId>org.apache.spark</groupId>
0028   <artifactId>spark-parent_2.12</artifactId>
0029   <version>3.0.0</version>
0030   <packaging>pom</packaging>
0031   <name>Spark Project Parent POM</name>
0032   <url>http://spark.apache.org/</url>
0033   <licenses>
0034     <license>
0035       <name>Apache 2.0 License</name>
0036       <url>http://www.apache.org/licenses/LICENSE-2.0.html</url>
0037       <distribution>repo</distribution>
0038     </license>
0039   </licenses>
0040   <scm>
0041     <connection>scm:git:git@github.com:apache/spark.git</connection>
0042     <developerConnection>scm:git:https://gitbox.apache.org/repos/asf/spark.git</developerConnection>
0043     <url>scm:git:git@github.com:apache/spark.git</url>
0044     <tag>HEAD</tag>
0045   </scm>
0046   <developers>
0047     <developer>
0048       <id>matei</id>
0049       <name>Matei Zaharia</name>
0050       <email>matei.zaharia@gmail.com</email>
0051       <url>http://www.cs.berkeley.edu/~matei</url>
0052       <organization>Apache Software Foundation</organization>
0053       <organizationUrl>http://spark.apache.org</organizationUrl>
0054     </developer>
0055   </developers>
0056   <issueManagement>
0057     <system>JIRA</system>
0058     <url>https://issues.apache.org/jira/browse/SPARK</url>
0059   </issueManagement>
0060 
0061   <mailingLists>
0062     <mailingList>
0063       <name>Dev Mailing List</name>
0064       <post>dev@spark.apache.org</post>
0065       <subscribe>dev-subscribe@spark.apache.org</subscribe>
0066       <unsubscribe>dev-unsubscribe@spark.apache.org</unsubscribe>
0067     </mailingList>
0068 
0069     <mailingList>
0070       <name>User Mailing List</name>
0071       <post>user@spark.apache.org</post>
0072       <subscribe>user-subscribe@spark.apache.org</subscribe>
0073       <unsubscribe>user-unsubscribe@spark.apache.org</unsubscribe>
0074     </mailingList>
0075 
0076     <mailingList>
0077       <name>Commits Mailing List</name>
0078       <post>commits@spark.apache.org</post>
0079       <subscribe>commits-subscribe@spark.apache.org</subscribe>
0080       <unsubscribe>commits-unsubscribe@spark.apache.org</unsubscribe>
0081     </mailingList>
0082   </mailingLists>
0083 
0084   <modules>
0085     <module>common/sketch</module>
0086     <module>common/kvstore</module>
0087     <module>common/network-common</module>
0088     <module>common/network-shuffle</module>
0089     <module>common/unsafe</module>
0090     <module>common/tags</module>
0091     <module>core</module>
0092     <module>graphx</module>
0093     <module>mllib</module>
0094     <module>mllib-local</module>
0095     <module>tools</module>
0096     <module>streaming</module>
0097     <module>sql/catalyst</module>
0098     <module>sql/core</module>
0099     <module>sql/hive</module>
0100     <module>assembly</module>
0101     <module>examples</module>
0102     <module>repl</module>
0103     <module>launcher</module>
0104     <module>external/kafka-0-10-token-provider</module>
0105     <module>external/kafka-0-10</module>
0106     <module>external/kafka-0-10-assembly</module>
0107     <module>external/kafka-0-10-sql</module>
0108     <module>external/avro</module>
0109     <!-- See additional modules enabled by profiles below -->
0110   </modules>
0111 
0112   <properties>
0113     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
0114     <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
0115     <java.version>1.8</java.version>
0116     <maven.compiler.source>${java.version}</maven.compiler.source>
0117     <maven.compiler.target>${java.version}</maven.compiler.target>
0118     <maven.version>3.6.3</maven.version>
0119     <sbt.project.name>spark</sbt.project.name>
0120     <slf4j.version>1.7.30</slf4j.version>
0121     <log4j.version>1.2.17</log4j.version>
0122     <hadoop.version>2.7.4</hadoop.version>
0123     <protobuf.version>2.5.0</protobuf.version>
0124     <yarn.version>${hadoop.version}</yarn.version>
0125     <zookeeper.version>3.4.14</zookeeper.version>
0126     <curator.version>2.7.1</curator.version>
0127     <hive.group>org.apache.hive</hive.group>
0128     <hive.classifier>core</hive.classifier>
0129     <!-- Version used in Maven Hive dependency -->
0130     <hive.version>2.3.7</hive.version>
0131     <hive23.version>2.3.7</hive23.version>
0132     <!-- Version used for internal directory structure -->
0133     <hive.version.short>2.3</hive.version.short>
0134     <!-- note that this should be compatible with Kafka brokers version 0.10 and up -->
0135     <kafka.version>2.4.1</kafka.version>
0136     <derby.version>10.12.1.1</derby.version>
0137     <parquet.version>1.10.1</parquet.version>
0138     <orc.version>1.5.10</orc.version>
0139     <orc.classifier></orc.classifier>
0140     <hive.parquet.group>com.twitter</hive.parquet.group>
0141     <hive.parquet.version>1.6.0</hive.parquet.version>
0142     <jetty.version>9.4.18.v20190429</jetty.version>
0143     <javaxservlet.version>3.1.0</javaxservlet.version>
0144     <chill.version>0.9.5</chill.version>
0145     <ivy.version>2.4.0</ivy.version>
0146     <oro.version>2.0.8</oro.version>
0147     <codahale.metrics.version>4.1.1</codahale.metrics.version>
0148     <avro.version>1.8.2</avro.version>
0149     <avro.mapred.classifier>hadoop2</avro.mapred.classifier>
0150     <aws.kinesis.client.version>1.12.0</aws.kinesis.client.version>
0151     <!-- Should be consistent with Kinesis client dependency -->
0152     <aws.java.sdk.version>1.11.655</aws.java.sdk.version>
0153     <!-- the producer is used in tests -->
0154     <aws.kinesis.producer.version>0.12.8</aws.kinesis.producer.version>
0155     <!--  org.apache.httpcomponents/httpclient-->
0156     <commons.httpclient.version>4.5.6</commons.httpclient.version>
0157     <commons.httpcore.version>4.4.12</commons.httpcore.version>
0158     <!--  commons-httpclient/commons-httpclient-->
0159     <httpclient.classic.version>3.1</httpclient.classic.version>
0160     <commons.math3.version>3.4.1</commons.math3.version>
0161     <!-- managed up from 3.2.1 for SPARK-11652 -->
0162     <commons.collections.version>3.2.2</commons.collections.version>
0163     <scala.version>2.12.10</scala.version>
0164     <scala.binary.version>2.12</scala.binary.version>
0165     <scalafmt.parameters>--test</scalafmt.parameters>
0166     <!-- for now, not running scalafmt as part of default verify pipeline -->
0167     <scalafmt.skip>true</scalafmt.skip>
0168     <codehaus.jackson.version>1.9.13</codehaus.jackson.version>
0169     <fasterxml.jackson.version>2.10.0</fasterxml.jackson.version>
0170     <snappy.version>1.1.7.5</snappy.version>
0171     <netlib.java.version>1.1.2</netlib.java.version>
0172     <commons-codec.version>1.10</commons-codec.version>
0173     <commons-io.version>2.4</commons-io.version>
0174     <!-- org.apache.commons/commons-lang/-->
0175     <commons-lang2.version>2.6</commons-lang2.version>
0176     <!-- org.apache.commons/commons-lang3/-->
0177     <commons-lang3.version>3.9</commons-lang3.version>
0178     <!-- org.apache.commons/commons-pool2/-->
0179     <commons-pool2.version>2.6.2</commons-pool2.version>
0180     <datanucleus-core.version>4.1.17</datanucleus-core.version>
0181     <guava.version>14.0.1</guava.version>
0182     <janino.version>3.0.16</janino.version>
0183     <jersey.version>2.30</jersey.version>
0184     <joda.version>2.10.5</joda.version>
0185     <jodd.version>3.5.2</jodd.version>
0186     <jsr305.version>3.0.0</jsr305.version>
0187     <libthrift.version>0.12.0</libthrift.version>
0188     <antlr4.version>4.7.1</antlr4.version>
0189     <jpam.version>1.1</jpam.version>
0190     <selenium.version>2.52.0</selenium.version>
0191     <htmlunit.version>2.22</htmlunit.version>
0192     <!--
0193     Managed up from older version from Avro; sync with jackson-module-paranamer dependency version
0194     -->
0195     <paranamer.version>2.8</paranamer.version>
0196     <maven-antrun.version>1.8</maven-antrun.version>
0197     <commons-crypto.version>1.0.0</commons-crypto.version>
0198     <!--
0199     If you are changing Arrow version specification, please check ./python/pyspark/sql/utils.py,
0200     and ./python/setup.py too.
0201     -->
0202     <arrow.version>0.15.1</arrow.version>
0203     <!-- org.fusesource.leveldbjni will be used except on arm64 platform. -->
0204     <leveldbjni.group>org.fusesource.leveldbjni</leveldbjni.group>
0205 
0206     <test.java.home>${java.home}</test.java.home>
0207 
0208     <!-- Some UI tests require Chrome and Chrome driver installed so those tests are disabled by default. -->
0209     <test.default.exclude.tags>org.apache.spark.tags.ChromeUITest</test.default.exclude.tags>
0210     <test.exclude.tags></test.exclude.tags>
0211     <test.include.tags></test.include.tags>
0212 
0213     <!-- Package to use when relocating shaded classes. -->
0214     <spark.shade.packageName>org.sparkproject</spark.shade.packageName>
0215 
0216     <!-- Modules that copy jars to the build directory should do so under this location. -->
0217     <jars.target.dir>${project.build.directory}/scala-${scala.binary.version}/jars</jars.target.dir>
0218 
0219     <!-- Allow modules to enable / disable certain build plugins easily. -->
0220     <build.testJarPhase>prepare-package</build.testJarPhase>
0221     <build.copyDependenciesPhase>none</build.copyDependenciesPhase>
0222 
0223     <!--
0224       Dependency scopes that can be overridden by enabling certain profiles. These profiles are
0225       declared in the projects that build assemblies.
0226 
0227       For other projects the scope should remain as "compile", otherwise they are not available
0228       during compilation if the dependency is transivite (e.g. "graphx/" depending on "core/" and
0229       needing Hadoop classes in the classpath to compile).
0230     -->
0231     <hadoop.deps.scope>compile</hadoop.deps.scope>
0232     <hive.deps.scope>compile</hive.deps.scope>
0233     <hive.parquet.scope>provided</hive.parquet.scope>
0234     <hive.storage.version>2.7.1</hive.storage.version>
0235     <hive.storage.scope>compile</hive.storage.scope>
0236     <hive.common.scope>compile</hive.common.scope>
0237     <hive.llap.scope>compile</hive.llap.scope>
0238     <hive.serde.scope>compile</hive.serde.scope>
0239     <hive.shims.scope>compile</hive.shims.scope>
0240     <orc.deps.scope>compile</orc.deps.scope>
0241     <parquet.deps.scope>compile</parquet.deps.scope>
0242     <parquet.test.deps.scope>test</parquet.test.deps.scope>
0243 
0244     <!--
0245       Overridable test home. So that you can call individual pom files directly without
0246       things breaking.
0247     -->
0248     <spark.test.home>${session.executionRootDirectory}</spark.test.home>
0249     <spark.test.webdriver.chrome.driver></spark.test.webdriver.chrome.driver>
0250 
0251     <CodeCacheSize>1g</CodeCacheSize>
0252   </properties>
0253   <repositories>
0254     <repository>
0255       <id>gcs-maven-central-mirror</id>
0256       <!--
0257         Google Mirror of Maven Central, placed first so that it's used instead of flaky Maven Central.
0258         See https://storage-download.googleapis.com/maven-central/index.html
0259       -->
0260       <name>GCS Maven Central mirror</name>
0261       <url>https://maven-central.storage-download.googleapis.com/maven2/</url>
0262       <releases>
0263         <enabled>true</enabled>
0264       </releases>
0265       <snapshots>
0266         <enabled>false</enabled>
0267       </snapshots>
0268     </repository>
0269     <repository>
0270       <!--
0271         This is used as a fallback when the first try fails.
0272       -->
0273       <id>central</id>
0274       <name>Maven Repository</name>
0275       <url>https://repo.maven.apache.org/maven2</url>
0276       <releases>
0277         <enabled>true</enabled>
0278       </releases>
0279       <snapshots>
0280         <enabled>false</enabled>
0281       </snapshots>
0282     </repository>
0283   </repositories>
0284   <pluginRepositories>
0285     <pluginRepository>
0286       <id>gcs-maven-central-mirror</id>
0287       <!--
0288         Google Mirror of Maven Central, placed first so that it's used instead of flaky Maven Central.
0289         See https://storage-download.googleapis.com/maven-central/index.html
0290       -->
0291       <name>GCS Maven Central mirror</name>
0292       <url>https://maven-central.storage-download.googleapis.com/maven2/</url>
0293       <releases>
0294         <enabled>true</enabled>
0295       </releases>
0296       <snapshots>
0297         <enabled>false</enabled>
0298       </snapshots>
0299     </pluginRepository>
0300     <pluginRepository>
0301       <id>central</id>
0302       <url>https://repo.maven.apache.org/maven2</url>
0303       <releases>
0304         <enabled>true</enabled>
0305       </releases>
0306       <snapshots>
0307         <enabled>false</enabled>
0308       </snapshots>
0309     </pluginRepository>
0310   </pluginRepositories>
0311   <dependencies>
0312     <!--
0313       This is a dummy dependency that is used to trigger the maven-shade plugin so that Spark's
0314       published POMs are flattened and do not contain variables. Without this dependency, some
0315       subprojects' published POMs would contain variables like ${scala.binary.version} that will
0316       be substituted according to the default properties instead of the ones determined by the
0317       profiles that were active during publishing, causing the Scala 2.10 build's POMs to have 2.11
0318       dependencies due to the incorrect substitutions. By ensuring that maven-shade runs for all
0319       subprojects, we eliminate this problem because the substitutions are baked into the final POM.
0320 
0321       For more details, see SPARK-3812 and MNG-2971.
0322     -->
0323     <dependency>
0324       <groupId>org.spark-project.spark</groupId>
0325       <artifactId>unused</artifactId>
0326       <version>1.0.0</version>
0327     </dependency>
0328     <!--
0329          This is needed by the scalatest plugin, and so is declared here to be available in
0330          all child modules, just as scalatest is run in all children
0331     -->
0332     <dependency>
0333       <groupId>org.scalatest</groupId>
0334       <artifactId>scalatest_${scala.binary.version}</artifactId>
0335       <scope>test</scope>
0336     </dependency>
0337     <dependency>
0338       <groupId>junit</groupId>
0339       <artifactId>junit</artifactId>
0340       <scope>test</scope>
0341     </dependency>
0342     <dependency>
0343       <groupId>com.novocode</groupId>
0344       <artifactId>junit-interface</artifactId>
0345       <scope>test</scope>
0346     </dependency>
0347   </dependencies>
0348   <dependencyManagement>
0349     <dependencies>
0350       <dependency>
0351         <groupId>org.apache.spark</groupId>
0352         <artifactId>spark-tags_${scala.binary.version}</artifactId>
0353         <version>${project.version}</version>
0354       </dependency>
0355       <dependency>
0356         <groupId>org.apache.spark</groupId>
0357         <artifactId>spark-tags_${scala.binary.version}</artifactId>
0358         <version>${project.version}</version>
0359         <type>test-jar</type>
0360       </dependency>
0361       <dependency>
0362         <groupId>com.twitter</groupId>
0363         <artifactId>chill_${scala.binary.version}</artifactId>
0364         <version>${chill.version}</version>
0365       </dependency>
0366       <dependency>
0367         <groupId>com.twitter</groupId>
0368         <artifactId>chill-java</artifactId>
0369         <version>${chill.version}</version>
0370       </dependency>
0371       <!-- This artifact is a shaded version of ASM 7.x. The POM that was used to produce this
0372            is at https://github.com/apache/geronimo-xbean/tree/trunk/xbean-asm7-shaded
0373            For context on why we shade ASM, see SPARK-782 and SPARK-6152. -->
0374       <dependency>
0375         <groupId>org.apache.xbean</groupId>
0376         <artifactId>xbean-asm7-shaded</artifactId>
0377         <version>4.15</version>
0378       </dependency>
0379 
0380       <!-- Shaded deps marked as provided. These are promoted to compile scope
0381            in the modules where we want the shaded classes to appear in the
0382            associated jar. -->
0383       <dependency>
0384         <groupId>org.eclipse.jetty</groupId>
0385         <artifactId>jetty-http</artifactId>
0386         <version>${jetty.version}</version>
0387         <scope>provided</scope>
0388       </dependency>
0389       <dependency>
0390         <groupId>org.eclipse.jetty</groupId>
0391         <artifactId>jetty-continuation</artifactId>
0392         <version>${jetty.version}</version>
0393         <scope>provided</scope>
0394       </dependency>
0395       <dependency>
0396         <groupId>org.eclipse.jetty</groupId>
0397         <artifactId>jetty-servlet</artifactId>
0398         <version>${jetty.version}</version>
0399         <scope>provided</scope>
0400       </dependency>
0401       <dependency>
0402         <groupId>org.eclipse.jetty</groupId>
0403         <artifactId>jetty-servlets</artifactId>
0404         <version>${jetty.version}</version>
0405         <scope>provided</scope>
0406       </dependency>
0407       <dependency>
0408         <groupId>org.eclipse.jetty</groupId>
0409         <artifactId>jetty-proxy</artifactId>
0410         <version>${jetty.version}</version>
0411         <scope>provided</scope>
0412       </dependency>
0413       <dependency>
0414         <groupId>org.eclipse.jetty</groupId>
0415         <artifactId>jetty-client</artifactId>
0416         <version>${jetty.version}</version>
0417         <scope>provided</scope>
0418       </dependency>
0419       <dependency>
0420         <groupId>org.eclipse.jetty</groupId>
0421         <artifactId>jetty-util</artifactId>
0422         <version>${jetty.version}</version>
0423         <scope>provided</scope>
0424       </dependency>
0425       <dependency>
0426         <groupId>org.eclipse.jetty</groupId>
0427         <artifactId>jetty-security</artifactId>
0428         <version>${jetty.version}</version>
0429         <scope>provided</scope>
0430       </dependency>
0431       <dependency>
0432         <groupId>org.eclipse.jetty</groupId>
0433         <artifactId>jetty-plus</artifactId>
0434         <version>${jetty.version}</version>
0435         <scope>provided</scope>
0436       </dependency>
0437       <dependency>
0438         <groupId>org.eclipse.jetty</groupId>
0439         <artifactId>jetty-server</artifactId>
0440         <version>${jetty.version}</version>
0441         <scope>provided</scope>
0442       </dependency>
0443       <dependency>
0444         <groupId>org.eclipse.jetty</groupId>
0445         <artifactId>jetty-webapp</artifactId>
0446         <version>${jetty.version}</version>
0447         <scope>provided</scope>
0448       </dependency>
0449       <dependency>
0450         <groupId>com.google.guava</groupId>
0451         <artifactId>guava</artifactId>
0452         <version>${guava.version}</version>
0453         <scope>provided</scope>
0454       </dependency>
0455       <dependency>
0456         <groupId>org.jpmml</groupId>
0457         <artifactId>pmml-model</artifactId>
0458         <version>1.4.8</version>
0459         <scope>provided</scope>
0460         <exclusions>
0461           <exclusion>
0462             <groupId>org.jpmml</groupId>
0463             <artifactId>pmml-agent</artifactId>
0464           </exclusion>
0465         </exclusions>
0466       </dependency>
0467       <!-- End of shaded deps -->
0468 
0469       <!-- Provide a JAXB impl; no longer auto available in Java 9+ in the JDK -->
0470       <dependency>
0471         <groupId>org.glassfish.jaxb</groupId>
0472         <artifactId>jaxb-runtime</artifactId>
0473         <version>2.3.2</version>
0474         <scope>compile</scope>
0475         <exclusions>
0476           <!-- for now, we only write XML in PMML export, and these can be excluded -->
0477           <exclusion>
0478             <groupId>com.sun.xml.fastinfoset</groupId>
0479             <artifactId>FastInfoset</artifactId>
0480           </exclusion>
0481           <exclusion>
0482             <groupId>org.glassfish.jaxb</groupId>
0483             <artifactId>txw2</artifactId>
0484           </exclusion>
0485           <exclusion>
0486             <groupId>org.jvnet.staxex</groupId>
0487             <artifactId>stax-ex</artifactId>
0488           </exclusion>
0489           <!--
0490             SPARK-27611: Exclude redundant javax.activation implementation, which
0491             conflicts with the existing javax.activation:activation:1.1.1 dependency.
0492             -->
0493           <exclusion>
0494             <groupId>jakarta.activation</groupId>
0495             <artifactId>jakarta.activation-api</artifactId>
0496           </exclusion>
0497         </exclusions>
0498       </dependency>
0499       <dependency>
0500         <groupId>org.apache.commons</groupId>
0501         <artifactId>commons-lang3</artifactId>
0502         <version>${commons-lang3.version}</version>
0503       </dependency>
0504       <dependency>
0505         <groupId>org.apache.commons</groupId>
0506         <artifactId>commons-text</artifactId>
0507         <version>1.6</version>
0508       </dependency>
0509       <dependency>
0510         <groupId>commons-lang</groupId>
0511         <artifactId>commons-lang</artifactId>
0512         <version>${commons-lang2.version}</version>
0513       </dependency>
0514       <dependency>
0515         <groupId>commons-io</groupId>
0516         <artifactId>commons-io</artifactId>
0517         <version>${commons-io.version}</version>
0518       </dependency>
0519       <dependency>
0520         <groupId>commons-codec</groupId>
0521         <artifactId>commons-codec</artifactId>
0522         <version>${commons-codec.version}</version>
0523       </dependency>
0524       <dependency>
0525         <groupId>org.apache.commons</groupId>
0526         <artifactId>commons-math3</artifactId>
0527         <version>${commons.math3.version}</version>
0528       </dependency>
0529       <dependency>
0530         <groupId>commons-collections</groupId>
0531         <artifactId>commons-collections</artifactId>
0532         <version>${commons.collections.version}</version>
0533       </dependency>
0534       <dependency>
0535         <groupId>commons-beanutils</groupId>
0536         <artifactId>commons-beanutils</artifactId>
0537         <version>1.9.4</version>
0538       </dependency>
0539       <dependency>
0540         <groupId>commons-logging</groupId>
0541         <artifactId>commons-logging</artifactId>
0542         <!-- Hive uses commons-logging 1.1.3 from 0.13 to 1.2 -->
0543         <version>1.1.3</version>
0544       </dependency>
0545       <dependency>
0546         <groupId>org.apache.ivy</groupId>
0547         <artifactId>ivy</artifactId>
0548         <version>${ivy.version}</version>
0549       </dependency>
0550       <dependency>
0551         <groupId>com.google.code.findbugs</groupId>
0552         <artifactId>jsr305</artifactId>
0553         <version>${jsr305.version}</version>
0554       </dependency>
0555       <dependency>
0556         <groupId>commons-httpclient</groupId>
0557         <artifactId>commons-httpclient</artifactId>
0558         <version>${httpclient.classic.version}</version>
0559       </dependency>
0560       <dependency>
0561         <groupId>org.apache.httpcomponents</groupId>
0562         <artifactId>httpclient</artifactId>
0563         <version>${commons.httpclient.version}</version>
0564       </dependency>
0565       <dependency>
0566         <groupId>org.apache.httpcomponents</groupId>
0567         <artifactId>httpmime</artifactId>
0568         <version>${commons.httpclient.version}</version>
0569       </dependency>
0570       <dependency>
0571         <groupId>org.apache.httpcomponents</groupId>
0572         <artifactId>httpcore</artifactId>
0573         <version>${commons.httpcore.version}</version>
0574       </dependency>
0575       <dependency>
0576         <groupId>${leveldbjni.group}</groupId>
0577         <artifactId>leveldbjni-all</artifactId>
0578         <version>1.8</version>
0579       </dependency>
0580       <dependency>
0581         <groupId>org.seleniumhq.selenium</groupId>
0582         <artifactId>selenium-java</artifactId>
0583         <version>${selenium.version}</version>
0584         <scope>test</scope>
0585         <exclusions>
0586           <exclusion>
0587             <groupId>com.google.guava</groupId>
0588             <artifactId>guava</artifactId>
0589           </exclusion>
0590           <exclusion>
0591             <groupId>io.netty</groupId>
0592             <artifactId>netty</artifactId>
0593           </exclusion>
0594         </exclusions>
0595       </dependency>
0596       <dependency>
0597         <groupId>org.seleniumhq.selenium</groupId>
0598         <artifactId>selenium-htmlunit-driver</artifactId>
0599         <version>${selenium.version}</version>
0600         <scope>test</scope>
0601       </dependency>
0602       <!-- Update htmlunit dependency that selenium uses for better JS support -->
0603       <dependency>
0604         <groupId>net.sourceforge.htmlunit</groupId>
0605         <artifactId>htmlunit</artifactId>
0606         <version>${htmlunit.version}</version>
0607         <scope>test</scope>
0608       </dependency>
0609       <dependency>
0610         <groupId>net.sourceforge.htmlunit</groupId>
0611         <artifactId>htmlunit-core-js</artifactId>
0612         <version>${htmlunit.version}</version>
0613         <scope>test</scope>
0614       </dependency>
0615       <!-- Added for selenium only, and should match its dependent version: -->
0616       <dependency>
0617         <groupId>xml-apis</groupId>
0618         <artifactId>xml-apis</artifactId>
0619         <version>1.4.01</version>
0620       </dependency>
0621       <dependency>
0622         <groupId>org.slf4j</groupId>
0623         <artifactId>slf4j-api</artifactId>
0624         <version>${slf4j.version}</version>
0625         <scope>${hadoop.deps.scope}</scope>
0626       </dependency>
0627       <dependency>
0628         <groupId>org.slf4j</groupId>
0629         <artifactId>slf4j-log4j12</artifactId>
0630         <version>${slf4j.version}</version>
0631         <scope>${hadoop.deps.scope}</scope>
0632       </dependency>
0633       <dependency>
0634         <groupId>org.slf4j</groupId>
0635         <artifactId>jul-to-slf4j</artifactId>
0636         <version>${slf4j.version}</version>
0637       </dependency>
0638       <dependency>
0639         <groupId>org.slf4j</groupId>
0640         <artifactId>jcl-over-slf4j</artifactId>
0641         <version>${slf4j.version}</version>
0642         <!-- runtime scope is appropriate, but causes SBT build problems -->
0643       </dependency>
0644       <dependency>
0645         <groupId>log4j</groupId>
0646         <artifactId>log4j</artifactId>
0647         <version>${log4j.version}</version>
0648         <scope>${hadoop.deps.scope}</scope>
0649       </dependency>
0650       <dependency>
0651         <groupId>com.ning</groupId>
0652         <artifactId>compress-lzf</artifactId>
0653         <version>1.0.3</version>
0654       </dependency>
0655       <dependency>
0656         <groupId>org.xerial.snappy</groupId>
0657         <artifactId>snappy-java</artifactId>
0658         <version>${snappy.version}</version>
0659       </dependency>
0660       <dependency>
0661         <groupId>org.lz4</groupId>
0662         <artifactId>lz4-java</artifactId>
0663         <version>1.7.1</version>
0664       </dependency>
0665       <dependency>
0666         <groupId>com.github.luben</groupId>
0667         <artifactId>zstd-jni</artifactId>
0668         <version>1.4.4-3</version>
0669       </dependency>
0670       <dependency>
0671         <groupId>com.clearspring.analytics</groupId>
0672         <artifactId>stream</artifactId>
0673         <version>2.9.6</version>
0674         <exclusions>
0675           <!-- Only HyperLogLogPlus is used, which doesn't depend on fastutil -->
0676           <exclusion>
0677             <groupId>it.unimi.dsi</groupId>
0678             <artifactId>fastutil</artifactId>
0679           </exclusion>
0680         </exclusions>
0681       </dependency>
0682       <!-- In theory we need not directly depend on protobuf since Spark does not directly
0683            use it. However, when building with Hadoop/YARN 2.2 Maven doesn't correctly bump
0684            the protobuf version up from the one Mesos gives. For now we include this variable
0685            to explicitly bump the version when building with YARN. It would be nice to figure
0686            out why Maven can't resolve this correctly (like SBT does). -->
0687       <dependency>
0688         <groupId>com.google.protobuf</groupId>
0689         <artifactId>protobuf-java</artifactId>
0690         <version>${protobuf.version}</version>
0691         <scope>${hadoop.deps.scope}</scope>
0692       </dependency>
0693       <dependency>
0694         <groupId>org.roaringbitmap</groupId>
0695         <artifactId>RoaringBitmap</artifactId>
0696         <version>0.7.45</version>
0697       </dependency>
0698       <dependency>
0699         <groupId>commons-net</groupId>
0700         <artifactId>commons-net</artifactId>
0701         <version>3.1</version>
0702       </dependency>
0703       <dependency>
0704         <groupId>io.netty</groupId>
0705         <artifactId>netty-all</artifactId>
0706         <version>4.1.47.Final</version>
0707       </dependency>
0708       <dependency>
0709         <groupId>org.apache.derby</groupId>
0710         <artifactId>derby</artifactId>
0711         <version>${derby.version}</version>
0712       </dependency>
0713       <dependency>
0714         <groupId>io.dropwizard.metrics</groupId>
0715         <artifactId>metrics-core</artifactId>
0716         <version>${codahale.metrics.version}</version>
0717       </dependency>
0718       <dependency>
0719         <groupId>io.dropwizard.metrics</groupId>
0720         <artifactId>metrics-jvm</artifactId>
0721         <version>${codahale.metrics.version}</version>
0722       </dependency>
0723       <dependency>
0724         <groupId>io.dropwizard.metrics</groupId>
0725         <artifactId>metrics-json</artifactId>
0726         <version>${codahale.metrics.version}</version>
0727       </dependency>
0728       <dependency>
0729         <groupId>io.dropwizard.metrics</groupId>
0730         <artifactId>metrics-graphite</artifactId>
0731         <version>${codahale.metrics.version}</version>
0732       </dependency>
0733       <dependency>
0734         <groupId>io.dropwizard.metrics</groupId>
0735         <artifactId>metrics-jmx</artifactId>
0736         <version>${codahale.metrics.version}</version>
0737       </dependency>
0738       <dependency>
0739         <groupId>com.fasterxml.jackson.core</groupId>
0740         <artifactId>jackson-core</artifactId>
0741         <version>${fasterxml.jackson.version}</version>
0742       </dependency>
0743       <dependency>
0744         <groupId>com.fasterxml.jackson.core</groupId>
0745         <artifactId>jackson-databind</artifactId>
0746         <version>${fasterxml.jackson.version}</version>
0747       </dependency>
0748       <dependency>
0749         <groupId>com.fasterxml.jackson.core</groupId>
0750         <artifactId>jackson-annotations</artifactId>
0751         <version>${fasterxml.jackson.version}</version>
0752       </dependency>
0753       <!-- Guava is excluded because of SPARK-6149.  The Guava version referenced in this module is
0754            15.0, which causes runtime incompatibility issues. -->
0755       <dependency>
0756         <groupId>com.fasterxml.jackson.module</groupId>
0757         <artifactId>jackson-module-scala_${scala.binary.version}</artifactId>
0758         <version>${fasterxml.jackson.version}</version>
0759         <exclusions>
0760           <exclusion>
0761             <groupId>com.google.guava</groupId>
0762             <artifactId>guava</artifactId>
0763           </exclusion>
0764         </exclusions>
0765       </dependency>
0766       <dependency>
0767         <groupId>com.fasterxml.jackson.module</groupId>
0768         <artifactId>jackson-module-jaxb-annotations</artifactId>
0769         <version>${fasterxml.jackson.version}</version>
0770       </dependency>
0771       <dependency>
0772         <groupId>org.glassfish.jersey.core</groupId>
0773         <artifactId>jersey-server</artifactId>
0774         <version>${jersey.version}</version>
0775         <!-- SPARK-28765 Unused JDK11-specific dependency -->
0776         <exclusions>
0777           <exclusion>
0778             <groupId>jakarta.xml.bind</groupId>
0779             <artifactId>jakarta.xml.bind-api</artifactId>
0780           </exclusion>
0781         </exclusions>
0782       </dependency>
0783       <dependency>
0784         <groupId>org.glassfish.jersey.core</groupId>
0785         <artifactId>jersey-common</artifactId>
0786         <version>${jersey.version}</version>
0787         <!-- SPARK-28765 Unused JDK11-specific dependency -->
0788         <exclusions>
0789           <exclusion>
0790             <groupId>com.sun.activation</groupId>
0791             <artifactId>jakarta.activation</artifactId>
0792           </exclusion>
0793         </exclusions>
0794       </dependency>
0795       <dependency>
0796         <groupId>org.glassfish.jersey.core</groupId>
0797         <artifactId>jersey-client</artifactId>
0798         <version>${jersey.version}</version>
0799       </dependency>
0800       <dependency>
0801         <groupId>org.glassfish.jersey.containers</groupId>
0802         <artifactId>jersey-container-servlet</artifactId>
0803         <version>${jersey.version}</version>
0804       </dependency>
0805       <dependency>
0806         <groupId>org.glassfish.jersey.containers</groupId>
0807         <artifactId>jersey-container-servlet-core</artifactId>
0808         <version>${jersey.version}</version>
0809       </dependency>
0810       <dependency>
0811         <groupId>org.glassfish.jersey.inject</groupId>
0812         <artifactId>jersey-hk2</artifactId>
0813         <version>${jersey.version}</version>
0814       </dependency>
0815       <dependency>
0816         <groupId>org.glassfish.jersey.test-framework.providers</groupId>
0817         <artifactId>jersey-test-framework-provider-simple</artifactId>
0818         <version>${jersey.version}</version>
0819         <scope>test</scope>
0820       </dependency>
0821       <dependency>
0822         <groupId>org.glassfish.jersey</groupId>
0823         <artifactId>jersey-client</artifactId>
0824         <version>${jersey.version}</version>
0825       </dependency>
0826       <dependency>
0827         <groupId>javax.ws.rs</groupId>
0828         <artifactId>javax.ws.rs-api</artifactId>
0829         <version>2.0.1</version>
0830       </dependency>
0831       <dependency>
0832         <groupId>org.scalanlp</groupId>
0833         <artifactId>breeze_${scala.binary.version}</artifactId>
0834         <version>1.0</version>
0835         <exclusions>
0836           <exclusion>
0837             <groupId>org.apache.commons</groupId>
0838             <artifactId>commons-math3</artifactId>
0839           </exclusion>
0840         </exclusions>
0841       </dependency>
0842       <dependency>
0843         <groupId>org.json4s</groupId>
0844         <artifactId>json4s-jackson_${scala.binary.version}</artifactId>
0845         <version>3.6.6</version>
0846         <exclusions>
0847           <exclusion>
0848             <groupId>com.fasterxml.jackson.core</groupId>
0849             <artifactId>*</artifactId>
0850           </exclusion>
0851         </exclusions>
0852       </dependency>
0853       <dependency>
0854         <groupId>org.scala-lang.modules</groupId>
0855         <artifactId>scala-xml_${scala.binary.version}</artifactId>
0856         <version>1.2.0</version>
0857       </dependency>
0858       <dependency>
0859         <groupId>org.scala-lang</groupId>
0860         <artifactId>scala-compiler</artifactId>
0861         <version>${scala.version}</version>
0862       </dependency>
0863       <dependency>
0864         <groupId>org.scala-lang</groupId>
0865         <artifactId>scala-reflect</artifactId>
0866         <version>${scala.version}</version>
0867       </dependency>
0868       <dependency>
0869         <groupId>org.scala-lang</groupId>
0870         <artifactId>scala-library</artifactId>
0871         <version>${scala.version}</version>
0872       </dependency>
0873       <dependency>
0874         <groupId>org.scala-lang</groupId>
0875         <artifactId>scala-actors</artifactId>
0876         <version>${scala.version}</version>
0877       </dependency>
0878       <dependency>
0879         <groupId>org.scala-lang.modules</groupId>
0880         <artifactId>scala-parser-combinators_${scala.binary.version}</artifactId>
0881         <version>1.1.2</version>
0882       </dependency>
0883       <dependency>
0884         <groupId>jline</groupId>
0885         <artifactId>jline</artifactId>
0886         <version>2.14.6</version>
0887       </dependency>
0888       <dependency>
0889         <groupId>org.scalatest</groupId>
0890         <artifactId>scalatest_${scala.binary.version}</artifactId>
0891         <version>3.0.8</version>
0892         <scope>test</scope>
0893       </dependency>
0894       <dependency>
0895         <groupId>org.mockito</groupId>
0896         <artifactId>mockito-core</artifactId>
0897         <version>3.1.0</version>
0898         <scope>test</scope>
0899       </dependency>
0900       <dependency>
0901         <groupId>org.jmock</groupId>
0902         <artifactId>jmock-junit4</artifactId>
0903         <scope>test</scope>
0904         <version>2.8.4</version>
0905       </dependency>
0906       <dependency>
0907         <groupId>org.scalacheck</groupId>
0908         <artifactId>scalacheck_${scala.binary.version}</artifactId>
0909         <version>1.14.2</version>
0910         <scope>test</scope>
0911       </dependency>
0912       <dependency>
0913         <groupId>junit</groupId>
0914         <artifactId>junit</artifactId>
0915         <version>4.12</version>
0916         <scope>test</scope>
0917       </dependency>
0918       <dependency>
0919         <groupId>org.hamcrest</groupId>
0920         <artifactId>hamcrest-core</artifactId>
0921         <version>1.3</version>
0922         <scope>test</scope>
0923       </dependency>
0924       <dependency>
0925         <groupId>org.hamcrest</groupId>
0926         <artifactId>hamcrest-library</artifactId>
0927         <version>1.3</version>
0928         <scope>test</scope>
0929       </dependency>
0930       <dependency>
0931         <groupId>com.novocode</groupId>
0932         <artifactId>junit-interface</artifactId>
0933         <version>0.11</version>
0934         <scope>test</scope>
0935       </dependency>
0936       <dependency>
0937         <groupId>com.spotify</groupId>
0938         <artifactId>docker-client</artifactId>
0939         <version>8.14.1</version>
0940         <scope>test</scope>
0941         <classifier>shaded</classifier>
0942         <exclusions>
0943           <exclusion>
0944             <artifactId>guava</artifactId>
0945             <groupId>com.google.guava</groupId>
0946           </exclusion>
0947           <exclusion>
0948             <groupId>commons-logging</groupId>
0949             <artifactId>commons-logging</artifactId>
0950           </exclusion>
0951         </exclusions>
0952       </dependency>
0953       <dependency>
0954         <groupId>mysql</groupId>
0955         <artifactId>mysql-connector-java</artifactId>
0956         <version>5.1.38</version>
0957         <scope>test</scope>
0958       </dependency>
0959       <dependency>
0960         <groupId>org.postgresql</groupId>
0961         <artifactId>postgresql</artifactId>
0962         <version>42.2.6</version>
0963         <scope>test</scope>
0964       </dependency>
0965       <dependency>
0966         <groupId>org.apache.curator</groupId>
0967         <artifactId>curator-recipes</artifactId>
0968         <version>${curator.version}</version>
0969         <scope>${hadoop.deps.scope}</scope>
0970         <exclusions>
0971           <exclusion>
0972             <groupId>org.jboss.netty</groupId>
0973             <artifactId>netty</artifactId>
0974           </exclusion>
0975           <exclusion>
0976             <groupId>jline</groupId>
0977             <artifactId>jline</artifactId>
0978           </exclusion>
0979         </exclusions>
0980       </dependency>
0981       <dependency>
0982         <groupId>org.apache.curator</groupId>
0983         <artifactId>curator-client</artifactId>
0984         <version>${curator.version}</version>
0985       </dependency>
0986       <dependency>
0987         <groupId>org.apache.curator</groupId>
0988         <artifactId>curator-framework</artifactId>
0989         <version>${curator.version}</version>
0990       </dependency>
0991       <dependency>
0992         <groupId>org.apache.curator</groupId>
0993         <artifactId>curator-test</artifactId>
0994         <version>${curator.version}</version>
0995         <scope>test</scope>
0996       </dependency>
0997       <dependency>
0998         <groupId>org.apache.hadoop</groupId>
0999         <artifactId>hadoop-client</artifactId>
1000         <version>${hadoop.version}</version>
1001         <scope>${hadoop.deps.scope}</scope>
1002         <exclusions>
1003           <exclusion>
1004             <groupId>org.fusesource.leveldbjni</groupId>
1005             <artifactId>leveldbjni-all</artifactId>
1006           </exclusion>
1007           <exclusion>
1008             <groupId>asm</groupId>
1009             <artifactId>asm</artifactId>
1010           </exclusion>
1011           <exclusion>
1012             <groupId>org.codehaus.jackson</groupId>
1013             <artifactId>jackson-mapper-asl</artifactId>
1014           </exclusion>
1015           <exclusion>
1016             <groupId>org.ow2.asm</groupId>
1017             <artifactId>asm</artifactId>
1018           </exclusion>
1019           <exclusion>
1020             <groupId>org.jboss.netty</groupId>
1021             <artifactId>netty</artifactId>
1022           </exclusion>
1023           <exclusion>
1024             <groupId>io.netty</groupId>
1025             <artifactId>netty</artifactId>
1026           </exclusion>
1027           <exclusion>
1028             <!-- BeanUtils >= 1.9.0 no longer splits out -core; exclude it -->
1029             <groupId>commons-beanutils</groupId>
1030             <artifactId>commons-beanutils-core</artifactId>
1031           </exclusion>
1032           <exclusion>
1033             <groupId>commons-logging</groupId>
1034             <artifactId>commons-logging</artifactId>
1035           </exclusion>
1036           <exclusion>
1037             <groupId>org.mockito</groupId>
1038             <artifactId>mockito-all</artifactId>
1039           </exclusion>
1040           <exclusion>
1041             <groupId>org.mortbay.jetty</groupId>
1042             <artifactId>servlet-api-2.5</artifactId>
1043           </exclusion>
1044           <exclusion>
1045             <groupId>javax.servlet</groupId>
1046             <artifactId>servlet-api</artifactId>
1047           </exclusion>
1048           <exclusion>
1049             <groupId>junit</groupId>
1050             <artifactId>junit</artifactId>
1051           </exclusion>
1052           <exclusion>
1053             <groupId>com.sun.jersey</groupId>
1054             <artifactId>*</artifactId>
1055           </exclusion>
1056           <exclusion>
1057             <groupId>com.sun.jersey.jersey-test-framework</groupId>
1058             <artifactId>*</artifactId>
1059           </exclusion>
1060           <exclusion>
1061             <groupId>com.sun.jersey.contribs</groupId>
1062             <artifactId>*</artifactId>
1063           </exclusion>
1064           <exclusion>
1065             <groupId>net.java.dev.jets3t</groupId>
1066             <artifactId>jets3t</artifactId>
1067           </exclusion>
1068           <!-- Hadoop-3.2 -->
1069           <exclusion>
1070             <groupId>javax.ws.rs</groupId>
1071             <artifactId>jsr311-api</artifactId>
1072           </exclusion>
1073           <exclusion>
1074             <groupId>org.eclipse.jetty</groupId>
1075             <artifactId>jetty-webapp</artifactId>
1076           </exclusion>
1077         </exclusions>
1078       </dependency>
1079       <dependency>
1080         <groupId>org.apache.hadoop</groupId>
1081         <artifactId>hadoop-minikdc</artifactId>
1082         <version>${hadoop.version}</version>
1083         <scope>test</scope>
1084         <exclusions>
1085           <exclusion>
1086             <groupId>org.apache.directory.api</groupId>
1087             <artifactId>api-ldap-schema-data</artifactId>
1088           </exclusion>
1089         </exclusions>
1090       </dependency>
1091       <!-- Managed up to match Hadoop in HADOOP-16530 -->
1092       <dependency>
1093         <groupId>xerces</groupId>
1094         <artifactId>xercesImpl</artifactId>
1095         <version>2.12.0</version>
1096       </dependency>
1097       <dependency>
1098         <groupId>org.apache.avro</groupId>
1099         <artifactId>avro</artifactId>
1100         <version>${avro.version}</version>
1101       </dependency>
1102       <dependency>
1103         <groupId>org.apache.avro</groupId>
1104         <artifactId>avro-ipc</artifactId>
1105         <version>${avro.version}</version>
1106         <exclusions>
1107           <exclusion>
1108             <groupId>io.netty</groupId>
1109             <artifactId>netty</artifactId>
1110           </exclusion>
1111           <exclusion>
1112             <groupId>org.mortbay.jetty</groupId>
1113             <artifactId>jetty</artifactId>
1114           </exclusion>
1115           <exclusion>
1116             <groupId>org.mortbay.jetty</groupId>
1117             <artifactId>jetty-util</artifactId>
1118           </exclusion>
1119           <exclusion>
1120             <groupId>org.mortbay.jetty</groupId>
1121             <artifactId>servlet-api</artifactId>
1122           </exclusion>
1123           <exclusion>
1124             <groupId>org.apache.velocity</groupId>
1125             <artifactId>velocity</artifactId>
1126           </exclusion>
1127         </exclusions>
1128       </dependency>
1129       <!-- avro-mapred for some reason depends on avro-ipc's test jar, so undo that. -->
1130       <dependency>
1131         <groupId>org.apache.avro</groupId>
1132         <artifactId>avro-ipc</artifactId>
1133         <classifier>tests</classifier>
1134         <version>${avro.version}</version>
1135         <scope>test</scope>
1136       </dependency>
1137       <dependency>
1138         <groupId>org.apache.avro</groupId>
1139         <artifactId>avro-mapred</artifactId>
1140         <version>${avro.version}</version>
1141         <classifier>${avro.mapred.classifier}</classifier>
1142         <scope>${hive.deps.scope}</scope>
1143         <exclusions>
1144           <exclusion>
1145             <groupId>io.netty</groupId>
1146             <artifactId>netty</artifactId>
1147           </exclusion>
1148           <exclusion>
1149             <groupId>org.mortbay.jetty</groupId>
1150             <artifactId>jetty</artifactId>
1151           </exclusion>
1152           <exclusion>
1153             <groupId>org.mortbay.jetty</groupId>
1154             <artifactId>jetty-util</artifactId>
1155           </exclusion>
1156           <exclusion>
1157             <groupId>org.mortbay.jetty</groupId>
1158             <artifactId>servlet-api</artifactId>
1159           </exclusion>
1160           <exclusion>
1161             <groupId>org.apache.velocity</groupId>
1162             <artifactId>velocity</artifactId>
1163           </exclusion>
1164         </exclusions>
1165       </dependency>
1166       <!-- See SPARK-23654 for info on this dependency;
1167       It is used to keep javax.activation at v1.1.1 after dropping
1168       jets3t as a dependency.
1169        -->
1170       <dependency>
1171         <groupId>javax.activation</groupId>
1172         <artifactId>activation</artifactId>
1173         <version>1.1.1</version>
1174         <scope>${hadoop.deps.scope}</scope>
1175       </dependency>
1176       <dependency>
1177         <groupId>org.apache.hadoop</groupId>
1178         <artifactId>hadoop-yarn-api</artifactId>
1179         <version>${yarn.version}</version>
1180         <scope>${hadoop.deps.scope}</scope>
1181         <exclusions>
1182           <exclusion>
1183             <groupId>javax.servlet</groupId>
1184             <artifactId>servlet-api</artifactId>
1185           </exclusion>
1186           <exclusion>
1187             <groupId>asm</groupId>
1188             <artifactId>asm</artifactId>
1189           </exclusion>
1190           <exclusion>
1191             <groupId>org.ow2.asm</groupId>
1192             <artifactId>asm</artifactId>
1193           </exclusion>
1194           <exclusion>
1195             <groupId>org.jboss.netty</groupId>
1196             <artifactId>netty</artifactId>
1197           </exclusion>
1198           <exclusion>
1199             <groupId>commons-logging</groupId>
1200             <artifactId>commons-logging</artifactId>
1201           </exclusion>
1202           <exclusion>
1203             <groupId>com.sun.jersey</groupId>
1204             <artifactId>*</artifactId>
1205           </exclusion>
1206           <exclusion>
1207             <groupId>com.sun.jersey.jersey-test-framework</groupId>
1208             <artifactId>*</artifactId>
1209           </exclusion>
1210           <exclusion>
1211             <groupId>com.sun.jersey.contribs</groupId>
1212             <artifactId>*</artifactId>
1213           </exclusion>
1214           <exclusion>
1215             <groupId>jdk.tools</groupId>
1216             <artifactId>jdk.tools</artifactId>
1217           </exclusion>
1218         </exclusions>
1219       </dependency>
1220       <dependency>
1221         <groupId>org.apache.hadoop</groupId>
1222         <artifactId>hadoop-yarn-common</artifactId>
1223         <version>${yarn.version}</version>
1224         <scope>${hadoop.deps.scope}</scope>
1225         <exclusions>
1226           <exclusion>
1227             <groupId>asm</groupId>
1228             <artifactId>asm</artifactId>
1229           </exclusion>
1230           <exclusion>
1231             <groupId>org.ow2.asm</groupId>
1232             <artifactId>asm</artifactId>
1233           </exclusion>
1234           <exclusion>
1235             <groupId>org.jboss.netty</groupId>
1236             <artifactId>netty</artifactId>
1237           </exclusion>
1238           <exclusion>
1239             <groupId>javax.servlet</groupId>
1240             <artifactId>servlet-api</artifactId>
1241           </exclusion>
1242           <exclusion>
1243             <groupId>commons-logging</groupId>
1244             <artifactId>commons-logging</artifactId>
1245           </exclusion>
1246           <exclusion>
1247             <groupId>com.sun.jersey</groupId>
1248             <artifactId>*</artifactId>
1249           </exclusion>
1250           <exclusion>
1251             <groupId>com.sun.jersey.jersey-test-framework</groupId>
1252             <artifactId>*</artifactId>
1253           </exclusion>
1254           <exclusion>
1255             <groupId>com.sun.jersey.contribs</groupId>
1256             <artifactId>*</artifactId>
1257           </exclusion>
1258         </exclusions>
1259       </dependency>
1260       <dependency>
1261         <groupId>org.apache.hadoop</groupId>
1262         <artifactId>hadoop-yarn-server-tests</artifactId>
1263         <version>${yarn.version}</version>
1264         <classifier>tests</classifier>
1265         <scope>test</scope>
1266         <exclusions>
1267           <exclusion>
1268             <groupId>org.fusesource.leveldbjni</groupId>
1269             <artifactId>leveldbjni-all</artifactId>
1270           </exclusion>
1271           <exclusion>
1272             <groupId>asm</groupId>
1273             <artifactId>asm</artifactId>
1274           </exclusion>
1275           <exclusion>
1276             <groupId>org.ow2.asm</groupId>
1277             <artifactId>asm</artifactId>
1278           </exclusion>
1279           <exclusion>
1280             <groupId>org.jboss.netty</groupId>
1281             <artifactId>netty</artifactId>
1282           </exclusion>
1283           <exclusion>
1284             <groupId>javax.servlet</groupId>
1285             <artifactId>servlet-api</artifactId>
1286           </exclusion>
1287           <exclusion>
1288             <groupId>commons-logging</groupId>
1289             <artifactId>commons-logging</artifactId>
1290           </exclusion>
1291           <exclusion>
1292             <groupId>com.sun.jersey</groupId>
1293             <artifactId>*</artifactId>
1294           </exclusion>
1295           <exclusion>
1296             <groupId>com.sun.jersey.jersey-test-framework</groupId>
1297             <artifactId>*</artifactId>
1298           </exclusion>
1299           <exclusion>
1300             <groupId>com.sun.jersey.contribs</groupId>
1301             <artifactId>*</artifactId>
1302           </exclusion>
1303         </exclusions>
1304       </dependency>
1305       <dependency>
1306         <groupId>org.apache.hadoop</groupId>
1307         <artifactId>hadoop-yarn-server-web-proxy</artifactId>
1308         <version>${yarn.version}</version>
1309         <scope>${hadoop.deps.scope}</scope>
1310         <exclusions>
1311           <exclusion>
1312             <groupId>org.fusesource.leveldbjni</groupId>
1313             <artifactId>leveldbjni-all</artifactId>
1314           </exclusion>
1315           <exclusion>
1316             <groupId>asm</groupId>
1317             <artifactId>asm</artifactId>
1318           </exclusion>
1319           <exclusion>
1320             <groupId>org.ow2.asm</groupId>
1321             <artifactId>asm</artifactId>
1322           </exclusion>
1323           <exclusion>
1324             <groupId>org.jboss.netty</groupId>
1325             <artifactId>netty</artifactId>
1326           </exclusion>
1327           <exclusion>
1328             <groupId>javax.servlet</groupId>
1329             <artifactId>servlet-api</artifactId>
1330           </exclusion>
1331           <exclusion>
1332             <groupId>commons-logging</groupId>
1333             <artifactId>commons-logging</artifactId>
1334           </exclusion>
1335           <exclusion>
1336             <groupId>com.sun.jersey</groupId>
1337             <artifactId>*</artifactId>
1338           </exclusion>
1339           <exclusion>
1340             <groupId>com.sun.jersey.jersey-test-framework</groupId>
1341             <artifactId>*</artifactId>
1342           </exclusion>
1343           <exclusion>
1344             <groupId>com.sun.jersey.contribs</groupId>
1345             <artifactId>*</artifactId>
1346           </exclusion>
1347           <!-- Hadoop-3.2 -->
1348           <exclusion>
1349             <groupId>com.zaxxer</groupId>
1350             <artifactId>HikariCP-java7</artifactId>
1351           </exclusion>
1352           <exclusion>
1353             <groupId>com.microsoft.sqlserver</groupId>
1354             <artifactId>mssql-jdbc</artifactId>
1355           </exclusion>
1356         </exclusions>
1357       </dependency>
1358       <dependency>
1359         <groupId>org.apache.hadoop</groupId>
1360         <artifactId>hadoop-yarn-client</artifactId>
1361         <version>${yarn.version}</version>
1362         <scope>${hadoop.deps.scope}</scope>
1363         <exclusions>
1364           <exclusion>
1365             <groupId>asm</groupId>
1366             <artifactId>asm</artifactId>
1367           </exclusion>
1368           <exclusion>
1369             <groupId>org.ow2.asm</groupId>
1370             <artifactId>asm</artifactId>
1371           </exclusion>
1372           <exclusion>
1373             <groupId>org.jboss.netty</groupId>
1374             <artifactId>netty</artifactId>
1375           </exclusion>
1376           <exclusion>
1377             <groupId>javax.servlet</groupId>
1378             <artifactId>servlet-api</artifactId>
1379           </exclusion>
1380           <exclusion>
1381             <groupId>commons-logging</groupId>
1382             <artifactId>commons-logging</artifactId>
1383           </exclusion>
1384           <exclusion>
1385             <groupId>com.sun.jersey</groupId>
1386             <artifactId>*</artifactId>
1387           </exclusion>
1388           <exclusion>
1389             <groupId>com.sun.jersey.jersey-test-framework</groupId>
1390             <artifactId>*</artifactId>
1391           </exclusion>
1392           <exclusion>
1393             <groupId>com.sun.jersey.contribs</groupId>
1394             <artifactId>*</artifactId>
1395           </exclusion>
1396         </exclusions>
1397       </dependency>
1398       <dependency>
1399         <groupId>org.apache.zookeeper</groupId>
1400         <artifactId>zookeeper</artifactId>
1401         <version>${zookeeper.version}</version>
1402         <scope>${hadoop.deps.scope}</scope>
1403         <exclusions>
1404           <exclusion>
1405             <groupId>org.jboss.netty</groupId>
1406             <artifactId>netty</artifactId>
1407           </exclusion>
1408           <exclusion>
1409             <groupId>jline</groupId>
1410             <artifactId>jline</artifactId>
1411           </exclusion>
1412           <exclusion>
1413             <groupId>io.netty</groupId>
1414             <artifactId>netty</artifactId>
1415           </exclusion>
1416           <exclusion>
1417             <groupId>com.github.spotbugs</groupId>
1418             <artifactId>spotbugs-annotations</artifactId>
1419           </exclusion>
1420         </exclusions>
1421       </dependency>
1422       <dependency>
1423         <groupId>org.codehaus.jackson</groupId>
1424         <artifactId>jackson-core-asl</artifactId>
1425         <version>${codehaus.jackson.version}</version>
1426         <scope>${hadoop.deps.scope}</scope>
1427       </dependency>
1428       <dependency>
1429         <groupId>org.codehaus.jackson</groupId>
1430         <artifactId>jackson-mapper-asl</artifactId>
1431         <version>${codehaus.jackson.version}</version>
1432         <scope>${hadoop.deps.scope}</scope>
1433       </dependency>
1434       <dependency>
1435         <groupId>org.codehaus.jackson</groupId>
1436         <artifactId>jackson-xc</artifactId>
1437         <version>${codehaus.jackson.version}</version>
1438       </dependency>
1439       <dependency>
1440         <groupId>org.codehaus.jackson</groupId>
1441         <artifactId>jackson-jaxrs</artifactId>
1442         <version>${codehaus.jackson.version}</version>
1443       </dependency>
1444       <dependency>
1445         <groupId>${hive.group}</groupId>
1446         <artifactId>hive-beeline</artifactId>
1447         <version>${hive.version}</version>
1448         <scope>${hive.deps.scope}</scope>
1449         <exclusions>
1450           <exclusion>
1451             <groupId>${hive.group}</groupId>
1452             <artifactId>hive-common</artifactId>
1453           </exclusion>
1454           <exclusion>
1455             <groupId>${hive.group}</groupId>
1456             <artifactId>hive-exec</artifactId>
1457           </exclusion>
1458           <exclusion>
1459             <groupId>${hive.group}</groupId>
1460             <artifactId>hive-jdbc</artifactId>
1461           </exclusion>
1462           <exclusion>
1463             <groupId>${hive.group}</groupId>
1464             <artifactId>hive-metastore</artifactId>
1465           </exclusion>
1466           <exclusion>
1467             <groupId>${hive.group}</groupId>
1468             <artifactId>hive-service</artifactId>
1469           </exclusion>
1470           <exclusion>
1471             <!-- All classes are covered by spark's hive-thriftserver module -->
1472             <groupId>${hive.group}</groupId>
1473             <artifactId>hive-service-rpc</artifactId>
1474           </exclusion>
1475           <exclusion>
1476             <groupId>${hive.group}</groupId>
1477             <artifactId>hive-shims</artifactId>
1478           </exclusion>
1479           <exclusion>
1480             <groupId>org.apache.thrift</groupId>
1481             <artifactId>libthrift</artifactId>
1482           </exclusion>
1483           <exclusion>
1484             <groupId>org.slf4j</groupId>
1485             <artifactId>slf4j-api</artifactId>
1486           </exclusion>
1487           <exclusion>
1488             <groupId>org.slf4j</groupId>
1489             <artifactId>slf4j-log4j12</artifactId>
1490           </exclusion>
1491           <exclusion>
1492             <groupId>log4j</groupId>
1493             <artifactId>log4j</artifactId>
1494           </exclusion>
1495           <exclusion>
1496             <groupId>commons-logging</groupId>
1497             <artifactId>commons-logging</artifactId>
1498           </exclusion>
1499         </exclusions>
1500       </dependency>
1501       <dependency>
1502         <groupId>${hive.group}</groupId>
1503         <artifactId>hive-cli</artifactId>
1504         <version>${hive.version}</version>
1505         <scope>${hive.deps.scope}</scope>
1506         <exclusions>
1507           <exclusion>
1508             <groupId>${hive.group}</groupId>
1509             <artifactId>hive-common</artifactId>
1510           </exclusion>
1511           <exclusion>
1512             <groupId>${hive.group}</groupId>
1513             <artifactId>hive-exec</artifactId>
1514           </exclusion>
1515           <exclusion>
1516             <groupId>${hive.group}</groupId>
1517             <artifactId>hive-jdbc</artifactId>
1518           </exclusion>
1519           <exclusion>
1520             <groupId>${hive.group}</groupId>
1521             <artifactId>hive-metastore</artifactId>
1522           </exclusion>
1523           <exclusion>
1524             <groupId>${hive.group}</groupId>
1525             <artifactId>hive-serde</artifactId>
1526           </exclusion>
1527           <exclusion>
1528             <groupId>${hive.group}</groupId>
1529             <artifactId>hive-service</artifactId>
1530           </exclusion>
1531           <exclusion>
1532             <!-- All classes are covered by spark's hive-thriftserver module -->
1533             <groupId>${hive.group}</groupId>
1534             <artifactId>hive-service-rpc</artifactId>
1535           </exclusion>
1536           <exclusion>
1537             <groupId>${hive.group}</groupId>
1538             <artifactId>hive-shims</artifactId>
1539           </exclusion>
1540           <exclusion>
1541             <groupId>org.apache.thrift</groupId>
1542             <artifactId>libthrift</artifactId>
1543           </exclusion>
1544           <exclusion>
1545             <groupId>org.slf4j</groupId>
1546             <artifactId>slf4j-api</artifactId>
1547           </exclusion>
1548           <exclusion>
1549             <groupId>org.slf4j</groupId>
1550             <artifactId>slf4j-log4j12</artifactId>
1551           </exclusion>
1552           <exclusion>
1553             <groupId>log4j</groupId>
1554             <artifactId>log4j</artifactId>
1555           </exclusion>
1556           <exclusion>
1557             <groupId>commons-logging</groupId>
1558             <artifactId>commons-logging</artifactId>
1559           </exclusion>
1560         </exclusions>
1561       </dependency>
1562       <dependency>
1563         <groupId>${hive.group}</groupId>
1564         <artifactId>hive-common</artifactId>
1565         <version>${hive.version}</version>
1566         <scope>${hive.deps.scope}</scope>
1567         <exclusions>
1568           <exclusion>
1569             <groupId>${hive.group}</groupId>
1570             <artifactId>hive-shims</artifactId>
1571           </exclusion>
1572           <exclusion>
1573             <groupId>org.apache.ant</groupId>
1574             <artifactId>ant</artifactId>
1575           </exclusion>
1576           <exclusion>
1577             <groupId>org.apache.zookeeper</groupId>
1578             <artifactId>zookeeper</artifactId>
1579           </exclusion>
1580           <exclusion>
1581             <groupId>org.slf4j</groupId>
1582             <artifactId>slf4j-api</artifactId>
1583           </exclusion>
1584           <exclusion>
1585             <groupId>org.slf4j</groupId>
1586             <artifactId>slf4j-log4j12</artifactId>
1587           </exclusion>
1588           <exclusion>
1589             <groupId>log4j</groupId>
1590             <artifactId>log4j</artifactId>
1591           </exclusion>
1592           <exclusion>
1593             <groupId>commons-logging</groupId>
1594             <artifactId>commons-logging</artifactId>
1595           </exclusion>
1596           <!-- Begin of Hive 2.3 exclusion -->
1597           <!--
1598             ORC is needed, but the version should be consistent with the `sql/core` ORC data source.
1599             Looks like this is safe, please see the major changes from ORC 1.3.3 to 1.5.4:
1600             HIVE-17631 and HIVE-19465
1601           -->
1602           <exclusion>
1603             <groupId>org.apache.orc</groupId>
1604             <artifactId>orc-core</artifactId>
1605           </exclusion>
1606           <!-- jetty-all conflict with jetty 9.4.12.v20180830 -->
1607           <exclusion>
1608             <groupId>org.eclipse.jetty.aggregate</groupId>
1609             <artifactId>jetty-all</artifactId>
1610           </exclusion>
1611           <!-- org.apache.logging.log4j:* conflict with log4j 1.2.17 -->
1612           <exclusion>
1613             <groupId>org.apache.logging.log4j</groupId>
1614             <artifactId>*</artifactId>
1615           </exclusion>
1616           <!-- Hive includes javax.servlet to fix the Hive on Spark test failure; see HIVE-12783 -->
1617           <exclusion>
1618             <groupId>org.eclipse.jetty.orbit</groupId>
1619             <artifactId>javax.servlet</artifactId>
1620           </exclusion>
1621           <!-- hive-storage-api is needed and must be explicitly included later -->
1622           <exclusion>
1623             <groupId>org.apache.hive</groupId>
1624             <artifactId>hive-storage-api</artifactId>
1625           </exclusion>
1626           <!-- End of Hive 2.3 exclusion -->
1627         </exclusions>
1628       </dependency>
1629 
1630       <dependency>
1631         <groupId>${hive.group}</groupId>
1632         <artifactId>hive-exec</artifactId>
1633         <classifier>${hive.classifier}</classifier>
1634         <version>${hive.version}</version>
1635         <scope>${hive.deps.scope}</scope>
1636         <exclusions>
1637 
1638           <!-- pull this in when needed; the explicit definition culls the surplis-->
1639           <exclusion>
1640             <groupId>${hive.group}</groupId>
1641             <artifactId>hive-metastore</artifactId>
1642           </exclusion>
1643           <exclusion>
1644             <groupId>${hive.group}</groupId>
1645             <artifactId>hive-shims</artifactId>
1646           </exclusion>
1647           <exclusion>
1648             <groupId>${hive.group}</groupId>
1649             <artifactId>hive-ant</artifactId>
1650           </exclusion>
1651           <!-- break the loop -->
1652           <exclusion>
1653             <groupId>${hive.group}</groupId>
1654             <artifactId>spark-client</artifactId>
1655           </exclusion>
1656 
1657           <!-- excluded dependencies & transitive.
1658            Some may be needed to be explicitly included-->
1659           <exclusion>
1660             <groupId>ant</groupId>
1661             <artifactId>ant</artifactId>
1662           </exclusion>
1663           <exclusion>
1664             <groupId>org.apache.ant</groupId>
1665             <artifactId>ant</artifactId>
1666           </exclusion>
1667           <exclusion>
1668             <groupId>com.esotericsoftware.kryo</groupId>
1669             <artifactId>kryo</artifactId>
1670           </exclusion>
1671           <exclusion>
1672             <groupId>commons-codec</groupId>
1673             <artifactId>commons-codec</artifactId>
1674           </exclusion>
1675           <exclusion>
1676             <groupId>commons-httpclient</groupId>
1677             <artifactId>commons-httpclient</artifactId>
1678           </exclusion>
1679           <exclusion>
1680             <groupId>org.apache.avro</groupId>
1681             <artifactId>avro-mapred</artifactId>
1682           </exclusion>
1683           <!--  Do not need Calcite because we disabled hive.cbo.enable -->
1684           <exclusion>
1685             <groupId>org.apache.calcite</groupId>
1686             <artifactId>calcite-core</artifactId>
1687           </exclusion>
1688           <exclusion>
1689             <groupId>org.apache.calcite</groupId>
1690             <artifactId>calcite-avatica</artifactId>
1691           </exclusion>
1692           <exclusion>
1693             <groupId>org.apache.curator</groupId>
1694             <artifactId>apache-curator</artifactId>
1695           </exclusion>
1696           <exclusion>
1697             <groupId>org.apache.curator</groupId>
1698             <artifactId>curator-client</artifactId>
1699           </exclusion>
1700           <exclusion>
1701             <groupId>org.apache.curator</groupId>
1702             <artifactId>curator-framework</artifactId>
1703           </exclusion>
1704           <exclusion>
1705             <groupId>org.apache.thrift</groupId>
1706             <artifactId>libthrift</artifactId>
1707           </exclusion>
1708           <exclusion>
1709             <groupId>org.apache.thrift</groupId>
1710             <artifactId>libfb303</artifactId>
1711           </exclusion>
1712           <exclusion>
1713             <groupId>org.apache.zookeeper</groupId>
1714             <artifactId>zookeeper</artifactId>
1715           </exclusion>
1716           <exclusion>
1717             <groupId>org.slf4j</groupId>
1718             <artifactId>slf4j-api</artifactId>
1719           </exclusion>
1720           <exclusion>
1721             <groupId>org.slf4j</groupId>
1722             <artifactId>slf4j-log4j12</artifactId>
1723           </exclusion>
1724           <exclusion>
1725             <groupId>log4j</groupId>
1726             <artifactId>log4j</artifactId>
1727           </exclusion>
1728           <exclusion>
1729             <groupId>commons-logging</groupId>
1730             <artifactId>commons-logging</artifactId>
1731           </exclusion>
1732           <exclusion>
1733             <groupId>org.codehaus.groovy</groupId>
1734             <artifactId>groovy-all</artifactId>
1735           </exclusion>
1736           <exclusion>
1737             <groupId>jline</groupId>
1738             <artifactId>jline</artifactId>
1739           </exclusion>
1740           <!-- Cat X license now; see SPARK-18262 -->
1741           <exclusion>
1742             <groupId>org.json</groupId>
1743             <artifactId>json</artifactId>
1744           </exclusion>
1745           <!-- Begin of Hive 2.3 exclusion -->
1746           <!-- Do not need Tez -->
1747           <exclusion>
1748             <groupId>${hive.group}</groupId>
1749             <artifactId>hive-llap-tez</artifactId>
1750           </exclusion>
1751           <!-- Do not need Calcite, see SPARK-27054 -->
1752           <exclusion>
1753             <groupId>org.apache.calcite</groupId>
1754             <artifactId>calcite-druid</artifactId>
1755           </exclusion>
1756           <exclusion>
1757             <groupId>org.apache.calcite.avatica</groupId>
1758             <artifactId>avatica</artifactId>
1759           </exclusion>
1760           <!-- org.apache.logging.log4j:* conflict with log4j 1.2.17 -->
1761           <exclusion>
1762             <groupId>org.apache.logging.log4j</groupId>
1763             <artifactId>*</artifactId>
1764           </exclusion>
1765           <!-- End of Hive 2.3 exclusion -->
1766         </exclusions>
1767       </dependency>
1768       <dependency>
1769         <groupId>${hive.group}</groupId>
1770         <artifactId>hive-jdbc</artifactId>
1771         <version>${hive.version}</version>
1772         <exclusions>
1773           <exclusion>
1774             <groupId>${hive.group}</groupId>
1775             <artifactId>hive-common</artifactId>
1776           </exclusion>
1777           <exclusion>
1778             <groupId>${hive.group}</groupId>
1779             <artifactId>hive-metastore</artifactId>
1780           </exclusion>
1781           <exclusion>
1782             <groupId>${hive.group}</groupId>
1783             <artifactId>hive-serde</artifactId>
1784           </exclusion>
1785           <exclusion>
1786             <groupId>${hive.group}</groupId>
1787             <artifactId>hive-service</artifactId>
1788           </exclusion>
1789           <exclusion>
1790             <!-- All classes are covered by spark's hive-thriftserver module -->
1791             <groupId>${hive.group}</groupId>
1792             <artifactId>hive-service-rpc</artifactId>
1793           </exclusion>
1794           <exclusion>
1795             <groupId>${hive.group}</groupId>
1796             <artifactId>hive-shims</artifactId>
1797           </exclusion>
1798           <exclusion>
1799             <groupId>org.apache.curator</groupId>
1800             <artifactId>curator-framework</artifactId>
1801           </exclusion>
1802           <exclusion>
1803             <groupId>org.apache.thrift</groupId>
1804             <artifactId>libthrift</artifactId>
1805           </exclusion>
1806           <exclusion>
1807             <groupId>org.apache.thrift</groupId>
1808             <artifactId>libfb303</artifactId>
1809           </exclusion>
1810           <exclusion>
1811             <groupId>org.apache.zookeeper</groupId>
1812             <artifactId>zookeeper</artifactId>
1813           </exclusion>
1814           <exclusion>
1815             <groupId>org.slf4j</groupId>
1816             <artifactId>slf4j-api</artifactId>
1817           </exclusion>
1818           <exclusion>
1819             <groupId>org.slf4j</groupId>
1820             <artifactId>slf4j-log4j12</artifactId>
1821           </exclusion>
1822           <exclusion>
1823             <groupId>log4j</groupId>
1824             <artifactId>log4j</artifactId>
1825           </exclusion>
1826           <exclusion>
1827             <groupId>commons-logging</groupId>
1828             <artifactId>commons-logging</artifactId>
1829           </exclusion>
1830           <exclusion>
1831             <groupId>org.codehaus.groovy</groupId>
1832             <artifactId>groovy-all</artifactId>
1833           </exclusion>
1834         </exclusions>
1835       </dependency>
1836 
1837       <dependency>
1838         <groupId>${hive.group}</groupId>
1839         <artifactId>hive-metastore</artifactId>
1840         <version>${hive.version}</version>
1841         <scope>${hive.deps.scope}</scope>
1842         <exclusions>
1843           <exclusion>
1844             <groupId>${hive.group}</groupId>
1845             <artifactId>hive-serde</artifactId>
1846           </exclusion>
1847           <exclusion>
1848             <groupId>${hive.group}</groupId>
1849             <artifactId>hive-shims</artifactId>
1850           </exclusion>
1851           <exclusion>
1852             <groupId>org.apache.thrift</groupId>
1853             <artifactId>libfb303</artifactId>
1854           </exclusion>
1855           <exclusion>
1856             <groupId>org.apache.thrift</groupId>
1857             <artifactId>libthrift</artifactId>
1858           </exclusion>
1859           <exclusion>
1860             <groupId>org.mortbay.jetty</groupId>
1861             <artifactId>servlet-api</artifactId>
1862           </exclusion>
1863           <exclusion>
1864             <groupId>com.google.guava</groupId>
1865             <artifactId>guava</artifactId>
1866           </exclusion>
1867           <exclusion>
1868             <groupId>org.slf4j</groupId>
1869             <artifactId>slf4j-api</artifactId>
1870           </exclusion>
1871           <exclusion>
1872             <groupId>org.slf4j</groupId>
1873             <artifactId>slf4j-log4j12</artifactId>
1874           </exclusion>
1875           <!-- Begin of Hive 2.3 exclusion -->
1876           <!-- Hive removes the HBase Metastore; see HIVE-17234 -->
1877           <exclusion>
1878             <groupId>org.apache.hbase</groupId>
1879             <artifactId>hbase-client</artifactId>
1880           </exclusion>
1881           <exclusion>
1882             <groupId>co.cask.tephra</groupId>
1883             <artifactId>*</artifactId>
1884           </exclusion>
1885           <!-- End of Hive 2.3 exclusion -->
1886         </exclusions>
1887       </dependency>
1888 
1889       <dependency>
1890         <groupId>${hive.group}</groupId>
1891         <artifactId>hive-serde</artifactId>
1892         <version>${hive.version}</version>
1893         <scope>${hive.deps.scope}</scope>
1894         <exclusions>
1895           <exclusion>
1896             <groupId>${hive.group}</groupId>
1897             <artifactId>hive-common</artifactId>
1898           </exclusion>
1899           <exclusion>
1900             <groupId>${hive.group}</groupId>
1901             <artifactId>hive-shims</artifactId>
1902           </exclusion>
1903           <exclusion>
1904             <groupId>commons-codec</groupId>
1905             <artifactId>commons-codec</artifactId>
1906           </exclusion>
1907           <exclusion>
1908             <groupId>com.google.code.findbugs</groupId>
1909             <artifactId>jsr305</artifactId>
1910           </exclusion>
1911           <exclusion>
1912             <groupId>org.apache.avro</groupId>
1913             <artifactId>avro</artifactId>
1914           </exclusion>
1915           <exclusion>
1916             <groupId>org.apache.thrift</groupId>
1917             <artifactId>libthrift</artifactId>
1918           </exclusion>
1919           <exclusion>
1920             <groupId>org.apache.thrift</groupId>
1921             <artifactId>libfb303</artifactId>
1922           </exclusion>
1923           <exclusion>
1924             <groupId>org.slf4j</groupId>
1925             <artifactId>slf4j-api</artifactId>
1926           </exclusion>
1927           <exclusion>
1928             <groupId>org.slf4j</groupId>
1929             <artifactId>slf4j-log4j12</artifactId>
1930           </exclusion>
1931           <exclusion>
1932             <groupId>log4j</groupId>
1933             <artifactId>log4j</artifactId>
1934           </exclusion>
1935           <exclusion>
1936             <groupId>commons-logging</groupId>
1937             <artifactId>commons-logging</artifactId>
1938           </exclusion>
1939           <exclusion>
1940             <groupId>org.codehaus.groovy</groupId>
1941             <artifactId>groovy-all</artifactId>
1942           </exclusion>
1943           <!-- Begin of Hive 2.3 exclusion -->
1944           <exclusion>
1945             <!-- All classes are covered by spark's hive-thriftserver module -->
1946             <groupId>${hive.group}</groupId>
1947             <artifactId>hive-service-rpc</artifactId>
1948           </exclusion>
1949           <!-- parquet-hadoop-bundle:1.8.1 conflict with 1.10.1 -->
1950           <exclusion>
1951             <groupId>org.apache.parquet</groupId>
1952             <artifactId>parquet-hadoop-bundle</artifactId>
1953           </exclusion>
1954           <!-- Do not need Jasper, see HIVE-19799 -->
1955           <exclusion>
1956             <groupId>tomcat</groupId>
1957             <artifactId>jasper-compiler</artifactId>
1958           </exclusion>
1959           <exclusion>
1960             <groupId>tomcat</groupId>
1961             <artifactId>jasper-runtime</artifactId>
1962           </exclusion>
1963           <!-- End of Hive 2.3 exclusion -->
1964         </exclusions>
1965       </dependency>
1966 
1967       <dependency>
1968         <groupId>net.sf.jpam</groupId>
1969         <artifactId>jpam</artifactId>
1970         <scope>${hive.deps.scope}</scope>
1971         <version>${jpam.version}</version>
1972         <exclusions>
1973           <exclusion>
1974             <groupId>javax.servlet</groupId>
1975             <artifactId>servlet-api</artifactId>
1976           </exclusion>
1977         </exclusions>
1978       </dependency>
1979 
1980       <!-- hive shims pulls in hive 0.23 and a transitive dependency of the Hadoop version
1981         Hive was built against. This dependency cuts out the YARN/hadoop dependency, which
1982         is needed by Hive to submit work to a YARN cluster.-->
1983       <dependency>
1984         <groupId>${hive.group}</groupId>
1985         <artifactId>hive-shims</artifactId>
1986         <version>${hive.version}</version>
1987         <scope>${hive.deps.scope}</scope>
1988         <exclusions>
1989           <exclusion>
1990             <groupId>com.google.guava</groupId>
1991             <artifactId>guava</artifactId>
1992           </exclusion>
1993           <exclusion>
1994             <groupId>org.apache.hadoop</groupId>
1995             <artifactId>hadoop-yarn-server-resourcemanager</artifactId>
1996           </exclusion>
1997           <exclusion>
1998             <groupId>org.apache.curator</groupId>
1999             <artifactId>curator-framework</artifactId>
2000           </exclusion>
2001           <exclusion>
2002             <groupId>org.apache.thrift</groupId>
2003             <artifactId>libthrift</artifactId>
2004           </exclusion>
2005           <exclusion>
2006             <groupId>org.apache.zookeeper</groupId>
2007             <artifactId>zookeeper</artifactId>
2008           </exclusion>
2009           <exclusion>
2010             <groupId>org.slf4j</groupId>
2011             <artifactId>slf4j-api</artifactId>
2012           </exclusion>
2013           <exclusion>
2014             <groupId>org.slf4j</groupId>
2015             <artifactId>slf4j-log4j12</artifactId>
2016           </exclusion>
2017           <exclusion>
2018             <groupId>log4j</groupId>
2019             <artifactId>log4j</artifactId>
2020           </exclusion>
2021           <exclusion>
2022             <groupId>commons-logging</groupId>
2023             <artifactId>commons-logging</artifactId>
2024           </exclusion>
2025           <exclusion>
2026             <groupId>org.codehaus.groovy</groupId>
2027             <artifactId>groovy-all</artifactId>
2028           </exclusion>
2029           <!-- Begin of Hive 2.3 exclusion -->
2030           <!-- Exclude log4j-slf4j-impl, otherwise throw NCDFE when starting spark-shell -->
2031           <exclusion>
2032             <groupId>org.apache.logging.log4j</groupId>
2033             <artifactId>log4j-slf4j-impl</artifactId>
2034           </exclusion>
2035           <!-- End of Hive 2.3 exclusion -->
2036         </exclusions>
2037       </dependency>
2038 
2039       <!-- hive-llap-common is needed when registering UDFs in Hive 2.3.
2040          We add it here, otherwise -Phive-provided won't work. -->
2041       <dependency>
2042         <groupId>org.apache.hive</groupId>
2043         <artifactId>hive-llap-common</artifactId>
2044         <version>${hive23.version}</version>
2045         <scope>${hive.deps.scope}</scope>
2046         <exclusions>
2047           <exclusion>
2048             <groupId>org.apache.hive</groupId>
2049             <artifactId>hive-common</artifactId>
2050           </exclusion>
2051           <exclusion>
2052             <groupId>org.apache.hive</groupId>
2053             <artifactId>hive-serde</artifactId>
2054           </exclusion>
2055           <exclusion>
2056             <groupId>org.slf4j</groupId>
2057             <artifactId>slf4j-api</artifactId>
2058           </exclusion>
2059         </exclusions>
2060       </dependency>
2061       <!-- hive-llap-client is needed when run MapReduce test in Hive 2.3. -->
2062       <dependency>
2063         <groupId>org.apache.hive</groupId>
2064         <artifactId>hive-llap-client</artifactId>
2065         <version>${hive23.version}</version>
2066         <scope>test</scope>
2067         <exclusions>
2068           <exclusion>
2069             <groupId>org.apache.hive</groupId>
2070             <artifactId>hive-common</artifactId>
2071           </exclusion>
2072           <exclusion>
2073             <groupId>org.apache.hive</groupId>
2074             <artifactId>hive-serde</artifactId>
2075           </exclusion>
2076           <exclusion>
2077             <groupId>org.apache.hive</groupId>
2078             <artifactId>hive-llap-common</artifactId>
2079           </exclusion>
2080           <exclusion>
2081             <groupId>org.apache.curator</groupId>
2082             <artifactId>curator-framework</artifactId>
2083           </exclusion>
2084           <exclusion>
2085             <groupId>org.apache.curator</groupId>
2086             <artifactId>apache-curator</artifactId>
2087           </exclusion>
2088           <exclusion>
2089             <groupId>org.apache.zookeeper</groupId>
2090             <artifactId>zookeeper</artifactId>
2091           </exclusion>
2092           <exclusion>
2093             <groupId>org.slf4j</groupId>
2094             <artifactId>slf4j-api</artifactId>
2095           </exclusion>
2096         </exclusions>
2097       </dependency>
2098 
2099       <dependency>
2100         <groupId>org.apache.orc</groupId>
2101         <artifactId>orc-core</artifactId>
2102         <version>${orc.version}</version>
2103         <classifier>${orc.classifier}</classifier>
2104         <scope>${orc.deps.scope}</scope>
2105         <exclusions>
2106           <exclusion>
2107             <groupId>javax.xml.bind</groupId>
2108             <artifactId>jaxb-api</artifactId>
2109           </exclusion>
2110           <exclusion>
2111             <groupId>org.apache.hadoop</groupId>
2112             <artifactId>hadoop-common</artifactId>
2113           </exclusion>
2114           <exclusion>
2115             <groupId>org.apache.hadoop</groupId>
2116             <artifactId>hadoop-hdfs</artifactId>
2117           </exclusion>
2118           <exclusion>
2119             <groupId>org.apache.hive</groupId>
2120             <artifactId>hive-storage-api</artifactId>
2121           </exclusion>
2122         </exclusions>
2123       </dependency>
2124       <dependency>
2125         <groupId>org.apache.orc</groupId>
2126         <artifactId>orc-mapreduce</artifactId>
2127         <version>${orc.version}</version>
2128         <classifier>${orc.classifier}</classifier>
2129         <scope>${orc.deps.scope}</scope>
2130         <exclusions>
2131           <exclusion>
2132             <groupId>org.apache.hadoop</groupId>
2133             <artifactId>hadoop-common</artifactId>
2134           </exclusion>
2135           <exclusion>
2136             <groupId>org.apache.hadoop</groupId>
2137             <artifactId>hadoop-mapreduce-client-core</artifactId>
2138           </exclusion>
2139           <exclusion>
2140             <groupId>org.apache.orc</groupId>
2141             <artifactId>orc-core</artifactId>
2142           </exclusion>
2143           <exclusion>
2144             <groupId>org.apache.hive</groupId>
2145             <artifactId>hive-storage-api</artifactId>
2146           </exclusion>
2147           <exclusion>
2148             <groupId> com.esotericsoftware</groupId>
2149             <artifactId>kryo-shaded</artifactId>
2150           </exclusion>
2151         </exclusions>
2152       </dependency>
2153       <dependency>
2154         <groupId>org.apache.parquet</groupId>
2155         <artifactId>parquet-column</artifactId>
2156         <version>${parquet.version}</version>
2157         <scope>${parquet.deps.scope}</scope>
2158       </dependency>
2159       <dependency>
2160         <groupId>org.apache.parquet</groupId>
2161         <artifactId>parquet-hadoop</artifactId>
2162         <version>${parquet.version}</version>
2163         <scope>${parquet.deps.scope}</scope>
2164         <exclusions>
2165           <exclusion>
2166             <groupId>commons-pool</groupId>
2167             <artifactId>commons-pool</artifactId>
2168           </exclusion>
2169         </exclusions>
2170       </dependency>
2171       <dependency>
2172         <groupId>org.apache.parquet</groupId>
2173         <artifactId>parquet-avro</artifactId>
2174         <version>${parquet.version}</version>
2175         <scope>${parquet.test.deps.scope}</scope>
2176       </dependency>
2177       <dependency>
2178         <groupId>${hive.parquet.group}</groupId>
2179         <artifactId>parquet-hadoop-bundle</artifactId>
2180         <version>${hive.parquet.version}</version>
2181         <scope>${hive.parquet.scope}</scope>
2182       </dependency>
2183       <dependency>
2184         <groupId>org.codehaus.janino</groupId>
2185         <artifactId>janino</artifactId>
2186         <version>${janino.version}</version>
2187       </dependency>
2188       <dependency>
2189         <groupId>org.codehaus.janino</groupId>
2190         <artifactId>commons-compiler</artifactId>
2191         <version>${janino.version}</version>
2192       </dependency>
2193       <dependency>
2194         <groupId>joda-time</groupId>
2195         <artifactId>joda-time</artifactId>
2196         <version>${joda.version}</version>
2197       </dependency>
2198       <dependency>
2199         <groupId>org.jodd</groupId>
2200         <artifactId>jodd-core</artifactId>
2201         <version>${jodd.version}</version>
2202       </dependency>
2203       <dependency>
2204         <groupId>org.datanucleus</groupId>
2205         <artifactId>datanucleus-core</artifactId>
2206         <version>${datanucleus-core.version}</version>
2207       </dependency>
2208       <dependency>
2209         <groupId>org.apache.thrift</groupId>
2210         <artifactId>libthrift</artifactId>
2211         <version>${libthrift.version}</version>
2212         <exclusions>
2213           <exclusion>
2214             <groupId>org.slf4j</groupId>
2215             <artifactId>slf4j-api</artifactId>
2216           </exclusion>
2217         </exclusions>
2218       </dependency>
2219       <dependency>
2220         <groupId>org.apache.thrift</groupId>
2221         <artifactId>libfb303</artifactId>
2222         <version>0.9.3</version>
2223         <exclusions>
2224           <exclusion>
2225             <groupId>org.slf4j</groupId>
2226             <artifactId>slf4j-api</artifactId>
2227           </exclusion>
2228         </exclusions>
2229       </dependency>
2230       <dependency>
2231         <groupId>org.antlr</groupId>
2232         <artifactId>antlr4-runtime</artifactId>
2233         <version>${antlr4.version}</version>
2234       </dependency>
2235       <dependency>
2236         <groupId>org.apache.commons</groupId>
2237         <artifactId>commons-crypto</artifactId>
2238         <version>${commons-crypto.version}</version>
2239         <exclusions>
2240           <exclusion>
2241             <groupId>net.java.dev.jna</groupId>
2242             <artifactId>jna</artifactId>
2243           </exclusion>
2244         </exclusions>
2245       </dependency>
2246       <dependency>
2247         <groupId>com.thoughtworks.paranamer</groupId>
2248         <artifactId>paranamer</artifactId>
2249         <version>${paranamer.version}</version>
2250         <scope>runtime</scope>
2251       </dependency>
2252       <dependency>
2253         <groupId>org.apache.arrow</groupId>
2254         <artifactId>arrow-vector</artifactId>
2255         <version>${arrow.version}</version>
2256         <exclusions>
2257           <exclusion>
2258             <groupId>com.fasterxml.jackson.core</groupId>
2259             <artifactId>jackson-annotations</artifactId>
2260           </exclusion>
2261           <exclusion>
2262             <groupId>com.fasterxml.jackson.core</groupId>
2263             <artifactId>jackson-databind</artifactId>
2264           </exclusion>
2265           <exclusion>
2266             <groupId>io.netty</groupId>
2267             <artifactId>netty-buffer</artifactId>
2268           </exclusion>
2269           <exclusion>
2270             <groupId>io.netty</groupId>
2271             <artifactId>netty-common</artifactId>
2272           </exclusion>
2273           <exclusion>
2274             <groupId>io.netty</groupId>
2275             <artifactId>netty-handler</artifactId>
2276           </exclusion>
2277         </exclusions>
2278       </dependency>
2279       <dependency>
2280         <groupId>com.univocity</groupId>
2281         <artifactId>univocity-parsers</artifactId>
2282         <version>2.8.3</version>
2283       </dependency>
2284       <dependency>
2285         <groupId>org.apache.hive</groupId>
2286         <artifactId>hive-storage-api</artifactId>
2287         <version>${hive.storage.version}</version>
2288         <scope>${hive.storage.scope}</scope>
2289         <exclusions>
2290           <exclusion>
2291             <groupId>commons-lang</groupId>
2292             <artifactId>commons-lang</artifactId>
2293           </exclusion>
2294         </exclusions>
2295       </dependency>
2296     </dependencies>
2297   </dependencyManagement>
2298 
2299   <build>
2300     <pluginManagement>
2301       <plugins>
2302         <plugin>
2303           <groupId>org.apache.maven.plugins</groupId>
2304           <artifactId>maven-enforcer-plugin</artifactId>
2305           <version>3.0.0-M2</version>
2306           <executions>
2307             <execution>
2308               <id>enforce-versions</id>
2309               <goals>
2310                 <goal>enforce</goal>
2311               </goals>
2312               <configuration>
2313                 <rules>
2314                   <requireMavenVersion>
2315                     <version>${maven.version}</version>
2316                   </requireMavenVersion>
2317                   <requireJavaVersion>
2318                     <version>${java.version}</version>
2319                   </requireJavaVersion>
2320                   <bannedDependencies>
2321                     <excludes>
2322                       <exclude>org.jboss.netty</exclude>
2323                       <exclude>org.codehaus.groovy</exclude>
2324                       <exclude>*:*_2.11</exclude>
2325                       <exclude>*:*_2.10</exclude>
2326                     </excludes>
2327                     <searchTransitive>true</searchTransitive>
2328                   </bannedDependencies>
2329                 </rules>
2330               </configuration>
2331             </execution>
2332             <execution>
2333               <id>enforce-no-duplicate-dependencies</id>
2334               <goals>
2335                 <goal>enforce</goal>
2336               </goals>
2337               <configuration>
2338                 <rules>
2339                   <banDuplicatePomDependencyVersions/>
2340                 </rules>
2341               </configuration>
2342             </execution>
2343           </executions>
2344         </plugin>
2345         <plugin>
2346           <groupId>org.codehaus.mojo</groupId>
2347           <artifactId>build-helper-maven-plugin</artifactId>
2348           <version>3.0.0</version>
2349         </plugin>
2350         <plugin>
2351           <groupId>net.alchim31.maven</groupId>
2352           <artifactId>scala-maven-plugin</artifactId>
2353           <version>4.3.0</version>
2354           <executions>
2355             <execution>
2356               <id>eclipse-add-source</id>
2357               <goals>
2358                 <goal>add-source</goal>
2359               </goals>
2360             </execution>
2361             <execution>
2362               <id>scala-compile-first</id>
2363               <goals>
2364                 <goal>compile</goal>
2365               </goals>
2366             </execution>
2367             <execution>
2368               <id>scala-test-compile-first</id>
2369               <goals>
2370                 <goal>testCompile</goal>
2371               </goals>
2372             </execution>
2373             <execution>
2374               <id>attach-scaladocs</id>
2375               <phase>verify</phase>
2376               <goals>
2377                 <goal>doc-jar</goal>
2378               </goals>
2379             </execution>
2380           </executions>
2381           <configuration>
2382             <scalaVersion>${scala.version}</scalaVersion>
2383             <checkMultipleScalaVersions>true</checkMultipleScalaVersions>
2384             <failOnMultipleScalaVersions>true</failOnMultipleScalaVersions>
2385             <recompileMode>incremental</recompileMode>
2386             <useZincServer>true</useZincServer>
2387             <args>
2388               <arg>-unchecked</arg>
2389               <arg>-deprecation</arg>
2390               <arg>-feature</arg>
2391               <arg>-explaintypes</arg>
2392               <arg>-target:jvm-1.8</arg>
2393             </args>
2394             <jvmArgs>
2395               <jvmArg>-Xms1024m</jvmArg>
2396               <jvmArg>-Xmx1024m</jvmArg>
2397               <jvmArg>-XX:ReservedCodeCacheSize=${CodeCacheSize}</jvmArg>
2398             </jvmArgs>
2399             <javacArgs>
2400               <javacArg>-source</javacArg>
2401               <javacArg>${java.version}</javacArg>
2402               <javacArg>-target</javacArg>
2403               <javacArg>${java.version}</javacArg>
2404               <javacArg>-Xlint:all,-serial,-path,-try</javacArg>
2405             </javacArgs>
2406           </configuration>
2407         </plugin>
2408         <plugin>
2409           <groupId>org.apache.maven.plugins</groupId>
2410           <artifactId>maven-compiler-plugin</artifactId>
2411           <version>3.8.1</version>
2412           <configuration>
2413             <source>${java.version}</source>
2414             <target>${java.version}</target>
2415             <skipMain>true</skipMain> <!-- skip compile -->
2416             <skip>true</skip> <!-- skip testCompile -->
2417           </configuration>
2418         </plugin>
2419         <plugin>
2420           <groupId>org.antlr</groupId>
2421           <artifactId>antlr4-maven-plugin</artifactId>
2422           <version>${antlr4.version}</version>
2423         </plugin>
2424         <!-- Surefire runs all Java tests -->
2425         <plugin>
2426           <groupId>org.apache.maven.plugins</groupId>
2427           <artifactId>maven-surefire-plugin</artifactId>
2428           <version>3.0.0-M3</version>
2429           <!-- Note config is repeated in scalatest config -->
2430           <configuration>
2431             <includes>
2432               <include>**/Test*.java</include>
2433               <include>**/*Test.java</include>
2434               <include>**/*TestCase.java</include>
2435               <include>**/*Suite.java</include>
2436             </includes>
2437             <reportsDirectory>${project.build.directory}/surefire-reports</reportsDirectory>
2438             <argLine>-ea -Xmx4g -Xss4m -XX:ReservedCodeCacheSize=${CodeCacheSize} -Dio.netty.tryReflectionSetAccessible=true</argLine>
2439             <environmentVariables>
2440               <!--
2441                 Setting SPARK_DIST_CLASSPATH is a simple way to make sure any child processes
2442                 launched by the tests have access to the correct test-time classpath.
2443               -->
2444               <SPARK_DIST_CLASSPATH>${test_classpath}</SPARK_DIST_CLASSPATH>
2445               <SPARK_PREPEND_CLASSES>1</SPARK_PREPEND_CLASSES>
2446               <SPARK_SCALA_VERSION>${scala.binary.version}</SPARK_SCALA_VERSION>
2447               <SPARK_TESTING>1</SPARK_TESTING>
2448               <JAVA_HOME>${test.java.home}</JAVA_HOME>
2449             </environmentVariables>
2450             <systemProperties>
2451               <log4j.configuration>file:src/test/resources/log4j.properties</log4j.configuration>
2452               <derby.system.durability>test</derby.system.durability>
2453               <java.awt.headless>true</java.awt.headless>
2454               <java.io.tmpdir>${project.build.directory}/tmp</java.io.tmpdir>
2455               <spark.test.home>${spark.test.home}</spark.test.home>
2456               <spark.testing>1</spark.testing>
2457               <spark.master.rest.enabled>false</spark.master.rest.enabled>
2458               <spark.ui.enabled>false</spark.ui.enabled>
2459               <spark.ui.showConsoleProgress>false</spark.ui.showConsoleProgress>
2460               <spark.unsafe.exceptionOnMemoryLeak>true</spark.unsafe.exceptionOnMemoryLeak>
2461               <spark.memory.debugFill>true</spark.memory.debugFill>
2462               <!-- Needed by sql/hive tests. -->
2463               <test.src.tables>src</test.src.tables>
2464             </systemProperties>
2465             <failIfNoTests>false</failIfNoTests>
2466             <excludedGroups>${test.exclude.tags}</excludedGroups>
2467             <groups>${test.include.tags}</groups>
2468           </configuration>
2469           <executions>
2470             <execution>
2471               <id>test</id>
2472               <goals>
2473                 <goal>test</goal>
2474               </goals>
2475             </execution>
2476           </executions>
2477         </plugin>
2478         <!-- Scalatest runs all Scala tests -->
2479         <plugin>
2480           <groupId>org.scalatest</groupId>
2481           <artifactId>scalatest-maven-plugin</artifactId>
2482           <version>2.0.0</version>
2483           <!-- Note config is repeated in surefire config -->
2484           <configuration>
2485             <reportsDirectory>${project.build.directory}/surefire-reports</reportsDirectory>
2486             <junitxml>.</junitxml>
2487             <filereports>SparkTestSuite.txt</filereports>
2488             <argLine>-ea -Xmx4g -Xss4m -XX:ReservedCodeCacheSize=${CodeCacheSize} -Dio.netty.tryReflectionSetAccessible=true</argLine>
2489             <stderr/>
2490             <environmentVariables>
2491               <!--
2492                 Setting SPARK_DIST_CLASSPATH is a simple way to make sure any child processes
2493                 launched by the tests have access to the correct test-time classpath.
2494               -->
2495               <SPARK_DIST_CLASSPATH>${test_classpath}</SPARK_DIST_CLASSPATH>
2496               <SPARK_PREPEND_CLASSES>1</SPARK_PREPEND_CLASSES>
2497               <SPARK_SCALA_VERSION>${scala.binary.version}</SPARK_SCALA_VERSION>
2498               <SPARK_TESTING>1</SPARK_TESTING>
2499               <JAVA_HOME>${test.java.home}</JAVA_HOME>
2500             </environmentVariables>
2501             <systemProperties>
2502               <log4j.configuration>file:src/test/resources/log4j.properties</log4j.configuration>
2503               <derby.system.durability>test</derby.system.durability>
2504               <java.awt.headless>true</java.awt.headless>
2505               <java.io.tmpdir>${project.build.directory}/tmp</java.io.tmpdir>
2506               <spark.test.home>${spark.test.home}</spark.test.home>
2507               <spark.testing>1</spark.testing>
2508               <spark.ui.enabled>false</spark.ui.enabled>
2509               <spark.ui.showConsoleProgress>false</spark.ui.showConsoleProgress>
2510               <spark.unsafe.exceptionOnMemoryLeak>true</spark.unsafe.exceptionOnMemoryLeak>
2511               <spark.test.webdriver.chrome.driver>${spark.test.webdriver.chrome.driver}</spark.test.webdriver.chrome.driver>
2512               <!-- Needed by sql/hive tests. -->
2513               <test.src.tables>__not_used__</test.src.tables>
2514             </systemProperties>
2515             <tagsToExclude>${test.exclude.tags},${test.default.exclude.tags}</tagsToExclude>
2516             <tagsToInclude>${test.include.tags}</tagsToInclude>
2517           </configuration>
2518           <executions>
2519             <execution>
2520               <id>test</id>
2521               <goals>
2522                 <goal>test</goal>
2523               </goals>
2524             </execution>
2525           </executions>
2526         </plugin>
2527         <plugin>
2528           <groupId>org.apache.maven.plugins</groupId>
2529           <artifactId>maven-jar-plugin</artifactId>
2530           <version>3.1.2</version>
2531         </plugin>
2532         <plugin>
2533           <groupId>org.apache.maven.plugins</groupId>
2534           <artifactId>maven-antrun-plugin</artifactId>
2535           <version>${maven-antrun.version}</version>
2536         </plugin>
2537         <plugin>
2538           <groupId>org.apache.maven.plugins</groupId>
2539           <artifactId>maven-source-plugin</artifactId>
2540           <version>3.1.0</version>
2541           <configuration>
2542             <attach>true</attach>
2543           </configuration>
2544           <executions>
2545             <execution>
2546               <id>create-source-jar</id>
2547               <goals>
2548                 <goal>jar-no-fork</goal>
2549                 <goal>test-jar-no-fork</goal>
2550               </goals>
2551             </execution>
2552           </executions>
2553         </plugin>
2554         <plugin>
2555           <groupId>org.apache.maven.plugins</groupId>
2556           <artifactId>maven-clean-plugin</artifactId>
2557           <version>3.1.0</version>
2558           <configuration>
2559             <filesets>
2560               <fileset>
2561                 <directory>work</directory>
2562               </fileset>
2563               <fileset>
2564                 <directory>checkpoint</directory>
2565               </fileset>
2566               <fileset>
2567                 <directory>lib_managed</directory>
2568               </fileset>
2569             </filesets>
2570           </configuration>
2571         </plugin>
2572         <plugin>
2573           <groupId>org.apache.maven.plugins</groupId>
2574           <artifactId>maven-javadoc-plugin</artifactId>
2575           <version>3.1.1</version>
2576           <configuration>
2577             <additionalJOptions>
2578               <additionalJOption>-Xdoclint:all</additionalJOption>
2579               <additionalJOption>-Xdoclint:-missing</additionalJOption>
2580             </additionalJOptions>
2581             <tags>
2582               <tag>
2583                 <name>example</name>
2584                 <placement>a</placement>
2585                 <head>Example:</head>
2586               </tag>
2587               <tag>
2588                 <name>note</name>
2589                 <placement>a</placement>
2590                 <head>Note:</head>
2591               </tag>
2592               <tag>
2593                 <name>group</name>
2594                 <placement>X</placement>
2595               </tag>
2596               <tag>
2597                 <name>tparam</name>
2598                 <placement>X</placement>
2599               </tag>
2600               <tag>
2601                 <name>constructor</name>
2602                 <placement>X</placement>
2603               </tag>
2604               <tag>
2605                 <name>todo</name>
2606                 <placement>X</placement>
2607               </tag>
2608               <tag>
2609                 <name>groupname</name>
2610                 <placement>X</placement>
2611               </tag>
2612             </tags>
2613           </configuration>
2614         </plugin>
2615         <plugin>
2616           <groupId>org.codehaus.mojo</groupId>
2617           <artifactId>exec-maven-plugin</artifactId>
2618           <version>1.6.0</version>
2619         </plugin>
2620         <plugin>
2621           <groupId>org.apache.maven.plugins</groupId>
2622           <artifactId>maven-assembly-plugin</artifactId>
2623           <version>3.1.0</version>
2624           <configuration>
2625             <tarLongFileMode>posix</tarLongFileMode>
2626           </configuration>
2627         </plugin>
2628         <plugin>
2629           <groupId>org.apache.maven.plugins</groupId>
2630           <artifactId>maven-shade-plugin</artifactId>
2631           <version>3.2.1</version>
2632           <dependencies>
2633             <dependency>
2634               <groupId>org.ow2.asm</groupId>
2635               <artifactId>asm</artifactId>
2636               <version>7.2</version>
2637             </dependency>
2638             <dependency>
2639               <groupId>org.ow2.asm</groupId>
2640               <artifactId>asm-commons</artifactId>
2641               <version>7.2</version>
2642             </dependency>
2643           </dependencies>
2644         </plugin>
2645         <plugin>
2646           <groupId>org.apache.maven.plugins</groupId>
2647           <artifactId>maven-install-plugin</artifactId>
2648           <version>3.0.0-M1</version>
2649         </plugin>
2650         <plugin>
2651           <groupId>org.apache.maven.plugins</groupId>
2652           <artifactId>maven-deploy-plugin</artifactId>
2653           <version>3.0.0-M1</version>
2654         </plugin>
2655         <plugin>
2656           <groupId>org.apache.maven.plugins</groupId>
2657           <artifactId>maven-dependency-plugin</artifactId>
2658           <version>3.1.1</version>
2659           <executions>
2660             <execution>
2661               <id>default-cli</id>
2662               <goals>
2663                  <goal>build-classpath</goal>
2664               </goals>
2665               <configuration>
2666                 <!-- This includes dependencies with 'runtime' and 'compile' scopes;
2667                      see the docs for includeScope for more details -->
2668                 <includeScope>runtime</includeScope>
2669               </configuration>
2670             </execution>
2671           </executions>
2672         </plugin>
2673         <!-- This plugin's configuration is used to store Eclipse m2e settings only. -->
2674         <!-- It has no influence on the Maven build itself. -->
2675         <plugin>
2676           <groupId>org.eclipse.m2e</groupId>
2677           <artifactId>lifecycle-mapping</artifactId>
2678           <version>1.0.0</version>
2679           <configuration>
2680             <lifecycleMappingMetadata>
2681               <pluginExecutions>
2682                 <pluginExecution>
2683                   <pluginExecutionFilter>
2684                     <groupId>org.apache.maven.plugins</groupId>
2685                     <artifactId>maven-dependency-plugin</artifactId>
2686                     <versionRange>[2.8,)</versionRange>
2687                     <goals>
2688                       <goal>build-classpath</goal>
2689                     </goals>
2690                   </pluginExecutionFilter>
2691                   <action>
2692                     <ignore></ignore>
2693                   </action>
2694                 </pluginExecution>
2695                 <pluginExecution>
2696                   <pluginExecutionFilter>
2697                     <groupId>org.apache.maven.plugins</groupId>
2698                     <artifactId>maven-jar-plugin</artifactId>
2699                     <versionRange>3.1.2</versionRange>
2700                     <goals>
2701                       <goal>test-jar</goal>
2702                     </goals>
2703                   </pluginExecutionFilter>
2704                   <action>
2705                     <ignore></ignore>
2706                   </action>
2707                 </pluginExecution>
2708                 <pluginExecution>
2709                   <pluginExecutionFilter>
2710                     <groupId>org.apache.maven.plugins</groupId>
2711                     <artifactId>maven-antrun-plugin</artifactId>
2712                     <versionRange>[${maven-antrun.version},)</versionRange>
2713                     <goals>
2714                       <goal>run</goal>
2715                     </goals>
2716                   </pluginExecutionFilter>
2717                   <action>
2718                     <ignore></ignore>
2719                   </action>
2720                 </pluginExecution>
2721               </pluginExecutions>
2722             </lifecycleMappingMetadata>
2723           </configuration>
2724         </plugin>
2725       </plugins>
2726     </pluginManagement>
2727 
2728     <plugins>
2729       <!-- This plugin dumps the test classpath into a file -->
2730       <plugin>
2731         <groupId>org.apache.maven.plugins</groupId>
2732         <artifactId>maven-dependency-plugin</artifactId>
2733         <executions>
2734           <execution>
2735             <id>generate-test-classpath</id>
2736             <phase>test-compile</phase>
2737             <goals>
2738               <goal>build-classpath</goal>
2739             </goals>
2740             <configuration>
2741               <includeScope>test</includeScope>
2742               <outputProperty>test_classpath</outputProperty>
2743             </configuration>
2744           </execution>
2745           <execution>
2746             <id>copy-module-dependencies</id>
2747             <phase>${build.copyDependenciesPhase}</phase>
2748             <goals>
2749               <goal>copy-dependencies</goal>
2750             </goals>
2751             <configuration>
2752               <includeScope>runtime</includeScope>
2753               <outputDirectory>${jars.target.dir}</outputDirectory>
2754             </configuration>
2755           </execution>
2756         </executions>
2757       </plugin>
2758 
2759       <!--
2760         The shade plug-in is used here to create effective pom's (see SPARK-3812), and also
2761         remove references from the shaded libraries from artifacts published by Spark.
2762       -->
2763       <plugin>
2764         <groupId>org.apache.maven.plugins</groupId>
2765         <artifactId>maven-shade-plugin</artifactId>
2766         <configuration>
2767           <shadedArtifactAttached>false</shadedArtifactAttached>
2768           <artifactSet>
2769             <includes>
2770               <include>org.spark-project.spark:unused</include>
2771               <include>org.eclipse.jetty:jetty-io</include>
2772               <include>org.eclipse.jetty:jetty-http</include>
2773               <include>org.eclipse.jetty:jetty-proxy</include>
2774               <include>org.eclipse.jetty:jetty-client</include>
2775               <include>org.eclipse.jetty:jetty-continuation</include>
2776               <include>org.eclipse.jetty:jetty-servlet</include>
2777               <include>org.eclipse.jetty:jetty-servlets</include>
2778               <include>org.eclipse.jetty:jetty-plus</include>
2779               <include>org.eclipse.jetty:jetty-security</include>
2780               <include>org.eclipse.jetty:jetty-util</include>
2781               <include>org.eclipse.jetty:jetty-server</include>
2782               <include>com.google.guava:guava</include>
2783               <include>org.jpmml:*</include>
2784             </includes>
2785           </artifactSet>
2786           <relocations>
2787             <relocation>
2788               <pattern>org.eclipse.jetty</pattern>
2789               <shadedPattern>${spark.shade.packageName}.jetty</shadedPattern>
2790               <includes>
2791                 <include>org.eclipse.jetty.**</include>
2792               </includes>
2793             </relocation>
2794             <relocation>
2795               <pattern>com.google.common</pattern>
2796               <shadedPattern>${spark.shade.packageName}.guava</shadedPattern>
2797             </relocation>
2798             <relocation>
2799               <pattern>org.dmg.pmml</pattern>
2800               <shadedPattern>${spark.shade.packageName}.dmg.pmml</shadedPattern>
2801             </relocation>
2802             <relocation>
2803               <pattern>org.jpmml</pattern>
2804               <shadedPattern>${spark.shade.packageName}.jpmml</shadedPattern>
2805             </relocation>
2806           </relocations>
2807         </configuration>
2808         <executions>
2809           <execution>
2810             <phase>package</phase>
2811             <goals>
2812               <goal>shade</goal>
2813             </goals>
2814           </execution>
2815         </executions>
2816       </plugin>
2817       <plugin>
2818         <groupId>org.apache.maven.plugins</groupId>
2819         <artifactId>maven-enforcer-plugin</artifactId>
2820       </plugin>
2821       <plugin>
2822         <groupId>net.alchim31.maven</groupId>
2823         <artifactId>scala-maven-plugin</artifactId>
2824       </plugin>
2825       <plugin>
2826         <groupId>org.apache.maven.plugins</groupId>
2827         <artifactId>maven-source-plugin</artifactId>
2828       </plugin>
2829       <plugin>
2830         <groupId>org.scalastyle</groupId>
2831         <artifactId>scalastyle-maven-plugin</artifactId>
2832         <version>1.0.0</version>
2833         <configuration>
2834           <verbose>false</verbose>
2835           <failOnViolation>true</failOnViolation>
2836           <includeTestSourceDirectory>false</includeTestSourceDirectory>
2837           <failOnWarning>false</failOnWarning>
2838           <sourceDirectory>${basedir}/src/main/scala</sourceDirectory>
2839           <testSourceDirectory>${basedir}/src/test/scala</testSourceDirectory>
2840           <configLocation>scalastyle-config.xml</configLocation>
2841           <outputFile>${basedir}/target/scalastyle-output.xml</outputFile>
2842           <inputEncoding>${project.build.sourceEncoding}</inputEncoding>
2843           <outputEncoding>${project.reporting.outputEncoding}</outputEncoding>
2844         </configuration>
2845         <executions>
2846           <execution>
2847             <goals>
2848               <goal>check</goal>
2849             </goals>
2850           </execution>
2851         </executions>
2852       </plugin>
2853       <plugin>
2854         <groupId>org.apache.maven.plugins</groupId>
2855         <artifactId>maven-checkstyle-plugin</artifactId>
2856         <version>3.1.0</version>
2857         <configuration>
2858           <failOnViolation>false</failOnViolation>
2859           <includeTestSourceDirectory>true</includeTestSourceDirectory>
2860           <sourceDirectories>
2861             <directory>${basedir}/src/main/java</directory>
2862             <directory>${basedir}/src/main/scala</directory>
2863             <directory>${basedir}/v${hive.version.short}/src/main/java</directory>
2864             <directory>${basedir}/v${hive.version.short}/src/main/scala</directory>
2865           </sourceDirectories>
2866           <testSourceDirectories>
2867             <directory>${basedir}/src/test/java</directory>
2868             <directory>${basedir}/v${hive.version.short}/src/test/java</directory>
2869             <directory>${basedir}/v${hive.version.short}/src/test/scala</directory>
2870           </testSourceDirectories>
2871           <configLocation>dev/checkstyle.xml</configLocation>
2872           <outputFile>${basedir}/target/checkstyle-output.xml</outputFile>
2873           <inputEncoding>${project.build.sourceEncoding}</inputEncoding>
2874           <outputEncoding>${project.reporting.outputEncoding}</outputEncoding>
2875         </configuration>
2876         <dependencies>
2877           <dependency>
2878             <groupId>com.puppycrawl.tools</groupId>
2879             <artifactId>checkstyle</artifactId>
2880             <version>8.29</version>
2881           </dependency>
2882         </dependencies>
2883         <executions>
2884           <execution>
2885             <goals>
2886               <goal>check</goal>
2887             </goals>
2888           </execution>
2889         </executions>
2890       </plugin>
2891 
2892       <plugin>
2893         <groupId>org.apache.maven.plugins</groupId>
2894         <artifactId>maven-antrun-plugin</artifactId>
2895         <executions>
2896           <execution>
2897             <id>create-tmp-dir</id>
2898             <phase>generate-test-resources</phase>
2899             <goals>
2900               <goal>run</goal>
2901             </goals>
2902             <configuration>
2903               <target>
2904                 <mkdir dir="${project.build.directory}/tmp" />
2905               </target>
2906             </configuration>
2907           </execution>
2908         </executions>
2909       </plugin>
2910 
2911       <!-- Enable surefire and scalatest in all children, in one place: -->
2912       <plugin>
2913         <groupId>org.apache.maven.plugins</groupId>
2914         <artifactId>maven-surefire-plugin</artifactId>
2915       </plugin>
2916       <plugin>
2917         <groupId>org.scalatest</groupId>
2918         <artifactId>scalatest-maven-plugin</artifactId>
2919       </plugin>
2920       <!-- Build test-jar's for all projects, since some projects depend on tests from others -->
2921       <plugin>
2922         <groupId>org.apache.maven.plugins</groupId>
2923         <artifactId>maven-jar-plugin</artifactId>
2924         <executions>
2925           <execution>
2926             <id>prepare-test-jar</id>
2927             <phase>${build.testJarPhase}</phase>
2928             <goals>
2929               <goal>test-jar</goal>
2930             </goals>
2931             <configuration>
2932               <excludes>
2933                 <exclude>log4j.properties</exclude>
2934               </excludes>
2935             </configuration>
2936           </execution>
2937         </executions>
2938       </plugin>
2939       <plugin>
2940         <groupId>org.antipathy</groupId>
2941         <artifactId>mvn-scalafmt_${scala.binary.version}</artifactId>
2942         <version>1.0.3</version>
2943         <configuration>
2944           <parameters>${scalafmt.parameters}</parameters> <!-- (Optional) Additional command line arguments -->
2945           <skip>${scalafmt.skip}</skip> <!-- (Optional) skip formatting -->
2946           <skipSources>${scalafmt.skip}</skipSources>
2947           <skipTestSources>${scalafmt.skip}</skipTestSources>
2948           <configLocation>dev/.scalafmt.conf</configLocation> <!-- (Optional) config location -->
2949           <onlyChangedFiles>true</onlyChangedFiles>
2950         </configuration>
2951         <executions>
2952           <execution>
2953             <phase>validate</phase>
2954             <goals>
2955               <goal>format</goal>
2956             </goals>
2957           </execution>
2958         </executions>
2959       </plugin>
2960       <!--
2961         Couple of dependencies are coming in bundle format (bundle is just a normal jar which
2962         contains OSGi metadata in the manifest). If one don't use OSGi, then a bundle will work as
2963         any other jar. Since maven doesn't have native bundle support it needs an external plugin
2964         handle it. If the plugin is not added then the build can't resolve bundle dependencies.
2965       -->
2966       <plugin>
2967         <groupId>org.apache.felix</groupId>
2968         <artifactId>maven-bundle-plugin</artifactId>
2969         <version>4.2.0</version>
2970         <extensions>true</extensions>
2971       </plugin>
2972     </plugins>
2973   </build>
2974 
2975   <profiles>
2976 
2977     <!--
2978       This profile is enabled automatically by the sbt build. It changes the scope for shaded
2979       dependencies, since we don't shade it in the artifacts generated by the sbt build.
2980     -->
2981     <profile>
2982       <id>sbt</id>
2983       <dependencies>
2984         <dependency>
2985           <groupId>com.google.guava</groupId>
2986           <artifactId>guava</artifactId>
2987           <scope>compile</scope>
2988         </dependency>
2989         <dependency>
2990           <groupId>org.jpmml</groupId>
2991           <artifactId>pmml-model</artifactId>
2992           <scope>compile</scope>
2993         </dependency>
2994       </dependencies>
2995     </profile>
2996 
2997     <!-- Ganglia integration is not included by default due to LGPL-licensed code -->
2998     <profile>
2999       <id>spark-ganglia-lgpl</id>
3000       <modules>
3001         <module>external/spark-ganglia-lgpl</module>
3002       </modules>
3003     </profile>
3004 
3005     <!-- Kinesis integration is not included by default due to ASL-licensed code -->
3006     <profile>
3007       <id>kinesis-asl</id>
3008       <modules>
3009         <module>external/kinesis-asl</module>
3010         <module>external/kinesis-asl-assembly</module>
3011       </modules>
3012     </profile>
3013 
3014     <profile>
3015       <id>docker-integration-tests</id>
3016       <modules>
3017         <module>external/docker-integration-tests</module>
3018       </modules>
3019     </profile>
3020 
3021     <!-- A series of build profiles where customizations for particular Hadoop releases can be made -->
3022 
3023     <!-- Hadoop-a.b.c dependencies can be found at
3024     http://hadoop.apache.org/docs/ra.b.c/hadoop-project-dist/hadoop-common/dependency-analysis.html
3025     -->
3026 
3027     <profile>
3028       <id>hadoop-2.7</id>
3029       <!-- Default hadoop profile. Uses global properties. -->
3030     </profile>
3031 
3032     <profile>
3033       <id>hadoop-3.2</id>
3034       <properties>
3035         <hadoop.version>3.2.0</hadoop.version>
3036         <curator.version>2.13.0</curator.version>
3037       </properties>
3038     </profile>
3039 
3040     <profile>
3041       <id>hive-1.2</id>
3042       <properties>
3043         <hive.group>org.spark-project.hive</hive.group>
3044         <hive.classifier></hive.classifier>
3045         <!-- Version used in Maven Hive dependency -->
3046         <hive.version>1.2.1.spark2</hive.version>
3047         <!-- Version used for internal directory structure -->
3048         <hive.version.short>1.2</hive.version.short>
3049         <hive.parquet.scope>${hive.deps.scope}</hive.parquet.scope>
3050         <hive.storage.version>2.6.0</hive.storage.version>
3051         <hive.storage.scope>provided</hive.storage.scope>
3052         <hive.common.scope>provided</hive.common.scope>
3053         <hive.llap.scope>provided</hive.llap.scope>
3054         <hive.serde.scope>provided</hive.serde.scope>
3055         <hive.shims.scope>provided</hive.shims.scope>
3056         <orc.classifier>nohive</orc.classifier>
3057         <datanucleus-core.version>3.2.10</datanucleus-core.version>
3058       </properties>
3059     </profile>
3060 
3061     <profile>
3062       <id>hive-2.3</id>
3063       <!-- Default hive profile. Uses global properties. -->
3064     </profile>
3065 
3066     <profile>
3067       <id>yarn</id>
3068       <modules>
3069         <module>resource-managers/yarn</module>
3070         <module>common/network-yarn</module>
3071       </modules>
3072     </profile>
3073 
3074     <profile>
3075       <id>mesos</id>
3076       <modules>
3077         <module>resource-managers/mesos</module>
3078       </modules>
3079     </profile>
3080 
3081     <profile>
3082       <id>kubernetes</id>
3083       <modules>
3084         <module>resource-managers/kubernetes/core</module>
3085       </modules>
3086     </profile>
3087 
3088     <!-- generally not enabled for automated builds, but will run k8s tests -->
3089     <profile>
3090       <id>kubernetes-integration-tests</id>
3091       <modules>
3092         <module>resource-managers/kubernetes/integration-tests</module>
3093       </modules>
3094     </profile>
3095 
3096     <profile>
3097       <id>hive-thriftserver</id>
3098       <modules>
3099         <module>sql/hive-thriftserver</module>
3100       </modules>
3101     </profile>
3102 
3103     <profile>
3104       <id>hadoop-cloud</id>
3105       <modules>
3106         <module>hadoop-cloud</module>
3107       </modules>
3108     </profile>
3109 
3110     <profile>
3111       <id>test-java-home</id>
3112       <activation>
3113         <property><name>env.JAVA_HOME</name></property>
3114       </activation>
3115       <properties>
3116         <test.java.home>${env.JAVA_HOME}</test.java.home>
3117       </properties>
3118     </profile>
3119 
3120     <profile>
3121       <id>scala-2.12</id>
3122       <build>
3123         <pluginManagement>
3124           <plugins>
3125           </plugins>
3126         </pluginManagement>
3127       </build>
3128     </profile>
3129     
3130     <profile>
3131       <id>scala-2.13</id>
3132       <properties>
3133         <scala.version>2.13.1</scala.version>
3134         <scala.binary.version>2.13</scala.binary.version>
3135       </properties>
3136       <dependencyManagement>
3137         <dependencies>
3138           <dependency>
3139             <groupId>org.scala-lang.modules</groupId>
3140             <artifactId>scala-parallel-collections_${scala.binary.version}</artifactId>
3141             <version>0.2.0</version>
3142           </dependency>
3143         </dependencies>
3144       </dependencyManagement>
3145     </profile>
3146 
3147     <!--
3148      This is a profile to enable the use of the ASF snapshot and staging repositories
3149      during a build. It is useful when testing against nightly or RC releases of dependencies.
3150      It MUST NOT be used when building copies of Spark to use in production of for distribution,
3151      -->
3152     <profile>
3153       <id>snapshots-and-staging</id>
3154       <properties>
3155         <!-- override point for ASF staging/snapshot repos -->
3156         <asf.staging>https://repository.apache.org/content/groups/staging/</asf.staging>
3157         <asf.snapshots>https://repository.apache.org/content/repositories/snapshots/</asf.snapshots>
3158       </properties>
3159 
3160       <pluginRepositories>
3161         <pluginRepository>
3162           <id>ASF Staging</id>
3163           <url>${asf.staging}</url>
3164         </pluginRepository>
3165         <pluginRepository>
3166           <id>ASF Snapshots</id>
3167           <url>${asf.snapshots}</url>
3168           <snapshots>
3169             <enabled>true</enabled>
3170           </snapshots>
3171           <releases>
3172             <enabled>false</enabled>
3173           </releases>
3174         </pluginRepository>
3175 
3176       </pluginRepositories>
3177       <repositories>
3178         <repository>
3179           <id>ASF Staging</id>
3180           <url>${asf.staging}</url>
3181         </repository>
3182         <repository>
3183           <id>ASF Snapshots</id>
3184           <url>${asf.snapshots}</url>
3185           <snapshots>
3186             <enabled>true</enabled>
3187           </snapshots>
3188           <releases>
3189             <enabled>false</enabled>
3190           </releases>
3191         </repository>
3192       </repositories>
3193     </profile>
3194 
3195     <!--
3196       These empty profiles are available in some sub-modules. Declare them here so that
3197       maven does not complain when they're provided on the command line for a sub-module
3198       that does not have them.
3199     -->
3200     <profile>
3201       <id>hadoop-provided</id>
3202     </profile>
3203     <profile>
3204       <id>hive-provided</id>
3205     </profile>
3206     <profile>
3207       <id>orc-provided</id>
3208     </profile>
3209     <profile>
3210       <id>parquet-provided</id>
3211     </profile>
3212     <profile>
3213       <id>sparkr</id>
3214     </profile>
3215     <!-- use org.openlabtesting.leveldbjni on aarch64 platform -->
3216     <profile>
3217       <id>aarch64</id>
3218       <properties>
3219         <leveldbjni.group>org.openlabtesting.leveldbjni</leveldbjni.group>
3220       </properties>
3221     </profile>
3222   </profiles>
3223 </project>