blob: 135a3612e455bfe6c3d66abdae06a7595ef3260b [file] [log] [blame]
JoeOLeary8338d2e2019-01-22 16:09:34 +00001<?xml version="1.0" encoding="UTF-8"?>
2<!--
3 ============LICENSE_START=======================================================
4 Copyright (C) 2019 Nordix Foundation.
5 ================================================================================
6 Licensed under the Apache License, Version 2.0 (the "License");
7 you may not use this file except in compliance with the License.
8 You may obtain a copy of the License at
9
10 http://www.apache.org/licenses/LICENSE-2.0
11
12 Unless required by applicable law or agreed to in writing, software
13 distributed under the License is distributed on an "AS IS" BASIS,
14 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 See the License for the specific language governing permissions and
16 limitations under the License.
17
18 SPDX-License-Identifier: Apache-2.0
19 ============LICENSE_END=========================================================
20-->
21
22<project xmlns="http://maven.apache.org/POM/4.0.0"
dfarrelly2d336f92019-02-22 15:31:10 +000023 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
24 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
JoeOLeary8338d2e2019-01-22 16:09:34 +000025 <modelVersion>4.0.0</modelVersion>
26
27 <groupId>org.onap.dcaegen2.services</groupId>
28 <artifactId>pm-mapper</artifactId>
dfarrelly2d336f92019-02-22 15:31:10 +000029 <version>1.0.0-SNAPSHOT</version>
JoeOLeary8338d2e2019-01-22 16:09:34 +000030
JoeOLearybecd8ee2019-01-28 13:44:27 +000031 <parent>
32 <groupId>org.onap.oparent</groupId>
33 <artifactId>oparent</artifactId>
34 <version>1.2.0</version>
35 </parent>
36
JoeOLeary4fde9d32019-02-12 15:49:07 +000037 <name>dcaegen2-services-pm-mapper</name>
38 <description>Maps PM measurement data from XML to VES</description>
39 <packaging>jar</packaging>
40
JoeOLeary8338d2e2019-01-22 16:09:34 +000041 <properties>
42 <!-- Dependency Versions -->
43 <lombok.version>1.18.4</lombok.version>
44 <sl4j.version>1.7.25</sl4j.version>
45 <logback.version>1.2.3</logback.version>
46 <reactor.version>3.2.3.RELEASE</reactor.version>
47 <undertow.version>2.0.16.Final</undertow.version>
48 <gson.version>2.8.5</gson.version>
JoeOLeary924ab472019-02-15 13:46:01 +000049 <freemarker.version>2.3.28</freemarker.version>
emartin39bec812019-04-02 11:40:04 +000050 <commons.io.version>2.6</commons.io.version>
JoeOLeary8338d2e2019-01-22 16:09:34 +000051 <!-- Testing.Test Dependencies -->
52 <junit.version>5.3.2</junit.version>
53 <mockito.version>2.23.4</mockito.version>
54 <mockito-ju5-ext.version>2.23.4</mockito-ju5-ext.version>
55 <powermock.version>2.0.0</powermock.version>
emartin4751cb92019-01-29 12:21:51 +000056 <mockserver.version>3.10.8</mockserver.version>
JoeOLeary8338d2e2019-01-22 16:09:34 +000057 <junit4.version>4.12</junit4.version>
JoeOLeary924ab472019-02-15 13:46:01 +000058 <jsonschema.version>1.3.0</jsonschema.version>
emartin1f982f92019-03-05 16:29:36 +000059 <xerces.version>2.11.0</xerces.version>
emartinab263672019-03-22 16:45:31 +000060 <reactor.test>3.1.0.RELEASE</reactor.test>
JoeOLeary8338d2e2019-01-22 16:09:34 +000061 <!-- Plugin Versions -->
62 <shade.plugin.version>3.2.0</shade.plugin.version>
63 <jacoco.version>0.8.2</jacoco.version>
JoeOLearybecd8ee2019-01-28 13:44:27 +000064 <dockerfile.version>1.4.10</dockerfile.version>
JoeOLeary8338d2e2019-01-22 16:09:34 +000065 <surefire.version>2.22.0</surefire.version>
JoeOLearybecd8ee2019-01-28 13:44:27 +000066 <!-- Plugin Settings -->
JoeOLearyc4b59c42019-01-31 08:45:39 +000067 <image-name>${docker.push.registry}/onap/${project.groupId}.${project.artifactId}</image-name>
dfarrelly27cdb4f2019-03-01 14:26:42 +000068 <maven.build.timestamp.format>yyyyMMdd'T'HHmmss'Z'</maven.build.timestamp.format>
dfarrelly2d336f92019-02-22 15:31:10 +000069 <timestamp>${maven.build.timestamp}</timestamp>
JoeOLearybecd8ee2019-01-28 13:44:27 +000070 <sonar.language>java</sonar.language>
71 <sonar.java.coveragePlugin>jacoco</sonar.java.coveragePlugin>
72 <sonar.surefire.reportsPath>${project.build.directory}/surefire-reports</sonar.surefire.reportsPath>
73 <sonar.jacoco.reportPaths>${project.build.directory}/coverage-reports/jacoco.exec</sonar.jacoco.reportPaths>
74 <sonar.jacoco.itReportPath>${project.build.directory}/coverage-reports/jacoco-it.exec</sonar.jacoco.itReportPath>
75 <sonar.projectVersion>${project.version}</sonar.projectVersion>
JoeOLeary8338d2e2019-01-22 16:09:34 +000076 <compiler.target.version>1.8</compiler.target.version>
77 <compiler.source.version>1.8</compiler.source.version>
78 <shade.main>org.onap.dcaegen2.services.pmmapper.App</shade.main>
79 <shade.transformer>org.apache.maven.plugins.shade.resource.ManifestResourceTransformer</shade.transformer>
emartina8e48cf2019-02-08 18:22:27 +000080 <onap.logging.version>1.2.2</onap.logging.version>
JoeOLeary8338d2e2019-01-22 16:09:34 +000081 </properties>
82
83 <dependencies>
84 <dependency>
85 <groupId>org.projectlombok</groupId>
86 <artifactId>lombok</artifactId>
87 <version>${lombok.version}</version>
88 <scope>provided</scope>
89 </dependency>
90 <dependency>
91 <groupId>io.projectreactor</groupId>
92 <artifactId>reactor-core</artifactId>
93 <version>${reactor.version}</version>
94 </dependency>
95 <dependency>
96 <groupId>io.undertow</groupId>
97 <artifactId>undertow-core</artifactId>
98 <version>${undertow.version}</version>
99 </dependency>
100 <dependency>
101 <groupId>org.slf4j</groupId>
102 <artifactId>slf4j-api</artifactId>
103 <version>${sl4j.version}</version>
104 </dependency>
105 <dependency>
106 <groupId>ch.qos.logback</groupId>
107 <artifactId>logback-classic</artifactId>
108 <version>${logback.version}</version>
109 </dependency>
110 <dependency>
emartina8e48cf2019-02-08 18:22:27 +0000111 <groupId>org.onap.logging-analytics</groupId>
112 <artifactId>logging-slf4j</artifactId>
113 <version>${onap.logging.version}</version>
114 </dependency>
115 <dependency>
116 <groupId>javax.servlet</groupId>
117 <artifactId>servlet-api</artifactId>
118 <version>2.5</version>
119 <scope>provided</scope>
120 </dependency>
121 <dependency>
JoeOLeary8338d2e2019-01-22 16:09:34 +0000122 <groupId>com.google.code.gson</groupId>
123 <artifactId>gson</artifactId>
124 <version>${gson.version}</version>
125 </dependency>
126 <dependency>
JoeOLeary924ab472019-02-15 13:46:01 +0000127 <groupId>org.freemarker</groupId>
128 <artifactId>freemarker</artifactId>
129 <version>${freemarker.version}</version>
130 </dependency>
131 <dependency>
emartin39bec812019-04-02 11:40:04 +0000132 <groupId>commons-io</groupId>
133 <artifactId>commons-io</artifactId>
134 <version>${commons.io.version}</version>
135 </dependency>
136 <dependency>
JoeOLeary8338d2e2019-01-22 16:09:34 +0000137 <groupId>org.junit.jupiter</groupId>
138 <artifactId>junit-jupiter-engine</artifactId>
139 <version>${junit.version}</version>
140 <scope>test</scope>
141 </dependency>
142 <dependency>
143 <groupId>org.mockito</groupId>
144 <artifactId>mockito-junit-jupiter</artifactId>
145 <version>${mockito-ju5-ext.version}</version>
146 <scope>test</scope>
147 </dependency>
148
149 <dependency>
150 <groupId>org.mockito</groupId>
151 <artifactId>mockito-core</artifactId>
152 <version>${mockito.version}</version>
153 <scope>test</scope>
154 </dependency>
155 <dependency>
156 <groupId>org.powermock</groupId>
157 <artifactId>powermock-module-junit4</artifactId>
158 <version>${powermock.version}</version>
159 <scope>test</scope>
160 </dependency>
161 <dependency>
162 <groupId>org.junit.vintage</groupId>
163 <artifactId>junit-vintage-engine</artifactId>
164 <version>${junit.version}</version>
165 <scope>test</scope>
166 </dependency>
167 <dependency>
168 <groupId>org.powermock</groupId>
169 <artifactId>powermock-api-mockito2</artifactId>
170 <version>${powermock.version}</version>
171 <scope>test</scope>
172 </dependency>
emartin4751cb92019-01-29 12:21:51 +0000173 <dependency>
174 <groupId>org.mock-server</groupId>
175 <artifactId>mockserver-netty</artifactId>
176 <version>${mockserver.version}</version>
177 <scope>test</scope>
178 </dependency>
179 <dependency>
180 <groupId>org.mock-server</groupId>
181 <artifactId>mockserver-client-java</artifactId>
182 <version>${mockserver.version}</version>
183 <scope>test</scope>
184 </dependency>
JoeOLeary924ab472019-02-15 13:46:01 +0000185 <dependency>
186 <groupId>org.junit.jupiter</groupId>
187 <artifactId>junit-jupiter-params</artifactId>
188 <version>${junit.version}</version>
189 <scope>test</scope>
190 </dependency>
191 <dependency>
emartinab263672019-03-22 16:45:31 +0000192 <groupId>io.projectreactor</groupId>
193 <artifactId>reactor-test</artifactId>
194 <version>${reactor.test}</version>
195 <scope>test</scope>
196 </dependency>
197 <dependency>
JoeOLeary924ab472019-02-15 13:46:01 +0000198 <groupId>org.everit.json</groupId>
199 <artifactId>org.everit.json.schema</artifactId>
200 <version>${jsonschema.version}</version>
201 <scope>test</scope>
202 </dependency>
emartin1f982f92019-03-05 16:29:36 +0000203 <dependency>
204 <groupId>xerces</groupId>
205 <artifactId>xercesImpl</artifactId>
206 <version>${xerces.version}</version>
207 <scope>test</scope>
208 </dependency>
JoeOLeary8338d2e2019-01-22 16:09:34 +0000209 </dependencies>
210
211 <build>
212 <plugins>
213 <plugin>
JoeOLearybecd8ee2019-01-28 13:44:27 +0000214 <groupId>com.spotify</groupId>
215 <artifactId>dockerfile-maven-plugin</artifactId>
216 <version>${dockerfile.version}</version>
217 <configuration>
JoeOLearyc4b59c42019-01-31 08:45:39 +0000218 <repository>${image-name}</repository>
JoeOLearybecd8ee2019-01-28 13:44:27 +0000219 <dockerfile>${project.build.outputDirectory}/Dockerfile</dockerfile>
220 <buildArgs>
221 <JAR>${project.build.finalName}-jar-with-dependencies.jar</JAR>
222 </buildArgs>
223 </configuration>
dfarrelly27cdb4f2019-03-01 14:26:42 +0000224 <executions>
225 <execution>
226 <id>tag-version</id>
227 <phase>none</phase>
228 <goals>
229 <goal>tag</goal>
230 </goals>
231 <configuration>
232 <tag>${project.version}-${timestamp}</tag>
233 </configuration>
234 </execution>
235 <execution>
236 <id>push-latest</id>
237 <phase>none</phase>
238 <goals>
239 <goal>push</goal>
240 </goals>
241 <configuration>
242 <tag>latest</tag>
243 </configuration>
244 </execution>
245 <execution>
246 <id>push-version</id>
247 <phase>none</phase>
248 <goals>
249 <goal>push</goal>
250 </goals>
251 <configuration>
252 <tag>${project.version}-${timestamp}</tag>
253 </configuration>
254 </execution>
255 </executions>
JoeOLearybecd8ee2019-01-28 13:44:27 +0000256 </plugin>
257 <plugin>
JoeOLeary8338d2e2019-01-22 16:09:34 +0000258 <groupId>org.apache.maven.plugins</groupId>
259 <artifactId>maven-surefire-plugin</artifactId>
260 <version>${surefire.version}</version>
emartin4751cb92019-01-29 12:21:51 +0000261 <configuration combine.self="override">
262 <useSystemClassLoader>false</useSystemClassLoader>
263 </configuration>
JoeOLeary8338d2e2019-01-22 16:09:34 +0000264 </plugin>
265 <plugin>
266 <groupId>org.apache.maven.plugins</groupId>
267 <artifactId>maven-failsafe-plugin</artifactId>
268 <version>${surefire.version}</version>
269 </plugin>
JoeOLeary8338d2e2019-01-22 16:09:34 +0000270 <plugin>
271 <groupId>org.apache.maven.plugins</groupId>
272 <artifactId>maven-shade-plugin</artifactId>
273 <version>${shade.plugin.version}</version>
274 <executions>
275 <execution>
276 <goals>
277 <goal>shade</goal>
278 </goals>
279 <configuration>
280 <shadedArtifactAttached>true</shadedArtifactAttached>
JoeOLearybecd8ee2019-01-28 13:44:27 +0000281 <shadedClassifierName>jar-with-dependencies</shadedClassifierName>
JoeOLeary8338d2e2019-01-22 16:09:34 +0000282 <transformers>
emartin4751cb92019-01-29 12:21:51 +0000283 <transformer
dfarrelly2d336f92019-02-22 15:31:10 +0000284 implementation="${shade.transformer}">
JoeOLeary8338d2e2019-01-22 16:09:34 +0000285 <mainClass>${shade.main}</mainClass>
286 </transformer>
287 </transformers>
288 </configuration>
289 </execution>
290 </executions>
291 </plugin>
292 <plugin>
293 <groupId>org.apache.maven.plugins</groupId>
294 <artifactId>maven-compiler-plugin</artifactId>
295 <configuration>
JoeOLearybecd8ee2019-01-28 13:44:27 +0000296 <source>${maven.compiler.source}</source>
297 <target>${maven.compiler.target}</target>
JoeOLeary8338d2e2019-01-22 16:09:34 +0000298 </configuration>
299 </plugin>
300 <plugin>
301 <groupId>org.jacoco</groupId>
302 <artifactId>jacoco-maven-plugin</artifactId>
303 <version>${jacoco.version}</version>
304 <executions>
305 <execution>
306 <id>jacoco-instrument</id>
307 <goals>
308 <goal>instrument</goal>
309 </goals>
310 </execution>
311 <execution>
312 <id>jacoco-restore-instrumented-classes</id>
313 <goals>
314 <goal>restore-instrumented-classes</goal>
315 </goals>
316 </execution>
317 <execution>
318 <goals>
319 <goal>prepare-agent</goal>
320 </goals>
JoeOLearye5013912019-03-01 14:09:52 +0000321 <configuration>
322 <excludes>
323 <exclude>*</exclude>
324 </excludes>
325 </configuration>
JoeOLeary8338d2e2019-01-22 16:09:34 +0000326 </execution>
327 <execution>
328 <id>report</id>
329 <phase>prepare-package</phase>
330 <goals>
331 <goal>report</goal>
332 </goals>
333 </execution>
334 </executions>
JoeOLeary8338d2e2019-01-22 16:09:34 +0000335 </plugin>
336 </plugins>
337 </build>
338
339</project>