cf3c5ffcf93f1891092f7b5edb8d0a894b9f9c00
[dcaegen2/collectors/ves.git] / pom.xml
1 <?xml version="1.0"?>\r
2 <!--\r
3     ================================================================================ \r
4         Copyright (c) 2017-2019 AT&T Intellectual Property. All rights reserved. \r
5         Copyright (c) 2018 Nokia. All rights reserved.\r
6         ================================================================================ \r
7         Licensed under the Apache License, Version 2.0 (the "License"); you may not \r
8         use this file except in compliance with the License. You may obtain a copy \r
9         of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required \r
10         by applicable law or agreed to in writing, software distributed under the \r
11         License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS \r
12         OF ANY KIND, either express or implied. See the License for the specific \r
13         language governing permissions and limitations under the License.\r
14         ============LICENSE_END========================================================= \r
15 -->\r
16 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\r
17         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">\r
18         <modelVersion>4.0.0</modelVersion>\r
19         <parent>\r
20                 <groupId>org.onap.oparent</groupId>\r
21                 <artifactId>oparent</artifactId>\r
22                 <version>1.2.0</version>\r
23                 <relativePath />\r
24         </parent>\r
25         <groupId>org.onap.dcaegen2.collectors.ves</groupId>\r
26         <artifactId>VESCollector</artifactId>\r
27         <version>1.4.2-SNAPSHOT</version>\r
28         <name>dcaegen2-collectors-ves</name>\r
29         <description>VESCollector</description>\r
30         <properties>\r
31                 <!-- PROJECT SETTINGS -->\r
32                 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>\r
33                 <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>\r
34                 <java.version>8</java.version>\r
35                 <docker.image.name>onap/org.onap.dcaegen2.collectors.ves.vescollector</docker.image.name>\r
36                 <!-- TEST SETTINGS -->\r
37                 <surefire.redirectTestOutputToFile>true</surefire.redirectTestOutputToFile>\r
38                 <!-- PLUGIN SETTINGS -->\r
39                 <dependency.locations.enabled>false</dependency.locations.enabled>\r
40                 <!-- NEXUS RELATED SETTINGS -->\r
41                 <nexusproxy>https://nexus.onap.org</nexusproxy>\r
42                 <snapshots.path>content/repositories/snapshots/</snapshots.path>\r
43                 <releases.path>content/repositories/releases/</releases.path>\r
44                 <site.path>content/sites/site/org/onap/dcaegen2/collectors/ves/${project.artifactId}/${project.version}</site.path>\r
45                 <maven.build.timestamp.format>yyyyMMdd'T'HHmmss</maven.build.timestamp.format>\r
46         </properties>\r
47         <build>\r
48                 <pluginManagement>\r
49                         <plugins>\r
50                                 <plugin>\r
51                                         <groupId>org.springframework.boot</groupId>\r
52                                         <artifactId>spring-boot-maven-plugin</artifactId>\r
53                                         <version>2.0.2.RELEASE</version>\r
54                                         <executions>\r
55                                                 <execution>\r
56                                                         <goals>\r
57                                                                 <goal>repackage</goal>\r
58                                                         </goals>\r
59                                                 </execution>\r
60                                         </executions>\r
61                                 </plugin>\r
62                                 <plugin>\r
63                                         <artifactId>maven-compiler-plugin</artifactId>\r
64                                         <version>3.7.0</version>\r
65                                 </plugin>\r
66                                 <plugin>\r
67                                         <artifactId>maven-source-plugin</artifactId>\r
68                                         <version>3.0.1</version>\r
69                                 </plugin>\r
70                                 <plugin>\r
71                                         <artifactId>maven-jar-plugin</artifactId>\r
72                                         <version>3.1.0</version>\r
73                                 </plugin>\r
74                                 <plugin>\r
75                                         <artifactId>maven-assembly-plugin</artifactId>\r
76                                         <version>3.1.0</version>\r
77                                 </plugin>\r
78                                 <plugin>\r
79                                         <artifactId>maven-javadoc-plugin</artifactId>\r
80                                         <version>3.0.1</version>\r
81                                 </plugin>\r
82                                 <plugin>\r
83                                         <artifactId>maven-project-info-reports-plugin</artifactId>\r
84                                         <version>2.9</version>\r
85                                 </plugin>\r
86                                 <plugin>\r
87                                         <groupId>org.apache.maven.plugins</groupId>\r
88                                         <artifactId>maven-surefire-plugin</artifactId>\r
89                                         <version>3.0.0-M1</version>\r
90                                 </plugin>\r
91                                 <plugin>\r
92                                         <groupId>com.spotify</groupId>\r
93                                         <artifactId>docker-maven-plugin</artifactId>\r
94                                         <version>1.1.1</version>\r
95                                 </plugin>\r
96                                 <plugin>\r
97                                         <groupId>org.apache.maven.plugins</groupId>\r
98                                         <artifactId>maven-enforcer-plugin</artifactId>\r
99                                         <configuration>\r
100                                                 <skip>true</skip>\r
101                                         </configuration>\r
102                                 </plugin>\r
103                         </plugins>\r
104                 </pluginManagement>\r
105                 <plugins>\r
106                         <plugin>\r
107                                 <artifactId>maven-compiler-plugin</artifactId>\r
108                                 <configuration>\r
109                                         <source>${java.version}</source>\r
110                                         <target>${java.version}</target>\r
111                                         <showWarnings>true</showWarnings>\r
112                                         <showDeprecation>true</showDeprecation>\r
113                                 </configuration>\r
114                         </plugin>\r
115                         <plugin>\r
116                                 <artifactId>maven-source-plugin</artifactId>\r
117                                 <configuration>\r
118                                         <excludeResources>true</excludeResources>\r
119                                 </configuration>\r
120                                 <executions>\r
121                                         <execution>\r
122                                                 <id>attach-sources</id>\r
123                                                 <phase>verify</phase>\r
124                                                 <goals>\r
125                                                         <goal>jar-no-fork</goal>\r
126                                                 </goals>\r
127                                         </execution>\r
128                                 </executions>\r
129                         </plugin>\r
130                         <plugin>\r
131                                 <artifactId>maven-jar-plugin</artifactId>\r
132                                 <configuration>\r
133                                         <archive>\r
134                                                 <manifest>\r
135                                                         <addDefaultImplementationEntries>true</addDefaultImplementationEntries>\r
136                                                 </manifest>\r
137                                                 <manifestEntries>\r
138                                                         <Implementation-Build-Version>${project.version}</Implementation-Build-Version>\r
139                                                 </manifestEntries>\r
140                                         </archive>\r
141                                 </configuration>\r
142                         </plugin>\r
143                         <plugin>\r
144                                 <artifactId>maven-assembly-plugin</artifactId>\r
145                                 <configuration>\r
146                                         <descriptors>\r
147                                                 <descriptor>src/assembly/dep.xml</descriptor>\r
148                                         </descriptors>\r
149                                         <attach>false</attach>\r
150                                         <appendAssemblyId>false</appendAssemblyId>\r
151                                         <updateOnly>true</updateOnly>\r
152                                 </configuration>\r
153                                 <executions>\r
154                                         <execution>\r
155                                                 <id>make-assembly</id>\r
156                                                 <phase>package</phase>\r
157                                                 <goals>\r
158                                                         <goal>single</goal>\r
159                                                 </goals>\r
160                                         </execution>\r
161                                 </executions>\r
162                         </plugin>\r
163                         <plugin>\r
164                                 <artifactId>maven-javadoc-plugin</artifactId>\r
165                                 <configuration>\r
166                                         <!-- minimize console output messages -->\r
167                                         <quiet>true</quiet>\r
168                                         <verbose>false</verbose>\r
169                                         <useStandardDocletOptions>false</useStandardDocletOptions>\r
170                                 </configuration>\r
171                                 <executions>\r
172                                         <execution>\r
173                                                 <id>aggregate</id>\r
174                                                 <phase>site</phase>\r
175                                                 <goals>\r
176                                                         <goal>aggregate</goal>\r
177                                                 </goals>\r
178                                         </execution>\r
179                                         <execution>\r
180                                                 <id>attach-javadoc</id>\r
181                                                 <goals>\r
182                                                         <goal>jar</goal>\r
183                                                 </goals>\r
184                                         </execution>\r
185                                 </executions>\r
186                         </plugin>\r
187                         <plugin>\r
188                                 <groupId>com.spotify</groupId>\r
189                                 <artifactId>docker-maven-plugin</artifactId>\r
190                                 <configuration>\r
191                                         <serverId>${onap.nexus.dockerregistry.daily}</serverId>\r
192                                         <imageName>${docker.image.name}</imageName>\r
193                                         <imageTags>\r
194                                                 <tag>latest</tag>\r
195                                         </imageTags>\r
196                                         <baseImage>openjdk:8-jre-slim</baseImage>\r
197                                         <env>\r
198                                                 <HOSTALIASES>/etc/host.aliases</HOSTALIASES>\r
199                                         </env>\r
200                                         <workdir>/opt/app/VESCollector</workdir>\r
201                                         <resources>\r
202                                                 <resource>\r
203                                                         <targetPath>.</targetPath>\r
204                                                         <directory>${project.build.directory}/${project.artifactId}-${project.version}</directory>\r
205                                                 </resource>\r
206                                         </resources>\r
207                                         <runs>\r
208                                                 <!-- Maven is loosing file permissions during artifacts copy -->\r
209                                                 <run>chmod +x bin/*.sh</run>\r
210                                                 <run><![CDATA[apt-get update && apt-get install -y --no-install-recommends logrotate procps && apt-get install -y vim && apt-get install -y curl && apt-get clean all]]></run>\r
211                                                 <run>chmod 0644 etc/logrotate.conf</run>\r
212                                         </runs>\r
213                                         <exposes>\r
214                                                 <expose>8080</expose>\r
215                                                 <expose>8443</expose>\r
216                                         </exposes>\r
217                                         <cmd>bin/docker-entry.sh</cmd>\r
218                                 </configuration>\r
219                                 <executions>\r
220                                         <execution>\r
221                                                 <id>build-image</id>\r
222                                                 <phase>package</phase>\r
223                                                 <goals>\r
224                                                         <goal>build</goal>\r
225                                                 </goals>\r
226                                         </execution>\r
227                                         <execution>\r
228                                                 <id>tag-and-push-image-latest</id>\r
229                                                 <phase>deploy</phase>\r
230                                                 <goals>\r
231                                                         <goal>tag</goal>\r
232                                                 </goals>\r
233                                                 <configuration>\r
234                                                         <image>${docker.image.name}:latest</image>\r
235                                                         <newName>${onap.nexus.dockerregistry.daily}/${docker.image.name}:latest</newName>\r
236                                                         <pushImage>true</pushImage>\r
237                                                 </configuration>\r
238                                         </execution>\r
239                                         <execution>\r
240                                                 <id>tag-and-push-image-with-version</id>\r
241                                                 <phase>deploy</phase>\r
242                                                 <goals>\r
243                                                         <goal>tag</goal>\r
244                                                 </goals>\r
245                                                 <configuration>\r
246                                                         <image>${docker.image.name}:latest</image>\r
247                                                         <newName>${onap.nexus.dockerregistry.daily}/${docker.image.name}:${project.version}</newName>\r
248                                                         <pushImage>true</pushImage>\r
249                                                 </configuration>\r
250                                         </execution>\r
251                                         <execution>\r
252                                                 <id>tag-and-push-image-with-version-and-date</id>\r
253                                                 <phase>deploy</phase>\r
254                                                 <goals>\r
255                                                         <goal>tag</goal>\r
256                                                 </goals>\r
257                                                 <configuration>\r
258                                                         <image>${docker.image.name}:latest</image>\r
259                                                         <newName>${onap.nexus.dockerregistry.daily}/${docker.image.name}:${project.version}-${maven.build.timestamp}Z</newName>\r
260                                                         <pushImage>true</pushImage>\r
261                                                 </configuration>\r
262                                         </execution>\r
263                                 </executions>\r
264                         </plugin>\r
265                 </plugins>\r
266         </build>\r
267         <profiles>\r
268                 <profile>\r
269                         <id>with-system-proxy</id>\r
270                         <build>\r
271                                 <plugins>\r
272                                         <plugin>\r
273                                                 <groupId>com.spotify</groupId>\r
274                                                 <artifactId>docker-maven-plugin</artifactId>\r
275                                                 <configuration>\r
276                                                         <buildArgs>\r
277                                                                 <http_proxy>${env.http_proxy}</http_proxy>\r
278                                                         </buildArgs>\r
279                                                 </configuration>\r
280                                         </plugin>\r
281                                 </plugins>\r
282                         </build>\r
283                 </profile>\r
284         </profiles>\r
285         <reporting>\r
286                 <plugins>\r
287                         <plugin>\r
288                                 <artifactId>maven-project-info-reports-plugin</artifactId>\r
289                                 <reportSets>\r
290                                         <reportSet>\r
291                                                 <reports>\r
292                                                         <report>dependencies</report>\r
293                                                         <report>license</report>\r
294                                                 </reports>\r
295                                         </reportSet>\r
296                                 </reportSets>\r
297                         </plugin>\r
298                         <plugin>\r
299                                 <artifactId>maven-javadoc-plugin</artifactId>\r
300                                 <configuration>\r
301                                         <failOnError>false</failOnError>\r
302                                         <doclet>org.umlgraph.doclet.UmlGraphDoc</doclet>\r
303                                         <docletArtifact>\r
304                                                 <groupId>org.umlgraph</groupId>\r
305                                                 <artifactId>umlgraph</artifactId>\r
306                                                 <version>5.6</version>\r
307                                         </docletArtifact>\r
308                                         <additionalparam>-views</additionalparam>\r
309                                         <useStandardDocletOptions>true</useStandardDocletOptions>\r
310                                 </configuration>\r
311                         </plugin>\r
312                 </plugins>\r
313         </reporting>\r
314         <dependencyManagement>\r
315                 <dependencies>\r
316                         <dependency>\r
317                                 <!-- Import dependency management from Spring Boot -->\r
318                                 <groupId>org.springframework.boot</groupId>\r
319                                 <artifactId>spring-boot-dependencies</artifactId>\r
320                                 <version>2.1.0.RELEASE</version>\r
321                                 <type>pom</type>\r
322                                 <scope>import</scope>\r
323                         </dependency>\r
324                 </dependencies>\r
325         </dependencyManagement>\r
326         <dependencies>\r
327                 <!-- JSON RELATED -->\r
328                 <dependency>\r
329                         <groupId>com.googlecode.json-simple</groupId>\r
330                         <artifactId>json-simple</artifactId>\r
331                         <version>1.1.1</version>\r
332                 </dependency>\r
333                 <dependency>\r
334                         <groupId>com.github.fge</groupId>\r
335                         <artifactId>json-schema-validator</artifactId>\r
336                         <version>2.2.6</version>\r
337                 </dependency>\r
338                 <dependency>\r
339                         <groupId>com.github.fge</groupId>\r
340                         <artifactId>json-schema-core</artifactId>\r
341                         <version>1.2.5</version>\r
342                 </dependency>\r
343                 <dependency>\r
344                         <groupId>com.google.code.gson</groupId>\r
345                         <artifactId>gson</artifactId>\r
346                         <version>2.8.5</version>\r
347                 </dependency>\r
348                 <dependency>\r
349                         <groupId>org.json</groupId>\r
350                         <artifactId>json</artifactId>\r
351                         <version>20160810</version>\r
352                 </dependency>\r
353                 <!-- REST API RELATED -->\r
354                 <dependency>\r
355                         <groupId>com.att.nsa</groupId>\r
356                         <artifactId>cambriaClient</artifactId>\r
357                         <version>0.0.1</version>\r
358                 </dependency>\r
359                 <dependency>\r
360                         <groupId>com.mashape.unirest</groupId>\r
361                         <artifactId>unirest-java</artifactId>\r
362                         <version>1.4.9</version>\r
363                 </dependency>\r
364                 <!-- MISCELLANEOUS -->\r
365                 <dependency>\r
366                         <groupId>commons-collections</groupId>\r
367                         <artifactId>commons-collections</artifactId>\r
368                         <version>3.2.2</version>\r
369                 </dependency>\r
370                 <dependency>\r
371                         <groupId>commons-configuration</groupId>\r
372                         <artifactId>commons-configuration</artifactId>\r
373                         <version>1.10</version>\r
374                 </dependency>\r
375                 <dependency>\r
376                         <groupId>io.vavr</groupId>\r
377                         <artifactId>vavr</artifactId>\r
378                         <version>0.9.2</version>\r
379                 </dependency>\r
380                 <dependency>\r
381                         <groupId>org.springframework.boot</groupId>\r
382                         <artifactId>spring-boot-starter-security</artifactId>\r
383                         <exclusions>\r
384                                 <exclusion>\r
385                                         <groupId>org.springframework.boot</groupId>\r
386                                         <artifactId>spring-boot-starter-logging</artifactId>\r
387                                 </exclusion>\r
388                         </exclusions>\r
389                 </dependency>\r
390                 <dependency>\r
391                         <groupId>org.springframework.boot</groupId>\r
392                         <artifactId>spring-boot-starter-web</artifactId>\r
393                 </dependency>\r
394                 <dependency>\r
395                         <groupId>org.springframework.security</groupId>\r
396                         <artifactId>spring-security-config</artifactId>\r
397                 </dependency>\r
398                 <dependency>\r
399                         <groupId>org.springframework.boot</groupId>\r
400                         <artifactId>spring-boot-starter-log4j</artifactId>\r
401                         <version>1.3.8.RELEASE</version>\r
402                 </dependency>\r
403                 <dependency>\r
404                         <groupId>io.springfox</groupId>\r
405                         <artifactId>springfox-swagger2</artifactId>\r
406                         <version>2.8.0</version>\r
407                 </dependency>\r
408                 <dependency>\r
409                         <groupId>io.springfox</groupId>\r
410                         <artifactId>springfox-swagger-ui</artifactId>\r
411                         <version>2.8.0</version>\r
412                         <scope>compile</scope>\r
413                 </dependency>\r
414                 <!-- TESTING -->\r
415                 <dependency>\r
416                         <groupId>org.junit.jupiter</groupId>\r
417                         <artifactId>junit-jupiter-api</artifactId>\r
418                         <version>5.3.1</version>\r
419                         <scope>test</scope>\r
420                 </dependency>\r
421                 <dependency>\r
422                         <groupId>org.junit.jupiter</groupId>\r
423                         <artifactId>junit-jupiter-engine</artifactId>\r
424                         <version>5.3.1</version>\r
425                         <scope>test</scope>\r
426                 </dependency>\r
427                 <dependency>\r
428                         <groupId>org.junit.vintage</groupId>\r
429                         <artifactId>junit-vintage-engine</artifactId>\r
430                         <version>5.3.1</version>\r
431                         <scope>test</scope>\r
432                 </dependency>\r
433                 <dependency>\r
434                         <groupId>org.mockito</groupId>\r
435                         <artifactId>mockito-junit-jupiter</artifactId>\r
436                         <version>2.23.0</version>\r
437                         <scope>test</scope>\r
438                 </dependency>\r
439                 <dependency>\r
440                         <groupId>org.assertj</groupId>\r
441                         <artifactId>assertj-core</artifactId>\r
442                         <version>3.8.0</version>\r
443                         <scope>test</scope>\r
444                 </dependency>\r
445                 <dependency>\r
446                         <groupId>com.google.jimfs</groupId>\r
447                         <artifactId>jimfs</artifactId>\r
448                         <version>1.1</version>\r
449                         <scope>test</scope>\r
450                 </dependency>\r
451                 <dependency>\r
452                         <groupId>com.github.tomakehurst</groupId>\r
453                         <artifactId>wiremock-standalone</artifactId>\r
454                         <version>2.17.0</version>\r
455                         <scope>test</scope>\r
456                 </dependency>\r
457                 <dependency>\r
458                         <groupId>org.springframework.security</groupId>\r
459                         <artifactId>spring-security-test</artifactId>\r
460                         <version>5.1.1.RELEASE</version>\r
461                         <scope>test</scope>\r
462                 </dependency>\r
463                 <dependency>\r
464                         <groupId>org.springframework.boot</groupId>\r
465                         <artifactId>spring-boot-starter-test</artifactId>\r
466                         <version>2.1.0.RELEASE</version>\r
467                         <scope>test</scope>\r
468                 </dependency>\r
469                 <dependency>\r
470                         <groupId>org.onap.dcaegen2.services.sdk.security.crypt</groupId>\r
471                         <artifactId>crypt-password</artifactId>\r
472                         <version>1.0.0-SNAPSHOT</version>\r
473                 </dependency>\r
474         </dependencies>\r
475         <repositories>\r
476                 <repository>\r
477                         <id>external-repository</id>\r
478                         <url>https://oss.sonatype.org/content/repositories</url>\r
479                 </repository>\r
480         </repositories>\r
481         <pluginRepositories>\r
482                 <!-- Black Duck plugin dependencies -->\r
483                 <pluginRepository>\r
484                         <id>JCenter</id>\r
485                         <name>JCenter Repository</name>\r
486                         <url>http://jcenter.bintray.com</url>\r
487                 </pluginRepository>\r
488                 <pluginRepository>\r
489                         <id>Restlet</id>\r
490                         <name>Restlet Repository</name>\r
491                         <url>http://maven.restlet.com</url>\r
492                 </pluginRepository>\r
493         </pluginRepositories>\r
494 </project>\r