pom.xml 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!--
  3. Licensed under the Apache License, Version 2.0 (the "License");
  4. you may not use this file except in compliance with the License.
  5. You may obtain a copy of the License at
  6. http://www.apache.org/licenses/LICENSE-2.0
  7. Unless required by applicable law or agreed to in writing, software
  8. distributed under the License is distributed on an "AS IS" BASIS,
  9. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  10. See the License for the specific language governing permissions and
  11. limitations under the License. See accompanying LICENSE file.
  12. -->
  13. <project xmlns="http://maven.apache.org/POM/4.0.0"
  14. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  15. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
  16. <parent>
  17. <artifactId>hadoop-ozone</artifactId>
  18. <groupId>org.apache.hadoop</groupId>
  19. <version>0.5.0-SNAPSHOT</version>
  20. </parent>
  21. <name>Apache Hadoop Ozone Recon</name>
  22. <modelVersion>4.0.0</modelVersion>
  23. <artifactId>hadoop-ozone-recon</artifactId>
  24. <properties>
  25. <jooq.version>3.11.10</jooq.version>
  26. <spring.version>5.1.3.RELEASE</spring.version>
  27. </properties>
  28. <build>
  29. <resources>
  30. <resource>
  31. <directory>src/main/resources</directory>
  32. <excludes>
  33. <exclude>**/node_modules/**</exclude>
  34. </excludes>
  35. </resource>
  36. </resources>
  37. <plugins>
  38. <plugin>
  39. <groupId>org.codehaus.mojo</groupId>
  40. <artifactId>exec-maven-plugin</artifactId>
  41. <version>${exec-maven-plugin.version}</version>
  42. <executions>
  43. <execution>
  44. <phase>generate-resources</phase>
  45. <goals>
  46. <goal>java</goal>
  47. </goals>
  48. </execution>
  49. </executions>
  50. <configuration>
  51. <executable>java</executable>
  52. <classpathScope>compile</classpathScope>
  53. <mainClass>org.hadoop.ozone.recon.codegen.JooqCodeGenerator</mainClass>
  54. <arguments>
  55. <argument>${project.build.directory}/generated-sources/java</argument>
  56. </arguments>
  57. </configuration>
  58. </plugin>
  59. <plugin>
  60. <groupId>org.codehaus.mojo</groupId>
  61. <artifactId>build-helper-maven-plugin</artifactId>
  62. <executions>
  63. <execution>
  64. <id>add-source</id>
  65. <phase>generate-sources</phase>
  66. <goals>
  67. <goal>add-source</goal>
  68. </goals>
  69. <configuration>
  70. <sources>
  71. <source>${project.build.directory}/generated-sources/java</source>
  72. </sources>
  73. </configuration>
  74. </execution>
  75. </executions>
  76. </plugin>
  77. <plugin>
  78. <groupId>org.codehaus.mojo</groupId>
  79. <artifactId>findbugs-maven-plugin</artifactId>
  80. <configuration>
  81. <excludeFilterFile>${basedir}/dev-support/findbugsExcludeFile.xml</excludeFilterFile>
  82. </configuration>
  83. </plugin>
  84. <!--
  85. 1. used for local installation of node and yarn
  86. 2. to install dependencies with yarn install
  87. 3. building the frontend application
  88. -->
  89. <plugin>
  90. <groupId>com.github.eirslett</groupId>
  91. <artifactId>frontend-maven-plugin</artifactId>
  92. <version>1.6</version>
  93. <configuration>
  94. <installDirectory>target</installDirectory>
  95. <workingDirectory>${basedir}/src/main/resources/webapps/recon/ozone-recon-web</workingDirectory>
  96. </configuration>
  97. <executions>
  98. <execution>
  99. <id>Install node and yarn locally to the project</id>
  100. <goals>
  101. <goal>install-node-and-yarn</goal>
  102. </goals>
  103. <configuration>
  104. <nodeVersion>v12.1.0</nodeVersion>
  105. <yarnVersion>v1.9.2</yarnVersion>
  106. </configuration>
  107. </execution>
  108. <execution>
  109. <id>yarn install</id>
  110. <goals>
  111. <goal>yarn</goal>
  112. </goals>
  113. <configuration>
  114. <arguments>install</arguments>
  115. </configuration>
  116. </execution>
  117. <execution>
  118. <id>Build frontend</id>
  119. <goals>
  120. <goal>yarn</goal>
  121. </goals>
  122. <configuration>
  123. <arguments>run build</arguments>
  124. </configuration>
  125. </execution>
  126. </executions>
  127. </plugin>
  128. <plugin>
  129. <groupId>org.apache.maven.plugins</groupId>
  130. <artifactId>maven-resources-plugin</artifactId>
  131. <executions>
  132. <execution>
  133. <id>Copy frontend build to target</id>
  134. <phase>process-resources</phase>
  135. <goals>
  136. <goal>copy-resources</goal>
  137. </goals>
  138. <configuration>
  139. <outputDirectory>${project.build.outputDirectory}/webapps/recon</outputDirectory>
  140. <resources>
  141. <resource>
  142. <directory>${basedir}/src/main/resources/webapps/recon/ozone-recon-web/build</directory>
  143. <filtering>true</filtering>
  144. </resource>
  145. </resources>
  146. </configuration>
  147. </execution>
  148. <execution>
  149. <id>Copy frontend static files to target</id>
  150. <phase>process-resources</phase>
  151. <goals>
  152. <goal>copy-resources</goal>
  153. </goals>
  154. <configuration>
  155. <outputDirectory>${project.build.outputDirectory}/webapps/static</outputDirectory>
  156. <resources>
  157. <resource>
  158. <directory>${basedir}/src/main/resources/webapps/recon/ozone-recon-web/build/static</directory>
  159. <filtering>true</filtering>
  160. </resource>
  161. </resources>
  162. </configuration>
  163. </execution>
  164. </executions>
  165. </plugin>
  166. </plugins>
  167. </build>
  168. <dependencies>
  169. <dependency>
  170. <groupId>org.apache.hadoop</groupId>
  171. <artifactId>hadoop-ozone-common</artifactId>
  172. <exclusions>
  173. <exclusion>
  174. <artifactId>jersey-server</artifactId>
  175. <groupId>com.sun.jersey</groupId>
  176. </exclusion>
  177. <exclusion>
  178. <artifactId>jersey-core</artifactId>
  179. <groupId>com.sun.jersey</groupId>
  180. </exclusion>
  181. <exclusion>
  182. <artifactId>jersey-servlet</artifactId>
  183. <groupId>com.sun.jersey</groupId>
  184. </exclusion>
  185. </exclusions>
  186. </dependency>
  187. <dependency>
  188. <groupId>org.apache.hadoop</groupId>
  189. <artifactId>hadoop-ozone-reconcodegen</artifactId>
  190. <version>${version}</version>
  191. </dependency>
  192. <dependency>
  193. <groupId>org.apache.hadoop</groupId>
  194. <artifactId>hadoop-ozone-ozone-manager</artifactId>
  195. </dependency>
  196. <dependency>
  197. <groupId>com.google.inject</groupId>
  198. <artifactId>guice</artifactId>
  199. <version>${guice.version}</version>
  200. </dependency>
  201. <dependency>
  202. <groupId>com.google.inject.extensions</groupId>
  203. <artifactId>guice-servlet</artifactId>
  204. <version>${guice.version}</version>
  205. </dependency>
  206. <dependency>
  207. <groupId>org.glassfish.jersey.containers</groupId>
  208. <artifactId>jersey-container-servlet</artifactId>
  209. <version>2.27</version>
  210. <exclusions>
  211. <exclusion>
  212. <groupId>org.glassfish.hk2</groupId>
  213. <artifactId>hk2-api</artifactId>
  214. </exclusion>
  215. </exclusions>
  216. <scope>compile</scope>
  217. </dependency>
  218. <dependency>
  219. <groupId>org.glassfish.jersey.containers</groupId>
  220. <artifactId>jersey-container-servlet-core</artifactId>
  221. <version>2.27</version>
  222. </dependency>
  223. <dependency>
  224. <groupId>org.glassfish.hk2</groupId>
  225. <artifactId>guice-bridge</artifactId>
  226. <version>2.5.0</version>
  227. </dependency>
  228. <dependency>
  229. <groupId>org.glassfish.jersey.core</groupId>
  230. <artifactId>jersey-server</artifactId>
  231. <version>2.27</version>
  232. </dependency>
  233. <dependency>
  234. <groupId>org.glassfish.jersey.media</groupId>
  235. <artifactId>jersey-media-json-jackson</artifactId>
  236. <version>2.27</version>
  237. </dependency>
  238. <dependency>
  239. <groupId>com.google.inject.extensions</groupId>
  240. <artifactId>guice-assistedinject</artifactId>
  241. <version>${guice.version}</version>
  242. </dependency>
  243. <dependency>
  244. <groupId>org.glassfish.jersey.inject</groupId>
  245. <artifactId>jersey-hk2</artifactId>
  246. <version>2.27</version>
  247. <exclusions>
  248. <exclusion>
  249. <artifactId>hk2-api</artifactId>
  250. <groupId>org.glassfish.hk2</groupId>
  251. </exclusion>
  252. <exclusion>
  253. <groupId>org.glassfish.hk2.external</groupId>
  254. <artifactId>aopalliance-repackaged</artifactId>
  255. </exclusion>
  256. <exclusion>
  257. <groupId>org.glassfish.hk2</groupId>
  258. <artifactId>hk2-utils</artifactId>
  259. </exclusion>
  260. </exclusions>
  261. </dependency>
  262. <dependency>
  263. <groupId>junit</groupId>
  264. <artifactId>junit</artifactId>
  265. <scope>test</scope>
  266. </dependency>
  267. <dependency>
  268. <groupId>org.mockito</groupId>
  269. <artifactId>mockito-core</artifactId>
  270. <version>2.8.9</version>
  271. <scope>test</scope>
  272. </dependency>
  273. <dependency>
  274. <groupId>org.powermock</groupId>
  275. <artifactId>powermock-module-junit4</artifactId>
  276. <version>1.7.4</version>
  277. <scope>test</scope>
  278. <exclusions>
  279. <exclusion>
  280. <groupId>org.javassist</groupId>
  281. <artifactId>javassist</artifactId>
  282. </exclusion>
  283. </exclusions>
  284. </dependency>
  285. <dependency>
  286. <groupId>org.powermock</groupId>
  287. <artifactId>powermock-api-mockito2</artifactId>
  288. <version>1.7.4</version>
  289. <scope>test</scope>
  290. <exclusions>
  291. <exclusion>
  292. <groupId>org.mockito</groupId>
  293. <artifactId>mockito-core</artifactId>
  294. </exclusion>
  295. </exclusions>
  296. </dependency>
  297. <dependency>
  298. <groupId>org.jooq</groupId>
  299. <artifactId>jooq</artifactId>
  300. <version>${jooq.version}</version>
  301. </dependency>
  302. <dependency>
  303. <groupId>org.jooq</groupId>
  304. <artifactId>jooq-meta</artifactId>
  305. <version>${jooq.version}</version>
  306. </dependency>
  307. <dependency>
  308. <groupId>org.jooq</groupId>
  309. <artifactId>jooq-codegen</artifactId>
  310. <version>${jooq.version}</version>
  311. </dependency>
  312. <dependency>
  313. <groupId>com.jolbox</groupId>
  314. <artifactId>bonecp</artifactId>
  315. <version>0.8.0.RELEASE</version>
  316. </dependency>
  317. <dependency>
  318. <groupId>org.xerial</groupId>
  319. <artifactId>sqlite-jdbc</artifactId>
  320. <version>3.25.2</version>
  321. </dependency>
  322. <dependency>
  323. <groupId>org.springframework</groupId>
  324. <artifactId>spring-jdbc</artifactId>
  325. <version>${spring.version}</version>
  326. </dependency>
  327. <dependency>
  328. <groupId>javax.activation</groupId>
  329. <artifactId>activation</artifactId>
  330. <version>1.1.1</version>
  331. </dependency>
  332. </dependencies>
  333. </project>