pom.xml 40 KB

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