pom.xml 38 KB

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