pom.xml 8.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310
  1. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  2. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  3. <modelVersion>4.0.0</modelVersion>
  4. <groupId>com.opengroupe.cloud.saas</groupId>
  5. <artifactId>catalog-ui</artifactId>
  6. <version>1.0.0-SNAPSHOT</version>
  7. <name>UI service project</name>
  8. <description>Default tools to build UI BFF</description>
  9. <packaging>${packaging.type}</packaging>
  10. <url>http://www.open-groupe.com</url>
  11. <scm>
  12. <developerConnection>scm:git:TOFILL</developerConnection>
  13. </scm>
  14. <parent>
  15. <groupId>org.springframework.boot</groupId>
  16. <artifactId>spring-boot-starter-parent</artifactId>
  17. <version>1.3.3.RELEASE</version>
  18. </parent>
  19. <properties>
  20. <java.version>1.8</java.version>
  21. <maven.deploy.skip>true</maven.deploy.skip>
  22. <project.scm.id>jazzhub</project.scm.id>
  23. <docker.image.prefix>opensaas</docker.image.prefix>
  24. <jasmine.version>2.4.1</jasmine.version>
  25. <jasmine-ajax.version>3.2.0</jasmine-ajax.version>
  26. <bootstrap.version>3.3.6</bootstrap.version>
  27. <jquery.version>2.2.1</jquery.version>
  28. <react.version>0.14.7</react.version>
  29. <marked.version>0.3.2-1</marked.version>
  30. <marked-lib.version>0.3.2</marked-lib.version>
  31. </properties>
  32. <dependencies>
  33. <!-- Spring Boot Core -->
  34. <dependency>
  35. <groupId>org.springframework.boot</groupId>
  36. <artifactId>spring-boot-starter-web</artifactId>
  37. </dependency>
  38. <!-- View templating -->
  39. <dependency>
  40. <groupId>org.springframework.boot</groupId>
  41. <artifactId>spring-boot-starter-thymeleaf</artifactId>
  42. </dependency>
  43. <!-- Monitoring -->
  44. <dependency>
  45. <groupId>org.springframework.boot</groupId>
  46. <artifactId>spring-boot-starter-actuator</artifactId>
  47. </dependency>
  48. <!-- Hot swapping for dev purposes -->
  49. <dependency>
  50. <groupId>org.springframework.boot</groupId>
  51. <artifactId>spring-boot-devtools</artifactId>
  52. <optional>true</optional>
  53. </dependency>
  54. <!-- Webjars -->
  55. <dependency>
  56. <groupId>org.webjars</groupId>
  57. <artifactId>bootstrap</artifactId>
  58. <version>${bootstrap.version}</version>
  59. </dependency>
  60. <dependency>
  61. <groupId>org.webjars</groupId>
  62. <artifactId>jquery</artifactId>
  63. <version>${jquery.version}</version>
  64. </dependency>
  65. <dependency>
  66. <groupId>org.webjars</groupId>
  67. <artifactId>react</artifactId>
  68. <version>${react.version}</version>
  69. </dependency>
  70. <dependency>
  71. <groupId>org.webjars</groupId>
  72. <artifactId>marked</artifactId>
  73. <version>${marked.version}</version>
  74. </dependency>
  75. </dependencies>
  76. <build>
  77. <finalName>${project.artifactId}</finalName>
  78. <resources>
  79. <resource>
  80. <directory>${project.basedir}/src/main/resources</directory>
  81. </resource>
  82. </resources>
  83. <plugins>
  84. <plugin>
  85. <groupId>org.springframework.boot</groupId>
  86. <artifactId>spring-boot-maven-plugin</artifactId>
  87. </plugin>
  88. <plugin>
  89. <groupId>com.fizzed</groupId>
  90. <artifactId>fizzed-watcher-maven-plugin</artifactId>
  91. <version>1.0.6</version>
  92. <configuration>
  93. <watches>
  94. <watch>
  95. <excludes>
  96. <exclude>src/main/resources/static/js/bundle</exclude>
  97. <exclude>src/main/resources/static/js/jsx</exclude>
  98. </excludes>
  99. <recursive>false</recursive>
  100. <directory>src/main/resources/static/js</directory>
  101. </watch>
  102. <watch>
  103. <exclude>src/main/resources/static/css/bundle</exclude>
  104. <recursive>false</recursive>
  105. <directory>src/main/resources/static/css</directory>
  106. </watch>
  107. <watch>
  108. <directory>src/main/wro</directory>
  109. </watch>
  110. </watches>
  111. <goals>
  112. <goal>process-resources</goal>
  113. </goals>
  114. </configuration>
  115. </plugin>
  116. <!-- Resource optimization -->
  117. <plugin>
  118. <artifactId>maven-resources-plugin</artifactId>
  119. <executions>
  120. <execution>
  121. <!-- Serves *only* to filter the wro.xml so it can get an absolute
  122. path for the project -->
  123. <id>copy-resources</id>
  124. <phase>validate</phase>
  125. <goals>
  126. <goal>copy-resources</goal>
  127. </goals>
  128. <configuration>
  129. <outputDirectory>${basedir}/target/wro</outputDirectory>
  130. <resources>
  131. <resource>
  132. <directory>src/main/wro</directory>
  133. <filtering>true</filtering>
  134. </resource>
  135. </resources>
  136. </configuration>
  137. </execution>
  138. </executions>
  139. </plugin>
  140. <plugin>
  141. <groupId>uk.co.codezen</groupId>
  142. <artifactId>react-jsxtransformer-maven-plugin</artifactId>
  143. <version>1.0</version>
  144. <executions>
  145. <execution>
  146. <id>Compile resources</id>
  147. <phase>process-resources</phase>
  148. <goals>
  149. <goal>compile</goal>
  150. </goals>
  151. <configuration>
  152. <extension>jsx</extension>
  153. <sourcePath>
  154. ${project.basedir}/src/main/resources/static/js
  155. </sourcePath>
  156. <targetPath>
  157. ${project.build.directory}/classes/static/js
  158. </targetPath>
  159. </configuration>
  160. </execution>
  161. </executions>
  162. </plugin>
  163. <plugin>
  164. <groupId>ro.isdc.wro4j</groupId>
  165. <artifactId>wro4j-maven-plugin</artifactId>
  166. <version>1.7.9</version>
  167. <executions>
  168. <execution>
  169. <phase>process-resources</phase>
  170. <goals>
  171. <goal>run</goal>
  172. </goals>
  173. </execution>
  174. </executions>
  175. <configuration>
  176. <wroManagerFactory>ro.isdc.wro.maven.plugin.manager.factory.ConfigurableWroManagerFactory</wroManagerFactory>
  177. <cssDestinationFolder>${project.build.directory}/classes/static/css</cssDestinationFolder>
  178. <jsDestinationFolder>${project.build.directory}/classes/static/js</jsDestinationFolder>
  179. <wroFile>${project.build.directory}/wro/wro.xml</wroFile>
  180. <extraConfigFile>${project.basedir}/src/main/wro/wro.properties</extraConfigFile>
  181. </configuration>
  182. </plugin>
  183. <!-- Release -->
  184. <plugin>
  185. <groupId>org.apache.maven.plugins</groupId>
  186. <artifactId>maven-release-plugin</artifactId>
  187. <version>2.5.3</version>
  188. </plugin>
  189. <!-- Deployment -->
  190. <plugin>
  191. <groupId>org.cloudfoundry</groupId>
  192. <artifactId>cf-maven-plugin</artifactId>
  193. <version>1.1.3</version>
  194. <!-- <configuration>
  195. <server>bluemix</server>
  196. <target>https://api.eu-gb.bluemix.net </target>
  197. <org>open-groupe.com</org>
  198. <space>dev</space>
  199. <appname>TOFILL</appname>
  200. <url>TOFILL</url>
  201. <buildpack>https://github.com/cloudfoundry/java-buildpack.git</buildpack>
  202. <memory>512</memory>
  203. <diskQuota>1024</diskQuota>
  204. <instances>1</instances>
  205. </configuration> -->
  206. </plugin>
  207. </plugins>
  208. <pluginManagement>
  209. <plugins>
  210. <plugin>
  211. <groupId>org.eclipse.m2e</groupId>
  212. <artifactId>lifecycle-mapping</artifactId>
  213. <version>1.0.0</version>
  214. <configuration>
  215. <lifecycleMappingMetadata>
  216. <pluginExecutions>
  217. <pluginExecution>
  218. <pluginExecutionFilter>
  219. <groupId>ro.isdc.wro4j</groupId>
  220. <artifactId>wro4j-maven-plugin</artifactId>
  221. <versionRange>[1.7.9,)</versionRange>
  222. <goals>
  223. <goal>jshint</goal>
  224. <goal>run</goal>
  225. </goals>
  226. </pluginExecutionFilter>
  227. <action>
  228. <ignore></ignore>
  229. </action>
  230. </pluginExecution>
  231. <pluginExecution>
  232. <pluginExecutionFilter>
  233. <groupId>uk.co.codezen</groupId>
  234. <artifactId>react-jsxtransformer-maven-plugin</artifactId>
  235. <versionRange>[1.0,)</versionRange>
  236. <goals>
  237. <goal>compile</goal>
  238. </goals>
  239. </pluginExecutionFilter>
  240. <action>
  241. <ignore></ignore>
  242. </action>
  243. </pluginExecution>
  244. </pluginExecutions>
  245. </lifecycleMappingMetadata>
  246. </configuration>
  247. </plugin>
  248. </plugins>
  249. </pluginManagement>
  250. </build>
  251. <profiles>
  252. <profile>
  253. <id>webapp</id>
  254. <activation>
  255. <activeByDefault>true</activeByDefault>
  256. </activation>
  257. <properties>
  258. <packaging.type>war</packaging.type>
  259. </properties>
  260. </profile>
  261. <profile>
  262. <id>docker</id>
  263. <properties>
  264. <packaging.type>jar</packaging.type>
  265. </properties>
  266. <build>
  267. <finalName>app</finalName>
  268. <plugins>
  269. <!-- Docker -->
  270. <plugin>
  271. <groupId>com.spotify</groupId>
  272. <artifactId>docker-maven-plugin</artifactId>
  273. <version>0.2.3</version>
  274. <configuration>
  275. <goal>package</goal>
  276. <imageName>${docker.image.prefix}/${project.artifactId}</imageName>
  277. <dockerDirectory>src/main/docker</dockerDirectory>
  278. <resources>
  279. <resource>
  280. <targetPath>/</targetPath>
  281. <directory>${project.build.directory}</directory>
  282. <include>${project.build.finalName}.jar</include>
  283. </resource>
  284. </resources>
  285. </configuration>
  286. <executions>
  287. <execution>
  288. <id>build-image</id>
  289. <phase>package</phase>
  290. <goals>
  291. <goal>build</goal>
  292. </goals>
  293. </execution>
  294. </executions>
  295. </plugin>
  296. </plugins>
  297. </build>
  298. </profile>
  299. </profiles>
  300. </project>