Portal Spring Boot Development
[portal.git] / ecomp-portal-widget-ms / widget-ms / pom.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4                 <modelVersion>4.0.0</modelVersion>
5
6         <!-- This project must name Spring as parent; cannot name Portal -->
7         <parent>
8                 <groupId>org.springframework.boot</groupId>
9                 <artifactId>spring-boot-starter-parent</artifactId>
10                 <version>1.4.2.RELEASE</version>
11                 <relativePath /> <!-- lookup parent from repository -->
12         </parent>
13
14         <groupId>org.onap.portal</groupId>
15         <artifactId>widget-ms</artifactId>
16         <version>2.6.0-SNAPSHOT</version>
17         <packaging>jar</packaging>
18         <name>widget-microservice</name>
19
20         <properties>
21                 <docker.imagename>widget-ms</docker.imagename>
22                 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
23                 <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
24                 <java.version>1.8</java.version>
25                 <hibernate.version>4.3.11.Final</hibernate.version>
26                 <skipTests>false</skipTests>
27                 <!-- Replicate this from OParent -->
28                 <jacocoVersion>0.7.6.201602180812</jacocoVersion>
29         </properties>
30
31         <dependencies>
32                 <!-- This pom pulls in artifacts -->
33                 <dependency>
34                         <groupId>org.onap.portal</groupId>
35                         <artifactId>common-widgets</artifactId>
36                         <version>${project.version}</version>
37                         <type>pom</type>
38                 </dependency>
39                 <dependency>
40                         <!-- Setup Spring Data JPA Repository support -->
41                         <groupId>org.springframework.boot</groupId>
42                         <artifactId>spring-boot-starter-data-jpa</artifactId>
43                 </dependency>
44                 <dependency>
45                         <groupId>org.springframework.boot</groupId>
46                         <artifactId>spring-boot-starter-security</artifactId>
47                         <exclusions>
48                                 <exclusion>
49                                         <groupId>org.springframework.security</groupId>
50                                 <artifactId>spring-security-web</artifactId>
51                                 </exclusion>
52                         </exclusions>
53                 </dependency>
54                 <dependency>
55                         <groupId>org.springframework.boot</groupId>
56                         <artifactId>spring-boot-starter-thymeleaf</artifactId>
57                 </dependency>
58                 <!-- <dependency>
59                         <groupId>org.springframework.boot</groupId>
60                         <artifactId>spring-boot-devtools</artifactId>
61                         <optional>true</optional>
62                 </dependency> -->
63                 <dependency>
64                         <groupId>org.springframework.boot</groupId>
65                         <artifactId>spring-boot-configuration-processor</artifactId>
66                         <optional>true</optional>
67                 </dependency>
68                 <dependency>
69                         <groupId>org.hibernate</groupId>
70                         <artifactId>hibernate-core</artifactId>
71                         <!-- <version>${hibernate.version}</version> -->
72                 </dependency>
73                 <dependency>
74                         <groupId>org.springframework.boot</groupId>
75                         <artifactId>spring-boot-starter</artifactId>
76                 </dependency>
77                 <dependency>
78                         <groupId>org.springframework.boot</groupId>
79                         <artifactId>spring-boot-starter-test</artifactId>
80                         <scope>test</scope>
81                 </dependency>
82                 <dependency>
83                         <groupId>org.springframework.boot</groupId>
84                         <artifactId>spring-boot-starter-web</artifactId>
85                 </dependency>
86                 <dependency>
87                         <groupId>commons-codec</groupId>
88                         <artifactId>commons-codec</artifactId>
89                         <!-- <version>1.10</version> -->
90                 </dependency>
91                 <dependency>
92                         <groupId>org.mariadb.jdbc</groupId>
93                         <artifactId>mariadb-java-client</artifactId>
94                         <!-- <version>1.5.8</version> -->
95                 </dependency>
96                 <dependency>
97                         <groupId>com.github.ulisesbocchio</groupId>
98                         <artifactId>jasypt-spring-boot-starter</artifactId>
99                         <version>1.9</version>
100                 </dependency>
101                 <!-- hibernate-core depends on dom4j, which has optional dependencies. 
102                         On jenkins, contrary to doc, mvn 3.0.5 packages the optional dependencies 
103                         in the war. Workaround: exclude them explicitly. -->
104                 <dependency>
105                         <groupId>dom4j</groupId>
106                         <artifactId>dom4j</artifactId>
107                         <!-- <version>1.6.1</version> -->
108                         <exclusions>
109                                 <exclusion>
110                                         <groupId>jaxme</groupId>
111                                         <artifactId>jaxme-api</artifactId>
112                                 </exclusion>
113                                 <exclusion>
114                                         <groupId>jaxen</groupId>
115                                         <artifactId>jaxen</artifactId>
116                                 </exclusion>
117                                 <exclusion>
118                                         <groupId>msv</groupId>
119                                         <artifactId>xsdlib</artifactId>
120                                 </exclusion>
121                                 <exclusion>
122                                         <groupId>msv</groupId>
123                                         <artifactId>relaxngDatatype</artifactId>
124                                 </exclusion>
125                                 <exclusion>
126                                         <groupId>pull-parser</groupId>
127                                         <artifactId>pull-parser</artifactId>
128                                 </exclusion>
129                                 <exclusion>
130                                         <groupId>xpp3</groupId>
131                                         <artifactId>xpp3</artifactId>
132                                 </exclusion>
133                                 <exclusion>
134                                         <groupId>stax</groupId>
135                                         <artifactId>stax-api</artifactId>
136                                 </exclusion>
137                         </exclusions>
138                 </dependency>
139                 <!-- Jacoco offline instrumentation agent -->
140                 <dependency>
141                         <groupId>org.jacoco</groupId>
142                         <artifactId>org.jacoco.agent</artifactId>
143                         <version>${jacocoVersion}</version>
144                         <classifier>runtime</classifier>
145                 </dependency>
146                 <dependency>
147                 <groupId>org.apache.tomcat.embed</groupId>
148                 <artifactId>tomcat-embed-core</artifactId>
149                 <version>8.5.28</version>
150                 </dependency>
151                 <dependency>
152                         <groupId>ch.qos.logback</groupId>
153                         <artifactId>logback-core</artifactId>
154                         <version>1.2.3</version>
155                 </dependency>
156                 <dependency>
157                         <groupId>ch.qos.logback</groupId>
158                         <artifactId>logback-classic</artifactId>
159                         <version>1.2.3</version>
160                 </dependency>
161                 <dependency>
162                         <groupId>com.fasterxml.jackson.core</groupId>
163                         <artifactId>jackson-annotations</artifactId>
164                         <version>2.8.10</version>
165                 </dependency>
166                 <dependency>
167                         <groupId>com.fasterxml.jackson.core</groupId>
168                         <artifactId>jackson-core</artifactId>
169                         <version>2.8.10</version>
170                 </dependency>
171                 <dependency>
172                         <groupId>com.fasterxml.jackson.core</groupId>
173                         <artifactId>jackson-databind</artifactId>
174                         <version>2.8.10</version>
175                 </dependency>
176                 <dependency>
177                 <groupId>org.springframework.security</groupId>
178                 <artifactId>spring-security-web</artifactId>
179                 <version>4.1.4.RELEASE</version>
180                 </dependency>
181                 <dependency>
182                         <groupId>org.projectlombok</groupId>
183                         <artifactId>lombok</artifactId>
184                         <version>1.18.4</version>
185                 </dependency>
186         </dependencies>
187
188         <build>
189
190                 <finalName>${project.artifactId}</finalName>
191
192                 <!-- To add resources, must name all including usual src/main/resources -->
193                 <resources>
194                         <resource>
195                                 <directory>src/main/resources</directory>
196                                 <filtering>true</filtering>
197                         </resource>
198                         <resource>
199                                 <directory>../common-widgets/target</directory>
200                                 <includes>
201                                         <include>**/*.zip</include>
202                                 </includes>
203                         </resource>
204                 </resources>
205
206                 <pluginManagement>
207                         <plugins>
208                                 <!-- replicated from OParent -->
209                                 <plugin>
210                                         <groupId>org.apache.maven.plugins</groupId>
211                                         <artifactId>maven-site-plugin</artifactId>
212                                         <version>3.6</version>
213                                         <dependencies>
214                                                 <dependency>
215                                                         <groupId>org.apache.maven.wagon</groupId>
216                                                         <artifactId>wagon-webdav-jackrabbit</artifactId>
217                                                         <version>2.10</version>
218                                                 </dependency>
219                                         </dependencies>
220                                 </plugin>
221                         </plugins>
222                 </pluginManagement>
223
224                 <plugins>
225
226                         <plugin>
227                                 <groupId>org.springframework.boot</groupId>
228                                 <artifactId>spring-boot-maven-plugin</artifactId>
229                         </plugin>
230
231                         <!-- No deployment step for this project -->
232                         <plugin>
233                                 <groupId>org.apache.maven.plugins</groupId>
234                                 <artifactId>maven-deploy-plugin</artifactId>
235                                 <!-- version set by spring <version>2.8</version> -->
236                                 <configuration>
237                                         <skip>true</skip>
238                                 </configuration>
239                         </plugin>
240                         <plugin>
241                                 <groupId>org.jacoco</groupId>
242                                 <artifactId>jacoco-maven-plugin</artifactId>
243                                 <version>${jacocoVersion}</version>
244                                 <executions>
245                                         <!-- disable jacoco executions from oparent -->
246                                         <execution>
247                                                 <id>pre-unit-test</id>
248                                                 <phase>none</phase>
249                                         </execution>
250                                         <execution>
251                                                 <id>post-unit-test</id>
252                                                 <phase>none</phase>
253                                         </execution>
254                                         <execution>
255                                                 <id>pre-integration-test</id>
256                                                 <phase>none</phase>
257                                         </execution>
258                                         <execution>
259                                                 <id>post-integration-test</id>
260                                                 <phase>none</phase>
261                                         </execution>
262                                         <!-- Order matters -->
263                                         <execution>
264                                                 <id>portal-prepare-agent</id>
265                                                 <goals>
266                                                         <goal>prepare-agent</goal>
267                                                 </goals>
268                                                 <configuration>
269                                                         <destFile>${sonar.jacoco.reportPath}</destFile>
270                                                 </configuration>
271                                         </execution>
272                                         <!-- offline instrumentation for PowerMock -->
273                                         <execution>
274                                                 <id>portal-offline-instrument</id>
275                                                 <goals>
276                                                         <goal>instrument</goal>
277                                                 </goals>
278                                         </execution>
279                                         <execution>
280                                                 <id>portal-restore-instrumented-classes</id>
281                                                 <phase>test</phase>
282                                                 <goals>
283                                                         <goal>restore-instrumented-classes</goal>
284                                                 </goals>
285                                         </execution>
286                                         <execution>
287                                                 <id>portal-post-unit-test</id>
288                                                 <phase>test</phase>
289                                                 <goals>
290                                                         <goal>report</goal>
291                                                 </goals>
292                                                 <configuration>
293                                                         <dataFile>${sonar.jacoco.reportPath}</dataFile>
294                                                         <outputDirectory>${project.basedir}/target/site/jacoco</outputDirectory>
295                                                 </configuration>
296                                         </execution>
297                                 </executions>
298                         </plugin>
299
300                         <plugin>
301                                 <groupId>org.apache.maven.plugins</groupId>
302                                 <artifactId>maven-surefire-plugin</artifactId>
303                                 <configuration>
304                                         <systemPropertyVariables>
305                                                 <jacoco-agent.destfile>${project.build.directory}/code-coverage/jacoco-ut.exec</jacoco-agent.destfile>
306                                         </systemPropertyVariables>
307                                 </configuration>
308                         </plugin>
309                 </plugins>
310
311         </build>
312
313         <!-- This POM cannot inherit from OParent -->
314         <distributionManagement>
315                 <site>
316                         <id>ecomp-site</id>
317                         <url>dav:https://nexus.onap.org/content/sites/site/${project.groupId}/${project.artifactId}/${project.version}</url>
318                 </site>
319         </distributionManagement>
320
321 </project>