8bde484ae636f8e94765afa6a15c33dfc5530ce2
[dcaegen2/services.git] / components / kpi-computation-ms / pom.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!--
3   ~ ============LICENSE_START=======================================================
4   ~ Copyright (c) 2021 China Mobile. All rights reserved.
5   ~ Copyright (c) 2021-2022 Wipro Limited.
6   ~ ================================================================================ 
7   ~ Licensed under the Apache License, Version 2.0 (the "License");
8   ~ you may not use this file except in compliance with the License.
9   ~ 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   ~ ============LICENSE_END=========================================================
19   -->
20 <project xmlns="http://maven.apache.org/POM/4.0.0"
21     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
22     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
23     <modelVersion>4.0.0</modelVersion>
24     <parent>
25         <groupId>org.onap.oparent</groupId>
26         <artifactId>oparent</artifactId>
27         <version>2.0.0</version>
28     </parent>
29
30     <groupId>org.onap.dcaegen2.services.components</groupId>
31     <artifactId>kpi-ms</artifactId>
32     <version>1.0.8-SNAPSHOT</version>
33     <name>dcaegen2-services-kpi-computation-ms</name>
34     <description>Kpi ms</description>
35     <packaging>jar</packaging>
36
37     <properties>
38         <java.version>11</java.version>
39         <sdk.version>1.8.7</sdk.version>
40         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
41         <maven.compiler.source>11</maven.compiler.source>
42         <maven.compiler.target>11</maven.compiler.target>
43         <docker.image.name>onap/${project.groupId}.${project.artifactId}</docker.image.name>
44         <!-- NEXUS RELATED SETTINGS -->
45         <nexusproxy>https://nexus.onap.org</nexusproxy>
46         <snapshots.path>content/repositories/snapshots/</snapshots.path>
47         <releases.path>content/repositories/releases/</releases.path>
48         <site.path>content/sites/site/org/onap/dcaegen2/services/${project.artifactId}/${project.version}</site.path>
49         <maven.build.timestamp.format>yyyyMMdd'T'HHmmss</maven.build.timestamp.format>
50         <sonar.coverage.jacoco.xmlReportPaths>
51             ${project.reporting.outputDirectory}/jacoco-ut/jacoco.xml
52         </sonar.coverage.jacoco.xmlReportPaths>
53         <lombok.version>1.18.4</lombok.version>
54         <undertow.version>2.2.14.Final</undertow.version>
55         <xml.version>2.3.1</xml.version>
56         <jaxb.version>2.3.0.1</jaxb.version>
57         <docker.repository>nexus3.onap.org:10003</docker.repository>
58         <spring.version>5.3.14</spring.version>
59         <junit.version>5.3.2</junit.version>
60         <mockito.version>2.23.4</mockito.version>
61         <mockito-ju5-ext.version>2.23.4</mockito-ju5-ext.version>
62         <powermock.version>2.0.7</powermock.version>
63         <mockserver.version>3.10.8</mockserver.version>
64         <junit4.version>4.12</junit4.version>
65     </properties>
66
67     <dependencies>
68         <dependency>
69             <groupId>org.springframework.boot</groupId>
70             <artifactId>spring-boot-autoconfigure</artifactId>
71             <version>2.3.1.RELEASE</version>
72         </dependency>
73         <dependency>
74             <groupId>org.springframework</groupId>
75             <artifactId>spring-webmvc</artifactId>
76             <version>${spring.version}</version>
77         </dependency>
78         <dependency>
79             <groupId>org.springframework</groupId>
80             <artifactId>spring-core</artifactId>
81             <version>${spring.version}</version>
82         </dependency>
83         <dependency>
84             <groupId>org.springframework</groupId>
85             <artifactId>spring-beans</artifactId>
86             <version>${spring.version}</version>
87         </dependency>
88         <dependency>
89             <groupId>org.springframework</groupId>
90             <artifactId>spring-expression</artifactId>
91             <version>${spring.version}</version>
92             </dependency>
93         <dependency>
94             <groupId>org.springframework</groupId>
95             <artifactId>spring-web</artifactId>
96             <version>${spring.version}</version>
97         </dependency>
98             <dependency>
99             <groupId>org.springframework</groupId>
100             <artifactId>spring-context</artifactId>
101             <version>${spring.version}</version>
102         </dependency>
103         <dependency>
104             <groupId>org.springframework</groupId>
105             <artifactId>spring-tx</artifactId>
106             <version>${spring.version}</version>
107         </dependency>
108         <!-- cbs client -->
109         <dependency>
110             <groupId>org.onap.dcaegen2.services.sdk.rest.services</groupId>
111             <artifactId>cbs-client</artifactId>
112             <version>${sdk.version}</version>
113         </dependency>
114
115         <dependency>
116             <groupId>org.onap.dcaegen2.services.sdk.security.crypt</groupId>
117             <artifactId>crypt-password</artifactId>
118             <version>${sdk.version}</version>
119         </dependency>
120         <dependency>
121             <groupId>org.springframework.boot</groupId>
122             <artifactId>spring-boot-dependencies</artifactId>
123             <version>2.1.3.RELEASE</version>
124             <type>pom</type>
125             <scope>import</scope>
126         </dependency>
127         <dependency>
128             <groupId>com.fasterxml.jackson.core</groupId>
129             <artifactId>jackson-core</artifactId>
130             <version>2.12.6</version>
131         </dependency>
132         <dependency>
133             <groupId>net.javacrumbs.json-unit</groupId>
134             <artifactId>json-unit-assertj</artifactId>
135             <version>2.14.0</version>
136             <scope>test</scope>
137         </dependency>
138         <dependency>
139             <groupId>com.fasterxml.jackson.core</groupId>
140             <artifactId>jackson-databind</artifactId>
141             <version>2.11.0</version>
142         </dependency>
143         <dependency>
144             <groupId>javax.json</groupId>
145             <artifactId>javax.json-api</artifactId>
146             <version>1.1.2</version>
147         </dependency>
148         <dependency>
149             <groupId>org.springframework.boot</groupId>
150             <artifactId>spring-boot-starter-web</artifactId>
151             <version>2.2.0.RELEASE</version>
152             <exclusions>
153                 <exclusion>
154                     <groupId>org.springframework.boot</groupId>
155                     <artifactId>spring-boot-starter-tomcat</artifactId>
156                 </exclusion>
157             </exclusions>
158         </dependency>
159
160         <dependency>
161             <groupId>org.functionaljava</groupId>
162             <artifactId>functionaljava</artifactId>
163             <version>3.0</version>
164         </dependency>
165
166         <dependency>
167             <groupId>org.apache.httpcomponents</groupId>
168             <artifactId>httpclient</artifactId>
169             <version>4.5.13</version>
170         </dependency>
171
172         <dependency>
173             <groupId>org.eclipse.jetty</groupId>
174             <artifactId>jetty-server</artifactId>
175             <version>9.4.41.v20210516</version>
176         </dependency>
177         <dependency>
178             <groupId>javax.xml.bind</groupId>
179             <artifactId>jaxb-api</artifactId>
180             <version>2.3.0</version>
181         </dependency>
182         <dependency>
183             <groupId>org.javassist</groupId>
184             <artifactId>javassist</artifactId>
185             <version>3.24.1-GA</version>
186         </dependency>
187         <dependency>
188             <groupId>org.json</groupId>
189             <artifactId>json</artifactId>
190             <version>20190722</version>
191         </dependency>
192         <dependency>
193             <groupId>org.projectlombok</groupId>
194             <artifactId>lombok</artifactId>
195             <version>${lombok.version}</version>
196             <scope>provided</scope>
197         </dependency>
198         <dependency>
199             <groupId>io.undertow</groupId>
200             <artifactId>undertow-core</artifactId>
201             <version>${undertow.version}</version>
202         </dependency>
203         <dependency>
204             <groupId>io.undertow</groupId>
205             <artifactId>undertow-servlet</artifactId>
206             <version>${undertow.version}</version>
207         </dependency>
208         <dependency>
209             <groupId>commons-lang</groupId>
210             <artifactId>commons-lang</artifactId>
211             <version>2.6</version>
212         </dependency>
213         <dependency>
214             <groupId>javax.xml.bind</groupId>
215             <artifactId>jaxb-api</artifactId>
216             <version>${xml.version}</version>
217         </dependency>
218         <dependency>
219             <groupId>com.sun.xml.bind</groupId>
220             <artifactId>jaxb-core</artifactId>
221             <version>${jaxb.version}</version>
222         </dependency>
223         <dependency>
224             <groupId>com.sun.xml.bind</groupId>
225             <artifactId>jaxb-impl</artifactId>
226             <version>${xml.version}</version>
227         </dependency>
228         <dependency>
229             <groupId>org.apache.commons</groupId>
230             <artifactId>commons-lang3</artifactId>
231             <version>3.7</version>
232         </dependency>
233
234         <dependency>
235             <groupId>org.junit.jupiter</groupId>
236             <artifactId>junit-jupiter-engine</artifactId>
237             <version>${junit.version}</version>
238             <scope>test</scope>
239         </dependency>
240         <dependency>
241             <groupId>org.mockito</groupId>
242             <artifactId>mockito-junit-jupiter</artifactId>
243             <version>${mockito-ju5-ext.version}</version>
244             <scope>test</scope>
245         </dependency>
246
247         <dependency>
248             <groupId>org.mockito</groupId>
249             <artifactId>mockito-core</artifactId>
250             <version>${mockito.version}</version>
251             <scope>test</scope>
252         </dependency>
253         <dependency>
254             <groupId>org.powermock</groupId>
255             <artifactId>powermock-module-junit4</artifactId>
256             <version>${powermock.version}</version>
257             <scope>test</scope>
258         </dependency>
259         <dependency>
260             <groupId>org.junit.vintage</groupId>
261             <artifactId>junit-vintage-engine</artifactId>
262             <version>${junit.version}</version>
263             <scope>test</scope>
264         </dependency>
265         <dependency>
266             <groupId>org.powermock</groupId>
267             <artifactId>powermock-api-mockito2</artifactId>
268             <version>${powermock.version}</version>
269             <scope>test</scope>
270         </dependency>
271         <dependency>
272             <groupId>org.junit.jupiter</groupId>
273             <artifactId>junit-jupiter-params</artifactId>
274             <version>${junit.version}</version>
275             <scope>test</scope>
276         </dependency>
277         <dependency>
278             <groupId>org.springframework.boot</groupId>
279             <artifactId>spring-boot-starter-test</artifactId>
280             <version>2.1.3.RELEASE</version>
281             <scope>test</scope>
282         </dependency>
283         <!-- https://mvnrepository.com/artifact/org.mockito/mockito-core -->
284         <dependency>
285             <groupId>junit</groupId>
286             <artifactId>junit</artifactId>
287             <version>4.12</version>
288             <scope>test</scope>
289         </dependency>
290         <dependency>
291             <groupId>com.openpojo</groupId>
292             <artifactId>openpojo</artifactId>
293             <version>0.8.10</version>
294         </dependency>
295         <!-- https://mvnrepository.com/artifact/ch.qos.logback/logback-core -->
296         <dependency>
297             <groupId>ch.qos.logback</groupId>
298             <artifactId>logback-core</artifactId>
299             <version>1.2.10</version>
300         </dependency>
301         <dependency>
302             <groupId>org.onap.dcaegen2.services.sdk.rest.services</groupId>
303             <artifactId>dmaap-client</artifactId>
304             <version>${sdk.version}</version>
305        </dependency>
306     </dependencies>
307
308     <build>
309         <plugins>
310
311             <plugin>
312                 <groupId>org.springframework.boot</groupId>
313                 <artifactId>spring-boot-maven-plugin</artifactId>
314                 <version>2.3.1.RELEASE</version>
315                 <executions>
316                     <execution>
317                         <goals>
318                             <goal>repackage</goal>
319                         </goals>
320                     </execution>
321                 </executions>
322             </plugin>
323             <plugin>
324                 <groupId>com.spotify</groupId>
325                 <artifactId>docker-maven-plugin</artifactId>
326                 <version>1.2.2</version>
327                 <configuration>
328                     <serverId>${docker.repository}</serverId>
329                     <imageName>${docker.repository}/${docker.image.name}</imageName>
330                     <imageTags>
331                         <imageTag>${project.version}-${maven.build.timestamp}Z</imageTag>
332                         <imageTag>${project.version}</imageTag>
333                         <imageTag>latest</imageTag>
334                     </imageTags>
335                     <baseImage>onap/integration-java11:8.0.0</baseImage>
336                     <user>onap</user>
337                     <resources>
338                         <resource>
339                                 <targetPath>/home/onap</targetPath>
340                             <directory>${project.build.directory}</directory>
341                             <include>${project.artifactId}-${project.version}.jar</include>
342                         </resource>
343                         <resource>
344                             <targetPath>/app</targetPath>
345                             <directory>${project.basedir}</directory>
346                         </resource>
347                     </resources>
348                     <runs>
349                         <!-- Maven is loosing file permissions during artifacts copy -->
350                         <run>export trustpass=`cat /opt/app/kpims/etc/cert/trust.pass`</run>
351                         <run>mv /home/onap/*.jar /app/app.jar</run>
352                     </runs>
353                     <exposes>
354                         <expose>8080</expose>
355                     </exposes>
356                     <entryPoint>exec java -Djavax.net.ssl.trustStore=/opt/app/kpims/etc/cert/trust.jks -Djavax.net.ssl.trustStorePassword=$trustpass -jar /app/app.jar</entryPoint>
357                 </configuration>
358             </plugin>
359         </plugins>
360     </build>
361
362 </project>
363