Add spring-cloud-sleuth for tracing
[aai/resources.git] / aai-resources / pom.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!--
3
4     ============LICENSE_START=======================================================
5     org.onap.aai
6     ================================================================================
7     Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved.
8     ================================================================================
9     Licensed under the Apache License, Version 2.0 (the "License");
10     you may not use this file except in compliance with the License.
11     You may obtain a copy of the License at
12
13        http://www.apache.org/licenses/LICENSE-2.0
14
15     Unless required by applicable law or agreed to in writing, software
16     distributed under the License is distributed on an "AS IS" BASIS,
17     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18     See the License for the specific language governing permissions and
19     limitations under the License.
20     ============LICENSE_END=========================================================
21
22 -->
23 <project xmlns="http://maven.apache.org/POM/4.0.0" 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">
25     <modelVersion>4.0.0</modelVersion>
26     <groupId>org.onap.aai.resources</groupId>
27     <artifactId>aai-resources</artifactId>
28     <parent>
29         <groupId>org.onap.aai.resources</groupId>
30         <artifactId>resources</artifactId>
31         <version>1.12.1-SNAPSHOT</version>
32     </parent>
33     <properties>
34         <java.version>1.8</java.version>
35         <start-class>org.onap.aai.ResourcesApp</start-class>
36
37         <!-- Default docker registry that maven fabric plugin will try to pull from -->
38         <docker.registry>docker.io</docker.registry>
39         <!-- Specifying the docker push registry where the image should be pushed -->
40         <!-- This value should be overwritten at runtime to wherever need to be pushed to -->
41         <docker.push.registry>localhost:5000</docker.push.registry>
42         <aai.docker.version>1.0.0</aai.docker.version>
43         <aai.base.image>alpine</aai.base.image>
44         <aai.base.image.version>1.6.0</aai.base.image.version>
45
46         <netty.handler.version>4.1.63.Final</netty.handler.version>
47         <netty.version>4.1.63.Final</netty.version>
48         <groovy.version>2.5.15</groovy.version>
49
50         <!--
51              Location where assembly of our scripts, resources and main jar will be held
52                  Check the ${project.artifactId}/src/main/assembly/descriptor.xml for more info
53         -->
54         <aai.build.directory>${project.build.directory}/${project.artifactId}-${project.version}-build/
55         </aai.build.directory>
56         <aai.docker.namespace>onap</aai.docker.namespace>
57
58         <maven.skip.tests>true</maven.skip.tests>
59         <snapshot.file>${project.basedir}/snapshots/snapshot.graphson</snapshot.file>
60
61         <jacoco.line.coverage.limit>0.68</jacoco.line.coverage.limit>
62         <license.goal.type>check</license.goal.type>
63
64         <!-- This will be used for the docker images as the default format of maven build has issues -->
65         <maven.build.timestamp.format>yyyyMMdd'T'HHmmss'Z'</maven.build.timestamp.format>
66
67         <!-- Start of Default ONAP Schema Properties -->
68         <schema.source.name>onap</schema.source.name>
69         <schema.configuration.location>N/A</schema.configuration.location>
70         <schema.nodes.location>${project.basedir}/src/main/resources/schema/${schema.source.name}/oxm</schema.nodes.location>
71         <schema.edges.location>${project.basedir}/src/main/resources/schema/${schema.source.name}/dbedgerules</schema.edges.location>
72         <schema.version.depth.start>v10</schema.version.depth.start>
73         <schema.version.related.link.start>v10</schema.version.related.link.start>
74         <schema.version.app.root.start>v11</schema.version.app.root.start>
75         <schema.version.namespace.change.start>v12</schema.version.namespace.change.start>
76         <schema.version.edge.label.start>v12</schema.version.edge.label.start>
77         <schema.version.api.default>v27</schema.version.api.default>
78         <schema.version.list>v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27</schema.version.list>
79         <schema.uri.base.path>/aai</schema.uri.base.path>
80         <!-- <schema.translator.list>config</schema.translator.list> -->
81         <schema.ingest.file>${project.basedir}/src/main/resources/application.properties</schema.ingest.file>
82
83         <!-- End of Default ONAP Schema Properties -->
84         <spring.boot.version>2.4.13</spring.boot.version>
85         <spring.version>5.3.13</spring.version>
86         <javax.servlet.version>4.0.1</javax.servlet.version>
87         <spring.jms.version>${spring.version}</spring.jms.version>
88         <spring.test.version>${spring.version}</spring.test.version>
89         <keycloak.version>11.0.2</keycloak.version>
90         <micrometer-spring-legacy.version>1.3.19</micrometer-spring-legacy.version>
91         <micrometer-core.version>1.6.6</micrometer-core.version>
92         <micrometer-registry-prometheus.version>1.6.6</micrometer-registry-prometheus.version>
93         <micrometer-jersey2>1.6.6</micrometer-jersey2>
94         <testcontainers.version>1.6.1</testcontainers.version>
95         <mockito.core.version>3.4.0</mockito.core.version>
96         <!-- Setting some default value to not complain by editor but it will be overridden by gmaven plugin -->
97
98         <!-- Integration tests will be skipped by default. Could be enabled here or by -DskipITs=false-->
99         <skipITs>true</skipITs>
100
101         <swagger.version>1.6.8</swagger.version>
102         <spring-cloud.version>2020.0.2</spring-cloud.version>
103     </properties>
104     <profiles>
105         <!-- Docker profile to be used for building docker image and pushing to nexus -->
106         <profile>
107             <id>docker</id>
108             <build>
109                 <plugins>
110                     <plugin>
111                         <groupId>org.codehaus.groovy.maven</groupId>
112                         <artifactId>gmaven-plugin</artifactId>
113                         <version>1.0</version>
114                         <executions>
115                             <execution>
116                                 <phase>pre-clean</phase>
117                             </execution>
118                             <execution>
119                                 <id>parse-base</id>
120                                 <phase>prepare-package</phase>
121                                 <goals>
122                                     <goal>execute</goal>
123                                 </goals>
124                                 <configuration>
125                                     <source>
126                                         def userAaiBaseImage = session.userProperties['aai.base.image']
127                                         def userAaiCommonVersion = session.userProperties['aai.base.image.version']
128                                         if (userAaiCommonVersion != null) {
129                                             project.properties['aai.base.image.version'] = userAaiCommonVersion
130                                         }
131                                         if (userAaiBaseImage != null) {
132                                             project.properties['aai.base.image'] = userAaiBaseImage
133                                         }
134                                         log.info 'Base image flavour: ' + project.properties['aai.base.image']
135                                         log.info 'Base image version: ' + project.properties['aai.base.image.version']
136                                     </source>
137                                 </configuration>
138                             </execution>
139                         </executions>
140                     </plugin>
141                     <plugin>
142                         <groupId>io.fabric8</groupId>
143                         <artifactId>docker-maven-plugin</artifactId>
144                         <configuration>
145                             <verbose>true</verbose>
146                             <apiVersion>1.23</apiVersion>
147                             <images>
148                                 <image>
149                                     <name>${docker.push.registry}/${aai.docker.namespace}/${project.artifactId}:%l
150                                     </name>
151                                     <build>
152                                         <filter>@</filter>
153                                         <tags>
154                                             <tag>latest</tag>
155                                             <tag>${project.docker.latesttag.version}</tag>
156                                             <tag>${project.major.version}.${project.minor.version}-STAGING-${maven.build.timestamp}</tag>
157                                         </tags>
158                                         <cleanup>try</cleanup>
159                                         <dockerFileDir>${project.basedir}/src/main/docker</dockerFileDir>
160                                         <assembly>
161                                             <inline>
162                                                 <fileSets>
163                                                     <fileSet>
164                                                         <directory>${aai.build.directory}</directory>
165                                                         <outputDirectory>/${project.artifactId}</outputDirectory>
166                                                     </fileSet>
167                                                 </fileSets>
168                                             </inline>
169                                         </assembly>
170                                     </build>
171                                 </image>
172                             </images>
173                         </configuration>
174                         <executions>
175                             <execution>
176                                 <id>clean-images</id>
177                                 <phase>pre-clean</phase>
178                                 <goals>
179                                     <goal>remove</goal>
180                                 </goals>
181                                 <configuration>
182                                     <removeAll>true</removeAll>
183                                 </configuration>
184                             </execution>
185                             <execution>
186                                 <id>generate-images</id>
187                                 <phase>verify</phase>
188                                 <goals>
189                                     <goal>build</goal>
190                                 </goals>
191                             </execution>
192                             <execution>
193                                 <id>push-images</id>
194                                 <phase>deploy</phase>
195                                 <goals>
196                                     <goal>push</goal>
197                                 </goals>
198                             </execution>
199                         </executions>
200                     </plugin>
201                 </plugins>
202             </build>
203         </profile>
204         <!-- Start of ONAP Profile -->
205         <profile>
206             <id>onap</id>
207             <properties>
208                 <schema.source.name>onap</schema.source.name>
209                 <schema.version.namespace.change.start>v12</schema.version.namespace.change.start>
210                 <schema.version.list>v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27</schema.version.list>
211                 <schema.ingest.file>${project.basedir}/src/main/resources/application.properties</schema.ingest.file>
212             </properties>
213         </profile>
214         <!-- End of ONAP Profile -->
215         <profile>
216             <id>runAjsc</id>
217             <properties>
218                 <skipTests>${maven.skip.tests}</skipTests>
219             </properties>
220             <build>
221                 <defaultGoal>pre-integration-test</defaultGoal>
222                 <plugins>
223                     <plugin>
224                         <groupId>org.codehaus.mojo</groupId>
225                         <artifactId>exec-maven-plugin</artifactId>
226                         <version>1.6.0</version>
227                         <executions>
228                             <execution>
229                                 <id>run-spring-boot</id>
230                                 <phase>package</phase>
231                                 <goals>
232                                     <goal>java</goal>
233                                 </goals>
234                             </execution>
235                         </executions>
236                         <configuration>
237                             <mainClass>${start-class}</mainClass>
238                             <systemProperties>
239                                 <property>
240                                     <key>snapshot.location</key>
241                                     <value>${snapshot.file}</value>
242                                 </property>
243                                 <property>
244                                     <key>schema.source.name</key>
245                                     <value>${schema.source.name}</value>
246                                 </property>
247                                 <property>
248                                     <key>schema.configuration.location</key>
249                                     <value>${schema.configuration.location}</value>
250                                 </property>
251                                 <property>
252                                     <key>schema.nodes.location</key>
253                                     <value>${schema.nodes.location}</value>
254                                 </property>
255                                 <property>
256                                     <key>schema.edges.location</key>
257                                     <value>${schema.edges.location}</value>
258                                 </property>
259                                 <property>
260                                     <key>schema.version.depth.start</key>
261                                     <value>${schema.version.depth.start}</value>
262                                 </property>
263                                 <property>
264                                     <key>schema.version.related.link.start</key>
265                                     <value>${schema.version.related.link.start}</value>
266                                 </property>
267                                 <property>
268                                     <key>schema.version.app.root.start</key>
269                                     <value>${schema.version.app.root.start}</value>
270                                 </property>
271                                 <property>
272                                     <key>schema.version.namespace.change.start</key>
273                                     <value>${schema.version.namespace.change.start}</value>
274                                 </property>
275                                 <property>
276                                     <key>schema.version.edge.label.start</key>
277                                     <value>${schema.version.edge.label.start}</value>
278                                 </property>
279                                 <property>
280                                     <key>schema.version.api.default</key>
281                                     <value>${schema.version.api.default}</value>
282                                 </property>
283                                 <property>
284                                     <key>schema.version.list</key>
285                                     <value>${schema.version.list}</value>
286                                 </property>
287                                 <property>
288                                     <key>schema.uri.base.path</key>
289                                     <value>${schema.uri.base.path}</value>
290                                 </property>
291                                 <property>
292                                     <key>schema.ingest.file</key>
293                                     <value>${schema.ingest.file}</value>
294                                 </property>
295                             </systemProperties>
296                             <executable>java</executable>
297                         </configuration>
298                     </plugin>
299                 </plugins>
300             </build>
301         </profile>
302     </profiles>
303
304     <dependencies>
305         <dependency>
306             <groupId>org.springframework.boot</groupId>
307             <artifactId>spring-boot-starter-actuator</artifactId>
308         </dependency>
309         <dependency>
310             <groupId>org.springframework.boot</groupId>
311             <artifactId>spring-boot-starter-hateoas</artifactId>
312         </dependency>
313         <dependency>
314                         <groupId>org.springframework.cloud</groupId>
315                         <artifactId>spring-cloud-starter-sleuth</artifactId>
316                 </dependency>
317         <dependency>
318             <groupId>org.springframework.cloud</groupId>
319             <artifactId>spring-cloud-sleuth-zipkin</artifactId>
320           </dependency>
321         <dependency>
322             <groupId>io.micrometer</groupId>
323             <artifactId>micrometer-spring-legacy</artifactId>
324             <version>${micrometer-spring-legacy.version}</version>
325         </dependency>
326         <dependency>
327             <groupId>io.micrometer</groupId>
328             <artifactId>micrometer-core</artifactId>
329             <version>${micrometer-core.version}</version>
330         </dependency>
331         <dependency>
332             <groupId>io.micrometer</groupId>
333             <artifactId>micrometer-registry-prometheus</artifactId>
334             <version>${micrometer-registry-prometheus.version}</version>
335         </dependency>
336         <dependency>
337             <groupId>io.micrometer</groupId>
338             <artifactId>micrometer-jersey2</artifactId>
339             <version>${micrometer-jersey2}</version>
340         </dependency>
341         <dependency>
342             <groupId>javax.jms</groupId>
343             <artifactId>javax.jms-api</artifactId>
344             <version>2.0.1</version>
345         </dependency>
346         <dependency>
347             <groupId>javax.ws.rs</groupId>
348             <artifactId>javax.ws.rs-api</artifactId>
349             <version>2.1</version>
350         </dependency>
351         <dependency>
352             <groupId>javax.xml.bind</groupId>
353             <artifactId>jaxb-api</artifactId>
354         </dependency>
355         <dependency>
356             <groupId>com.sun.xml.bind</groupId>
357             <artifactId>jaxb-impl</artifactId>
358         </dependency>
359         <dependency>
360             <groupId>com.sun.xml.bind</groupId>
361             <artifactId>jaxb-core</artifactId>
362         </dependency>
363
364         <dependency>
365             <groupId>net.sf.jopt-simple</groupId>
366             <artifactId>jopt-simple</artifactId>
367         </dependency>
368         <dependency>
369             <groupId>io.swagger</groupId>
370             <artifactId>swagger-core</artifactId>
371             <version>${swagger.version}</version>
372             <exclusions>
373                 <exclusion>
374                     <groupId>javax.ws.rs</groupId>
375                     <artifactId>jsr311-api</artifactId>
376                 </exclusion>
377             </exclusions>
378         </dependency>
379         <dependency>
380             <groupId>io.swagger</groupId>
381             <artifactId>swagger-annotations</artifactId>
382             <version>${swagger.version}</version>
383         </dependency>
384         <dependency>
385             <groupId>org.apache.commons</groupId>
386             <artifactId>commons-configuration2</artifactId>
387             <version>2.0</version>
388         </dependency>
389         <dependency>
390             <groupId>io.swagger</groupId>
391             <artifactId>swagger-jersey2-jaxrs</artifactId>
392             <version>${swagger.version}</version>
393             <exclusions>
394                 <exclusion>
395                     <groupId>org.glassfish.jersey.media</groupId>
396                     <artifactId>jersey-media-multipart</artifactId>
397                 </exclusion>
398                 <exclusion>
399                     <artifactId>jersey-core</artifactId>
400                     <groupId>com.sun.jersey</groupId>
401                 </exclusion>
402                 <exclusion>
403                     <artifactId>jersey-json</artifactId>
404                     <groupId>com.sun.jersey</groupId>
405                 </exclusion>
406                 <exclusion>
407                     <artifactId>jersey-server</artifactId>
408                     <groupId>com.sun.jersey</groupId>
409                 </exclusion>
410                 <exclusion>
411                     <artifactId>jersey-client</artifactId>
412                     <groupId>com.sun.jersey</groupId>
413                 </exclusion>
414                 <exclusion>
415                     <artifactId>jsr311-api</artifactId>
416                     <groupId>javax.ws.rs</groupId>
417                 </exclusion>
418                 <exclusion>
419                     <artifactId>jersey-multipart</artifactId>
420                     <groupId>com.sun.jersey.contribs</groupId>
421                 </exclusion>
422             </exclusions>
423         </dependency>
424         <dependency>
425             <groupId>org.apache.commons</groupId>
426             <artifactId>commons-lang3</artifactId>
427         </dependency>
428         <!-- eelf dependency -->
429         <dependency>
430             <groupId>com.att.eelf</groupId>
431             <artifactId>eelf-core</artifactId>
432         </dependency>
433         <dependency>
434             <groupId>ch.qos.logback</groupId>
435             <artifactId>logback-core</artifactId>
436         </dependency>
437         <dependency>
438             <groupId>ch.qos.logback</groupId>
439             <artifactId>logback-classic</artifactId>
440         </dependency>
441         <dependency>
442             <groupId>ch.qos.logback</groupId>
443             <artifactId>logback-access</artifactId>
444         </dependency>
445         <dependency>
446             <groupId>org.codehaus.janino</groupId>
447             <artifactId>janino</artifactId>
448         </dependency>
449         <dependency>
450             <groupId>net.logstash.logback</groupId>
451             <artifactId>logstash-logback-encoder</artifactId>
452             <version>6.6</version>
453         </dependency>
454         <dependency>
455             <groupId>org.hamcrest</groupId>
456             <artifactId>hamcrest-junit</artifactId>
457         </dependency>
458         <dependency>
459             <groupId>junit</groupId>
460             <artifactId>junit</artifactId>
461             <scope>test</scope>
462         </dependency>
463         <dependency>
464             <groupId>com.google.guava</groupId>
465             <artifactId>guava</artifactId>
466         </dependency>
467         <dependency>
468             <groupId>com.github.jnr</groupId>
469             <artifactId>jnr-ffi</artifactId>
470         </dependency>
471         <dependency>
472             <groupId>com.fasterxml.jackson.jaxrs</groupId>
473             <artifactId>jackson-jaxrs-json-provider</artifactId>
474         </dependency>
475         <dependency>
476             <groupId>org.mockito</groupId>
477             <artifactId>mockito-core</artifactId>
478             <version>${mockito.core.version}</version>
479             <scope>test</scope>
480           </dependency>
481         <dependency>
482             <groupId>com.beust</groupId>
483             <artifactId>jcommander</artifactId>
484         </dependency>
485         <dependency>
486             <groupId>org.json</groupId>
487             <artifactId>json</artifactId>
488         </dependency>
489         <dependency>
490             <groupId>org.freemarker</groupId>
491             <artifactId>freemarker</artifactId>
492         </dependency>
493         <dependency>
494             <groupId>javax.xml.bind</groupId>
495             <artifactId>jaxb-api</artifactId>
496         </dependency>
497         <dependency>
498             <groupId>org.onap.aaf.authz</groupId>
499             <artifactId>aaf-cadi-aaf</artifactId>
500         </dependency>
501         <dependency>
502             <groupId>org.eclipse.persistence</groupId>
503             <artifactId>eclipselink</artifactId>
504         </dependency>
505         <dependency>
506             <groupId>org.eclipse.persistence</groupId>
507             <artifactId>org.eclipse.persistence.moxy</artifactId>
508             <scope>compile</scope>
509         </dependency>
510         <dependency>
511             <groupId>com.github.fge</groupId>
512             <artifactId>json-patch</artifactId>
513         </dependency>
514         <dependency>
515             <groupId>org.javatuples</groupId>
516             <artifactId>javatuples</artifactId>
517             <scope>compile</scope>
518         </dependency>
519         <dependency>
520             <groupId>com.google.code.gson</groupId>
521             <artifactId>gson</artifactId>
522         </dependency>
523         <dependency>
524             <groupId>org.onap.dmaap.messagerouter.dmaapclient</groupId>
525             <artifactId>dmaapClient</artifactId>
526             <exclusions>
527                 <exclusion>
528                     <groupId>org.slf4j</groupId>
529                     <artifactId>slf4j-log4j12</artifactId>
530                 </exclusion>
531                 <exclusion>
532                     <groupId>com.att.aft</groupId>
533                     <artifactId>dme2</artifactId>
534                 </exclusion>
535             </exclusions>
536         </dependency>
537         <dependency>
538             <groupId>com.jayway.jsonpath</groupId>
539             <artifactId>json-path</artifactId>
540         </dependency>
541         <!-- Do not use activemq-all because they force you to use a specific logging
542             and they shade it so you can't simply exclude it and when you deploy the
543             jar, you will notice failure -->
544         <dependency>
545             <groupId>org.apache.activemq</groupId>
546             <artifactId>activemq-broker</artifactId>
547         </dependency>
548         <dependency>
549             <groupId>org.apache.activemq</groupId>
550             <artifactId>activemq-client</artifactId>
551         </dependency>
552         <dependency>
553             <groupId>org.onap.aai.aai-common</groupId>
554             <artifactId>aai-core</artifactId>
555             <exclusions>
556                 <exclusion>
557                     <groupId>org.onap.aai.aai-common</groupId>
558                     <artifactId>aai-aaf-auth</artifactId>
559                 </exclusion>
560                 <exclusion>
561                     <groupId>com.sun.jersey</groupId>
562                     <artifactId>jersey-core</artifactId>
563                 </exclusion>
564                 <exclusion>
565                     <groupId>org.codehaus.jackson</groupId>
566                     <artifactId>jackson-mapper-asl</artifactId>
567                 </exclusion>
568                 <exclusion>
569                     <groupId>org.eclipse.jetty</groupId>
570                     <artifactId>jetty-http</artifactId>
571                 </exclusion>
572                 <exclusion>
573                     <groupId>org.eclipse.jetty</groupId>
574                     <artifactId>jetty-server</artifactId>
575                 </exclusion>
576                 <exclusion>
577                     <groupId>org.springframework</groupId>
578                     <artifactId>spring-web</artifactId>
579                 </exclusion>
580             </exclusions>
581         </dependency>
582         <dependency>
583             <groupId>org.onap.aai.aai-common</groupId>
584             <artifactId>aai-schema-ingest</artifactId>
585             <exclusions>
586                 <exclusion>
587                     <groupId>org.onap.aai.aai-common</groupId>
588                     <artifactId>aai-aaf-auth</artifactId>
589                 </exclusion>
590             </exclusions>
591         </dependency>
592
593         <dependency>
594             <groupId>org.springframework</groupId>
595             <artifactId>spring-jms</artifactId>
596             <exclusions>
597                 <exclusion>
598                     <groupId>com.sun.jersey</groupId>
599                     <artifactId>jersey-core</artifactId>
600                 </exclusion>
601             </exclusions>
602         </dependency>
603         <!-- Do not use the jersey-client since jersey client 1.0 version clashes
604             with jersey 2 which we are using -->
605         <!-- Use this to make http requests instead of jersey 1.0 client -->
606         <dependency>
607             <groupId>org.apache.httpcomponents</groupId>
608             <artifactId>httpclient</artifactId>
609         </dependency>
610         <dependency>
611             <groupId>org.skyscreamer</groupId>
612             <artifactId>jsonassert</artifactId>
613             <scope>test</scope>
614             <exclusions>
615                 <exclusion>
616                     <groupId>com.vaadin.external.google</groupId>
617                     <artifactId>android-json</artifactId>
618                 </exclusion>
619             </exclusions>
620         </dependency>
621         <!--
622             Explicitly stating the security spring framework and
623             exclude the bouncy castle since that is somehow overwriting
624             our p12 file decryption that's built into java security
625             This will cause the password is incorrect
626             This needs to be added back if org.bouncy castle dependency
627             sneaks backs in and causing issues with the two way ssl
628         -->
629         <dependency>
630             <groupId>org.springframework.security</groupId>
631             <artifactId>spring-security-rsa</artifactId>
632             <exclusions>
633                 <exclusion>
634                     <groupId>org.bouncycastle</groupId>
635                     <artifactId>bcpkix-jdk15on</artifactId>
636                 </exclusion>
637             </exclusions>
638         </dependency>
639         <dependency>
640             <groupId>io.netty</groupId>
641             <artifactId>netty-handler</artifactId>
642             <version>${netty.handler.version}</version>
643         </dependency>
644         <dependency>
645             <groupId>org.springframework.boot</groupId>
646             <artifactId>spring-boot-starter-web</artifactId>
647             <exclusions>
648                 <exclusion>
649                     <groupId>org.springframework.boot</groupId>
650                     <artifactId>spring-boot-starter-tomcat</artifactId>
651                 </exclusion>
652             </exclusions>
653         </dependency>
654         <dependency>
655             <groupId>org.springframework.boot</groupId>
656             <artifactId>spring-boot-starter-jetty</artifactId>
657         </dependency>
658         <dependency>
659             <groupId>io.netty</groupId>
660             <artifactId>netty-all</artifactId>
661             <version>${netty.version}</version>
662         </dependency>
663         <dependency>
664             <groupId>org.codehaus.groovy</groupId>
665             <artifactId>groovy</artifactId>
666             <classifier>indy</classifier>
667             <version>${groovy.version}</version>
668         </dependency>
669         <dependency>
670             <groupId>org.springframework</groupId>
671             <artifactId>spring-test</artifactId>
672             <scope>test</scope>
673         </dependency>
674         <dependency>
675             <groupId>org.springframework.boot</groupId>
676             <artifactId>spring-boot-test</artifactId>
677             <scope>test</scope>
678         </dependency>
679         <dependency>
680             <groupId>org.janusgraph</groupId>
681             <artifactId>janusgraph-cql</artifactId>
682             <exclusions>
683                 <exclusion>
684                     <groupId>org.slf4j</groupId>
685                     <artifactId>slf4j-log4j12</artifactId>
686                 </exclusion>
687             </exclusions>
688         </dependency>
689         <dependency>
690             <groupId>org.apache.tinkerpop</groupId>
691             <artifactId>gremlin-groovy</artifactId>
692         </dependency>
693         <dependency>
694             <groupId>org.springframework.boot</groupId>
695             <artifactId>spring-boot-starter-security</artifactId>
696         </dependency>
697         <dependency>
698             <groupId>org.keycloak</groupId>
699             <artifactId>keycloak-spring-boot-starter</artifactId>
700         </dependency>
701         <dependency>
702             <groupId>com.github.dasniko</groupId>
703             <artifactId>testcontainers-keycloak</artifactId>
704             <version>${testcontainers.version}</version>
705             <scope>test</scope>
706         </dependency>
707         <dependency>
708             <groupId>org.keycloak</groupId>
709             <artifactId>keycloak-admin-client</artifactId>
710             <version>${keycloak.version}</version>
711             <scope>test</scope>
712         </dependency>
713     </dependencies>
714     <dependencyManagement>
715         <dependencies>
716             <dependency>
717                 <groupId>org.keycloak.bom</groupId>
718                 <artifactId>keycloak-adapter-bom</artifactId>
719                 <version>${keycloak.version}</version>
720                 <type>pom</type>
721                 <scope>import</scope>
722             </dependency>
723             <dependency>
724                 <groupId>org.springframework.cloud</groupId>
725                 <artifactId>spring-cloud-dependencies</artifactId>
726                 <version>${spring-cloud.version}</version>
727                 <type>pom</type>
728                 <scope>import</scope>
729               </dependency>
730         </dependencies>
731     </dependencyManagement>
732     <build>
733         <resources>
734             <resource>
735                 <directory>${project.basedir}/src/main/swm</directory>
736                 <targetPath>${project.build.directory}/swm</targetPath>
737                 <filtering>false</filtering>
738             </resource>
739             <resource>
740                 <directory>${project.basedir}/src/main/resources</directory>
741                 <includes>
742                     <include>application.properties</include>
743                     <include>dme2.properties</include>
744                     <include>logback.xml</include>
745                     <include>localhost-access-logback.xml</include>
746                 </includes>
747                 <targetPath>${project.build.directory}/swm/package/nix/dist_files/opt/app/${project.artifactId}/appconfig</targetPath>
748                 <filtering>false</filtering>
749             </resource>
750             <resource>
751                 <directory>${project.basedir}/src/main/resources</directory>
752                 <includes>
753                     <include>**/*</include>
754                 </includes>
755                 <filtering>true</filtering>
756             </resource>
757             <resource>
758                 <directory>${project.basedir}/src/main/resources/etc/appprops/</directory>
759                 <includes>
760                     <include>janusgraph-realtime.properties</include>
761                     <include>janusgraph-cached.properties</include>
762                     <include>aaiconfig.properties</include>
763                 </includes>
764                 <targetPath>${project.build.directory}/swm/package/nix/dist_files/opt/app/${project.artifactId}/appconfig</targetPath>
765                 <filtering>false</filtering>
766             </resource>
767             <resource>
768                 <directory>${project.basedir}/src/main/resources/etc/auth/</directory>
769                 <includes>
770                     <include>aai-client-cert.p12</include>
771                     <include>tomcat_keystore</include>
772                     <include>aai_policy.json</include>
773                 </includes>
774                 <targetPath>${project.build.directory}/swm/package/nix/dist_files/opt/app/${project.artifactId}/appconfig</targetPath>
775                 <filtering>true</filtering>
776             </resource>
777             <resource>
778                 <directory>${project.basedir}/src/main/resources/</directory>
779                 <includes>
780                     <include>logback.xml</include>
781                     <include>localhost-access-logback.xml</include>
782                     <include>hbase-site.xml</include>
783                 </includes>
784                 <targetPath>${project.build.directory}/swm/package/nix/dist_files/opt/app/${project.artifactId}/appconfig</targetPath>
785                 <filtering>true</filtering>
786             </resource>
787             <resource>
788                 <directory>${project.basedir}/src/main/resources/schema/</directory>
789                 <includes>
790                     <include>**/oxm/**/*.xml</include>
791                     <include>**/dbedgerules/**/*.json</include>
792                 </includes>
793                 <targetPath>${project.build.directory}/swm/package/nix/dist_files/opt/app/${project.artifactId}/appconfig/schema</targetPath>
794                 <filtering>false</filtering>
795             </resource>
796             <resource>
797                 <directory>${project.basedir}/src/main/docker</directory>
798                 <includes>
799                     <include>**/*</include>
800                 </includes>
801                 <targetPath>${aai.build.directory}</targetPath>
802                 <filtering>true</filtering>
803             </resource>
804         </resources>
805         <pluginManagement>
806             <plugins>
807                 <plugin>
808                     <groupId>org.apache.maven.plugins</groupId>
809                     <artifactId>maven-dependency-plugin</artifactId>
810                     <version>2.8</version>
811                     <executions>
812                         <execution>
813                             <id>unpack-schema-dependency</id>
814                             <phase>initialize</phase>
815                             <goals>
816                                 <goal>unpack</goal>
817                             </goals>
818                             <configuration>
819                                 <artifactItems>
820                                     <artifactItem>
821                                         <groupId>org.onap.aai.schema-service</groupId>
822                                         <artifactId>aai-schema</artifactId>
823                                         <outputDirectory>${project.basedir}/src/main/resources/schema/</outputDirectory>
824                                         <includes>**/oxm/**/*.xml</includes>
825                                         <version>${aai.schema.service.version}</version>
826                                     </artifactItem>
827                                 </artifactItems>
828                                 <!-- other configurations here -->
829                             </configuration>
830                         </execution>
831                         <execution>
832                             <id>unpack-edgerules-dependency</id>
833                             <phase>initialize</phase>
834                             <goals>
835                                 <goal>unpack</goal>
836                             </goals>
837                             <configuration>
838                                 <artifactItems>
839                                     <artifactItem>
840                                         <groupId>org.onap.aai.schema-service</groupId>
841                                         <artifactId>aai-schema</artifactId>
842                                         <outputDirectory>${project.basedir}/src/main/resources/schema/</outputDirectory>
843                                         <includes>**/dbedgerules/**/*.json</includes>
844                                         <version>${aai.schema.service.version}</version>
845                                     </artifactItem>
846                                 </artifactItems>
847                                 <!-- other configurations here -->
848                             </configuration>
849                         </execution>
850                     </executions>
851                 </plugin>
852                 <plugin>
853                     <groupId>org.codehaus.groovy.maven</groupId>
854                     <artifactId>gmaven-plugin</artifactId>
855                     <version>1.0</version>
856                     <executions>
857                         <execution>
858                             <phase>validate</phase>
859                             <goals>
860                                 <goal>execute</goal>
861                             </goals>
862                             <configuration>
863                                 <source>
864                                     println project.properties['aai.project.version'];
865                                     def versionArray;
866                                     if (project.properties['aai.project.version'] != null) {
867                                         versionArray = project.properties['aai.project.version'].split('\\.');
868                                     }
869
870                                     project.properties["project.major.version"] = versionArray[0];
871                                     project.properties["project.minor.version"] = versionArray[1];
872                                     project.properties['project.docker.latesttag.version'] = versionArray[0] + '.' + versionArray[1] + '-STAGING-latest';
873                                     println 'New Tag for docker:' + project.properties['project.docker.latesttag.version'];
874                                 </source>
875                             </configuration>
876                         </execution>
877                     </executions>
878                 </plugin>
879                 <plugin>
880                     <groupId>com.mycila</groupId>
881                     <artifactId>license-maven-plugin</artifactId>
882                     <version>3.0</version>
883                     <configuration>
884                         <header>LICENSE.TXT</header>
885                         <includes>
886                             <include>src/main/java/**</include>
887                             <include>src/test/java/**</include>
888                             <include>pom.xml</include>
889                         </includes>
890                         <skipExistingHeaders>false</skipExistingHeaders>
891                         <skip>false</skip>
892                     </configuration>
893                 </plugin>
894             </plugins>
895         </pluginManagement>
896         <plugins>
897             <plugin>
898                 <groupId>org.apache.maven.plugins</groupId>
899                 <artifactId>maven-clean-plugin</artifactId>
900                 <version>2.4.1</version>
901                 <configuration>
902                     <filesets>
903                         <fileset>
904                             <directory>${project.basedir}/src/main/resources/schema</directory>
905                             <includes>
906                                 <include>**/*</include>
907                             </includes>
908                             <followSymlinks>false</followSymlinks>
909                         </fileset>
910                     </filesets>
911                 </configuration>
912             </plugin>
913             <plugin>
914                 <groupId>org.codehaus.groovy.maven</groupId>
915                 <artifactId>gmaven-plugin</artifactId>
916             </plugin>
917             <plugin>
918                 <groupId>org.apache.maven.plugins</groupId>
919                 <artifactId>maven-dependency-plugin</artifactId>
920                 <version>2.10</version>
921             </plugin>
922             <plugin>
923                 <groupId>org.apache.maven.plugins</groupId>
924                 <artifactId>maven-javadoc-plugin</artifactId>
925             </plugin>
926             <plugin>
927                 <artifactId>maven-assembly-plugin</artifactId>
928                 <configuration>
929                     <descriptors>
930                         <descriptor>src/main/assembly/descriptor.xml</descriptor>
931                     </descriptors>
932                 </configuration>
933                 <executions>
934                     <execution>
935                         <id>make-assembly</id> <!-- this is used for inheritance merges -->
936                         <phase>package</phase> <!-- bind to the packaging phase -->
937                         <goals>
938                             <goal>single</goal>
939                         </goals>
940                     </execution>
941                 </executions>
942             </plugin>
943             <plugin>
944                 <groupId>org.apache.maven.plugins</groupId>
945                 <artifactId>maven-surefire-plugin</artifactId>
946                 <configuration>
947                     <runOrder>alphabetical</runOrder>
948                 </configuration>
949             </plugin>
950             <plugin>
951                 <groupId>com.mycila</groupId>
952                 <artifactId>license-maven-plugin</artifactId>
953             </plugin>
954             <plugin>
955                 <groupId>org.apache.maven.plugins</groupId>
956                 <artifactId>maven-deploy-plugin</artifactId>
957             </plugin>
958             <plugin>
959               <artifactId>maven-resources-plugin</artifactId>
960               <version>3.0.0</version>
961               <executions>
962                 <execution>
963                   <id>copy-fat-jar</id>
964                   <phase>post-integration-test</phase>
965                   <goals>
966                     <goal>copy-resources</goal>
967                   </goals>
968                   <configuration>
969                       <outputDirectory>${aai.build.directory}/lib/</outputDirectory>
970                       <resources>
971                           <resource>
972                               <directory>${project.build.directory}/</directory>
973                               <includes>
974                                   <include>${project.artifactId}-${project.version}.jar</include>
975                               </includes>
976                               <filtering>false</filtering>
977                           </resource>
978                       </resources>
979                   </configuration>
980                 </execution>
981               </executions>
982             </plugin>
983             <plugin>
984                 <groupId>org.springframework.boot</groupId>
985                 <artifactId>spring-boot-maven-plugin</artifactId>
986                 <configuration>
987                     <mainClass>${start-class}</mainClass>
988                     <layout>ZIP</layout>
989                 </configuration>
990                 <executions>
991                     <execution>
992                         <goals>
993                             <goal>repackage</goal>
994                         </goals>
995                     </execution>
996                 </executions>
997             </plugin>
998             <plugin>
999                 <groupId>org.jacoco</groupId>
1000                 <artifactId>jacoco-maven-plugin</artifactId>
1001                 <configuration>
1002                     <excludes>
1003                         <exclude>**/*WebSecurityConfig.*</exclude>
1004                     </excludes>
1005                 </configuration>
1006             </plugin>
1007             <plugin>
1008                 <groupId>org.apache.maven.plugins</groupId>
1009                 <artifactId>maven-failsafe-plugin</artifactId>
1010                 <version>3.0.0-M4</version>
1011                 <configuration>
1012                     <classesDirectory>${project.build.outputDirectory}</classesDirectory>
1013                 </configuration>
1014             </plugin>
1015         </plugins>
1016     </build>
1017     <reporting>
1018         <plugins>
1019             <plugin>
1020                 <groupId>org.apache.maven.plugins</groupId>
1021                 <artifactId>maven-javadoc-plugin</artifactId>
1022                 <version>2.10.4</version>
1023                 <configuration>
1024                     <failOnError>false</failOnError>
1025                     <doclet>org.umlgraph.doclet.UmlGraphDoc</doclet>
1026                     <docletArtifact>
1027                         <groupId>org.umlgraph</groupId>
1028                         <artifactId>umlgraph</artifactId>
1029                         <version>5.6</version>
1030                     </docletArtifact>
1031                     <additionalparam>-views</additionalparam>
1032                     <useStandardDocletOptions>true</useStandardDocletOptions>
1033                 </configuration>
1034             </plugin>
1035         </plugins>
1036     </reporting>
1037 </project>