pom.xml 38 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135
  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. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  19. <modelVersion>4.0.0</modelVersion>
  20. <groupId>org.apache.livy</groupId>
  21. <artifactId>livy-main</artifactId>
  22. <version>0.8.0-incubating-SNAPSHOT</version>
  23. <packaging>pom</packaging>
  24. <name>Livy Project Parent POM</name>
  25. <description>Livy Project</description>
  26. <url>http://livy.incubating.apache.org/</url>
  27. <parent>
  28. <groupId>org.apache</groupId>
  29. <artifactId>apache</artifactId>
  30. <version>18</version>
  31. </parent>
  32. <licenses>
  33. <license>
  34. <name>The Apache Software License, Version 2.0</name>
  35. <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
  36. <distribution>repo</distribution>
  37. </license>
  38. </licenses>
  39. <scm>
  40. <connection>scm:git:git@github.com:apache/incubator-livy.git</connection>
  41. <developerConnection>scm:git:https://gitbox.apache.org/repos/asf/incubator-livy.git</developerConnection>
  42. <url>scm:git:git@github.com:apache/incubator-livy.git</url>
  43. <tag>HEAD</tag>
  44. </scm>
  45. <issueManagement>
  46. <system>JIRA</system>
  47. <url>https://issues.apache.org/jira/browse/LIVY</url>
  48. </issueManagement>
  49. <mailingLists>
  50. <mailingList>
  51. <name>Dev Mailing List</name>
  52. <post>dev@livy.incubating.apache.org</post>
  53. <subscribe>dev-subscribe@livy.incubating.apache.org</subscribe>
  54. <unsubscribe>dev-unsubscribe@livy.incubating.apache.org</unsubscribe>
  55. </mailingList>
  56. <mailingList>
  57. <name>User Mailing List</name>
  58. <post>user@livy.incubating.apache.org</post>
  59. <subscribe>user-subscribe@livy.incubating.apache.org</subscribe>
  60. <unsubscribe>user-unsubscribe@livy.incubating.apache.org</unsubscribe>
  61. </mailingList>
  62. <mailingList>
  63. <name>Commits Mailing List</name>
  64. <post>commits@livy.incubating.apache.org</post>
  65. <subscribe>commits-subscribe@livy.incubating.apache.org</subscribe>
  66. <unsubscribe>commits-unsubscribe@livy.incubating.apache.org</unsubscribe>
  67. </mailingList>
  68. </mailingLists>
  69. <properties>
  70. <asynchttpclient.version>2.10.1</asynchttpclient.version>
  71. <hadoop.version>2.7.3</hadoop.version>
  72. <hadoop.scope>compile</hadoop.scope>
  73. <spark.scala-2.11.version>2.4.5</spark.scala-2.11.version>
  74. <spark.scala-2.12.version>2.4.5</spark.scala-2.12.version>
  75. <spark.version>${spark.scala-2.11.version}</spark.version>
  76. <hive.version>3.0.0</hive.version>
  77. <commons-codec.version>1.9</commons-codec.version>
  78. <httpclient.version>4.5.3</httpclient.version>
  79. <httpcore.version>4.4.4</httpcore.version>
  80. <jackson.version>2.10.1</jackson.version>
  81. <javax.servlet-api.version>3.1.0</javax.servlet-api.version>
  82. <jetty.version>9.3.24.v20180605</jetty.version>
  83. <json4s.spark-2.11.version>3.5.3</json4s.spark-2.11.version>
  84. <json4s.spark-2.12.version>3.5.3</json4s.spark-2.12.version>
  85. <json4s.version>${json4s.spark-2.11.version}</json4s.version>
  86. <junit.version>4.11</junit.version>
  87. <libthrift.version>0.9.3</libthrift.version>
  88. <kryo.version>4.0.2</kryo.version>
  89. <metrics.version>3.1.0</metrics.version>
  90. <mockito.version>1.10.19</mockito.version>
  91. <netty.spark-2.11.version>4.1.17.Final</netty.spark-2.11.version>
  92. <netty.spark-2.12.version>4.1.17.Final</netty.spark-2.12.version>
  93. <netty.version>${netty.spark-2.11.version}</netty.version>
  94. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  95. <py4j.version>0.10.7</py4j.version>
  96. <scala-2.11.version>2.11.12</scala-2.11.version>
  97. <scala-2.12.version>2.12.10</scala-2.12.version>
  98. <scala.binary.version>2.11</scala.binary.version>
  99. <scala.version>${scala-2.11.version}</scala.version>
  100. <scalatest.version>3.0.8</scalatest.version>
  101. <scalatra.version>2.6.5</scalatra.version>
  102. <java.version>1.8</java.version>
  103. <test.redirectToFile>true</test.redirectToFile>
  104. <execution.root>${user.dir}</execution.root>
  105. <spark.home>${execution.root}/dev/spark</spark.home>
  106. <spark.bin.download.url>
  107. https://archive.apache.org/dist/spark/spark-2.4.5/spark-2.4.5-bin-hadoop2.7.tgz
  108. </spark.bin.download.url>
  109. <spark.bin.name>spark-2.4.5-bin-hadoop2.7</spark.bin.name>
  110. <!-- used for testing, NCSARequestLog use it for access log -->
  111. <livy.log.dir>${basedir}/target</livy.log.dir>
  112. <!-- Set this to "true" to skip R tests. -->
  113. <skipRTests>false</skipRTests>
  114. <!-- Set this to "true" to skip PySpark3 tests. -->
  115. <skipPySpark3Tests>false</skipPySpark3Tests>
  116. <!-- Required for testing LDAP integration -->
  117. <apacheds.version>2.0.0-M21</apacheds.version>
  118. <ldap-api.version>1.0.0-M33</ldap-api.version>
  119. <curator.version>2.7.1</curator.version>
  120. <zookeeper.version>3.4.6</zookeeper.version>
  121. <!--
  122. Properties for the copyright header style checks. Modules that use the ASF header
  123. should override the "copyright.header" property.
  124. -->
  125. <!--
  126. Artifacts that should not be deployed to a maven repo should override the "skipDeploy"
  127. property in their pom.
  128. -->
  129. <skipDeploy>false</skipDeploy>
  130. <asf.copyright.header>
  131. <![CDATA[/*
  132. * Licensed to the Apache Software Foundation (ASF) under one or more
  133. * contributor license agreements. See the NOTICE file distributed with
  134. * this work for additional information regarding copyright ownership.
  135. * The ASF licenses this file to You under the Apache License, Version 2.0
  136. * (the "License"); you may not use this file except in compliance with
  137. * the License. You may obtain a copy of the License at
  138. *
  139. * http://www.apache.org/licenses/LICENSE-2.0
  140. *
  141. * Unless required by applicable law or agreed to in writing, software
  142. * distributed under the License is distributed on an "AS IS" BASIS,
  143. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  144. * See the License for the specific language governing permissions and
  145. * limitations under the License.
  146. */]]>
  147. </asf.copyright.header>
  148. <copyright.header>${asf.copyright.header}</copyright.header>
  149. <MaxPermGen>512m</MaxPermGen>
  150. <CodeCacheSize>512m</CodeCacheSize>
  151. <maven.compiler.source>${java.version}</maven.compiler.source>
  152. <maven.compiler.target>${java.version}</maven.compiler.target>
  153. </properties>
  154. <repositories>
  155. <repository>
  156. <id>central</id>
  157. <!-- This should be at top, it makes maven try the central repo first and then others and hence faster dep resolution -->
  158. <name>Maven Repository</name>
  159. <url>https://repo1.maven.org/maven2</url>
  160. <releases>
  161. <enabled>true</enabled>
  162. </releases>
  163. <snapshots>
  164. <enabled>false</enabled>
  165. </snapshots>
  166. </repository>
  167. <repository>
  168. <id>apache-repo</id>
  169. <name>Apache Repository</name>
  170. <url>https://repository.apache.org/content/repositories/releases</url>
  171. <releases>
  172. <enabled>true</enabled>
  173. </releases>
  174. <snapshots>
  175. <enabled>false</enabled>
  176. </snapshots>
  177. </repository>
  178. </repositories>
  179. <modules>
  180. <module>api</module>
  181. <module>assembly</module>
  182. <module>client-common</module>
  183. <module>client-http</module>
  184. <module>core</module>
  185. <module>core/scala-2.11</module>
  186. <module>core/scala-2.12</module>
  187. <module>coverage</module>
  188. <module>examples</module>
  189. <module>python-api</module>
  190. <module>repl</module>
  191. <module>repl/scala-2.11</module>
  192. <module>repl/scala-2.12</module>
  193. <module>rsc</module>
  194. <module>scala</module>
  195. <module>scala-api</module>
  196. <module>scala-api/scala-2.11</module>
  197. <module>scala-api/scala-2.12</module>
  198. <module>server</module>
  199. <module>test-lib</module>
  200. <module>integration-test</module>
  201. </modules>
  202. <dependencies>
  203. <dependency>
  204. <groupId>junit</groupId>
  205. <artifactId>junit</artifactId>
  206. <version>${junit.version}</version>
  207. <scope>test</scope>
  208. </dependency>
  209. <dependency>
  210. <groupId>org.mockito</groupId>
  211. <artifactId>mockito-all</artifactId>
  212. <version>${mockito.version}</version>
  213. <scope>test</scope>
  214. </dependency>
  215. <dependency>
  216. <groupId>org.scalatest</groupId>
  217. <artifactId>scalatest_${scala.binary.version}</artifactId>
  218. <version>${scalatest.version}</version>
  219. <scope>test</scope>
  220. </dependency>
  221. <dependency>
  222. <groupId>org.scalatra</groupId>
  223. <artifactId>scalatra-scalatest_${scala.binary.version}</artifactId>
  224. <version>${scalatra.version}</version>
  225. <scope>test</scope>
  226. <exclusions>
  227. <exclusion>
  228. <groupId>org.mockito</groupId>
  229. <artifactId>*</artifactId>
  230. </exclusion>
  231. </exclusions>
  232. </dependency>
  233. </dependencies>
  234. <dependencyManagement>
  235. <dependencies>
  236. <dependency>
  237. <groupId>log4j</groupId>
  238. <artifactId>log4j</artifactId>
  239. <version>1.2.16</version>
  240. </dependency>
  241. <dependency>
  242. <groupId>com.esotericsoftware</groupId>
  243. <artifactId>kryo</artifactId>
  244. <version>${kryo.version}</version>
  245. </dependency>
  246. <dependency>
  247. <groupId>com.fasterxml.jackson.core</groupId>
  248. <artifactId>jackson-annotations</artifactId>
  249. <version>${jackson.version}</version>
  250. </dependency>
  251. <dependency>
  252. <groupId>com.fasterxml.jackson.core</groupId>
  253. <artifactId>jackson-core</artifactId>
  254. <version>${jackson.version}</version>
  255. </dependency>
  256. <dependency>
  257. <groupId>com.fasterxml.jackson.core</groupId>
  258. <artifactId>jackson-databind</artifactId>
  259. <version>${jackson.version}</version>
  260. </dependency>
  261. <dependency>
  262. <groupId>com.fasterxml.jackson.module</groupId>
  263. <artifactId>jackson-module-scala_${scala.binary.version}</artifactId>
  264. <version>${jackson.version}</version>
  265. </dependency>
  266. <dependency>
  267. <groupId>commons-codec</groupId>
  268. <artifactId>commons-codec</artifactId>
  269. <version>${commons-codec.version}</version>
  270. </dependency>
  271. <dependency>
  272. <groupId>io.dropwizard.metrics</groupId>
  273. <artifactId>metrics-core</artifactId>
  274. <version>${metrics.version}</version>
  275. </dependency>
  276. <dependency>
  277. <groupId>io.dropwizard.metrics</groupId>
  278. <artifactId>metrics-healthchecks</artifactId>
  279. <version>${metrics.version}</version>
  280. </dependency>
  281. <dependency>
  282. <groupId>io.netty</groupId>
  283. <artifactId>netty-all</artifactId>
  284. <version>${netty.version}</version>
  285. </dependency>
  286. <dependency>
  287. <groupId>javax.servlet</groupId>
  288. <artifactId>javax.servlet-api</artifactId>
  289. <version>${javax.servlet-api.version}</version>
  290. </dependency>
  291. <dependency>
  292. <groupId>org.apache.hadoop</groupId>
  293. <artifactId>hadoop-auth</artifactId>
  294. <version>${hadoop.version}</version>
  295. </dependency>
  296. <dependency>
  297. <groupId>org.apache.hadoop</groupId>
  298. <artifactId>hadoop-common</artifactId>
  299. <version>${hadoop.version}</version>
  300. <exclusions>
  301. <exclusion>
  302. <groupId>javax.servlet</groupId>
  303. <artifactId>servlet-api</artifactId>
  304. </exclusion>
  305. </exclusions>
  306. </dependency>
  307. <dependency>
  308. <groupId>org.apache.hadoop</groupId>
  309. <artifactId>hadoop-common</artifactId>
  310. <classifier>tests</classifier>
  311. <version>${hadoop.version}</version>
  312. </dependency>
  313. <dependency>
  314. <groupId>org.apache.hadoop</groupId>
  315. <artifactId>hadoop-client</artifactId>
  316. <version>${hadoop.version}</version>
  317. </dependency>
  318. <dependency>
  319. <groupId>org.apache.hadoop</groupId>
  320. <artifactId>hadoop-hdfs</artifactId>
  321. <classifier>tests</classifier>
  322. <version>${hadoop.version}</version>
  323. </dependency>
  324. <dependency>
  325. <groupId>org.apache.hadoop</groupId>
  326. <artifactId>hadoop-yarn-api</artifactId>
  327. <version>${hadoop.version}</version>
  328. </dependency>
  329. <dependency>
  330. <groupId>org.apache.hadoop</groupId>
  331. <artifactId>hadoop-yarn-client</artifactId>
  332. <version>${hadoop.version}</version>
  333. </dependency>
  334. <dependency>
  335. <groupId>org.apache.hadoop</groupId>
  336. <artifactId>hadoop-yarn-common</artifactId>
  337. <version>${hadoop.version}</version>
  338. </dependency>
  339. <dependency>
  340. <groupId>org.apache.hadoop</groupId>
  341. <artifactId>hadoop-yarn-server-tests</artifactId>
  342. <classifier>tests</classifier>
  343. <version>${hadoop.version}</version>
  344. </dependency>
  345. <dependency>
  346. <groupId>org.apache.httpcomponents</groupId>
  347. <artifactId>httpcore</artifactId>
  348. <version>${httpcore.version}</version>
  349. </dependency>
  350. <dependency>
  351. <groupId>org.apache.httpcomponents</groupId>
  352. <artifactId>httpclient</artifactId>
  353. <version>${httpclient.version}</version>
  354. </dependency>
  355. <dependency>
  356. <groupId>org.apache.spark</groupId>
  357. <artifactId>spark-core_${scala.binary.version}</artifactId>
  358. <version>${spark.version}</version>
  359. <exclusions>
  360. <exclusion>
  361. <groupId>org.eclipse.jetty.orbit</groupId>
  362. <artifactId>javax.servlet</artifactId>
  363. </exclusion>
  364. </exclusions>
  365. </dependency>
  366. <dependency>
  367. <groupId>org.apache.spark</groupId>
  368. <artifactId>spark-hive_${scala.binary.version}</artifactId>
  369. <version>${spark.version}</version>
  370. </dependency>
  371. <dependency>
  372. <groupId>org.apache.spark</groupId>
  373. <artifactId>spark-launcher_${scala.binary.version}</artifactId>
  374. <version>${spark.version}</version>
  375. <exclusions>
  376. <exclusion>
  377. <groupId>org.spark-project.spark</groupId>
  378. <artifactId>unused</artifactId>
  379. </exclusion>
  380. </exclusions>
  381. </dependency>
  382. <dependency>
  383. <groupId>org.apache.spark</groupId>
  384. <artifactId>spark-repl_${scala.binary.version}</artifactId>
  385. <version>${spark.version}</version>
  386. </dependency>
  387. <dependency>
  388. <groupId>org.apache.spark</groupId>
  389. <artifactId>spark-sql_${scala.binary.version}</artifactId>
  390. <version>${spark.version}</version>
  391. </dependency>
  392. <dependency>
  393. <groupId>org.apache.spark</groupId>
  394. <artifactId>spark-streaming_${scala.binary.version}</artifactId>
  395. <version>${spark.version}</version>
  396. <scope>provided</scope>
  397. </dependency>
  398. <dependency>
  399. <groupId>org.apache.spark</groupId>
  400. <artifactId>spark-yarn_${scala.binary.version}</artifactId>
  401. <version>${spark.version}</version>
  402. </dependency>
  403. <dependency>
  404. <groupId>org.eclipse.jetty</groupId>
  405. <artifactId>jetty-http</artifactId>
  406. <version>${jetty.version}</version>
  407. </dependency>
  408. <dependency>
  409. <groupId>org.eclipse.jetty</groupId>
  410. <artifactId>jetty-continuation</artifactId>
  411. <version>${jetty.version}</version>
  412. </dependency>
  413. <dependency>
  414. <groupId>org.eclipse.jetty</groupId>
  415. <artifactId>jetty-servlet</artifactId>
  416. <version>${jetty.version}</version>
  417. </dependency>
  418. <dependency>
  419. <groupId>org.eclipse.jetty</groupId>
  420. <artifactId>jetty-server</artifactId>
  421. <version>${jetty.version}</version>
  422. </dependency>
  423. <dependency>
  424. <groupId>org.eclipse.jetty</groupId>
  425. <artifactId>jetty-util</artifactId>
  426. <version>${jetty.version}</version>
  427. </dependency>
  428. <dependency>
  429. <groupId>org.eclipse.jetty</groupId>
  430. <artifactId>jetty-plus</artifactId>
  431. <version>${jetty.version}</version>
  432. </dependency>
  433. <dependency>
  434. <groupId>org.eclipse.jetty</groupId>
  435. <artifactId>jetty-security</artifactId>
  436. <version>${jetty.version}</version>
  437. </dependency>
  438. <dependency>
  439. <groupId>org.json4s</groupId>
  440. <artifactId>json4s_${scala.binary.version}</artifactId>
  441. <version>${json4s.version}</version>
  442. </dependency>
  443. <dependency>
  444. <groupId>org.json4s</groupId>
  445. <artifactId>json4s-ast_${scala.binary.version}</artifactId>
  446. <version>${json4s.version}</version>
  447. </dependency>
  448. <dependency>
  449. <groupId>org.json4s</groupId>
  450. <artifactId>json4s-core_${scala.binary.version}</artifactId>
  451. <version>${json4s.version}</version>
  452. </dependency>
  453. <dependency>
  454. <groupId>org.json4s</groupId>
  455. <artifactId>json4s-jackson_${scala.binary.version}</artifactId>
  456. <version>${json4s.version}</version>
  457. </dependency>
  458. <dependency>
  459. <groupId>org.scala-lang</groupId>
  460. <artifactId>scala-compiler</artifactId>
  461. <version>${scala.version}</version>
  462. </dependency>
  463. <dependency>
  464. <groupId>org.scala-lang</groupId>
  465. <artifactId>scala-library</artifactId>
  466. <version>${scala.version}</version>
  467. </dependency>
  468. <dependency>
  469. <groupId>org.scala-lang</groupId>
  470. <artifactId>scala-reflect</artifactId>
  471. <version>${scala.version}</version>
  472. </dependency>
  473. <dependency>
  474. <groupId>org.scalatra</groupId>
  475. <artifactId>scalatra_${scala.binary.version}</artifactId>
  476. <version>${scalatra.version}</version>
  477. </dependency>
  478. <dependency>
  479. <groupId>org.scalatra</groupId>
  480. <artifactId>scalatra-jetty_${scala.binary.version}</artifactId>
  481. <version>${scalatra.version}</version>
  482. </dependency>
  483. <dependency>
  484. <groupId>org.scalatra</groupId>
  485. <artifactId>scalatra-json_${scala.binary.version}</artifactId>
  486. <version>${scalatra.version}</version>
  487. </dependency>
  488. <dependency>
  489. <groupId>org.scalatra</groupId>
  490. <artifactId>scalatra-metrics_${scala.binary.version}</artifactId>
  491. <version>${scalatra.version}</version>
  492. </dependency>
  493. <dependency>
  494. <groupId>org.scalatra</groupId>
  495. <artifactId>scalatra-test_${scala.binary.version}</artifactId>
  496. <version>${scalatra.version}</version>
  497. </dependency>
  498. <dependency>
  499. <groupId>net.sf.py4j</groupId>
  500. <artifactId>py4j</artifactId>
  501. <version>${py4j.version}</version>
  502. </dependency>
  503. <dependency>
  504. <groupId>org.asynchttpclient</groupId>
  505. <artifactId>async-http-client</artifactId>
  506. <version>${asynchttpclient.version}</version>
  507. </dependency>
  508. <!-- we need a version > 1.7.13 because of SLF4J-324 -->
  509. <dependency>
  510. <groupId>org.slf4j</groupId>
  511. <artifactId>slf4j-api</artifactId>
  512. <version>1.7.25</version>
  513. </dependency>
  514. </dependencies>
  515. </dependencyManagement>
  516. <build>
  517. <pluginManagement>
  518. <plugins>
  519. <plugin>
  520. <groupId>org.apache.maven.plugins</groupId>
  521. <artifactId>maven-compiler-plugin</artifactId>
  522. <version>3.3</version>
  523. </plugin>
  524. <plugin>
  525. <groupId>org.apache.maven.plugins</groupId>
  526. <artifactId>maven-assembly-plugin</artifactId>
  527. <version>2.6</version>
  528. </plugin>
  529. <plugin>
  530. <groupId>org.apache.maven.plugins</groupId>
  531. <artifactId>maven-antrun-plugin</artifactId>
  532. <version>1.8</version>
  533. </plugin>
  534. <plugin>
  535. <groupId>org.apache.maven.plugins</groupId>
  536. <artifactId>maven-jar-plugin</artifactId>
  537. <version>2.3.2</version>
  538. </plugin>
  539. <plugin>
  540. <groupId>org.apache.maven.plugins</groupId>
  541. <artifactId>maven-deploy-plugin</artifactId>
  542. <version>2.8.2</version>
  543. </plugin>
  544. <plugin>
  545. <groupId>org.apache.felix</groupId>
  546. <artifactId>maven-bundle-plugin</artifactId>
  547. <version>2.4.0</version>
  548. </plugin>
  549. <plugin>
  550. <groupId>org.codehaus.mojo</groupId>
  551. <artifactId>build-helper-maven-plugin</artifactId>
  552. <version>1.10</version>
  553. </plugin>
  554. <plugin>
  555. <groupId>net.alchim31.maven</groupId>
  556. <artifactId>scala-maven-plugin</artifactId>
  557. <version>4.2.0</version>
  558. <executions>
  559. <execution>
  560. <goals>
  561. <goal>compile</goal>
  562. <goal>testCompile</goal>
  563. </goals>
  564. </execution>
  565. <execution>
  566. <id>scala-compile-first</id>
  567. <phase>process-resources</phase>
  568. <goals>
  569. <goal>compile</goal>
  570. </goals>
  571. </execution>
  572. </executions>
  573. <configuration>
  574. <scalaVersion>${scala.version}</scalaVersion>
  575. <recompileMode>incremental</recompileMode>
  576. <checkMultipleScalaVersions>false</checkMultipleScalaVersions>
  577. <args>
  578. <arg>-unchecked</arg>
  579. <arg>-deprecation</arg>
  580. <arg>-feature</arg>
  581. </args>
  582. <javacArgs>
  583. <javacArg>-source</javacArg>
  584. <javacArg>${java.version}</javacArg>
  585. <javacArg>-target</javacArg>
  586. <javacArg>${java.version}</javacArg>
  587. <javacArg>-Xlint:unchecked</javacArg>
  588. </javacArgs>
  589. <jvmArgs>
  590. <jvmArg>-Xms1024m</jvmArg>
  591. <jvmArg>-Xmx1024m</jvmArg>
  592. <jvmArg>-XX:ReservedCodeCacheSize=${CodeCacheSize}</jvmArg>
  593. </jvmArgs>
  594. </configuration>
  595. </plugin>
  596. <plugin>
  597. <groupId>org.apache.maven.plugins</groupId>
  598. <artifactId>maven-install-plugin</artifactId>
  599. <version>2.5.2</version>
  600. </plugin>
  601. <plugin>
  602. <groupId>org.apache.maven.plugins</groupId>
  603. <artifactId>maven-shade-plugin</artifactId>
  604. <version>3.2.1</version>
  605. </plugin>
  606. <plugin>
  607. <groupId>org.apache.maven.plugins</groupId>
  608. <artifactId>maven-surefire-plugin</artifactId>
  609. <version>2.19</version>
  610. <configuration>
  611. <environmentVariables>
  612. <LIVY_TEST>true</LIVY_TEST>
  613. <SPARK_HOME>${spark.home}</SPARK_HOME>
  614. <LIVY_SPARK_VERSION>${spark.version}</LIVY_SPARK_VERSION>
  615. </environmentVariables>
  616. <systemProperties>
  617. <java.awt.headless>true</java.awt.headless>
  618. <java.io.tmpdir>${project.build.directory}/tmp</java.io.tmpdir>
  619. <livy.environment>development</livy.environment>
  620. <jacoco.args>${argLine}</jacoco.args>
  621. <spark.ui.enabled>false</spark.ui.enabled>
  622. <project.version>${project.version}</project.version>
  623. <skipRTests>${skipRTests}</skipRTests>
  624. <skipPySpark3Tests>${skipPySpark3Tests}</skipPySpark3Tests>
  625. </systemProperties>
  626. <redirectTestOutputToFile>${test.redirectToFile}</redirectTestOutputToFile>
  627. <useFile>${test.redirectToFile}</useFile>
  628. <argLine>${argLine} -Xmx2g</argLine>
  629. <failIfNoTests>false</failIfNoTests>
  630. </configuration>
  631. </plugin>
  632. <plugin>
  633. <groupId>org.scalatest</groupId>
  634. <artifactId>scalatest-maven-plugin</artifactId>
  635. <version>2.0.0</version>
  636. <configuration>
  637. <environmentVariables>
  638. <LIVY_TEST>true</LIVY_TEST>
  639. <SPARK_HOME>${spark.home}</SPARK_HOME>
  640. <LIVY_LOG_DIR>${livy.log.dir}</LIVY_LOG_DIR>
  641. <LIVY_SPARK_VERSION>${spark.version}</LIVY_SPARK_VERSION>
  642. <LIVY_SCALA_VERSION>${scala.binary.version}</LIVY_SCALA_VERSION>
  643. </environmentVariables>
  644. <systemProperties>
  645. <java.awt.headless>true</java.awt.headless>
  646. <java.io.tmpdir>${project.build.directory}/tmp</java.io.tmpdir>
  647. <livy.environment>development</livy.environment>
  648. <jacoco.args>${argLine}</jacoco.args>
  649. <spark.ui.enabled>false</spark.ui.enabled>
  650. <project.version>${project.version}</project.version>
  651. <skipRTests>${skipRTests}</skipRTests>
  652. <skipPySpark3Tests>${skipPySpark3Tests}</skipPySpark3Tests>
  653. </systemProperties>
  654. <stdout>D</stdout>
  655. <reportsDirectory>${project.build.directory}/surefire-reports</reportsDirectory>
  656. <junitxml>.</junitxml>
  657. <filereports>WDF TestSuite.txt</filereports>
  658. <argLine>${argLine} -Xmx2g</argLine>
  659. </configuration>
  660. <executions>
  661. <execution>
  662. <id>test</id>
  663. <goals>
  664. <goal>test</goal>
  665. </goals>
  666. </execution>
  667. </executions>
  668. </plugin>
  669. <plugin>
  670. <groupId>org.apache.rat</groupId>
  671. <artifactId>apache-rat-plugin</artifactId>
  672. <version>0.12</version>
  673. </plugin>
  674. <plugin>
  675. <groupId>org.apache.maven.plugins</groupId>
  676. <artifactId>maven-remote-resources-plugin</artifactId>
  677. <version>1.5</version>
  678. </plugin>
  679. <plugin>
  680. <groupId>org.codehaus.mojo</groupId>
  681. <artifactId>license-maven-plugin</artifactId>
  682. <version>1.13</version>
  683. </plugin>
  684. <plugin>
  685. <groupId>org.apache.maven.plugins</groupId>
  686. <artifactId>maven-javadoc-plugin</artifactId>
  687. <version>3.0.0-M1</version>
  688. <configuration>
  689. <doctitle>Livy ${project.version} Java API</doctitle>
  690. <windowtitle>Livy ${project.version} JavaDoc</windowtitle>
  691. </configuration>
  692. </plugin>
  693. <plugin>
  694. <groupId>com.googlecode.maven-download-plugin</groupId>
  695. <artifactId>download-maven-plugin</artifactId>
  696. <version>1.3.0</version>
  697. </plugin>
  698. </plugins>
  699. </pluginManagement>
  700. <plugins>
  701. <plugin>
  702. <groupId>org.apache.maven.plugins</groupId>
  703. <artifactId>maven-compiler-plugin</artifactId>
  704. <executions>
  705. <execution>
  706. <id>default-compile</id>
  707. <phase>none</phase>
  708. </execution>
  709. <execution>
  710. <id>default-testCompile</id>
  711. <phase>none</phase>
  712. </execution>
  713. </executions>
  714. <configuration>
  715. <source>${java.version}</source>
  716. <target>${java.version}</target>
  717. </configuration>
  718. </plugin>
  719. <plugin>
  720. <groupId>org.apache.maven.plugins</groupId>
  721. <artifactId>maven-enforcer-plugin</artifactId>
  722. <inherited>false</inherited>
  723. <configuration>
  724. <rules>
  725. <requireJavaVersion>
  726. <version>${java.version}</version>
  727. </requireJavaVersion>
  728. <requireMavenVersion>
  729. <version>[3.0.0,)</version>
  730. </requireMavenVersion>
  731. </rules>
  732. </configuration>
  733. <executions>
  734. <execution>
  735. <id>default</id>
  736. <goals>
  737. <goal>enforce</goal>
  738. </goals>
  739. <phase>validate</phase>
  740. </execution>
  741. </executions>
  742. </plugin>
  743. <plugin>
  744. <groupId>org.apache.maven.plugins</groupId>
  745. <artifactId>maven-antrun-plugin</artifactId>
  746. <executions>
  747. <!-- Cleans up files that tests append to (because we have two test plugins). -->
  748. <execution>
  749. <id>pre-test-clean</id>
  750. <phase>generate-test-resources</phase>
  751. <goals>
  752. <goal>run</goal>
  753. </goals>
  754. <configuration>
  755. <target>
  756. <delete file="${project.build.directory}/unit-tests.log" quiet="true" />
  757. <delete dir="${project.build.directory}/jacoco" quiet="true" />
  758. <delete dir="${project.build.directory}/tmp" quiet="true" />
  759. </target>
  760. </configuration>
  761. </execution>
  762. <!-- Create the temp directory to be used by tests. -->
  763. <execution>
  764. <id>create-tmp-dir</id>
  765. <phase>generate-test-resources</phase>
  766. <goals>
  767. <goal>run</goal>
  768. </goals>
  769. <configuration>
  770. <target>
  771. <mkdir dir="${project.build.directory}/tmp" />
  772. </target>
  773. </configuration>
  774. </execution>
  775. <!--
  776. Copy the template scalastyle / checkstyle configuration and replace the copyright
  777. header.
  778. -->
  779. <execution>
  780. <id>setup-style-checker</id>
  781. <phase>verify</phase>
  782. <goals>
  783. <goal>run</goal>
  784. </goals>
  785. <configuration>
  786. <target>
  787. <copy file="${execution.root}/scalastyle.xml" tofile="${project.build.directory}/scalastyle.xml" />
  788. <replace file="${project.build.directory}/scalastyle.xml" token="{{COPYRIGHT_HEADER}}" value="${copyright.header}" />
  789. <copy file="${execution.root}/checkstyle.xml" tofile="${project.build.directory}/checkstyle.xml" />
  790. <echo file="${project.build.directory}/checkstyle.header" message="${copyright.header}" />
  791. <replace file="${project.build.directory}/checkstyle.xml" token="{{HEADER_FILE}}" value="${project.build.directory}/checkstyle.header" />
  792. </target>
  793. </configuration>
  794. </execution>
  795. </executions>
  796. </plugin>
  797. <plugin>
  798. <groupId>org.scalastyle</groupId>
  799. <artifactId>scalastyle-maven-plugin</artifactId>
  800. <version>0.8.0</version>
  801. <configuration>
  802. <verbose>false</verbose>
  803. <failOnViolation>true</failOnViolation>
  804. <includeTestSourceDirectory>true</includeTestSourceDirectory>
  805. <failOnWarning>false</failOnWarning>
  806. <sourceDirectory>${basedir}/src/main/scala</sourceDirectory>
  807. <testSourceDirectory>${basedir}/src/test/scala</testSourceDirectory>
  808. <configLocation>${project.build.directory}/scalastyle.xml</configLocation>
  809. <outputFile>${basedir}/target/scalastyle-output.xml</outputFile>
  810. <inputEncoding>${project.build.sourceEncoding}</inputEncoding>
  811. <outputEncoding>${project.reporting.outputEncoding}</outputEncoding>
  812. </configuration>
  813. <executions>
  814. <execution>
  815. <goals>
  816. <goal>check</goal>
  817. </goals>
  818. </execution>
  819. </executions>
  820. </plugin>
  821. <plugin>
  822. <groupId>org.apache.maven.plugins</groupId>
  823. <artifactId>maven-checkstyle-plugin</artifactId>
  824. <version>2.17</version>
  825. <configuration>
  826. <verbose>false</verbose>
  827. <failOnViolation>true</failOnViolation>
  828. <includeTestSourceDirectory>true</includeTestSourceDirectory>
  829. <failOnWarning>false</failOnWarning>
  830. <sourceDirectory>${basedir}/src/main/java</sourceDirectory>
  831. <testSourceDirectory>${basedir}/src/test/java</testSourceDirectory>
  832. <configLocation>${project.build.directory}/checkstyle.xml</configLocation>
  833. <outputFile>${basedir}/target/checkstyle-output.xml</outputFile>
  834. <inputEncoding>${project.build.sourceEncoding}</inputEncoding>
  835. <outputEncoding>${project.reporting.outputEncoding}</outputEncoding>
  836. </configuration>
  837. <executions>
  838. <execution>
  839. <goals>
  840. <goal>check</goal>
  841. </goals>
  842. </execution>
  843. </executions>
  844. </plugin>
  845. <plugin>
  846. <groupId>org.apache.maven.plugins</groupId>
  847. <artifactId>maven-deploy-plugin</artifactId>
  848. <configuration>
  849. <skip>${skipDeploy}</skip>
  850. </configuration>
  851. </plugin>
  852. <plugin>
  853. <groupId>org.apache.maven.plugins</groupId>
  854. <artifactId>maven-dependency-plugin</artifactId>
  855. <version>2.10</version>
  856. <configuration>
  857. <outputDirectory>${project.build.directory}/jars</outputDirectory>
  858. <useSubDirectoryPerType>false</useSubDirectoryPerType>
  859. <includeScope>runtime</includeScope>
  860. <silent>true</silent>
  861. <overWriteReleases>true</overWriteReleases>
  862. <overWriteSnapshots>true</overWriteSnapshots>
  863. </configuration>
  864. </plugin>
  865. <plugin>
  866. <groupId>org.apache.maven.plugins</groupId>
  867. <artifactId>maven-surefire-plugin</artifactId>
  868. </plugin>
  869. <plugin>
  870. <groupId>org.jacoco</groupId>
  871. <artifactId>jacoco-maven-plugin</artifactId>
  872. <version>0.8.2</version>
  873. <executions>
  874. <execution>
  875. <goals>
  876. <goal>prepare-agent</goal>
  877. </goals>
  878. <configuration>
  879. <append>true</append>
  880. <destFile>${project.build.directory}/jacoco/main.exec</destFile>
  881. </configuration>
  882. </execution>
  883. </executions>
  884. </plugin>
  885. <plugin>
  886. <groupId>org.apache.rat</groupId>
  887. <artifactId>apache-rat-plugin</artifactId>
  888. <configuration>
  889. <excludesFile>${execution.root}/.rat-excludes</excludesFile>
  890. </configuration>
  891. <executions>
  892. <execution>
  893. <phase>verify</phase>
  894. <goals>
  895. <goal>check</goal>
  896. </goals>
  897. </execution>
  898. </executions>
  899. </plugin>
  900. </plugins>
  901. </build>
  902. <reporting>
  903. <plugins>
  904. <plugin>
  905. <groupId>net.alchim31.maven</groupId>
  906. <artifactId>scala-maven-plugin</artifactId>
  907. </plugin>
  908. </plugins>
  909. </reporting>
  910. <profiles>
  911. <profile>
  912. <id>thriftserver</id>
  913. <modules>
  914. <module>thriftserver/server</module>
  915. <module>thriftserver/session</module>
  916. <module>thriftserver/client</module>
  917. </modules>
  918. </profile>
  919. <profile>
  920. <id>spark-3.0</id>
  921. <activation>
  922. <property>
  923. <name>spark-3.0</name>
  924. </property>
  925. </activation>
  926. <properties>
  927. <spark.scala-2.12.version>3.0.0</spark.scala-2.12.version>
  928. <spark.scala-2.11.version>2.4.5</spark.scala-2.11.version>
  929. <spark.version>${spark.scala-2.11.version}</spark.version>
  930. <netty.spark-2.12.version>4.1.47.Final</netty.spark-2.12.version>
  931. <netty.spark-2.11.version>4.1.47.Final</netty.spark-2.11.version>
  932. <netty.version>${netty.spark-2.11.version}</netty.version>
  933. <java.version>1.8</java.version>
  934. <py4j.version>0.10.9</py4j.version>
  935. <json4s.spark-2.11.version>3.5.3</json4s.spark-2.11.version>
  936. <json4s.spark-2.12.version>3.6.6</json4s.spark-2.12.version>
  937. <json4s.version>${json4s.spark-2.11.version}</json4s.version>
  938. <spark.bin.download.url>
  939. <!-- https://archive.apache.org/dist/spark/spark-3.0.0/spark-3.0.0-bin-hadoop2.7.tgz -->
  940. http://mirror.nju.edu.cn/apache/spark/spark-3.0.3/spark-3.0.3-bin-hadoop3.2.tgz
  941. </spark.bin.download.url>
  942. <spark.bin.name>spark-3.0.3-bin-hadoop3.2</spark.bin.name>
  943. </properties>
  944. </profile>
  945. <profile>
  946. <id>skip-parent-modules</id>
  947. <activation>
  948. <file>
  949. <missing>src/main/resources/build.marker</missing>
  950. </file>
  951. </activation>
  952. <build>
  953. <plugins>
  954. <plugin>
  955. <groupId>org.scalatest</groupId>
  956. <artifactId>scalatest-maven-plugin</artifactId>
  957. </plugin>
  958. <plugin>
  959. <groupId>net.alchim31.maven</groupId>
  960. <artifactId>scala-maven-plugin</artifactId>
  961. </plugin>
  962. </plugins>
  963. </build>
  964. </profile>
  965. <profile>
  966. <!-- This will search remote and local repos to generate THIRD-PARTY license file, make sure
  967. livy artifacts existed in either remote or local repos, otherwise run mvn install before. -->
  968. <id>generate-third-party</id>
  969. <activation>
  970. <property>
  971. <name>generate-third-party</name>
  972. </property>
  973. </activation>
  974. <build>
  975. <plugins>
  976. <plugin>
  977. <groupId>org.codehaus.mojo</groupId>
  978. <artifactId>license-maven-plugin</artifactId>
  979. <inherited>false</inherited>
  980. <configuration>
  981. <outputDirectory>${execution.root}</outputDirectory>
  982. <thirdPartyFilename>THIRD-PARTY</thirdPartyFilename>
  983. <sortArtifactByName>true</sortArtifactByName>
  984. <fileTemplate>${execution.root}/dev/third-party-file.ftl</fileTemplate>
  985. <useMissingFile>true</useMissingFile>
  986. <missingFile>${execution.root}/dev/third-party-missing-license.properties</missingFile>
  987. </configuration>
  988. <executions>
  989. <execution>
  990. <phase>prepare-package</phase>
  991. <goals>
  992. <goal>aggregate-add-third-party</goal>
  993. </goals>
  994. </execution>
  995. </executions>
  996. </plugin>
  997. </plugins>
  998. </build>
  999. </profile>
  1000. <profile>
  1001. <id>public-docs</id>
  1002. <activation>
  1003. <property>
  1004. <name>public-docs</name>
  1005. </property>
  1006. </activation>
  1007. <build>
  1008. <plugins>
  1009. <plugin>
  1010. <groupId>org.apache.maven.plugins</groupId>
  1011. <artifactId>maven-javadoc-plugin</artifactId>
  1012. <configuration>
  1013. <failOnError>true</failOnError>
  1014. <excludePackageNames>*.test,*.example,*.client,*.annotations,*.rsc</excludePackageNames>
  1015. </configuration>
  1016. </plugin>
  1017. </plugins>
  1018. </build>
  1019. </profile>
  1020. </profiles>
  1021. </project>