pom.xml 31 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!--
  3. ~ Licensed to the Apache Software Foundation (ASF) under one
  4. ~ or more contributor license agreements. See the NOTICE file
  5. ~ distributed with this work for additional information
  6. ~ regarding copyright ownership. The ASF licenses this file
  7. ~ to you under the Apache License, Version 2.0 (the
  8. ~ "License"); you may not use this file except in compliance
  9. ~ with the License. You may obtain a copy of the License at
  10. ~
  11. ~ http://www.apache.org/licenses/LICENSE-2.0
  12. ~
  13. ~ Unless required by applicable law or agreed to in writing, software
  14. ~ distributed under the License is distributed on an "AS IS" BASIS,
  15. ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  16. ~ See the License for the specific language governing permissions and
  17. ~ limitations under the License.
  18. -->
  19. <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 https://maven.apache.org/maven-v4_0_0.xsd">
  20. <modelVersion>4.0.0</modelVersion>
  21. <parent>
  22. <groupId>org.apache.atlas</groupId>
  23. <artifactId>apache-atlas</artifactId>
  24. <version>2.2.0</version>
  25. </parent>
  26. <artifactId>atlas-webapp</artifactId>
  27. <description>Apache Atlas Web Application</description>
  28. <name>Apache Atlas Web Application</name>
  29. <packaging>war</packaging>
  30. <properties>
  31. <debug.jetty.daemon>true</debug.jetty.daemon>
  32. <log4j.configuration.url>file:///${project.build.directory}/../../distro/src/conf/atlas-log4j.xml</log4j.configuration.url>
  33. <projectBaseDir>${project.basedir}/..</projectBaseDir>
  34. </properties>
  35. <profiles>
  36. <profile>
  37. <id>dist</id>
  38. <activation>
  39. <activeByDefault>false</activeByDefault>
  40. </activation>
  41. <properties>
  42. <packages.to.exclude>${distro.exclude.packages}</packages.to.exclude>
  43. </properties>
  44. </profile>
  45. <profile>
  46. <id>berkeley-elasticsearch</id>
  47. <activation>
  48. <activeByDefault>false</activeByDefault>
  49. </activation>
  50. <properties>
  51. <packages.to.exclude>WEB-INF/lib/je-*.jar,WEB-INF/lib/dom4j-*.jar</packages.to.exclude>
  52. </properties>
  53. </profile>
  54. <profile>
  55. <id>berkeley-solr</id>
  56. <activation>
  57. <activeByDefault>false</activeByDefault>
  58. </activation>
  59. <properties>
  60. <packages.to.exclude>WEB-INF/lib/dom4j-*.jar</packages.to.exclude>
  61. </properties>
  62. </profile>
  63. <profile>
  64. <id>Windows</id>
  65. <activation>
  66. <os>
  67. <family>windows</family>
  68. </os>
  69. </activation>
  70. <properties>
  71. <log4j.configuration.url>file:/${project.build.directory}/../../distro/src/conf/atlas-log4j.xml</log4j.configuration.url>
  72. </properties>
  73. </profile>
  74. </profiles>
  75. <dependencies>
  76. <dependency>
  77. <groupId>org.apache.atlas</groupId>
  78. <artifactId>atlas-graphdb-impls</artifactId>
  79. <exclusions>
  80. <exclusion>
  81. <groupId>io.netty</groupId>
  82. <artifactId>netty-handler</artifactId>
  83. </exclusion>
  84. </exclusions>
  85. <type>pom</type>
  86. </dependency>
  87. <dependency>
  88. <groupId>org.apache.atlas</groupId>
  89. <artifactId>atlas-common</artifactId>
  90. </dependency>
  91. <dependency>
  92. <groupId>org.apache.atlas</groupId>
  93. <artifactId>atlas-repository</artifactId>
  94. <exclusions>
  95. <exclusion>
  96. <groupId>io.netty</groupId>
  97. <artifactId>netty-handler</artifactId>
  98. </exclusion>
  99. </exclusions>
  100. </dependency>
  101. <dependency>
  102. <groupId>org.apache.atlas</groupId>
  103. <artifactId>atlas-client-v1</artifactId>
  104. </dependency>
  105. <dependency>
  106. <groupId>org.apache.atlas</groupId>
  107. <artifactId>atlas-client-v2</artifactId>
  108. </dependency>
  109. <dependency>
  110. <groupId>org.apache.atlas</groupId>
  111. <artifactId>atlas-authorization</artifactId>
  112. <version>${project.version}</version>
  113. </dependency>
  114. <dependency>
  115. <groupId>org.apache.atlas</groupId>
  116. <artifactId>atlas-notification</artifactId>
  117. </dependency>
  118. <dependency>
  119. <groupId>org.apache.atlas</groupId>
  120. <artifactId>atlas-intg</artifactId>
  121. </dependency>
  122. <dependency>
  123. <groupId>org.apache.atlas</groupId>
  124. <artifactId>atlas-janusgraph-hbase2</artifactId>
  125. <version>${project.version}</version>
  126. <exclusions>
  127. <exclusion>
  128. <groupId>org.noggit</groupId>
  129. <artifactId>noggit</artifactId>
  130. </exclusion>
  131. </exclusions>
  132. </dependency>
  133. <dependency>
  134. <groupId>org.apache.hadoop</groupId>
  135. <artifactId>hadoop-common</artifactId>
  136. <exclusions>
  137. <exclusion>
  138. <groupId>javax.servlet</groupId>
  139. <artifactId>servlet-api</artifactId>
  140. </exclusion>
  141. <exclusion>
  142. <groupId>org.eclipse.jetty</groupId>
  143. <artifactId>*</artifactId>
  144. </exclusion>
  145. </exclusions>
  146. </dependency>
  147. <dependency>
  148. <groupId>org.apache.hadoop</groupId>
  149. <artifactId>hadoop-minikdc</artifactId>
  150. </dependency>
  151. <dependency>
  152. <groupId>org.apache.hadoop</groupId>
  153. <artifactId>hadoop-hdfs</artifactId>
  154. <exclusions>
  155. <exclusion>
  156. <groupId>javax.servlet</groupId>
  157. <artifactId>servlet-api</artifactId>
  158. </exclusion>
  159. <exclusion>
  160. <groupId>org.eclipse.jetty</groupId>
  161. <artifactId>*</artifactId>
  162. </exclusion>
  163. </exclusions>
  164. </dependency>
  165. <!-- Zookeeper, curator -->
  166. <dependency>
  167. <groupId>org.apache.curator</groupId>
  168. <artifactId>curator-framework</artifactId>
  169. </dependency>
  170. <dependency>
  171. <groupId>org.apache.curator</groupId>
  172. <artifactId>curator-recipes</artifactId>
  173. </dependency>
  174. <dependency>
  175. <groupId>org.apache.curator</groupId>
  176. <artifactId>curator-client</artifactId>
  177. </dependency>
  178. <dependency>
  179. <groupId>org.apache.zookeeper</groupId>
  180. <artifactId>zookeeper</artifactId>
  181. </dependency>
  182. <!-- supports simple auth handler -->
  183. <dependency>
  184. <groupId>org.apache.httpcomponents</groupId>
  185. <artifactId>httpclient</artifactId>
  186. </dependency>
  187. <dependency>
  188. <groupId>joda-time</groupId>
  189. <artifactId>joda-time</artifactId>
  190. </dependency>
  191. <dependency>
  192. <groupId>commons-configuration</groupId>
  193. <artifactId>commons-configuration</artifactId>
  194. </dependency>
  195. <dependency>
  196. <groupId>commons-cli</groupId>
  197. <artifactId>commons-cli</artifactId>
  198. </dependency>
  199. <dependency>
  200. <groupId>org.apache.commons</groupId>
  201. <artifactId>commons-lang3</artifactId>
  202. </dependency>
  203. <dependency>
  204. <groupId>org.apache.commons</groupId>
  205. <artifactId>commons-collections4</artifactId>
  206. </dependency>
  207. <dependency>
  208. <groupId>com.googlecode.json-simple</groupId>
  209. <artifactId>json-simple</artifactId>
  210. </dependency>
  211. <dependency>
  212. <groupId>javax.servlet.jsp</groupId>
  213. <artifactId>jsp-api</artifactId>
  214. </dependency>
  215. <dependency>
  216. <groupId>org.eclipse.jetty</groupId>
  217. <artifactId>jetty-server</artifactId>
  218. </dependency>
  219. <dependency>
  220. <groupId>org.eclipse.jetty</groupId>
  221. <artifactId>jetty-servlet</artifactId>
  222. </dependency>
  223. <dependency>
  224. <groupId>org.eclipse.jetty</groupId>
  225. <artifactId>jetty-webapp</artifactId>
  226. </dependency>
  227. <dependency>
  228. <groupId>com.sun.jersey</groupId>
  229. <artifactId>jersey-core</artifactId>
  230. </dependency>
  231. <dependency>
  232. <groupId>com.sun.jersey</groupId>
  233. <artifactId>jersey-server</artifactId>
  234. </dependency>
  235. <dependency>
  236. <groupId>com.sun.jersey</groupId>
  237. <artifactId>jersey-client</artifactId>
  238. </dependency>
  239. <dependency>
  240. <groupId>com.sun.jersey.contribs</groupId>
  241. <artifactId>jersey-multipart</artifactId>
  242. </dependency>
  243. <dependency>
  244. <groupId>org.mockito</groupId>
  245. <artifactId>mockito-all</artifactId>
  246. </dependency>
  247. <dependency>
  248. <groupId>org.testng</groupId>
  249. <artifactId>testng</artifactId>
  250. </dependency>
  251. <dependency>
  252. <groupId>com.google.inject</groupId>
  253. <artifactId>guice</artifactId>
  254. <version>${guice.version}</version>
  255. <scope>test</scope>
  256. </dependency>
  257. <dependency>
  258. <groupId>com.google.inject.extensions</groupId>
  259. <artifactId>guice-throwingproviders</artifactId>
  260. <version>${guice.version}</version>
  261. <scope>test</scope>
  262. </dependency>
  263. <dependency>
  264. <groupId>com.google.inject.extensions</groupId>
  265. <artifactId>guice-multibindings</artifactId>
  266. <version>${guice.version}</version>
  267. <scope>test</scope>
  268. </dependency>
  269. <dependency>
  270. <groupId>org.glassfish</groupId>
  271. <artifactId>javax.el</artifactId>
  272. </dependency>
  273. <dependency>
  274. <groupId>commons-io</groupId>
  275. <artifactId>commons-io</artifactId>
  276. </dependency>
  277. <dependency>
  278. <groupId>org.springframework</groupId>
  279. <artifactId>spring-core</artifactId>
  280. </dependency>
  281. <dependency>
  282. <groupId>org.springframework</groupId>
  283. <artifactId>spring-web</artifactId>
  284. </dependency>
  285. <dependency>
  286. <groupId>org.springframework</groupId>
  287. <artifactId>spring-webmvc</artifactId>
  288. </dependency>
  289. <dependency>
  290. <groupId>org.springframework.security</groupId>
  291. <artifactId>spring-security-core</artifactId>
  292. </dependency>
  293. <dependency>
  294. <groupId>org.springframework.security</groupId>
  295. <artifactId>spring-security-web</artifactId>
  296. </dependency>
  297. <dependency>
  298. <groupId>org.springframework.security</groupId>
  299. <artifactId>spring-security-config</artifactId>
  300. </dependency>
  301. <dependency>
  302. <groupId>org.springframework.security</groupId>
  303. <artifactId>spring-security-ldap</artifactId>
  304. </dependency>
  305. <dependency>
  306. <groupId>javax.servlet</groupId>
  307. <artifactId>javax.servlet-api</artifactId>
  308. </dependency>
  309. <!-- Jersey + Spring -->
  310. <dependency>
  311. <groupId>com.sun.jersey.contribs</groupId>
  312. <artifactId>jersey-spring</artifactId>
  313. </dependency>
  314. <dependency>
  315. <groupId>com.sun.jersey</groupId>
  316. <artifactId>jersey-servlet</artifactId>
  317. </dependency>
  318. <!-- Required for Spring configuration processing -->
  319. <dependency>
  320. <groupId>org.springframework</groupId>
  321. <artifactId>spring-aop</artifactId>
  322. </dependency>
  323. <dependency>
  324. <groupId>org.aspectj</groupId>
  325. <artifactId>aspectjrt</artifactId>
  326. <version>1.8.9</version>
  327. </dependency>
  328. <dependency>
  329. <groupId>org.aspectj</groupId>
  330. <artifactId>aspectjweaver</artifactId>
  331. <version>1.8.9</version>
  332. </dependency>
  333. <dependency>
  334. <groupId>org.apache.atlas</groupId>
  335. <artifactId>atlas-dashboardv2</artifactId>
  336. <type>war</type>
  337. </dependency>
  338. <dependency>
  339. <groupId>org.apache.atlas</groupId>
  340. <artifactId>atlas-dashboardv3</artifactId>
  341. <type>war</type>
  342. </dependency>
  343. <dependency>
  344. <groupId>org.easymock</groupId>
  345. <artifactId>easymock</artifactId>
  346. <version>3.4</version>
  347. <scope>test</scope>
  348. </dependency>
  349. <dependency>
  350. <groupId>org.apache.atlas</groupId>
  351. <artifactId>atlas-intg</artifactId>
  352. <classifier>tests</classifier>
  353. <scope>test</scope>
  354. </dependency>
  355. <dependency>
  356. <groupId>org.apache.atlas</groupId>
  357. <artifactId>atlas-repository</artifactId>
  358. <classifier>tests</classifier>
  359. <scope>test</scope>
  360. </dependency>
  361. <dependency>
  362. <groupId>org.elasticsearch.client</groupId>
  363. <artifactId>elasticsearch-rest-high-level-client</artifactId>
  364. <version>${elasticsearch.version}</version>
  365. <exclusions>
  366. <exclusion>
  367. <groupId>org.elasticsearch</groupId>
  368. <artifactId>elasticsearch</artifactId>
  369. </exclusion>
  370. </exclusions>
  371. </dependency>
  372. <dependency>
  373. <groupId>org.apache.atlas</groupId>
  374. <artifactId>atlas-graphdb-common</artifactId>
  375. <classifier>tests</classifier>
  376. <scope>test</scope>
  377. </dependency>
  378. <dependency>
  379. <groupId>com.nimbusds</groupId>
  380. <artifactId>nimbus-jose-jwt</artifactId>
  381. <version>9.8.1</version>
  382. <scope>compile</scope>
  383. <exclusions>
  384. <exclusion>
  385. <groupId>org.bouncycastle</groupId>
  386. <artifactId>bcprov-jdk15on</artifactId>
  387. </exclusion>
  388. </exclusions>
  389. </dependency>
  390. <dependency>
  391. <groupId>org.apache.atlas</groupId>
  392. <artifactId>atlas-server-api</artifactId>
  393. </dependency>
  394. <dependency>
  395. <groupId>com.webcohesion.enunciate</groupId>
  396. <artifactId>enunciate-core-annotations</artifactId>
  397. </dependency>
  398. <!-- PAM -->
  399. <dependency>
  400. <groupId>org.kohsuke</groupId>
  401. <artifactId>libpam4j</artifactId>
  402. <version>1.11</version>
  403. </dependency>
  404. <dependency>
  405. <groupId>net.java.dev.jna</groupId>
  406. <artifactId>jna</artifactId>
  407. <version>5.2.0</version>
  408. </dependency>
  409. <dependency>
  410. <groupId>org.apache.hadoop</groupId>
  411. <artifactId>hadoop-hdfs-client</artifactId>
  412. <version>${hadoop.version}</version>
  413. </dependency>
  414. <!-- AWS library -->
  415. <dependency>
  416. <groupId>org.apache.hadoop</groupId>
  417. <artifactId>hadoop-aws</artifactId>
  418. <version>${hadoop.version}</version>
  419. </dependency>
  420. <!-- Keycloak -->
  421. <dependency>
  422. <groupId>org.keycloak</groupId>
  423. <artifactId>keycloak-spring-security-adapter</artifactId>
  424. <version>${keycloak.version}</version>
  425. <exclusions>
  426. <exclusion>
  427. <groupId>com.fasterxml.jackson.core</groupId>
  428. <artifactId>jackson-core</artifactId>
  429. </exclusion>
  430. </exclusions>
  431. </dependency>
  432. <dependency>
  433. <groupId>org.apache.atlas</groupId>
  434. <artifactId>atlas-testtools</artifactId>
  435. <version>${project.version}</version>
  436. </dependency>
  437. <dependency>
  438. <groupId>org.apache.logging.log4j</groupId>
  439. <artifactId>log4j-core</artifactId>
  440. <version>${log4j2.version}</version>
  441. </dependency>
  442. <dependency>
  443. <groupId>org.apache.logging.log4j</groupId>
  444. <artifactId>log4j-web</artifactId>
  445. <version>${log4j2.version}</version>
  446. </dependency>
  447. <dependency>
  448. <groupId>org.apache.logging.log4j</groupId>
  449. <artifactId>log4j-api</artifactId>
  450. <version>${log4j2.version}</version>
  451. </dependency>
  452. <dependency>
  453. <groupId>com.fasterxml.jackson.core</groupId>
  454. <artifactId>jackson-core</artifactId>
  455. <version>${jackson.version}</version>
  456. </dependency>
  457. </dependencies>
  458. <build>
  459. <plugins>
  460. <plugin>
  461. <groupId>org.apache.maven.plugins</groupId>
  462. <artifactId>maven-war-plugin</artifactId>
  463. <configuration>
  464. <archiveClasses>true</archiveClasses>
  465. <attachClasses>true</attachClasses>
  466. <overlays>
  467. <overlay>
  468. <groupId>org.apache.atlas</groupId>
  469. <artifactId>atlas-dashboardv2</artifactId>
  470. </overlay>
  471. <overlay>
  472. <groupId>org.apache.atlas</groupId>
  473. <artifactId>atlas-dashboardv3</artifactId>
  474. </overlay>
  475. <overlay>
  476. <!-- empty groupId/artifactId represents the current build -->
  477. </overlay>
  478. </overlays>
  479. <webResources>
  480. <resource>
  481. <directory>${project.build.directory}/api/v2/apidocs/ui</directory>
  482. <targetPath>apidocs</targetPath>
  483. </resource>
  484. </webResources>
  485. <archive>
  486. <manifest>
  487. <addClasspath>true</addClasspath>
  488. </manifest>
  489. </archive>
  490. <packagingExcludes>
  491. WEB-INF/lib/dom4j-*.jar,${packages.to.exclude}
  492. </packagingExcludes>
  493. </configuration>
  494. </plugin>
  495. <plugin>
  496. <groupId>org.codehaus.mojo</groupId>
  497. <artifactId>keytool-maven-plugin</artifactId>
  498. <version>1.5</version>
  499. <executions>
  500. <execution>
  501. <id>clean</id>
  502. <phase>generate-resources</phase>
  503. <goals>
  504. <goal>clean</goal>
  505. </goals>
  506. </execution>
  507. <execution>
  508. <id>generateKeyPair</id>
  509. <phase>generate-resources</phase>
  510. <goals>
  511. <goal>generateKeyPair</goal>
  512. </goals>
  513. </execution>
  514. </executions>
  515. <configuration>
  516. <dname>cn=atlas.apache.org</dname>
  517. <keystore>${project.build.directory}/atlas.keystore</keystore>
  518. <keypass>keypass</keypass>
  519. <storepass>keypass</storepass>
  520. <alias>atlas</alias>
  521. <keyalg>RSA</keyalg>
  522. <validity>100000</validity>
  523. </configuration>
  524. </plugin>
  525. <plugin>
  526. <groupId>org.apache.maven.plugins</groupId>
  527. <artifactId>maven-surefire-plugin</artifactId>
  528. <configuration>
  529. <systemProperties>
  530. <user.dir>${project.basedir}</user.dir>
  531. <projectBaseDir>${project.basedir}/..</projectBaseDir>
  532. </systemProperties>
  533. <forkMode>always</forkMode>
  534. <redirectTestOutputToFile>true</redirectTestOutputToFile>
  535. <argLine>-Djava.awt.headless=true -Dproject.version=${project.version}
  536. -Dhadoop.tmp.dir=${project.build.directory}/tmp-hadoop-${user.name}
  537. -Xmx1024m
  538. </argLine>
  539. </configuration>
  540. <executions>
  541. <!-- Needed for explicit separation of UTs, SSL/Kerberos/Secure server tests and ITs-->
  542. <execution>
  543. <id>default-test</id>
  544. <configuration>
  545. <skip>true</skip>
  546. </configuration>
  547. </execution>
  548. <!-- Unit tests don't rely of WAR being built and don't interact with real server -->
  549. <execution>
  550. <id>unit-tests</id>
  551. <phase>test</phase>
  552. <goals>
  553. <goal>test</goal>
  554. </goals>
  555. <configuration>
  556. <includes>
  557. <include>**/*Test.java</include>
  558. </includes>
  559. <excludes>
  560. <exclude>**/*SSL*.java</exclude>
  561. <exclude>**/*Kerberos*.java</exclude>
  562. <exclude>**/*Base*.java</exclude>
  563. <exclude>**/*Secure*.java</exclude>
  564. <exclude>**/*Server*.java</exclude>
  565. <exclude>**/*$*.java</exclude>
  566. </excludes>
  567. </configuration>
  568. </execution>
  569. <!-- Secure tests rely on the generated WAR and (may) start atlas server for tests -->
  570. <!-- Eventually all these server interaction tests need to move to IT phase -->
  571. <execution>
  572. <id>secure-tests</id>
  573. <phase>pre-integration-test</phase>
  574. <goals>
  575. <goal>test</goal>
  576. </goals>
  577. <configuration>
  578. <includes>
  579. <include>**/*SSL*Test.java</include>
  580. <include>**/*Kerberos*Test.java</include>
  581. <include>**/*Secure*Test.java</include>
  582. <include>**/*Server*Test.java</include>
  583. <include>**/*$*.java</include>
  584. </includes>
  585. <excludes>
  586. <exclude>**/*Base*.java</exclude>
  587. </excludes>
  588. </configuration>
  589. </execution>
  590. </executions>
  591. </plugin>
  592. <plugin>
  593. <groupId>org.apache.maven.plugins</groupId>
  594. <artifactId>maven-antrun-plugin</artifactId>
  595. <executions>
  596. <execution>
  597. <phase>pre-integration-test</phase>
  598. <goals>
  599. <goal>run</goal>
  600. </goals>
  601. <configuration>
  602. <tasks>
  603. <delete dir="${project.build.directory}/data"/>
  604. <delete dir="${project.build.directory}/logs"/>
  605. </tasks>
  606. </configuration>
  607. </execution>
  608. </executions>
  609. </plugin>
  610. <plugin>
  611. <groupId>org.eclipse.jetty</groupId>
  612. <artifactId>jetty-maven-plugin</artifactId>
  613. <configuration>
  614. <skip>${skipTests}</skip>
  615. <!--only skip int tests -->
  616. <httpConnector>
  617. <port>31000</port>
  618. <idleTimeout>60000</idleTimeout>
  619. </httpConnector>
  620. <war>${project.build.directory}/atlas-webapp-${project.version}.war</war>
  621. <daemon>true</daemon>
  622. <webAppSourceDirectory>${project.basedir}/src/main/webapp</webAppSourceDirectory>
  623. <webApp>
  624. <contextPath>/</contextPath>
  625. <descriptor>${project.basedir}/src/main/webapp/WEB-INF/web.xml</descriptor>
  626. <extraClasspath>${project.build.testOutputDirectory}</extraClasspath>
  627. </webApp>
  628. <useTestScope>true</useTestScope>
  629. <systemProperties>
  630. <systemProperty>
  631. <name>atlas.home</name>
  632. <value>${project.build.directory}</value>
  633. </systemProperty>
  634. <systemProperty>
  635. <key>atlas.conf</key>
  636. <value>${project.build.directory}/test-classes</value>
  637. </systemProperty>
  638. <systemProperty>
  639. <name>atlas.data</name>
  640. <value>${project.build.directory}/data</value>
  641. </systemProperty>
  642. <systemProperty>
  643. <name>atlas.log.dir</name>
  644. <value>${project.build.directory}/logs</value>
  645. </systemProperty>
  646. <systemProperty>
  647. <name>atlas.log.file</name>
  648. <value>application.log</value>
  649. </systemProperty>
  650. <systemProperty>
  651. <name>log4j.configuration</name>
  652. <value>${log4j.configuration.url}</value>
  653. </systemProperty>
  654. <systemProperty>
  655. <name>atlas.graphdb.backend</name>
  656. <value>${graphdb.backend.impl}</value>
  657. </systemProperty>
  658. <systemProperty>
  659. <key>embedded.solr.directory</key>
  660. <value>${project.build.directory}</value>
  661. </systemProperty>
  662. <systemProperty>
  663. <name>org.eclipse.jetty.annotations.maxWait</name>
  664. <value>5000</value>
  665. </systemProperty>
  666. <systemProperty>
  667. <name>org.eclipse.jetty.annotations.maxWait</name>
  668. <value>5000</value>
  669. </systemProperty>
  670. </systemProperties>
  671. <stopKey>atlas-stop</stopKey>
  672. <stopPort>31001</stopPort>
  673. <stopWait>${jetty-maven-plugin.stopWait}</stopWait>
  674. <daemon>${debug.jetty.daemon}</daemon>
  675. <testClassesDirectory>${project.build.testOutputDirectory}</testClassesDirectory>
  676. <useTestClasspath>true</useTestClasspath>
  677. </configuration>
  678. <executions>
  679. <execution>
  680. <id>start-jetty</id>
  681. <phase>pre-integration-test</phase>
  682. <goals>
  683. <goal>deploy-war</goal>
  684. </goals>
  685. </execution>
  686. <execution>
  687. <id>stop-jetty</id>
  688. <phase>post-integration-test</phase>
  689. <goals>
  690. <goal>stop</goal>
  691. </goals>
  692. </execution>
  693. </executions>
  694. </plugin>
  695. <plugin>
  696. <groupId>org.apache.maven.plugins</groupId>
  697. <artifactId>maven-resources-plugin</artifactId>
  698. <executions>
  699. <execution>
  700. <id>copy-resources</id>
  701. <phase>validate</phase>
  702. <goals>
  703. <goal>copy-resources</goal>
  704. </goals>
  705. <configuration>
  706. <outputDirectory>${basedir}/target/models/</outputDirectory>
  707. <resources>
  708. <resource>
  709. <directory>${basedir}/../addons/models/</directory>
  710. <includes>
  711. <include>0000-Area0/0011-glossary_model.json</include>
  712. <include>0000-Area0/0010-base_model.json</include>
  713. <include>1000-Hadoop/**</include>
  714. </includes>
  715. </resource>
  716. </resources>
  717. </configuration>
  718. </execution>
  719. <execution>
  720. <id>copy-solr-resources</id>
  721. <phase>validate</phase>
  722. <goals>
  723. <goal>copy-resources</goal>
  724. </goals>
  725. <configuration>
  726. <outputDirectory>${project.build.directory}/solr</outputDirectory>
  727. <resources>
  728. <resource>
  729. <directory>${basedir}/../test-tools/src/main/resources/solr</directory>
  730. </resource>
  731. </resources>
  732. </configuration>
  733. </execution>
  734. </executions>
  735. </plugin>
  736. <plugin>
  737. <groupId>com.webcohesion.enunciate</groupId>
  738. <artifactId>enunciate-maven-plugin</artifactId>
  739. <version>${enunciate-maven-plugin.version}</version>
  740. <!-- to allow target/api/v2/apidocs/ui to be created before building maven-war-plugin)-->
  741. <executions>
  742. <execution>
  743. <phase>generate-resources</phase>
  744. </execution>
  745. </executions>
  746. <configuration>
  747. <configFile>${project.parent.basedir}/build-tools/src/main/resources/enunciate.xml</configFile>
  748. <enunciateArtifactId/>
  749. <docsDir>${project.build.directory}/api/v2/</docsDir>
  750. <source>1.8</source>
  751. <target>1.8</target>
  752. <skipEnunciate>${skipEnunciate}</skipEnunciate>
  753. </configuration>
  754. <dependencies>
  755. <dependency>
  756. <groupId>javax.annotation</groupId>
  757. <artifactId>javax.annotation-api</artifactId>
  758. <version>1.3</version>
  759. </dependency>
  760. </dependencies>
  761. </plugin>
  762. </plugins>
  763. </build>
  764. </project>