[SPARK-7721][PYTHON][TESTS] Adds PySpark coverage generation script
[spark.git] / pom.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!--
3 ~ Licensed to the Apache Software Foundation (ASF) under one or more
4 ~ contributor license agreements. See the NOTICE file distributed with
5 ~ this work for additional information regarding copyright ownership.
6 ~ The ASF licenses this file to You under the Apache License, Version 2.0
7 ~ (the "License"); you may not use this file except in compliance with
8 ~ the License. You may obtain a copy of the License at
9 ~
10 ~ http://www.apache.org/licenses/LICENSE-2.0
11 ~
12 ~ Unless required by applicable law or agreed to in writing, software
13 ~ distributed under the License is distributed on an "AS IS" BASIS,
14 ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 ~ See the License for the specific language governing permissions and
16 ~ limitations under the License.
17 -->
18
19 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
20 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
21 <modelVersion>4.0.0</modelVersion>
22 <parent>
23 <groupId>org.apache</groupId>
24 <artifactId>apache</artifactId>
25 <version>18</version>
26 </parent>
27 <groupId>org.apache.spark</groupId>
28 <artifactId>spark-parent_2.11</artifactId>
29 <version>2.4.0-SNAPSHOT</version>
30 <packaging>pom</packaging>
31 <name>Spark Project Parent POM</name>
32 <url>http://spark.apache.org/</url>
33 <licenses>
34 <license>
35 <name>Apache 2.0 License</name>
36 <url>http://www.apache.org/licenses/LICENSE-2.0.html</url>
37 <distribution>repo</distribution>
38 </license>
39 </licenses>
40 <scm>
41 <connection>scm:git:git@github.com:apache/spark.git</connection>
42 <developerConnection>scm:git:https://git-wip-us.apache.org/repos/asf/spark.git</developerConnection>
43 <url>scm:git:git@github.com:apache/spark.git</url>
44 <tag>HEAD</tag>
45 </scm>
46 <developers>
47 <developer>
48 <id>matei</id>
49 <name>Matei Zaharia</name>
50 <email>matei.zaharia@gmail.com</email>
51 <url>http://www.cs.berkeley.edu/~matei</url>
52 <organization>Apache Software Foundation</organization>
53 <organizationUrl>http://spark.apache.org</organizationUrl>
54 </developer>
55 </developers>
56 <issueManagement>
57 <system>JIRA</system>
58 <url>https://issues.apache.org/jira/browse/SPARK</url>
59 </issueManagement>
60
61 <mailingLists>
62 <mailingList>
63 <name>Dev Mailing List</name>
64 <post>dev@spark.apache.org</post>
65 <subscribe>dev-subscribe@spark.apache.org</subscribe>
66 <unsubscribe>dev-unsubscribe@spark.apache.org</unsubscribe>
67 </mailingList>
68
69 <mailingList>
70 <name>User Mailing List</name>
71 <post>user@spark.apache.org</post>
72 <subscribe>user-subscribe@spark.apache.org</subscribe>
73 <unsubscribe>user-unsubscribe@spark.apache.org</unsubscribe>
74 </mailingList>
75
76 <mailingList>
77 <name>Commits Mailing List</name>
78 <post>commits@spark.apache.org</post>
79 <subscribe>commits-subscribe@spark.apache.org</subscribe>
80 <unsubscribe>commits-unsubscribe@spark.apache.org</unsubscribe>
81 </mailingList>
82 </mailingLists>
83
84 <modules>
85 <module>common/sketch</module>
86 <module>common/kvstore</module>
87 <module>common/network-common</module>
88 <module>common/network-shuffle</module>
89 <module>common/unsafe</module>
90 <module>common/tags</module>
91 <module>core</module>
92 <module>graphx</module>
93 <module>mllib</module>
94 <module>mllib-local</module>
95 <module>tools</module>
96 <module>streaming</module>
97 <module>sql/catalyst</module>
98 <module>sql/core</module>
99 <module>sql/hive</module>
100 <module>assembly</module>
101 <module>examples</module>
102 <module>repl</module>
103 <module>launcher</module>
104 <module>external/kafka-0-10</module>
105 <module>external/kafka-0-10-assembly</module>
106 <module>external/kafka-0-10-sql</module>
107 <!-- See additional modules enabled by profiles below -->
108 </modules>
109
110 <properties>
111 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
112 <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
113 <java.version>1.8</java.version>
114 <maven.compiler.source>${java.version}</maven.compiler.source>
115 <maven.compiler.target>${java.version}</maven.compiler.target>
116 <maven.version>3.3.9</maven.version>
117 <sbt.project.name>spark</sbt.project.name>
118 <slf4j.version>1.7.16</slf4j.version>
119 <log4j.version>1.2.17</log4j.version>
120 <hadoop.version>2.6.5</hadoop.version>
121 <protobuf.version>2.5.0</protobuf.version>
122 <yarn.version>${hadoop.version}</yarn.version>
123 <flume.version>1.6.0</flume.version>
124 <zookeeper.version>3.4.6</zookeeper.version>
125 <curator.version>2.6.0</curator.version>
126 <hive.group>org.spark-project.hive</hive.group>
127 <!-- Version used in Maven Hive dependency -->
128 <hive.version>1.2.1.spark2</hive.version>
129 <!-- Version used for internal directory structure -->
130 <hive.version.short>1.2.1</hive.version.short>
131 <derby.version>10.12.1.1</derby.version>
132 <parquet.version>1.8.2</parquet.version>
133 <orc.version>1.4.1</orc.version>
134 <orc.classifier>nohive</orc.classifier>
135 <hive.parquet.version>1.6.0</hive.parquet.version>
136 <jetty.version>9.3.20.v20170531</jetty.version>
137 <javaxservlet.version>3.1.0</javaxservlet.version>
138 <chill.version>0.8.4</chill.version>
139 <ivy.version>2.4.0</ivy.version>
140 <oro.version>2.0.8</oro.version>
141 <codahale.metrics.version>3.1.5</codahale.metrics.version>
142 <avro.version>1.7.7</avro.version>
143 <avro.mapred.classifier>hadoop2</avro.mapred.classifier>
144 <jets3t.version>0.9.4</jets3t.version>
145 <aws.kinesis.client.version>1.7.3</aws.kinesis.client.version>
146 <!-- Should be consistent with Kinesis client dependency -->
147 <aws.java.sdk.version>1.11.76</aws.java.sdk.version>
148 <!-- the producer is used in tests -->
149 <aws.kinesis.producer.version>0.10.2</aws.kinesis.producer.version>
150 <!-- org.apache.httpcomponents/httpclient-->
151 <commons.httpclient.version>4.5.4</commons.httpclient.version>
152 <commons.httpcore.version>4.4.8</commons.httpcore.version>
153 <!-- commons-httpclient/commons-httpclient-->
154 <httpclient.classic.version>3.1</httpclient.classic.version>
155 <commons.math3.version>3.4.1</commons.math3.version>
156 <!-- managed up from 3.2.1 for SPARK-11652 -->
157 <commons.collections.version>3.2.2</commons.collections.version>
158 <scala.version>2.11.8</scala.version>
159 <scala.binary.version>2.11</scala.binary.version>
160 <codehaus.jackson.version>1.9.13</codehaus.jackson.version>
161 <fasterxml.jackson.version>2.6.7</fasterxml.jackson.version>
162 <fasterxml.jackson.databind.version>2.6.7.1</fasterxml.jackson.databind.version>
163 <snappy.version>1.1.2.6</snappy.version>
164 <netlib.java.version>1.1.2</netlib.java.version>
165 <calcite.version>1.2.0-incubating</calcite.version>
166 <commons-codec.version>1.10</commons-codec.version>
167 <commons-io.version>2.4</commons-io.version>
168 <!-- org.apache.commons/commons-lang/-->
169 <commons-lang2.version>2.6</commons-lang2.version>
170 <!-- org.apache.commons/commons-lang3/-->
171 <commons-lang3.version>3.5</commons-lang3.version>
172 <datanucleus-core.version>3.2.10</datanucleus-core.version>
173 <janino.version>3.0.8</janino.version>
174 <jersey.version>2.22.2</jersey.version>
175 <joda.version>2.9.3</joda.version>
176 <jodd.version>3.5.2</jodd.version>
177 <jsr305.version>1.3.9</jsr305.version>
178 <libthrift.version>0.9.3</libthrift.version>
179 <antlr4.version>4.7</antlr4.version>
180 <jpam.version>1.1</jpam.version>
181 <selenium.version>2.52.0</selenium.version>
182 <!--
183 Managed up from older version from Avro; sync with jackson-module-paranamer dependency version
184 -->
185 <paranamer.version>2.8</paranamer.version>
186 <maven-antrun.version>1.8</maven-antrun.version>
187 <commons-crypto.version>1.0.0</commons-crypto.version>
188 <arrow.version>0.8.0</arrow.version>
189
190 <test.java.home>${java.home}</test.java.home>
191 <test.exclude.tags></test.exclude.tags>
192
193 <!-- Package to use when relocating shaded classes. -->
194 <spark.shade.packageName>org.spark_project</spark.shade.packageName>
195
196 <!-- Modules that copy jars to the build directory should do so under this location. -->
197 <jars.target.dir>${project.build.directory}/scala-${scala.binary.version}/jars</jars.target.dir>
198
199 <!-- Allow modules to enable / disable certain build plugins easily. -->
200 <build.testJarPhase>prepare-package</build.testJarPhase>
201 <build.copyDependenciesPhase>none</build.copyDependenciesPhase>
202
203 <!--
204 Dependency scopes that can be overridden by enabling certain profiles. These profiles are
205 declared in the projects that build assemblies.
206
207 For other projects the scope should remain as "compile", otherwise they are not available
208 during compilation if the dependency is transivite (e.g. "graphx/" depending on "core/" and
209 needing Hadoop classes in the classpath to compile).
210 -->
211 <flume.deps.scope>compile</flume.deps.scope>
212 <hadoop.deps.scope>compile</hadoop.deps.scope>
213 <hive.deps.scope>compile</hive.deps.scope>
214 <orc.deps.scope>compile</orc.deps.scope>
215 <parquet.deps.scope>compile</parquet.deps.scope>
216 <parquet.test.deps.scope>test</parquet.test.deps.scope>
217
218 <!--
219 Overridable test home. So that you can call individual pom files directly without
220 things breaking.
221 -->
222 <spark.test.home>${session.executionRootDirectory}</spark.test.home>
223
224 <CodeCacheSize>512m</CodeCacheSize>
225 </properties>
226 <repositories>
227 <repository>
228 <id>central</id>
229 <!-- This should be at top, it makes maven try the central repo first and then others and hence faster dep resolution -->
230 <name>Maven Repository</name>
231 <url>https://repo.maven.apache.org/maven2</url>
232 <releases>
233 <enabled>true</enabled>
234 </releases>
235 <snapshots>
236 <enabled>false</enabled>
237 </snapshots>
238 </repository>
239 </repositories>
240 <pluginRepositories>
241 <pluginRepository>
242 <id>central</id>
243 <url>https://repo.maven.apache.org/maven2</url>
244 <releases>
245 <enabled>true</enabled>
246 </releases>
247 <snapshots>
248 <enabled>false</enabled>
249 </snapshots>
250 </pluginRepository>
251 </pluginRepositories>
252 <dependencies>
253 <!--
254 This is a dummy dependency that is used to trigger the maven-shade plugin so that Spark's
255 published POMs are flattened and do not contain variables. Without this dependency, some
256 subprojects' published POMs would contain variables like ${scala.binary.version} that will
257 be substituted according to the default properties instead of the ones determined by the
258 profiles that were active during publishing, causing the Scala 2.10 build's POMs to have 2.11
259 dependencies due to the incorrect substitutions. By ensuring that maven-shade runs for all
260 subprojects, we eliminate this problem because the substitutions are baked into the final POM.
261
262 For more details, see SPARK-3812 and MNG-2971.
263 -->
264 <dependency>
265 <groupId>org.spark-project.spark</groupId>
266 <artifactId>unused</artifactId>
267 <version>1.0.0</version>
268 </dependency>
269 <!--
270 This is needed by the scalatest plugin, and so is declared here to be available in
271 all child modules, just as scalatest is run in all children
272 -->
273 <dependency>
274 <groupId>org.scalatest</groupId>
275 <artifactId>scalatest_${scala.binary.version}</artifactId>
276 <scope>test</scope>
277 </dependency>
278 <dependency>
279 <groupId>junit</groupId>
280 <artifactId>junit</artifactId>
281 <scope>test</scope>
282 </dependency>
283 <dependency>
284 <groupId>com.novocode</groupId>
285 <artifactId>junit-interface</artifactId>
286 <scope>test</scope>
287 </dependency>
288 </dependencies>
289 <dependencyManagement>
290 <dependencies>
291 <dependency>
292 <groupId>org.apache.spark</groupId>
293 <artifactId>spark-tags_${scala.binary.version}</artifactId>
294 <version>${project.version}</version>
295 </dependency>
296 <dependency>
297 <groupId>org.apache.spark</groupId>
298 <artifactId>spark-tags_${scala.binary.version}</artifactId>
299 <version>${project.version}</version>
300 <type>test-jar</type>
301 </dependency>
302 <dependency>
303 <groupId>com.twitter</groupId>
304 <artifactId>chill_${scala.binary.version}</artifactId>
305 <version>${chill.version}</version>
306 </dependency>
307 <dependency>
308 <groupId>com.twitter</groupId>
309 <artifactId>chill-java</artifactId>
310 <version>${chill.version}</version>
311 </dependency>
312 <!-- This artifact is a shaded version of ASM 5.0.4. The POM that was used to produce this
313 is at https://github.com/apache/geronimo-xbean/tree/xbean-4.4/xbean-asm5-shaded
314 For context on why we shade ASM, see SPARK-782 and SPARK-6152. -->
315 <dependency>
316 <groupId>org.apache.xbean</groupId>
317 <artifactId>xbean-asm5-shaded</artifactId>
318 <version>4.4</version>
319 </dependency>
320
321 <!-- Shaded deps marked as provided. These are promoted to compile scope
322 in the modules where we want the shaded classes to appear in the
323 associated jar. -->
324 <dependency>
325 <groupId>org.eclipse.jetty</groupId>
326 <artifactId>jetty-http</artifactId>
327 <version>${jetty.version}</version>
328 <scope>provided</scope>
329 </dependency>
330 <dependency>
331 <groupId>org.eclipse.jetty</groupId>
332 <artifactId>jetty-continuation</artifactId>
333 <version>${jetty.version}</version>
334 <scope>provided</scope>
335 </dependency>
336 <dependency>
337 <groupId>org.eclipse.jetty</groupId>
338 <artifactId>jetty-servlet</artifactId>
339 <version>${jetty.version}</version>
340 <scope>provided</scope>
341 </dependency>
342 <dependency>
343 <groupId>org.eclipse.jetty</groupId>
344 <artifactId>jetty-servlets</artifactId>
345 <version>${jetty.version}</version>
346 <scope>provided</scope>
347 </dependency>
348 <dependency>
349 <groupId>org.eclipse.jetty</groupId>
350 <artifactId>jetty-proxy</artifactId>
351 <version>${jetty.version}</version>
352 <scope>provided</scope>
353 </dependency>
354 <dependency>
355 <groupId>org.eclipse.jetty</groupId>
356 <artifactId>jetty-client</artifactId>
357 <version>${jetty.version}</version>
358 <scope>provided</scope>
359 </dependency>
360 <dependency>
361 <groupId>org.eclipse.jetty</groupId>
362 <artifactId>jetty-util</artifactId>
363 <version>${jetty.version}</version>
364 <scope>provided</scope>
365 </dependency>
366 <dependency>
367 <groupId>org.eclipse.jetty</groupId>
368 <artifactId>jetty-security</artifactId>
369 <version>${jetty.version}</version>
370 <scope>provided</scope>
371 </dependency>
372 <dependency>
373 <groupId>org.eclipse.jetty</groupId>
374 <artifactId>jetty-plus</artifactId>
375 <version>${jetty.version}</version>
376 <scope>provided</scope>
377 </dependency>
378 <dependency>
379 <groupId>org.eclipse.jetty</groupId>
380 <artifactId>jetty-server</artifactId>
381 <version>${jetty.version}</version>
382 <scope>provided</scope>
383 </dependency>
384 <dependency>
385 <groupId>com.google.guava</groupId>
386 <artifactId>guava</artifactId>
387 <version>14.0.1</version>
388 <scope>provided</scope>
389 </dependency>
390 <dependency>
391 <groupId>org.jpmml</groupId>
392 <artifactId>pmml-model</artifactId>
393 <version>1.2.15</version>
394 <scope>provided</scope>
395 <exclusions>
396 <exclusion>
397 <groupId>org.jpmml</groupId>
398 <artifactId>pmml-agent</artifactId>
399 </exclusion>
400 </exclusions>
401 </dependency>
402 <!-- End of shaded deps -->
403 <dependency>
404 <groupId>org.apache.commons</groupId>
405 <artifactId>commons-lang3</artifactId>
406 <version>${commons-lang3.version}</version>
407 </dependency>
408 <dependency>
409 <groupId>commons-lang</groupId>
410 <artifactId>commons-lang</artifactId>
411 <version>${commons-lang2.version}</version>
412 </dependency>
413 <dependency>
414 <groupId>commons-io</groupId>
415 <artifactId>commons-io</artifactId>
416 <version>${commons-io.version}</version>
417 </dependency>
418 <dependency>
419 <groupId>commons-codec</groupId>
420 <artifactId>commons-codec</artifactId>
421 <version>${commons-codec.version}</version>
422 </dependency>
423 <dependency>
424 <groupId>org.apache.commons</groupId>
425 <artifactId>commons-math3</artifactId>
426 <version>${commons.math3.version}</version>
427 </dependency>
428 <dependency>
429 <groupId>commons-collections</groupId>
430 <artifactId>commons-collections</artifactId>
431 <version>${commons.collections.version}</version>
432 </dependency>
433 <dependency>
434 <groupId>org.apache.ivy</groupId>
435 <artifactId>ivy</artifactId>
436 <version>${ivy.version}</version>
437 </dependency>
438 <dependency>
439 <groupId>com.google.code.findbugs</groupId>
440 <artifactId>jsr305</artifactId>
441 <version>${jsr305.version}</version>
442 </dependency>
443 <dependency>
444 <groupId>commons-httpclient</groupId>
445 <artifactId>commons-httpclient</artifactId>
446 <version>${httpclient.classic.version}</version>
447 </dependency>
448 <dependency>
449 <groupId>org.apache.httpcomponents</groupId>
450 <artifactId>httpclient</artifactId>
451 <version>${commons.httpclient.version}</version>
452 </dependency>
453 <dependency>
454 <groupId>org.apache.httpcomponents</groupId>
455 <artifactId>httpmime</artifactId>
456 <version>${commons.httpclient.version}</version>
457 </dependency>
458 <dependency>
459 <groupId>org.apache.httpcomponents</groupId>
460 <artifactId>httpcore</artifactId>
461 <version>${commons.httpcore.version}</version>
462 </dependency>
463 <dependency>
464 <groupId>org.fusesource.leveldbjni</groupId>
465 <artifactId>leveldbjni-all</artifactId>
466 <version>1.8</version>
467 </dependency>
468 <dependency>
469 <groupId>org.seleniumhq.selenium</groupId>
470 <artifactId>selenium-java</artifactId>
471 <version>${selenium.version}</version>
472 <scope>test</scope>
473 <exclusions>
474 <exclusion>
475 <groupId>com.google.guava</groupId>
476 <artifactId>guava</artifactId>
477 </exclusion>
478 <exclusion>
479 <groupId>io.netty</groupId>
480 <artifactId>netty</artifactId>
481 </exclusion>
482 </exclusions>
483 </dependency>
484 <dependency>
485 <groupId>org.seleniumhq.selenium</groupId>
486 <artifactId>selenium-htmlunit-driver</artifactId>
487 <version>${selenium.version}</version>
488 <scope>test</scope>
489 </dependency>
490 <!-- Added for selenium only, and should match its dependent version: -->
491 <dependency>
492 <groupId>xml-apis</groupId>
493 <artifactId>xml-apis</artifactId>
494 <version>1.4.01</version>
495 <scope>test</scope>
496 </dependency>
497 <dependency>
498 <groupId>org.slf4j</groupId>
499 <artifactId>slf4j-api</artifactId>
500 <version>${slf4j.version}</version>
501 <scope>${hadoop.deps.scope}</scope>
502 </dependency>
503 <dependency>
504 <groupId>org.slf4j</groupId>
505 <artifactId>slf4j-log4j12</artifactId>
506 <version>${slf4j.version}</version>
507 <scope>${hadoop.deps.scope}</scope>
508 </dependency>
509 <dependency>
510 <groupId>org.slf4j</groupId>
511 <artifactId>jul-to-slf4j</artifactId>
512 <version>${slf4j.version}</version>
513 </dependency>
514 <dependency>
515 <groupId>org.slf4j</groupId>
516 <artifactId>jcl-over-slf4j</artifactId>
517 <version>${slf4j.version}</version>
518 <!-- runtime scope is appropriate, but causes SBT build problems -->
519 </dependency>
520 <dependency>
521 <groupId>log4j</groupId>
522 <artifactId>log4j</artifactId>
523 <version>${log4j.version}</version>
524 <scope>${hadoop.deps.scope}</scope>
525 </dependency>
526 <dependency>
527 <groupId>com.ning</groupId>
528 <artifactId>compress-lzf</artifactId>
529 <version>1.0.3</version>
530 </dependency>
531 <dependency>
532 <groupId>org.xerial.snappy</groupId>
533 <artifactId>snappy-java</artifactId>
534 <version>${snappy.version}</version>
535 <scope>${hadoop.deps.scope}</scope>
536 </dependency>
537 <dependency>
538 <groupId>org.lz4</groupId>
539 <artifactId>lz4-java</artifactId>
540 <version>1.4.0</version>
541 </dependency>
542 <dependency>
543 <groupId>com.github.luben</groupId>
544 <artifactId>zstd-jni</artifactId>
545 <version>1.3.2-2</version>
546 </dependency>
547 <dependency>
548 <groupId>com.clearspring.analytics</groupId>
549 <artifactId>stream</artifactId>
550 <version>2.7.0</version>
551 <exclusions>
552 <!-- Only HyperLogLogPlus is used, which doesn't depend on fastutil -->
553 <exclusion>
554 <groupId>it.unimi.dsi</groupId>
555 <artifactId>fastutil</artifactId>
556 </exclusion>
557 </exclusions>
558 </dependency>
559 <!-- In theory we need not directly depend on protobuf since Spark does not directly
560 use it. However, when building with Hadoop/YARN 2.2 Maven doesn't correctly bump
561 the protobuf version up from the one Mesos gives. For now we include this variable
562 to explicitly bump the version when building with YARN. It would be nice to figure
563 out why Maven can't resolve this correctly (like SBT does). -->
564 <dependency>
565 <groupId>com.google.protobuf</groupId>
566 <artifactId>protobuf-java</artifactId>
567 <version>${protobuf.version}</version>
568 <scope>${hadoop.deps.scope}</scope>
569 </dependency>
570 <dependency>
571 <groupId>org.roaringbitmap</groupId>
572 <artifactId>RoaringBitmap</artifactId>
573 <version>0.5.11</version>
574 </dependency>
575 <dependency>
576 <groupId>commons-net</groupId>
577 <artifactId>commons-net</artifactId>
578 <version>2.2</version>
579 </dependency>
580 <dependency>
581 <groupId>io.netty</groupId>
582 <artifactId>netty-all</artifactId>
583 <version>4.1.17.Final</version>
584 </dependency>
585 <dependency>
586 <groupId>io.netty</groupId>
587 <artifactId>netty</artifactId>
588 <version>3.9.9.Final</version>
589 </dependency>
590 <dependency>
591 <groupId>org.apache.derby</groupId>
592 <artifactId>derby</artifactId>
593 <version>${derby.version}</version>
594 </dependency>
595 <dependency>
596 <groupId>io.dropwizard.metrics</groupId>
597 <artifactId>metrics-core</artifactId>
598 <version>${codahale.metrics.version}</version>
599 </dependency>
600 <dependency>
601 <groupId>io.dropwizard.metrics</groupId>
602 <artifactId>metrics-jvm</artifactId>
603 <version>${codahale.metrics.version}</version>
604 </dependency>
605 <dependency>
606 <groupId>io.dropwizard.metrics</groupId>
607 <artifactId>metrics-json</artifactId>
608 <version>${codahale.metrics.version}</version>
609 </dependency>
610 <dependency>
611 <groupId>io.dropwizard.metrics</groupId>
612 <artifactId>metrics-ganglia</artifactId>
613 <version>${codahale.metrics.version}</version>
614 </dependency>
615 <dependency>
616 <groupId>io.dropwizard.metrics</groupId>
617 <artifactId>metrics-graphite</artifactId>
618 <version>${codahale.metrics.version}</version>
619 </dependency>
620 <dependency>
621 <groupId>com.fasterxml.jackson.core</groupId>
622 <artifactId>jackson-core</artifactId>
623 <version>${fasterxml.jackson.version}</version>
624 </dependency>
625 <dependency>
626 <groupId>com.fasterxml.jackson.core</groupId>
627 <artifactId>jackson-databind</artifactId>
628 <version>${fasterxml.jackson.databind.version}</version>
629 </dependency>
630 <dependency>
631 <groupId>com.fasterxml.jackson.core</groupId>
632 <artifactId>jackson-annotations</artifactId>
633 <version>${fasterxml.jackson.version}</version>
634 </dependency>
635 <!-- Guava is excluded because of SPARK-6149. The Guava version referenced in this module is
636 15.0, which causes runtime incompatibility issues. -->
637 <dependency>
638 <groupId>com.fasterxml.jackson.module</groupId>
639 <artifactId>jackson-module-scala_${scala.binary.version}</artifactId>
640 <version>${fasterxml.jackson.databind.version}</version>
641 <exclusions>
642 <exclusion>
643 <groupId>com.google.guava</groupId>
644 <artifactId>guava</artifactId>
645 </exclusion>
646 </exclusions>
647 </dependency>
648 <dependency>
649 <groupId>com.fasterxml.jackson.module</groupId>
650 <artifactId>jackson-module-jaxb-annotations</artifactId>
651 <version>${fasterxml.jackson.version}</version>
652 </dependency>
653 <dependency>
654 <groupId>org.glassfish.jersey.core</groupId>
655 <artifactId>jersey-server</artifactId>
656 <version>${jersey.version}</version>
657 </dependency>
658 <dependency>
659 <groupId>org.glassfish.jersey.core</groupId>
660 <artifactId>jersey-common</artifactId>
661 <version>${jersey.version}</version>
662 </dependency>
663 <dependency>
664 <groupId>org.glassfish.jersey.core</groupId>
665 <artifactId>jersey-client</artifactId>
666 <version>${jersey.version}</version>
667 </dependency>
668 <dependency>
669 <groupId>org.glassfish.jersey.containers</groupId>
670 <artifactId>jersey-container-servlet</artifactId>
671 <version>${jersey.version}</version>
672 </dependency>
673 <dependency>
674 <groupId>org.glassfish.jersey.containers</groupId>
675 <artifactId>jersey-container-servlet-core</artifactId>
676 <version>${jersey.version}</version>
677 </dependency>
678 <dependency>
679 <groupId>org.glassfish.jersey</groupId>
680 <artifactId>jersey-client</artifactId>
681 <version>${jersey.version}</version>
682 </dependency>
683 <dependency>
684 <groupId>javax.ws.rs</groupId>
685 <artifactId>javax.ws.rs-api</artifactId>
686 <version>2.0.1</version>
687 </dependency>
688 <dependency>
689 <groupId>org.scalanlp</groupId>
690 <artifactId>breeze_${scala.binary.version}</artifactId>
691 <version>0.13.2</version>
692 <exclusions>
693 <!-- This is included as a compile-scoped dependency by jtransforms, which is
694 a dependency of breeze. -->
695 <exclusion>
696 <groupId>junit</groupId>
697 <artifactId>junit</artifactId>
698 </exclusion>
699 <exclusion>
700 <groupId>org.apache.commons</groupId>
701 <artifactId>commons-math3</artifactId>
702 </exclusion>
703 </exclusions>
704 </dependency>
705 <dependency>
706 <groupId>org.json4s</groupId>
707 <artifactId>json4s-jackson_${scala.binary.version}</artifactId>
708 <version>3.5.3</version>
709 <exclusions>
710 <exclusion>
711 <groupId>com.fasterxml.jackson.core</groupId>
712 <artifactId>*</artifactId>
713 </exclusion>
714 </exclusions>
715 </dependency>
716 <dependency>
717 <groupId>org.scala-lang</groupId>
718 <artifactId>scala-compiler</artifactId>
719 <version>${scala.version}</version>
720 </dependency>
721 <dependency>
722 <groupId>org.scala-lang</groupId>
723 <artifactId>scala-reflect</artifactId>
724 <version>${scala.version}</version>
725 </dependency>
726 <dependency>
727 <groupId>org.scala-lang</groupId>
728 <artifactId>scala-library</artifactId>
729 <version>${scala.version}</version>
730 </dependency>
731 <dependency>
732 <groupId>org.scala-lang</groupId>
733 <artifactId>scala-actors</artifactId>
734 <version>${scala.version}</version>
735 </dependency>
736 <dependency>
737 <groupId>org.scala-lang.modules</groupId>
738 <artifactId>scala-parser-combinators_${scala.binary.version}</artifactId>
739 <version>1.0.4</version>
740 </dependency>
741 <!-- SPARK-16770 affecting Scala 2.11.x -->
742 <dependency>
743 <groupId>jline</groupId>
744 <artifactId>jline</artifactId>
745 <version>2.12.1</version>
746 </dependency>
747 <dependency>
748 <groupId>org.scalatest</groupId>
749 <artifactId>scalatest_${scala.binary.version}</artifactId>
750 <version>3.0.3</version>
751 <scope>test</scope>
752 </dependency>
753 <dependency>
754 <groupId>org.mockito</groupId>
755 <artifactId>mockito-core</artifactId>
756 <version>1.10.19</version>
757 <scope>test</scope>
758 </dependency>
759 <dependency>
760 <groupId>org.scalacheck</groupId>
761 <artifactId>scalacheck_${scala.binary.version}</artifactId>
762 <version>1.13.5</version>
763 <scope>test</scope>
764 </dependency>
765 <dependency>
766 <groupId>junit</groupId>
767 <artifactId>junit</artifactId>
768 <version>4.12</version>
769 <scope>test</scope>
770 </dependency>
771 <dependency>
772 <groupId>org.hamcrest</groupId>
773 <artifactId>hamcrest-core</artifactId>
774 <version>1.3</version>
775 <scope>test</scope>
776 </dependency>
777 <dependency>
778 <groupId>org.hamcrest</groupId>
779 <artifactId>hamcrest-library</artifactId>
780 <version>1.3</version>
781 <scope>test</scope>
782 </dependency>
783 <dependency>
784 <groupId>com.novocode</groupId>
785 <artifactId>junit-interface</artifactId>
786 <version>0.11</version>
787 <scope>test</scope>
788 </dependency>
789 <dependency>
790 <groupId>com.spotify</groupId>
791 <artifactId>docker-client</artifactId>
792 <version>5.0.2</version>
793 <scope>test</scope>
794 <exclusions>
795 <exclusion>
796 <artifactId>guava</artifactId>
797 <groupId>com.google.guava</groupId>
798 </exclusion>
799 <exclusion>
800 <groupId>commons-logging</groupId>
801 <artifactId>commons-logging</artifactId>
802 </exclusion>
803 </exclusions>
804 </dependency>
805 <dependency>
806 <groupId>mysql</groupId>
807 <artifactId>mysql-connector-java</artifactId>
808 <version>5.1.38</version>
809 <scope>test</scope>
810 </dependency>
811 <dependency>
812 <groupId>org.postgresql</groupId>
813 <artifactId>postgresql</artifactId>
814 <version>9.4.1207.jre7</version>
815 <scope>test</scope>
816 </dependency>
817 <dependency>
818 <groupId>org.apache.curator</groupId>
819 <artifactId>curator-recipes</artifactId>
820 <version>${curator.version}</version>
821 <scope>${hadoop.deps.scope}</scope>
822 <exclusions>
823 <exclusion>
824 <groupId>org.jboss.netty</groupId>
825 <artifactId>netty</artifactId>
826 </exclusion>
827 <exclusion>
828 <groupId>jline</groupId>
829 <artifactId>jline</artifactId>
830 </exclusion>
831 </exclusions>
832 </dependency>
833 <dependency>
834 <groupId>org.apache.curator</groupId>
835 <artifactId>curator-client</artifactId>
836 <version>${curator.version}</version>
837 </dependency>
838 <dependency>
839 <groupId>org.apache.curator</groupId>
840 <artifactId>curator-framework</artifactId>
841 <version>${curator.version}</version>
842 </dependency>
843 <dependency>
844 <groupId>org.apache.curator</groupId>
845 <artifactId>curator-test</artifactId>
846 <version>${curator.version}</version>
847 <scope>test</scope>
848 </dependency>
849 <dependency>
850 <groupId>org.apache.hadoop</groupId>
851 <artifactId>hadoop-client</artifactId>
852 <version>${hadoop.version}</version>
853 <scope>${hadoop.deps.scope}</scope>
854 <exclusions>
855 <exclusion>
856 <groupId>asm</groupId>
857 <artifactId>asm</artifactId>
858 </exclusion>
859 <exclusion>
860 <groupId>org.codehaus.jackson</groupId>
861 <artifactId>jackson-mapper-asl</artifactId>
862 </exclusion>
863 <exclusion>
864 <groupId>org.ow2.asm</groupId>
865 <artifactId>asm</artifactId>
866 </exclusion>
867 <exclusion>
868 <groupId>org.jboss.netty</groupId>
869 <artifactId>netty</artifactId>
870 </exclusion>
871 <exclusion>
872 <groupId>commons-logging</groupId>
873 <artifactId>commons-logging</artifactId>
874 </exclusion>
875 <exclusion>
876 <groupId>org.mockito</groupId>
877 <artifactId>mockito-all</artifactId>
878 </exclusion>
879 <exclusion>
880 <groupId>org.mortbay.jetty</groupId>
881 <artifactId>servlet-api-2.5</artifactId>
882 </exclusion>
883 <exclusion>
884 <groupId>javax.servlet</groupId>
885 <artifactId>servlet-api</artifactId>
886 </exclusion>
887 <exclusion>
888 <groupId>junit</groupId>
889 <artifactId>junit</artifactId>
890 </exclusion>
891 <exclusion>
892 <groupId>com.sun.jersey</groupId>
893 <artifactId>*</artifactId>
894 </exclusion>
895 <exclusion>
896 <groupId>com.sun.jersey.jersey-test-framework</groupId>
897 <artifactId>*</artifactId>
898 </exclusion>
899 <exclusion>
900 <groupId>com.sun.jersey.contribs</groupId>
901 <artifactId>*</artifactId>
902 </exclusion>
903 </exclusions>
904 </dependency>
905 <dependency>
906 <groupId>org.apache.avro</groupId>
907 <artifactId>avro</artifactId>
908 <version>${avro.version}</version>
909 <scope>${hadoop.deps.scope}</scope>
910 </dependency>
911 <dependency>
912 <groupId>org.apache.avro</groupId>
913 <artifactId>avro-ipc</artifactId>
914 <version>${avro.version}</version>
915 <scope>${hadoop.deps.scope}</scope>
916 <exclusions>
917 <exclusion>
918 <groupId>io.netty</groupId>
919 <artifactId>netty</artifactId>
920 </exclusion>
921 <exclusion>
922 <groupId>org.mortbay.jetty</groupId>
923 <artifactId>jetty</artifactId>
924 </exclusion>
925 <exclusion>
926 <groupId>org.mortbay.jetty</groupId>
927 <artifactId>jetty-util</artifactId>
928 </exclusion>
929 <exclusion>
930 <groupId>org.mortbay.jetty</groupId>
931 <artifactId>servlet-api</artifactId>
932 </exclusion>
933 <exclusion>
934 <groupId>org.apache.velocity</groupId>
935 <artifactId>velocity</artifactId>
936 </exclusion>
937 </exclusions>
938 </dependency>
939 <!-- avro-mapred for some reason depends on avro-ipc's test jar, so undo that. -->
940 <dependency>
941 <groupId>org.apache.avro</groupId>
942 <artifactId>avro-ipc</artifactId>
943 <classifier>tests</classifier>
944 <version>${avro.version}</version>
945 <scope>test</scope>
946 </dependency>
947 <dependency>
948 <groupId>org.apache.avro</groupId>
949 <artifactId>avro-mapred</artifactId>
950 <version>${avro.version}</version>
951 <classifier>${avro.mapred.classifier}</classifier>
952 <scope>${hive.deps.scope}</scope>
953 <exclusions>
954 <exclusion>
955 <groupId>io.netty</groupId>
956 <artifactId>netty</artifactId>
957 </exclusion>
958 <exclusion>
959 <groupId>org.mortbay.jetty</groupId>
960 <artifactId>jetty</artifactId>
961 </exclusion>
962 <exclusion>
963 <groupId>org.mortbay.jetty</groupId>
964 <artifactId>jetty-util</artifactId>
965 </exclusion>
966 <exclusion>
967 <groupId>org.mortbay.jetty</groupId>
968 <artifactId>servlet-api</artifactId>
969 </exclusion>
970 <exclusion>
971 <groupId>org.apache.velocity</groupId>
972 <artifactId>velocity</artifactId>
973 </exclusion>
974 </exclusions>
975 </dependency>
976 <!-- See SPARK-1556 for info on this dependency: -->
977 <dependency>
978 <groupId>net.java.dev.jets3t</groupId>
979 <artifactId>jets3t</artifactId>
980 <version>${jets3t.version}</version>
981 <scope>${hadoop.deps.scope}</scope>
982 <exclusions>
983 <exclusion>
984 <groupId>commons-logging</groupId>
985 <artifactId>commons-logging</artifactId>
986 </exclusion>
987 </exclusions>
988 </dependency>
989 <dependency>
990 <groupId>org.bouncycastle</groupId>
991 <artifactId>bcprov-jdk15on</artifactId>
992 <!-- brought in by jets3t; see SPARK-22634 -->
993 <version>1.58</version>
994 </dependency>
995 <dependency>
996 <groupId>org.apache.hadoop</groupId>
997 <artifactId>hadoop-yarn-api</artifactId>
998 <version>${yarn.version}</version>
999 <scope>${hadoop.deps.scope}</scope>
1000 <exclusions>
1001 <exclusion>
1002 <groupId>javax.servlet</groupId>
1003 <artifactId>servlet-api</artifactId>
1004 </exclusion>
1005 <exclusion>
1006 <groupId>asm</groupId>
1007 <artifactId>asm</artifactId>
1008 </exclusion>
1009 <exclusion>
1010 <groupId>org.ow2.asm</groupId>
1011 <artifactId>asm</artifactId>
1012 </exclusion>
1013 <exclusion>
1014 <groupId>org.jboss.netty</groupId>
1015 <artifactId>netty</artifactId>
1016 </exclusion>
1017 <exclusion>
1018 <groupId>commons-logging</groupId>
1019 <artifactId>commons-logging</artifactId>
1020 </exclusion>
1021 <exclusion>
1022 <groupId>com.sun.jersey</groupId>
1023 <artifactId>*</artifactId>
1024 </exclusion>
1025 <exclusion>
1026 <groupId>com.sun.jersey.jersey-test-framework</groupId>
1027 <artifactId>*</artifactId>
1028 </exclusion>
1029 <exclusion>
1030 <groupId>com.sun.jersey.contribs</groupId>
1031 <artifactId>*</artifactId>
1032 </exclusion>
1033 </exclusions>
1034 </dependency>
1035 <dependency>
1036 <groupId>org.apache.hadoop</groupId>
1037 <artifactId>hadoop-yarn-common</artifactId>
1038 <version>${yarn.version}</version>
1039 <scope>${hadoop.deps.scope}</scope>
1040 <exclusions>
1041 <exclusion>
1042 <groupId>asm</groupId>
1043 <artifactId>asm</artifactId>
1044 </exclusion>
1045 <exclusion>
1046 <groupId>org.ow2.asm</groupId>
1047 <artifactId>asm</artifactId>
1048 </exclusion>
1049 <exclusion>
1050 <groupId>org.jboss.netty</groupId>
1051 <artifactId>netty</artifactId>
1052 </exclusion>
1053 <exclusion>
1054 <groupId>javax.servlet</groupId>
1055 <artifactId>servlet-api</artifactId>
1056 </exclusion>
1057 <exclusion>
1058 <groupId>commons-logging</groupId>
1059 <artifactId>commons-logging</artifactId>
1060 </exclusion>
1061 <exclusion>
1062 <groupId>com.sun.jersey</groupId>
1063 <artifactId>*</artifactId>
1064 </exclusion>
1065 <exclusion>
1066 <groupId>com.sun.jersey.jersey-test-framework</groupId>
1067 <artifactId>*</artifactId>
1068 </exclusion>
1069 <exclusion>
1070 <groupId>com.sun.jersey.contribs</groupId>
1071 <artifactId>*</artifactId>
1072 </exclusion>
1073 </exclusions>
1074 </dependency>
1075 <dependency>
1076 <groupId>org.apache.hadoop</groupId>
1077 <artifactId>hadoop-yarn-server-tests</artifactId>
1078 <version>${yarn.version}</version>
1079 <classifier>tests</classifier>
1080 <scope>test</scope>
1081 <exclusions>
1082 <exclusion>
1083 <groupId>asm</groupId>
1084 <artifactId>asm</artifactId>
1085 </exclusion>
1086 <exclusion>
1087 <groupId>org.ow2.asm</groupId>
1088 <artifactId>asm</artifactId>
1089 </exclusion>
1090 <exclusion>
1091 <groupId>org.jboss.netty</groupId>
1092 <artifactId>netty</artifactId>
1093 </exclusion>
1094 <exclusion>
1095 <groupId>javax.servlet</groupId>
1096 <artifactId>servlet-api</artifactId>
1097 </exclusion>
1098 <exclusion>
1099 <groupId>commons-logging</groupId>
1100 <artifactId>commons-logging</artifactId>
1101 </exclusion>
1102 <exclusion>
1103 <groupId>com.sun.jersey</groupId>
1104 <artifactId>*</artifactId>
1105 </exclusion>
1106 <exclusion>
1107 <groupId>com.sun.jersey.jersey-test-framework</groupId>
1108 <artifactId>*</artifactId>
1109 </exclusion>
1110 <exclusion>
1111 <groupId>com.sun.jersey.contribs</groupId>
1112 <artifactId>*</artifactId>
1113 </exclusion>
1114 </exclusions>
1115 </dependency>
1116 <dependency>
1117 <groupId>org.apache.hadoop</groupId>
1118 <artifactId>hadoop-yarn-server-web-proxy</artifactId>
1119 <version>${yarn.version}</version>
1120 <scope>${hadoop.deps.scope}</scope>
1121 <exclusions>
1122 <exclusion>
1123 <groupId>asm</groupId>
1124 <artifactId>asm</artifactId>
1125 </exclusion>
1126 <exclusion>
1127 <groupId>org.ow2.asm</groupId>
1128 <artifactId>asm</artifactId>
1129 </exclusion>
1130 <exclusion>
1131 <groupId>org.jboss.netty</groupId>
1132 <artifactId>netty</artifactId>
1133 </exclusion>
1134 <exclusion>
1135 <groupId>javax.servlet</groupId>
1136 <artifactId>servlet-api</artifactId>
1137 </exclusion>
1138 <exclusion>
1139 <groupId>commons-logging</groupId>
1140 <artifactId>commons-logging</artifactId>
1141 </exclusion>
1142 <exclusion>
1143 <groupId>com.sun.jersey</groupId>
1144 <artifactId>*</artifactId>
1145 </exclusion>
1146 <exclusion>
1147 <groupId>com.sun.jersey.jersey-test-framework</groupId>
1148 <artifactId>*</artifactId>
1149 </exclusion>
1150 <exclusion>
1151 <groupId>com.sun.jersey.contribs</groupId>
1152 <artifactId>*</artifactId>
1153 </exclusion>
1154 </exclusions>
1155 </dependency>
1156 <dependency>
1157 <groupId>org.apache.hadoop</groupId>
1158 <artifactId>hadoop-yarn-client</artifactId>
1159 <version>${yarn.version}</version>
1160 <scope>${hadoop.deps.scope}</scope>
1161 <exclusions>
1162 <exclusion>
1163 <groupId>asm</groupId>
1164 <artifactId>asm</artifactId>
1165 </exclusion>
1166 <exclusion>
1167 <groupId>org.ow2.asm</groupId>
1168 <artifactId>asm</artifactId>
1169 </exclusion>
1170 <exclusion>
1171 <groupId>org.jboss.netty</groupId>
1172 <artifactId>netty</artifactId>
1173 </exclusion>
1174 <exclusion>
1175 <groupId>javax.servlet</groupId>
1176 <artifactId>servlet-api</artifactId>
1177 </exclusion>
1178 <exclusion>
1179 <groupId>commons-logging</groupId>
1180 <artifactId>commons-logging</artifactId>
1181 </exclusion>
1182 <exclusion>
1183 <groupId>com.sun.jersey</groupId>
1184 <artifactId>*</artifactId>
1185 </exclusion>
1186 <exclusion>
1187 <groupId>com.sun.jersey.jersey-test-framework</groupId>
1188 <artifactId>*</artifactId>
1189 </exclusion>
1190 <exclusion>
1191 <groupId>com.sun.jersey.contribs</groupId>
1192 <artifactId>*</artifactId>
1193 </exclusion>
1194 </exclusions>
1195 </dependency>
1196 <dependency>
1197 <groupId>org.apache.zookeeper</groupId>
1198 <artifactId>zookeeper</artifactId>
1199 <version>${zookeeper.version}</version>
1200 <scope>${hadoop.deps.scope}</scope>
1201 <exclusions>
1202 <exclusion>
1203 <groupId>org.jboss.netty</groupId>
1204 <artifactId>netty</artifactId>
1205 </exclusion>
1206 <exclusion>
1207 <groupId>jline</groupId>
1208 <artifactId>jline</artifactId>
1209 </exclusion>
1210 </exclusions>
1211 </dependency>
1212 <dependency>
1213 <groupId>org.codehaus.jackson</groupId>
1214 <artifactId>jackson-core-asl</artifactId>
1215 <version>${codehaus.jackson.version}</version>
1216 <scope>${hadoop.deps.scope}</scope>
1217 </dependency>
1218 <dependency>
1219 <groupId>org.codehaus.jackson</groupId>
1220 <artifactId>jackson-mapper-asl</artifactId>
1221 <version>${codehaus.jackson.version}</version>
1222 <scope>${hadoop.deps.scope}</scope>
1223 </dependency>
1224 <dependency>
1225 <groupId>org.codehaus.jackson</groupId>
1226 <artifactId>jackson-xc</artifactId>
1227 <version>${codehaus.jackson.version}</version>
1228 </dependency>
1229 <dependency>
1230 <groupId>org.codehaus.jackson</groupId>
1231 <artifactId>jackson-jaxrs</artifactId>
1232 <version>${codehaus.jackson.version}</version>
1233 </dependency>
1234 <dependency>
1235 <groupId>${hive.group}</groupId>
1236 <artifactId>hive-beeline</artifactId>
1237 <version>${hive.version}</version>
1238 <scope>${hive.deps.scope}</scope>
1239 <exclusions>
1240 <exclusion>
1241 <groupId>${hive.group}</groupId>
1242 <artifactId>hive-common</artifactId>
1243 </exclusion>
1244 <exclusion>
1245 <groupId>${hive.group}</groupId>
1246 <artifactId>hive-exec</artifactId>
1247 </exclusion>
1248 <exclusion>
1249 <groupId>${hive.group}</groupId>
1250 <artifactId>hive-jdbc</artifactId>
1251 </exclusion>
1252 <exclusion>
1253 <groupId>${hive.group}</groupId>
1254 <artifactId>hive-metastore</artifactId>
1255 </exclusion>
1256 <exclusion>
1257 <groupId>${hive.group}</groupId>
1258 <artifactId>hive-service</artifactId>
1259 </exclusion>
1260 <exclusion>
1261 <groupId>${hive.group}</groupId>
1262 <artifactId>hive-shims</artifactId>
1263 </exclusion>
1264 <exclusion>
1265 <groupId>org.apache.thrift</groupId>
1266 <artifactId>libthrift</artifactId>
1267 </exclusion>
1268 <exclusion>
1269 <groupId>org.slf4j</groupId>
1270 <artifactId>slf4j-api</artifactId>
1271 </exclusion>
1272 <exclusion>
1273 <groupId>org.slf4j</groupId>
1274 <artifactId>slf4j-log4j12</artifactId>
1275 </exclusion>
1276 <exclusion>
1277 <groupId>log4j</groupId>
1278 <artifactId>log4j</artifactId>
1279 </exclusion>
1280 <exclusion>
1281 <groupId>commons-logging</groupId>
1282 <artifactId>commons-logging</artifactId>
1283 </exclusion>
1284 </exclusions>
1285 </dependency>
1286 <dependency>
1287 <groupId>${hive.group}</groupId>
1288 <artifactId>hive-cli</artifactId>
1289 <version>${hive.version}</version>
1290 <scope>${hive.deps.scope}</scope>
1291 <exclusions>
1292 <exclusion>
1293 <groupId>${hive.group}</groupId>
1294 <artifactId>hive-common</artifactId>
1295 </exclusion>
1296 <exclusion>
1297 <groupId>${hive.group}</groupId>
1298 <artifactId>hive-exec</artifactId>
1299 </exclusion>
1300 <exclusion>
1301 <groupId>${hive.group}</groupId>
1302 <artifactId>hive-jdbc</artifactId>
1303 </exclusion>
1304 <exclusion>
1305 <groupId>${hive.group}</groupId>
1306 <artifactId>hive-metastore</artifactId>
1307 </exclusion>
1308 <exclusion>
1309 <groupId>${hive.group}</groupId>
1310 <artifactId>hive-serde</artifactId>
1311 </exclusion>
1312 <exclusion>
1313 <groupId>${hive.group}</groupId>
1314 <artifactId>hive-service</artifactId>
1315 </exclusion>
1316 <exclusion>
1317 <groupId>${hive.group}</groupId>
1318 <artifactId>hive-shims</artifactId>
1319 </exclusion>
1320 <exclusion>
1321 <groupId>org.apache.thrift</groupId>
1322 <artifactId>libthrift</artifactId>
1323 </exclusion>
1324 <exclusion>
1325 <groupId>org.slf4j</groupId>
1326 <artifactId>slf4j-api</artifactId>
1327 </exclusion>
1328 <exclusion>
1329 <groupId>org.slf4j</groupId>
1330 <artifactId>slf4j-log4j12</artifactId>
1331 </exclusion>
1332 <exclusion>
1333 <groupId>log4j</groupId>
1334 <artifactId>log4j</artifactId>
1335 </exclusion>
1336 <exclusion>
1337 <groupId>commons-logging</groupId>
1338 <artifactId>commons-logging</artifactId>
1339 </exclusion>
1340 </exclusions>
1341 </dependency>
1342 <dependency>
1343 <groupId>${hive.group}</groupId>
1344 <artifactId>hive-common</artifactId>
1345 <version>${hive.version}</version>
1346 <scope>${hive.deps.scope}</scope>
1347 <exclusions>
1348 <exclusion>
1349 <groupId>${hive.group}</groupId>
1350 <artifactId>hive-shims</artifactId>
1351 </exclusion>
1352 <exclusion>
1353 <groupId>org.apache.ant</groupId>
1354 <artifactId>ant</artifactId>
1355 </exclusion>
1356 <exclusion>
1357 <groupId>org.apache.zookeeper</groupId>
1358 <artifactId>zookeeper</artifactId>
1359 </exclusion>
1360 <exclusion>
1361 <groupId>org.slf4j</groupId>
1362 <artifactId>slf4j-api</artifactId>
1363 </exclusion>
1364 <exclusion>
1365 <groupId>org.slf4j</groupId>
1366 <artifactId>slf4j-log4j12</artifactId>
1367 </exclusion>
1368 <exclusion>
1369 <groupId>log4j</groupId>
1370 <artifactId>log4j</artifactId>
1371 </exclusion>
1372 <exclusion>
1373 <groupId>commons-logging</groupId>
1374 <artifactId>commons-logging</artifactId>
1375 </exclusion>
1376 </exclusions>
1377 </dependency>
1378
1379 <dependency>
1380 <groupId>${hive.group}</groupId>
1381 <artifactId>hive-exec</artifactId>
1382 <!--
1383 <classifier>core</classifier>
1384 -->
1385 <version>${hive.version}</version>
1386 <scope>${hive.deps.scope}</scope>
1387 <exclusions>
1388
1389 <!-- pull this in when needed; the explicit definition culls the surplis-->
1390 <exclusion>
1391 <groupId>${hive.group}</groupId>
1392 <artifactId>hive-metastore</artifactId>
1393 </exclusion>
1394 <exclusion>
1395 <groupId>${hive.group}</groupId>
1396 <artifactId>hive-shims</artifactId>
1397 </exclusion>
1398 <exclusion>
1399 <groupId>${hive.group}</groupId>
1400 <artifactId>hive-ant</artifactId>
1401 </exclusion>
1402 <!-- break the loop -->
1403 <exclusion>
1404 <groupId>${hive.group}</groupId>
1405 <artifactId>spark-client</artifactId>
1406 </exclusion>
1407
1408 <!-- excluded dependencies & transitive.
1409 Some may be needed to be explicitly included-->
1410 <exclusion>
1411 <groupId>ant</groupId>
1412 <artifactId>ant</artifactId>
1413 </exclusion>
1414 <exclusion>
1415 <groupId>org.apache.ant</groupId>
1416 <artifactId>ant</artifactId>
1417 </exclusion>
1418 <exclusion>
1419 <groupId>com.esotericsoftware.kryo</groupId>
1420 <artifactId>kryo</artifactId>
1421 </exclusion>
1422 <exclusion>
1423 <groupId>commons-codec</groupId>
1424 <artifactId>commons-codec</artifactId>
1425 </exclusion>
1426 <exclusion>
1427 <groupId>commons-httpclient</groupId>
1428 <artifactId>commons-httpclient</artifactId>
1429 </exclusion>
1430 <exclusion>
1431 <groupId>org.apache.avro</groupId>
1432 <artifactId>avro-mapred</artifactId>
1433 </exclusion>
1434 <!-- this is needed and must be explicitly included later-->
1435 <exclusion>
1436 <groupId>org.apache.calcite</groupId>
1437 <artifactId>calcite-core</artifactId>
1438 </exclusion>
1439 <exclusion>
1440 <groupId>org.apache.curator</groupId>
1441 <artifactId>apache-curator</artifactId>
1442 </exclusion>
1443 <exclusion>
1444 <groupId>org.apache.curator</groupId>
1445 <artifactId>curator-client</artifactId>
1446 </exclusion>
1447 <exclusion>
1448 <groupId>org.apache.curator</groupId>
1449 <artifactId>curator-framework</artifactId>
1450 </exclusion>
1451 <exclusion>
1452 <groupId>org.apache.thrift</groupId>
1453 <artifactId>libthrift</artifactId>
1454 </exclusion>
1455 <exclusion>
1456 <groupId>org.apache.thrift</groupId>
1457 <artifactId>libfb303</artifactId>
1458 </exclusion>
1459 <exclusion>
1460 <groupId>org.apache.zookeeper</groupId>
1461 <artifactId>zookeeper</artifactId>
1462 </exclusion>
1463 <exclusion>
1464 <groupId>org.slf4j</groupId>
1465 <artifactId>slf4j-api</artifactId>
1466 </exclusion>
1467 <exclusion>
1468 <groupId>org.slf4j</groupId>
1469 <artifactId>slf4j-log4j12</artifactId>
1470 </exclusion>
1471 <exclusion>
1472 <groupId>log4j</groupId>
1473 <artifactId>log4j</artifactId>
1474 </exclusion>
1475 <exclusion>
1476 <groupId>commons-logging</groupId>
1477 <artifactId>commons-logging</artifactId>
1478 </exclusion>
1479 <exclusion>
1480 <groupId>org.codehaus.groovy</groupId>
1481 <artifactId>groovy-all</artifactId>
1482 </exclusion>
1483 <exclusion>
1484 <groupId>jline</groupId>
1485 <artifactId>jline</artifactId>
1486 </exclusion>
1487 <!-- Cat X license now; see SPARK-18262 -->
1488 <exclusion>
1489 <groupId>org.json</groupId>
1490 <artifactId>json</artifactId>
1491 </exclusion>
1492 </exclusions>
1493 </dependency>
1494 <dependency>
1495 <groupId>${hive.group}</groupId>
1496 <artifactId>hive-jdbc</artifactId>
1497 <version>${hive.version}</version>
1498 <exclusions>
1499 <exclusion>
1500 <groupId>${hive.group}</groupId>
1501 <artifactId>hive-common</artifactId>
1502 </exclusion>
1503 <exclusion>
1504 <groupId>${hive.group}</groupId>
1505 <artifactId>hive-common</artifactId>
1506 </exclusion>
1507 <exclusion>
1508 <groupId>${hive.group}</groupId>
1509 <artifactId>hive-metastore</artifactId>
1510 </exclusion>
1511 <exclusion>
1512 <groupId>${hive.group}</groupId>
1513 <artifactId>hive-serde</artifactId>
1514 </exclusion>
1515 <exclusion>
1516 <groupId>${hive.group}</groupId>
1517 <artifactId>hive-service</artifactId>
1518 </exclusion>
1519 <exclusion>
1520 <groupId>${hive.group}</groupId>
1521 <artifactId>hive-shims</artifactId>
1522 </exclusion>
1523 <exclusion>
1524 <groupId>org.apache.curator</groupId>
1525 <artifactId>curator-framework</artifactId>
1526 </exclusion>
1527 <exclusion>
1528 <groupId>org.apache.thrift</groupId>
1529 <artifactId>libthrift</artifactId>
1530 </exclusion>
1531 <exclusion>
1532 <groupId>org.apache.thrift</groupId>
1533 <artifactId>libfb303</artifactId>
1534 </exclusion>
1535 <exclusion>
1536 <groupId>org.apache.zookeeper</groupId>
1537 <artifactId>zookeeper</artifactId>
1538 </exclusion>
1539 <exclusion>
1540 <groupId>org.slf4j</groupId>
1541 <artifactId>slf4j-api</artifactId>
1542 </exclusion>
1543 <exclusion>
1544 <groupId>org.slf4j</groupId>
1545 <artifactId>slf4j-log4j12</artifactId>
1546 </exclusion>
1547 <exclusion>
1548 <groupId>log4j</groupId>
1549 <artifactId>log4j</artifactId>
1550 </exclusion>
1551 <exclusion>
1552 <groupId>commons-logging</groupId>
1553 <artifactId>commons-logging</artifactId>
1554 </exclusion>
1555 <exclusion>
1556 <groupId>org.codehaus.groovy</groupId>
1557 <artifactId>groovy-all</artifactId>
1558 </exclusion>
1559 </exclusions>
1560 </dependency>
1561
1562 <dependency>
1563 <groupId>${hive.group}</groupId>
1564 <artifactId>hive-metastore</artifactId>
1565 <version>${hive.version}</version>
1566 <scope>${hive.deps.scope}</scope>
1567 <exclusions>
1568 <exclusion>
1569 <groupId>${hive.group}</groupId>
1570 <artifactId>hive-serde</artifactId>
1571 </exclusion>
1572 <exclusion>
1573 <groupId>${hive.group}</groupId>
1574 <artifactId>hive-shims</artifactId>
1575 </exclusion>
1576 <exclusion>
1577 <groupId>org.apache.thrift</groupId>
1578 <artifactId>libfb303</artifactId>
1579 </exclusion>
1580 <exclusion>
1581 <groupId>org.apache.thrift</groupId>
1582 <artifactId>libthrift</artifactId>
1583 </exclusion>
1584 <exclusion>
1585 <groupId>org.mortbay.jetty</groupId>
1586 <artifactId>servlet-api</artifactId>
1587 </exclusion>
1588 <exclusion>
1589 <groupId>com.google.guava</groupId>
1590 <artifactId>guava</artifactId>
1591 </exclusion>
1592 <exclusion>
1593 <groupId>org.slf4j</groupId>
1594 <artifactId>slf4j-api</artifactId>
1595 </exclusion>
1596 <exclusion>
1597 <groupId>org.slf4j</groupId>
1598 <artifactId>slf4j-log4j12</artifactId>
1599 </exclusion>
1600 </exclusions>
1601 </dependency>
1602
1603 <dependency>
1604 <groupId>${hive.group}</groupId>
1605 <artifactId>hive-serde</artifactId>
1606 <version>${hive.version}</version>
1607 <scope>${hive.deps.scope}</scope>
1608 <exclusions>
1609 <exclusion>
1610 <groupId>${hive.group}</groupId>
1611 <artifactId>hive-common</artifactId>
1612 </exclusion>
1613 <exclusion>
1614 <groupId>${hive.group}</groupId>
1615 <artifactId>hive-shims</artifactId>
1616 </exclusion>
1617 <exclusion>
1618 <groupId>commons-codec</groupId>
1619 <artifactId>commons-codec</artifactId>
1620 </exclusion>
1621 <exclusion>
1622 <groupId>com.google.code.findbugs</groupId>
1623 <artifactId>jsr305</artifactId>
1624 </exclusion>
1625 <exclusion>
1626 <groupId>org.apache.avro</groupId>
1627 <artifactId>avro</artifactId>
1628 </exclusion>
1629 <exclusion>
1630 <groupId>org.apache.thrift</groupId>
1631 <artifactId>libthrift</artifactId>
1632 </exclusion>
1633 <exclusion>
1634 <groupId>org.apache.thrift</groupId>
1635 <artifactId>libfb303</artifactId>
1636 </exclusion>
1637 <exclusion>
1638 <groupId>org.slf4j</groupId>
1639 <artifactId>slf4j-api</artifactId>
1640 </exclusion>
1641 <exclusion>
1642 <groupId>org.slf4j</groupId>
1643 <artifactId>slf4j-log4j12</artifactId>
1644 </exclusion>
1645 <exclusion>
1646 <groupId>log4j</groupId>
1647 <artifactId>log4j</artifactId>
1648 </exclusion>
1649 <exclusion>
1650 <groupId>commons-logging</groupId>
1651 <artifactId>commons-logging</artifactId>
1652 </exclusion>
1653 <exclusion>
1654 <groupId>org.codehaus.groovy</groupId>
1655 <artifactId>groovy-all</artifactId>
1656 </exclusion>
1657 </exclusions>
1658 </dependency>
1659
1660 <dependency>
1661 <groupId>net.sf.jpam</groupId>
1662 <artifactId>jpam</artifactId>
1663 <scope>${hive.deps.scope}</scope>
1664 <version>${jpam.version}</version>
1665 <exclusions>
1666 <exclusion>
1667 <groupId>javax.servlet</groupId>
1668 <artifactId>servlet-api</artifactId>
1669 </exclusion>
1670 </exclusions>
1671 </dependency>
1672
1673 <!-- hive shims pulls in hive 0.23 and a transitive dependency of the Hadoop version
1674 Hive was built against. This dependency cuts out the YARN/hadoop dependency, which
1675 is needed by Hive to submit work to a YARN cluster.-->
1676 <dependency>
1677 <groupId>${hive.group}</groupId>
1678 <artifactId>hive-shims</artifactId>
1679 <version>${hive.version}</version>
1680 <scope>${hive.deps.scope}</scope>
1681 <exclusions>
1682 <exclusion>
1683 <groupId>com.google.guava</groupId>
1684 <artifactId>guava</artifactId>
1685 </exclusion>
1686 <exclusion>
1687 <groupId>org.apache.hadoop</groupId>
1688 <artifactId>hadoop-yarn-server-resourcemanager</artifactId>
1689 </exclusion>
1690 <exclusion>
1691 <groupId>org.apache.curator</groupId>
1692 <artifactId>curator-framework</artifactId>
1693 </exclusion>
1694 <exclusion>
1695 <groupId>org.apache.thrift</groupId>
1696 <artifactId>libthrift</artifactId>
1697 </exclusion>
1698 <exclusion>
1699 <groupId>org.apache.zookeeper</groupId>
1700 <artifactId>zookeeper</artifactId>
1701 </exclusion>
1702 <exclusion>
1703 <groupId>org.slf4j</groupId>
1704 <artifactId>slf4j-api</artifactId>
1705 </exclusion>
1706 <exclusion>
1707 <groupId>org.slf4j</groupId>
1708 <artifactId>slf4j-log4j12</artifactId>
1709 </exclusion>
1710 <exclusion>
1711 <groupId>log4j</groupId>
1712 <artifactId>log4j</artifactId>
1713 </exclusion>
1714 <exclusion>
1715 <groupId>commons-logging</groupId>
1716 <artifactId>commons-logging</artifactId>
1717 </exclusion>
1718 <exclusion>
1719 <groupId>org.codehaus.groovy</groupId>
1720 <artifactId>groovy-all</artifactId>
1721 </exclusion>
1722 </exclusions>
1723 </dependency>
1724 <dependency>
1725 <groupId>org.apache.orc</groupId>
1726 <artifactId>orc-core</artifactId>
1727 <version>${orc.version}</version>
1728 <classifier>${orc.classifier}</classifier>
1729 <scope>${orc.deps.scope}</scope>
1730 <exclusions>
1731 <exclusion>
1732 <groupId>org.apache.hadoop</groupId>
1733 <artifactId>hadoop-common</artifactId>
1734 </exclusion>
1735 <exclusion>
1736 <groupId>org.apache.hive</groupId>
1737 <artifactId>hive-storage-api</artifactId>
1738 </exclusion>
1739 <exclusion>
1740 <groupId>io.airlift</groupId>
1741 <artifactId>slice</artifactId>
1742 </exclusion>
1743 </exclusions>
1744 </dependency>
1745 <dependency>
1746 <groupId>org.apache.orc</groupId>
1747 <artifactId>orc-mapreduce</artifactId>
1748 <version>${orc.version}</version>
1749 <classifier>${orc.classifier}</classifier>
1750 <scope>${orc.deps.scope}</scope>
1751 <exclusions>
1752 <exclusion>
1753 <groupId>org.apache.hadoop</groupId>
1754 <artifactId>hadoop-common</artifactId>
1755 </exclusion>
1756 <exclusion>
1757 <groupId>org.apache.orc</groupId>
1758 <artifactId>orc-core</artifactId>
1759 </exclusion>
1760 <exclusion>
1761 <groupId>org.apache.hive</groupId>
1762 <artifactId>hive-storage-api</artifactId>
1763 </exclusion>
1764 </exclusions>
1765 </dependency>
1766 <dependency>
1767 <groupId>org.apache.parquet</groupId>
1768 <artifactId>parquet-column</artifactId>
1769 <version>${parquet.version}</version>
1770 <scope>${parquet.deps.scope}</scope>
1771 </dependency>
1772 <dependency>
1773 <groupId>org.apache.parquet</groupId>
1774 <artifactId>parquet-hadoop</artifactId>
1775 <version>${parquet.version}</version>
1776 <scope>${parquet.deps.scope}</scope>
1777 </dependency>
1778 <dependency>
1779 <groupId>org.apache.parquet</groupId>
1780 <artifactId>parquet-avro</artifactId>
1781 <version>${parquet.version}</version>
1782 <scope>${parquet.test.deps.scope}</scope>
1783 </dependency>
1784 <dependency>
1785 <groupId>com.twitter</groupId>
1786 <artifactId>parquet-hadoop-bundle</artifactId>
1787 <version>${hive.parquet.version}</version>
1788 <scope>compile</scope>
1789 </dependency>
1790 <dependency>
1791 <groupId>org.apache.flume</groupId>
1792 <artifactId>flume-ng-core</artifactId>
1793 <version>${flume.version}</version>
1794 <scope>${flume.deps.scope}</scope>
1795 <exclusions>
1796 <exclusion>
1797 <groupId>io.netty</groupId>
1798 <artifactId>netty</artifactId>
1799 </exclusion>
1800 <exclusion>
1801 <groupId>org.apache.flume</groupId>
1802 <artifactId>flume-ng-auth</artifactId>
1803 </exclusion>
1804 <exclusion>
1805 <groupId>org.apache.thrift</groupId>
1806 <artifactId>libthrift</artifactId>
1807 </exclusion>
1808 <exclusion>
1809 <groupId>org.mortbay.jetty</groupId>
1810 <artifactId>servlet-api</artifactId>
1811 </exclusion>
1812 </exclusions>
1813 </dependency>
1814 <dependency>
1815 <groupId>org.apache.flume</groupId>
1816 <artifactId>flume-ng-sdk</artifactId>
1817 <version>${flume.version}</version>
1818 <scope>${flume.deps.scope}</scope>
1819 <exclusions>
1820 <exclusion>
1821 <groupId>io.netty</groupId>
1822 <artifactId>netty</artifactId>
1823 </exclusion>
1824 <exclusion>
1825 <groupId>org.apache.thrift</groupId>
1826 <artifactId>libthrift</artifactId>
1827 </exclusion>
1828 </exclusions>
1829 </dependency>
1830 <dependency>
1831 <groupId>org.apache.calcite</groupId>
1832 <artifactId>calcite-core</artifactId>
1833 <version>${calcite.version}</version>
1834 <exclusions>
1835 <exclusion>
1836 <groupId>com.fasterxml.jackson.core</groupId>
1837 <artifactId>jackson-annotations</artifactId>
1838 </exclusion>
1839 <exclusion>
1840 <groupId>com.fasterxml.jackson.core</groupId>
1841 <artifactId>jackson-core</artifactId>
1842 </exclusion>
1843 <exclusion>
1844 <groupId>com.fasterxml.jackson.core</groupId>
1845 <artifactId>jackson-databind</artifactId>
1846 </exclusion>
1847 <exclusion>
1848 <groupId>com.google.guava</groupId>
1849 <artifactId>guava</artifactId>
1850 </exclusion>
1851 <exclusion>
1852 <groupId>com.google.code.findbugs</groupId>
1853 <artifactId>jsr305</artifactId>
1854 </exclusion>
1855 <exclusion>
1856 <groupId>org.codehaus.janino</groupId>
1857 <artifactId>janino</artifactId>
1858 </exclusion>
1859 <exclusion>
1860 <groupId>org.codehaus.janino</groupId>
1861 <artifactId>commons-compiler</artifactId>
1862 </exclusion>
1863 <!-- hsqldb interferes with the use of derby as the default db
1864 in hive's use of datanucleus.
1865 -->
1866 <exclusion>
1867 <groupId>org.hsqldb</groupId>
1868 <artifactId>hsqldb</artifactId>
1869 </exclusion>
1870 <exclusion>
1871 <groupId>org.pentaho</groupId>
1872 <artifactId>pentaho-aggdesigner-algorithm</artifactId>
1873 </exclusion>
1874 </exclusions>
1875 </dependency>
1876 <dependency>
1877 <groupId>org.apache.calcite</groupId>
1878 <artifactId>calcite-avatica</artifactId>
1879 <version>${calcite.version}</version>
1880 <exclusions>
1881 <exclusion>
1882 <groupId>com.fasterxml.jackson.core</groupId>
1883 <artifactId>jackson-annotations</artifactId>
1884 </exclusion>
1885 <exclusion>
1886 <groupId>com.fasterxml.jackson.core</groupId>
1887 <artifactId>jackson-core</artifactId>
1888 </exclusion>
1889 <exclusion>
1890 <groupId>com.fasterxml.jackson.core</groupId>
1891 <artifactId>jackson-databind</artifactId>
1892 </exclusion>
1893 </exclusions>
1894 </dependency>
1895 <dependency>
1896 <groupId>org.codehaus.janino</groupId>
1897 <artifactId>janino</artifactId>
1898 <version>${janino.version}</version>
1899 </dependency>
1900 <dependency>
1901 <groupId>org.codehaus.janino</groupId>
1902 <artifactId>commons-compiler</artifactId>
1903 <version>${janino.version}</version>
1904 </dependency>
1905 <dependency>
1906 <groupId>joda-time</groupId>
1907 <artifactId>joda-time</artifactId>
1908 <version>${joda.version}</version>
1909 </dependency>
1910 <dependency>
1911 <groupId>org.jodd</groupId>
1912 <artifactId>jodd-core</artifactId>
1913 <version>${jodd.version}</version>
1914 </dependency>
1915 <dependency>
1916 <groupId>org.datanucleus</groupId>
1917 <artifactId>datanucleus-core</artifactId>
1918 <version>${datanucleus-core.version}</version>
1919 </dependency>
1920 <dependency>
1921 <groupId>org.apache.thrift</groupId>
1922 <artifactId>libthrift</artifactId>
1923 <version>${libthrift.version}</version>
1924 <exclusions>
1925 <exclusion>
1926 <groupId>org.slf4j</groupId>
1927 <artifactId>slf4j-api</artifactId>
1928 </exclusion>
1929 </exclusions>
1930 </dependency>
1931 <dependency>
1932 <groupId>org.apache.thrift</groupId>
1933 <artifactId>libfb303</artifactId>
1934 <version>${libthrift.version}</version>
1935 <exclusions>
1936 <exclusion>
1937 <groupId>org.slf4j</groupId>
1938 <artifactId>slf4j-api</artifactId>
1939 </exclusion>
1940 </exclusions>
1941 </dependency>
1942 <dependency>
1943 <groupId>org.antlr</groupId>
1944 <artifactId>antlr4-runtime</artifactId>
1945 <version>${antlr4.version}</version>
1946 </dependency>
1947 <dependency>
1948 <groupId>org.apache.commons</groupId>
1949 <artifactId>commons-crypto</artifactId>
1950 <version>${commons-crypto.version}</version>
1951 <exclusions>
1952 <exclusion>
1953 <groupId>net.java.dev.jna</groupId>
1954 <artifactId>jna</artifactId>
1955 </exclusion>
1956 </exclusions>
1957 </dependency>
1958 <dependency>
1959 <groupId>com.thoughtworks.paranamer</groupId>
1960 <artifactId>paranamer</artifactId>
1961 <version>${paranamer.version}</version>
1962 </dependency>
1963 <dependency>
1964 <groupId>org.apache.arrow</groupId>
1965 <artifactId>arrow-vector</artifactId>
1966 <version>${arrow.version}</version>
1967 <exclusions>
1968 <exclusion>
1969 <groupId>com.fasterxml.jackson.core</groupId>
1970 <artifactId>jackson-annotations</artifactId>
1971 </exclusion>
1972 <exclusion>
1973 <groupId>com.fasterxml.jackson.core</groupId>
1974 <artifactId>jackson-databind</artifactId>
1975 </exclusion>
1976 <exclusion>
1977 <groupId>io.netty</groupId>
1978 <artifactId>netty-buffer</artifactId>
1979 </exclusion>
1980 <exclusion>
1981 <groupId>io.netty</groupId>
1982 <artifactId>netty-common</artifactId>
1983 </exclusion>
1984 <exclusion>
1985 <groupId>io.netty</groupId>
1986 <artifactId>netty-handler</artifactId>
1987 </exclusion>
1988 </exclusions>
1989 </dependency>
1990 </dependencies>
1991 </dependencyManagement>
1992
1993 <build>
1994 <pluginManagement>
1995 <plugins>
1996 <plugin>
1997 <groupId>org.apache.maven.plugins</groupId>
1998 <artifactId>maven-enforcer-plugin</artifactId>
1999 <version>3.0.0-M1</version>
2000 <executions>
2001 <execution>
2002 <id>enforce-versions</id>
2003 <goals>
2004 <goal>enforce</goal>
2005 </goals>
2006 <configuration>
2007 <rules>
2008 <requireMavenVersion>
2009 <version>${maven.version}</version>
2010 </requireMavenVersion>
2011 <requireJavaVersion>
2012 <version>${java.version}</version>
2013 </requireJavaVersion>
2014 <bannedDependencies>
2015 <excludes>
2016 <!--
2017 Akka depends on io.netty:netty, which puts classes under the org.jboss.netty
2018 package. This conflicts with the classes in org.jboss.netty:netty
2019 artifact, so we have to ban that artifact here. In Netty 4.x, the classes
2020 are under the io.netty package, so it's fine for us to depend on both
2021 io.netty:netty and io.netty:netty-all.
2022 -->
2023 <exclude>org.jboss.netty</exclude>
2024 <exclude>org.codehaus.groovy</exclude>
2025 <exclude>*:*_2.10</exclude>
2026 </excludes>
2027 <searchTransitive>true</searchTransitive>
2028 </bannedDependencies>
2029 </rules>
2030 </configuration>
2031 </execution>
2032 </executions>
2033 </plugin>
2034 <plugin>
2035 <groupId>org.codehaus.mojo</groupId>
2036 <artifactId>build-helper-maven-plugin</artifactId>
2037 <version>3.0.0</version>
2038 </plugin>
2039 <plugin>
2040 <groupId>net.alchim31.maven</groupId>
2041 <artifactId>scala-maven-plugin</artifactId>
2042 <!-- 3.3.1 won't work with zinc; fails to find javac from java.home -->
2043 <version>3.2.2</version>
2044 <executions>
2045 <execution>
2046 <id>eclipse-add-source</id>
2047 <goals>
2048 <goal>add-source</goal>
2049 </goals>
2050 </execution>
2051 <execution>
2052 <id>scala-compile-first</id>
2053 <goals>
2054 <goal>compile</goal>
2055 </goals>
2056 </execution>
2057 <execution>
2058 <id>scala-test-compile-first</id>
2059 <goals>
2060 <goal>testCompile</goal>
2061 </goals>
2062 </execution>
2063 </executions>
2064 <configuration>
2065 <scalaVersion>${scala.version}</scalaVersion>
2066 <recompileMode>incremental</recompileMode>
2067 <useZincServer>true</useZincServer>
2068 <args>
2069 <arg>-unchecked</arg>
2070 <arg>-deprecation</arg>
2071 <arg>-feature</arg>
2072 <arg>-explaintypes</arg>
2073 <arg>-Yno-adapted-args</arg>
2074 </args>
2075 <jvmArgs>
2076 <jvmArg>-Xms1024m</jvmArg>
2077 <jvmArg>-Xmx1024m</jvmArg>
2078 <jvmArg>-XX:ReservedCodeCacheSize=${CodeCacheSize}</jvmArg>
2079 </jvmArgs>
2080 <javacArgs>
2081 <javacArg>-source</javacArg>
2082 <javacArg>${java.version}</javacArg>
2083 <javacArg>-target</javacArg>
2084 <javacArg>${java.version}</javacArg>
2085 <javacArg>-Xlint:all,-serial,-path,-try</javacArg>
2086 </javacArgs>
2087 </configuration>
2088 </plugin>
2089 <plugin>
2090 <groupId>org.apache.maven.plugins</groupId>
2091 <artifactId>maven-compiler-plugin</artifactId>
2092 <version>3.7.0</version>
2093 <configuration>
2094 <source>${java.version}</source>
2095 <target>${java.version}</target>
2096 <skipMain>true</skipMain> <!-- skip compile -->
2097 <skip>true</skip> <!-- skip testCompile -->
2098 </configuration>
2099 </plugin>
2100 <plugin>
2101 <groupId>org.antlr</groupId>
2102 <artifactId>antlr4-maven-plugin</artifactId>
2103 <version>${antlr4.version}</version>
2104 </plugin>
2105 <!-- Surefire runs all Java tests -->
2106 <plugin>
2107 <groupId>org.apache.maven.plugins</groupId>
2108 <artifactId>maven-surefire-plugin</artifactId>
2109 <version>2.20.1</version>
2110 <!-- Note config is repeated in scalatest config -->
2111 <configuration>
2112 <includes>
2113 <include>**/Test*.java</include>
2114 <include>**/*Test.java</include>
2115 <include>**/*TestCase.java</include>
2116 <include>**/*Suite.java</include>
2117 </includes>
2118 <reportsDirectory>${project.build.directory}/surefire-reports</reportsDirectory>
2119 <argLine>-ea -Xmx3g -Xss4m -XX:ReservedCodeCacheSize=${CodeCacheSize}</argLine>
2120 <environmentVariables>
2121 <!--
2122 Setting SPARK_DIST_CLASSPATH is a simple way to make sure any child processes
2123 launched by the tests have access to the correct test-time classpath.
2124 -->
2125 <SPARK_DIST_CLASSPATH>${test_classpath}</SPARK_DIST_CLASSPATH>
2126 <SPARK_PREPEND_CLASSES>1</SPARK_PREPEND_CLASSES>
2127 <SPARK_SCALA_VERSION>${scala.binary.version}</SPARK_SCALA_VERSION>
2128 <SPARK_TESTING>1</SPARK_TESTING>
2129 <JAVA_HOME>${test.java.home}</JAVA_HOME>
2130 </environmentVariables>
2131 <systemProperties>
2132 <log4j.configuration>file:src/test/resources/log4j.properties</log4j.configuration>
2133 <derby.system.durability>test</derby.system.durability>
2134 <java.awt.headless>true</java.awt.headless>
2135 <java.io.tmpdir>${project.build.directory}/tmp</java.io.tmpdir>
2136 <spark.test.home>${spark.test.home}</spark.test.home>
2137 <spark.testing>1</spark.testing>
2138 <spark.master.rest.enabled>false</spark.master.rest.enabled>
2139 <spark.ui.enabled>false</spark.ui.enabled>
2140 <spark.ui.showConsoleProgress>false</spark.ui.showConsoleProgress>
2141 <spark.unsafe.exceptionOnMemoryLeak>true</spark.unsafe.exceptionOnMemoryLeak>
2142 <spark.memory.debugFill>true</spark.memory.debugFill>
2143 <!-- Needed by sql/hive tests. -->
2144 <test.src.tables>src</test.src.tables>
2145 </systemProperties>
2146 <failIfNoTests>false</failIfNoTests>
2147 <excludedGroups>${test.exclude.tags}</excludedGroups>
2148 </configuration>
2149 <executions>
2150 <execution>
2151 <id>test</id>
2152 <goals>
2153 <goal>test</goal>
2154 </goals>
2155 </execution>
2156 </executions>
2157 </plugin>
2158 <!-- Scalatest runs all Scala tests -->
2159 <plugin>
2160 <groupId>org.scalatest</groupId>
2161 <artifactId>scalatest-maven-plugin</artifactId>
2162 <version>1.0</version>
2163 <!-- Note config is repeated in surefire config -->
2164 <configuration>
2165 <reportsDirectory>${project.build.directory}/surefire-reports</reportsDirectory>
2166 <junitxml>.</junitxml>
2167 <filereports>SparkTestSuite.txt</filereports>
2168 <argLine>-ea -Xmx3g -Xss4m -XX:ReservedCodeCacheSize=${CodeCacheSize}</argLine>
2169 <stderr/>
2170 <environmentVariables>
2171 <!--
2172 Setting SPARK_DIST_CLASSPATH is a simple way to make sure any child processes
2173 launched by the tests have access to the correct test-time classpath.
2174 -->
2175 <SPARK_DIST_CLASSPATH>${test_classpath}</SPARK_DIST_CLASSPATH>
2176 <SPARK_PREPEND_CLASSES>1</SPARK_PREPEND_CLASSES>
2177 <SPARK_SCALA_VERSION>${scala.binary.version}</SPARK_SCALA_VERSION>
2178 <SPARK_TESTING>1</SPARK_TESTING>
2179 <JAVA_HOME>${test.java.home}</JAVA_HOME>
2180 </environmentVariables>
2181 <systemProperties>
2182 <log4j.configuration>file:src/test/resources/log4j.properties</log4j.configuration>
2183 <derby.system.durability>test</derby.system.durability>
2184 <java.awt.headless>true</java.awt.headless>
2185 <java.io.tmpdir>${project.build.directory}/tmp</java.io.tmpdir>
2186 <spark.test.home>${spark.test.home}</spark.test.home>
2187 <spark.testing>1</spark.testing>
2188 <spark.ui.enabled>false</spark.ui.enabled>
2189 <spark.ui.showConsoleProgress>false</spark.ui.showConsoleProgress>
2190 <spark.unsafe.exceptionOnMemoryLeak>true</spark.unsafe.exceptionOnMemoryLeak>
2191 <!-- Needed by sql/hive tests. -->
2192 <test.src.tables>__not_used__</test.src.tables>
2193 </systemProperties>
2194 <tagsToExclude>${test.exclude.tags}</tagsToExclude>
2195 </configuration>
2196 <executions>
2197 <execution>
2198 <id>test</id>
2199 <goals>
2200 <goal>test</goal>
2201 </goals>
2202 </execution>
2203 </executions>
2204 </plugin>
2205 <plugin>
2206 <groupId>org.apache.maven.plugins</groupId>
2207 <artifactId>maven-jar-plugin</artifactId>
2208 <version>3.0.2</version>
2209 </plugin>
2210 <plugin>
2211 <groupId>org.apache.maven.plugins</groupId>
2212 <artifactId>maven-antrun-plugin</artifactId>
2213 <version>${maven-antrun.version}</version>
2214 </plugin>
2215 <plugin>
2216 <groupId>org.apache.maven.plugins</groupId>
2217 <artifactId>maven-source-plugin</artifactId>
2218 <version>3.0.1</version>
2219 <configuration>
2220 <attach>true</attach>
2221 </configuration>
2222 <executions>
2223 <execution>
2224 <id>create-source-jar</id>
2225 <goals>
2226 <goal>jar-no-fork</goal>
2227 <goal>test-jar-no-fork</goal>
2228 </goals>
2229 </execution>
2230 </executions>
2231 </plugin>
2232 <plugin>
2233 <groupId>org.apache.maven.plugins</groupId>
2234 <artifactId>maven-clean-plugin</artifactId>
2235 <version>3.0.0</version>
2236 <configuration>
2237 <filesets>
2238 <fileset>
2239 <directory>work</directory>
2240 </fileset>
2241 <fileset>
2242 <directory>checkpoint</directory>
2243 </fileset>
2244 <fileset>
2245 <directory>lib_managed</directory>
2246 </fileset>
2247 </filesets>
2248 </configuration>
2249 </plugin>
2250 <plugin>
2251 <groupId>org.apache.maven.plugins</groupId>
2252 <artifactId>maven-javadoc-plugin</artifactId>
2253 <version>3.0.0-M1</version>
2254 <configuration>
2255 <additionalparam>-Xdoclint:all -Xdoclint:-missing</additionalparam>
2256 <tags>
2257 <tag>
2258 <name>example</name>
2259 <placement>a</placement>
2260 <head>Example:</head>
2261 </tag>
2262 <tag>
2263 <name>note</name>
2264 <placement>a</placement>
2265 <head>Note:</head>
2266 </tag>
2267 <tag>
2268 <name>group</name>
2269 <placement>X</placement>
2270 </tag>
2271 <tag>
2272 <name>tparam</name>
2273 <placement>X</placement>
2274 </tag>
2275 <tag>
2276 <name>constructor</name>
2277 <placement>X</placement>
2278 </tag>
2279 <tag>
2280 <name>todo</name>
2281 <placement>X</placement>
2282 </tag>
2283 <tag>
2284 <name>groupname</name>
2285 <placement>X</placement>
2286 </tag>
2287 </tags>
2288 </configuration>
2289 </plugin>
2290 <plugin>
2291 <groupId>org.codehaus.mojo</groupId>
2292 <artifactId>exec-maven-plugin</artifactId>
2293 <version>1.6.0</version>
2294 </plugin>
2295 <plugin>
2296 <groupId>org.apache.maven.plugins</groupId>
2297 <artifactId>maven-assembly-plugin</artifactId>
2298 <version>3.1.0</version>
2299 <configuration>
2300 <tarLongFileMode>posix</tarLongFileMode>
2301 </configuration>
2302 </plugin>
2303 <plugin>
2304 <groupId>org.apache.maven.plugins</groupId>
2305 <artifactId>maven-shade-plugin</artifactId>
2306 <version>3.1.0</version>
2307 </plugin>
2308 <plugin>
2309 <groupId>org.apache.maven.plugins</groupId>
2310 <artifactId>maven-install-plugin</artifactId>
2311 <version>2.5.2</version>
2312 </plugin>
2313 <plugin>
2314 <groupId>org.apache.maven.plugins</groupId>
2315 <artifactId>maven-deploy-plugin</artifactId>
2316 <version>2.8.2</version>
2317 </plugin>
2318 <plugin>
2319 <groupId>org.apache.maven.plugins</groupId>
2320 <artifactId>maven-dependency-plugin</artifactId>
2321 <version>3.0.2</version>
2322 <executions>
2323 <execution>
2324 <id>default-cli</id>
2325 <goals>
2326 <goal>build-classpath</goal>
2327 </goals>
2328 <configuration>
2329 <!-- This includes dependencies with 'runtime' and 'compile' scopes;
2330 see the docs for includeScope for more details -->
2331 <includeScope>runtime</includeScope>
2332 </configuration>
2333 </execution>
2334 </executions>
2335 </plugin>
2336 <!-- This plugin's configuration is used to store Eclipse m2e settings only. -->
2337 <!-- It has no influence on the Maven build itself. -->
2338 <plugin>
2339 <groupId>org.eclipse.m2e</groupId>
2340 <artifactId>lifecycle-mapping</artifactId>
2341 <version>1.0.0</version>
2342 <configuration>
2343 <lifecycleMappingMetadata>
2344 <pluginExecutions>
2345 <pluginExecution>
2346 <pluginExecutionFilter>
2347 <groupId>org.apache.maven.plugins</groupId>
2348 <artifactId>maven-dependency-plugin</artifactId>
2349 <versionRange>[2.8,)</versionRange>
2350 <goals>
2351 <goal>build-classpath</goal>
2352 </goals>
2353 </pluginExecutionFilter>
2354 <action>
2355 <ignore></ignore>
2356 </action>
2357 </pluginExecution>
2358 <pluginExecution>
2359 <pluginExecutionFilter>
2360 <groupId>org.apache.maven.plugins</groupId>
2361 <artifactId>maven-jar-plugin</artifactId>
2362 <versionRange>[2.6,)</versionRange>
2363 <goals>
2364 <goal>test-jar</goal>
2365 </goals>
2366 </pluginExecutionFilter>
2367 <action>
2368 <ignore></ignore>
2369 </action>
2370 </pluginExecution>
2371 <pluginExecution>
2372 <pluginExecutionFilter>
2373 <groupId>org.apache.maven.plugins</groupId>
2374 <artifactId>maven-antrun-plugin</artifactId>
2375 <versionRange>[${maven-antrun.version},)</versionRange>
2376 <goals>
2377 <goal>run</goal>
2378 </goals>
2379 </pluginExecutionFilter>
2380 <action>
2381 <ignore></ignore>
2382 </action>
2383 </pluginExecution>
2384 </pluginExecutions>
2385 </lifecycleMappingMetadata>
2386 </configuration>
2387 </plugin>
2388 </plugins>
2389 </pluginManagement>
2390
2391 <plugins>
2392 <!-- This plugin dumps the test classpath into a file -->
2393 <plugin>
2394 <groupId>org.apache.maven.plugins</groupId>
2395 <artifactId>maven-dependency-plugin</artifactId>
2396 <executions>
2397 <execution>
2398 <id>generate-test-classpath</id>
2399 <phase>test-compile</phase>
2400 <goals>
2401 <goal>build-classpath</goal>
2402 </goals>
2403 <configuration>
2404 <includeScope>test</includeScope>
2405 <outputProperty>test_classpath</outputProperty>
2406 </configuration>
2407 </execution>
2408 <execution>
2409 <id>copy-module-dependencies</id>
2410 <phase>${build.copyDependenciesPhase}</phase>
2411 <goals>
2412 <goal>copy-dependencies</goal>
2413 </goals>
2414 <configuration>
2415 <includeScope>runtime</includeScope>
2416 <outputDirectory>${jars.target.dir}</outputDirectory>
2417 </configuration>
2418 </execution>
2419 </executions>
2420 </plugin>
2421
2422 <!--
2423 The shade plug-in is used here to create effective pom's (see SPARK-3812), and also
2424 remove references from the shaded libraries from artifacts published by Spark.
2425 -->
2426 <plugin>
2427 <groupId>org.apache.maven.plugins</groupId>
2428 <artifactId>maven-shade-plugin</artifactId>
2429 <configuration>
2430 <shadedArtifactAttached>false</shadedArtifactAttached>
2431 <artifactSet>
2432 <includes>
2433 <include>org.spark-project.spark:unused</include>
2434 <include>org.eclipse.jetty:jetty-io</include>
2435 <include>org.eclipse.jetty:jetty-http</include>
2436 <include>org.eclipse.jetty:jetty-proxy</include>
2437 <include>org.eclipse.jetty:jetty-client</include>
2438 <include>org.eclipse.jetty:jetty-continuation</include>
2439 <include>org.eclipse.jetty:jetty-servlet</include>
2440 <include>org.eclipse.jetty:jetty-servlets</include>
2441 <include>org.eclipse.jetty:jetty-plus</include>
2442 <include>org.eclipse.jetty:jetty-security</include>
2443 <include>org.eclipse.jetty:jetty-util</include>
2444 <include>org.eclipse.jetty:jetty-server</include>
2445 <include>com.google.guava:guava</include>
2446 <include>org.jpmml:*</include>
2447 </includes>
2448 </artifactSet>
2449 <relocations>
2450 <relocation>
2451 <pattern>org.eclipse.jetty</pattern>
2452 <shadedPattern>${spark.shade.packageName}.jetty</shadedPattern>
2453 <includes>
2454 <include>org.eclipse.jetty.**</include>
2455 </includes>
2456 </relocation>
2457 <relocation>
2458 <pattern>com.google.common</pattern>
2459 <shadedPattern>${spark.shade.packageName}.guava</shadedPattern>
2460 </relocation>
2461 <relocation>
2462 <pattern>org.dmg.pmml</pattern>
2463 <shadedPattern>${spark.shade.packageName}.dmg.pmml</shadedPattern>
2464 </relocation>
2465 <relocation>
2466 <pattern>org.jpmml</pattern>
2467 <shadedPattern>${spark.shade.packageName}.jpmml</shadedPattern>
2468 </relocation>
2469 </relocations>
2470 </configuration>
2471 <executions>
2472 <execution>
2473 <phase>package</phase>
2474 <goals>
2475 <goal>shade</goal>
2476 </goals>
2477 </execution>
2478 </executions>
2479 </plugin>
2480 <plugin>
2481 <groupId>org.apache.maven.plugins</groupId>
2482 <artifactId>maven-enforcer-plugin</artifactId>
2483 </plugin>
2484 <plugin>
2485 <groupId>net.alchim31.maven</groupId>
2486 <artifactId>scala-maven-plugin</artifactId>
2487 </plugin>
2488 <plugin>
2489 <groupId>org.apache.maven.plugins</groupId>
2490 <artifactId>maven-source-plugin</artifactId>
2491 </plugin>
2492 <plugin>
2493 <groupId>org.scalastyle</groupId>
2494 <artifactId>scalastyle-maven-plugin</artifactId>
2495 <version>1.0.0</version>
2496 <configuration>
2497 <verbose>false</verbose>
2498 <failOnViolation>true</failOnViolation>
2499 <includeTestSourceDirectory>false</includeTestSourceDirectory>
2500 <failOnWarning>false</failOnWarning>
2501 <sourceDirectory>${basedir}/src/main/scala</sourceDirectory>
2502 <testSourceDirectory>${basedir}/src/test/scala</testSourceDirectory>
2503 <configLocation>scalastyle-config.xml</configLocation>
2504 <outputFile>${basedir}/target/scalastyle-output.xml</outputFile>
2505 <inputEncoding>${project.build.sourceEncoding}</inputEncoding>
2506 <outputEncoding>${project.reporting.outputEncoding}</outputEncoding>
2507 </configuration>
2508 <executions>
2509 <execution>
2510 <goals>
2511 <goal>check</goal>
2512 </goals>
2513 </execution>
2514 </executions>
2515 </plugin>
2516 <plugin>
2517 <groupId>org.apache.maven.plugins</groupId>
2518 <artifactId>maven-checkstyle-plugin</artifactId>
2519 <version>2.17</version>
2520 <configuration>
2521 <failOnViolation>false</failOnViolation>
2522 <includeTestSourceDirectory>true</includeTestSourceDirectory>
2523 <sourceDirectories>${basedir}/src/main/java,${basedir}/src/main/scala</sourceDirectories>
2524 <testSourceDirectory>${basedir}/src/test/java</testSourceDirectory>
2525 <configLocation>dev/checkstyle.xml</configLocation>
2526 <outputFile>${basedir}/target/checkstyle-output.xml</outputFile>
2527 <inputEncoding>${project.build.sourceEncoding}</inputEncoding>
2528 <outputEncoding>${project.reporting.outputEncoding}</outputEncoding>
2529 </configuration>
2530 <dependencies>
2531 <dependency>
2532 <groupId>com.puppycrawl.tools</groupId>
2533 <artifactId>checkstyle</artifactId>
2534 <version>8.2</version>
2535 </dependency>
2536 </dependencies>
2537 <executions>
2538 <execution>
2539 <goals>
2540 <goal>check</goal>
2541 </goals>
2542 </execution>
2543 </executions>
2544 </plugin>
2545
2546 <plugin>
2547 <groupId>org.apache.maven.plugins</groupId>
2548 <artifactId>maven-antrun-plugin</artifactId>
2549 <executions>
2550 <execution>
2551 <id>create-tmp-dir</id>
2552 <phase>generate-test-resources</phase>
2553 <goals>
2554 <goal>run</goal>
2555 </goals>
2556 <configuration>
2557 <target>
2558 <mkdir dir="${project.build.directory}/tmp" />
2559 </target>
2560 </configuration>
2561 </execution>
2562 </executions>
2563 </plugin>
2564
2565 <!-- Enable surefire and scalatest in all children, in one place: -->
2566 <plugin>
2567 <groupId>org.apache.maven.plugins</groupId>
2568 <artifactId>maven-surefire-plugin</artifactId>
2569 </plugin>
2570 <plugin>
2571 <groupId>org.scalatest</groupId>
2572 <artifactId>scalatest-maven-plugin</artifactId>
2573 </plugin>
2574 <!-- Build test-jar's for all projects, since some projects depend on tests from others -->
2575 <plugin>
2576 <groupId>org.apache.maven.plugins</groupId>
2577 <artifactId>maven-jar-plugin</artifactId>
2578 <executions>
2579 <execution>
2580 <id>prepare-test-jar</id>
2581 <phase>${build.testJarPhase}</phase>
2582 <goals>
2583 <goal>test-jar</goal>
2584 </goals>
2585 <configuration>
2586 <excludes>
2587 <exclude>log4j.properties</exclude>
2588 </excludes>
2589 </configuration>
2590 </execution>
2591 </executions>
2592 </plugin>
2593 </plugins>
2594 </build>
2595
2596 <profiles>
2597
2598 <!--
2599 This profile is enabled automatically by the sbt build. It changes the scope for shaded
2600 dependencies, since we don't shade it in the artifacts generated by the sbt build.
2601 -->
2602 <profile>
2603 <id>sbt</id>
2604 <dependencies>
2605 <dependency>
2606 <groupId>com.google.guava</groupId>
2607 <artifactId>guava</artifactId>
2608 <scope>compile</scope>
2609 </dependency>
2610 <dependency>
2611 <groupId>org.jpmml</groupId>
2612 <artifactId>pmml-model</artifactId>
2613 <scope>compile</scope>
2614 </dependency>
2615 </dependencies>
2616 </profile>
2617
2618 <profile>
2619 <id>flume</id>
2620 <modules>
2621 <module>external/flume</module>
2622 <module>external/flume-sink</module>
2623 <module>external/flume-assembly</module>
2624 </modules>
2625 </profile>
2626
2627 <!-- Ganglia integration is not included by default due to LGPL-licensed code -->
2628 <profile>
2629 <id>spark-ganglia-lgpl</id>
2630 <modules>
2631 <module>external/spark-ganglia-lgpl</module>
2632 </modules>
2633 </profile>
2634
2635 <!-- Kinesis integration is not included by default due to ASL-licensed code -->
2636 <profile>
2637 <id>kinesis-asl</id>
2638 <modules>
2639 <module>external/kinesis-asl</module>
2640 <module>external/kinesis-asl-assembly</module>
2641 </modules>
2642 </profile>
2643
2644 <profile>
2645 <id>docker-integration-tests</id>
2646 <modules>
2647 <module>external/docker-integration-tests</module>
2648 </modules>
2649 </profile>
2650
2651 <!-- A series of build profiles where customizations for particular Hadoop releases can be made -->
2652
2653 <!-- Hadoop-a.b.c dependencies can be found at
2654 http://hadoop.apache.org/docs/ra.b.c/hadoop-project-dist/hadoop-common/dependency-analysis.html
2655 -->
2656
2657 <profile>
2658 <id>hadoop-2.6</id>
2659 <!-- Default hadoop profile. Uses global properties. -->
2660 </profile>
2661
2662 <profile>
2663 <id>hadoop-2.7</id>
2664 <properties>
2665 <hadoop.version>2.7.3</hadoop.version>
2666 <curator.version>2.7.1</curator.version>
2667 </properties>
2668 </profile>
2669
2670 <profile>
2671 <id>yarn</id>
2672 <modules>
2673 <module>resource-managers/yarn</module>
2674 <module>common/network-yarn</module>
2675 </modules>
2676 </profile>
2677
2678 <profile>
2679 <id>mesos</id>
2680 <modules>
2681 <module>resource-managers/mesos</module>
2682 </modules>
2683 </profile>
2684
2685 <profile>
2686 <id>kubernetes</id>
2687 <modules>
2688 <module>resource-managers/kubernetes/core</module>
2689 </modules>
2690 </profile>
2691
2692 <profile>
2693 <id>hive-thriftserver</id>
2694 <modules>
2695 <module>sql/hive-thriftserver</module>
2696 </modules>
2697 </profile>
2698
2699 <profile>
2700 <id>hadoop-cloud</id>
2701 <modules>
2702 <module>hadoop-cloud</module>
2703 </modules>
2704 </profile>
2705
2706 <profile>
2707 <id>kafka-0-8</id>
2708 <modules>
2709 <module>external/kafka-0-8</module>
2710 <module>external/kafka-0-8-assembly</module>
2711 </modules>
2712 </profile>
2713
2714 <profile>
2715 <id>test-java-home</id>
2716 <activation>
2717 <property><name>env.JAVA_HOME</name></property>
2718 </activation>
2719 <properties>
2720 <test.java.home>${env.JAVA_HOME}</test.java.home>
2721 </properties>
2722 </profile>
2723
2724 <!-- Exists for backwards compatibility; profile doesn't do anything -->
2725 <profile>
2726 <id>scala-2.11</id>
2727 </profile>
2728
2729 <profile>
2730 <id>scala-2.12</id>
2731 <properties>
2732 <scala.version>2.12.4</scala.version>
2733 <scala.binary.version>2.12</scala.binary.version>
2734 </properties>
2735 <build>
2736 <plugins>
2737 <plugin>
2738 <groupId>org.apache.maven.plugins</groupId>
2739 <artifactId>maven-enforcer-plugin</artifactId>
2740 <executions>
2741 <execution>
2742 <id>enforce-versions</id>
2743 <goals>
2744 <goal>enforce</goal>
2745 </goals>
2746 <configuration>
2747 <rules>
2748 <bannedDependencies>
2749 <excludes combine.children="append">
2750 <exclude>*:*_2.11</exclude>
2751 <exclude>*:*_2.10</exclude>
2752 </excludes>
2753 </bannedDependencies>
2754 </rules>
2755 </configuration>
2756 </execution>
2757 </executions>
2758 </plugin>
2759 </plugins>
2760 </build>
2761 </profile>
2762
2763 <!--
2764 This is a profile to enable the use of the ASF snapshot and staging repositories
2765 during a build. It is useful when testing against nightly or RC releases of dependencies.
2766 It MUST NOT be used when building copies of Spark to use in production of for distribution,
2767 -->
2768 <profile>
2769 <id>snapshots-and-staging</id>
2770 <properties>
2771 <!-- override point for ASF staging/snapshot repos -->
2772 <asf.staging>https://repository.apache.org/content/groups/staging/</asf.staging>
2773 <asf.snapshots>https://repository.apache.org/content/repositories/snapshots/</asf.snapshots>
2774 </properties>
2775
2776 <pluginRepositories>
2777 <pluginRepository>
2778 <id>ASF Staging</id>
2779 <url>${asf.staging}</url>
2780 </pluginRepository>
2781 <pluginRepository>
2782 <id>ASF Snapshots</id>
2783 <url>${asf.snapshots}</url>
2784 <snapshots>
2785 <enabled>true</enabled>
2786 </snapshots>
2787 <releases>
2788 <enabled>false</enabled>
2789 </releases>
2790 </pluginRepository>
2791
2792 </pluginRepositories>
2793 <repositories>
2794 <repository>
2795 <id>ASF Staging</id>
2796 <url>${asf.staging}</url>
2797 </repository>
2798 <repository>
2799 <id>ASF Snapshots</id>
2800 <url>${asf.snapshots}</url>
2801 <snapshots>
2802 <enabled>true</enabled>
2803 </snapshots>
2804 <releases>
2805 <enabled>false</enabled>
2806 </releases>
2807 </repository>
2808 </repositories>
2809 </profile>
2810
2811 <!--
2812 These empty profiles are available in some sub-modules. Declare them here so that
2813 maven does not complain when they're provided on the command line for a sub-module
2814 that does not have them.
2815 -->
2816 <profile>
2817 <id>flume-provided</id>
2818 </profile>
2819 <profile>
2820 <id>hadoop-provided</id>
2821 </profile>
2822 <profile>
2823 <id>hive-provided</id>
2824 </profile>
2825 <profile>
2826 <id>orc-provided</id>
2827 </profile>
2828 <profile>
2829 <id>parquet-provided</id>
2830 </profile>
2831 <profile>
2832 <id>sparkr</id>
2833 </profile>
2834 </profiles>
2835 </project>