Implement gremlin-based pagination in resources
[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.14.3-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.13.4</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>v29</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,v28,v29</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
86         <janusgraph.version>0.5.0</janusgraph.version>
87         <gremlin.version>3.4.13</gremlin.version>
88
89         <javax.servlet.version>4.0.1</javax.servlet.version>
90         <keycloak.version>11.0.2</keycloak.version>
91         <micrometer.version>1.6.6</micrometer.version>
92         <testcontainers.version>1.6.1</testcontainers.version>
93         <mockito.core.version>4.4.0</mockito.core.version>
94         <eclipse.persistence.version>2.6.2</eclipse.persistence.version>
95         <!-- Setting some default value to not complain by editor but it will be overridden by gmaven plugin -->
96
97         <!-- Integration tests will be skipped by default. Could be enabled here or by -DskipITs=false-->
98         <skipITs>true</skipITs>
99
100         <swagger.version>1.6.8</swagger.version>
101         <spring-cloud.version>2020.0.2</spring-cloud.version>
102     </properties>
103     <profiles>
104         <!-- Docker profile to be used for building docker image and pushing to nexus -->
105         <profile>
106             <id>docker</id>
107             <build>
108                 <plugins>
109                     <plugin>
110                         <groupId>org.codehaus.groovy.maven</groupId>
111                         <artifactId>gmaven-plugin</artifactId>
112                         <version>1.0</version>
113                         <executions>
114                             <execution>
115                                 <phase>pre-clean</phase>
116                             </execution>
117                             <execution>
118                                 <id>parse-base</id>
119                                 <phase>prepare-package</phase>
120                                 <goals>
121                                     <goal>execute</goal>
122                                 </goals>
123                                 <configuration>
124                                     <source>
125                                         def userAaiBaseImage = session.userProperties['aai.base.image']
126                                         def userAaiCommonVersion = session.userProperties['aai.base.image.version']
127                                         if (userAaiCommonVersion != null) {
128                                             project.properties['aai.base.image.version'] = userAaiCommonVersion
129                                         }
130                                         if (userAaiBaseImage != null) {
131                                             project.properties['aai.base.image'] = userAaiBaseImage
132                                         }
133                                         log.info 'Base image flavour: ' + project.properties['aai.base.image']
134                                         log.info 'Base image version: ' + project.properties['aai.base.image.version']
135                                     </source>
136                                 </configuration>
137                             </execution>
138                         </executions>
139                     </plugin>
140                     <plugin>
141                         <groupId>io.fabric8</groupId>
142                         <artifactId>docker-maven-plugin</artifactId>
143                         <configuration>
144                             <verbose>true</verbose>
145                             <apiVersion>1.23</apiVersion>
146                             <images>
147                                 <image>
148                                     <name>${docker.push.registry}/${aai.docker.namespace}/${project.artifactId}:%l
149                                     </name>
150                                     <build>
151                                         <filter>@</filter>
152                                         <tags>
153                                             <tag>latest</tag>
154                                             <tag>${project.docker.latesttag.version}</tag>
155                                             <tag>${project.major.version}.${project.minor.version}-STAGING-${maven.build.timestamp}</tag>
156                                         </tags>
157                                         <cleanup>try</cleanup>
158                                         <dockerFileDir>${project.basedir}/src/main/docker</dockerFileDir>
159                                         <assembly>
160                                             <inline>
161                                                 <fileSets>
162                                                     <fileSet>
163                                                         <directory>${aai.build.directory}</directory>
164                                                         <outputDirectory>/${project.artifactId}</outputDirectory>
165                                                     </fileSet>
166                                                 </fileSets>
167                                             </inline>
168                                         </assembly>
169                                     </build>
170                                 </image>
171                             </images>
172                         </configuration>
173                         <executions>
174                             <execution>
175                                 <id>clean-images</id>
176                                 <phase>pre-clean</phase>
177                                 <goals>
178                                     <goal>remove</goal>
179                                 </goals>
180                                 <configuration>
181                                     <removeAll>true</removeAll>
182                                 </configuration>
183                             </execution>
184                             <execution>
185                                 <id>generate-images</id>
186                                 <phase>verify</phase>
187                                 <goals>
188                                     <goal>build</goal>
189                                 </goals>
190                             </execution>
191                             <execution>
192                                 <id>push-images</id>
193                                 <phase>deploy</phase>
194                                 <goals>
195                                     <goal>push</goal>
196                                 </goals>
197                             </execution>
198                         </executions>
199                     </plugin>
200                 </plugins>
201             </build>
202         </profile>
203         <!-- Start of ONAP Profile -->
204         <profile>
205             <id>onap</id>
206             <properties>
207                 <schema.source.name>onap</schema.source.name>
208                 <schema.version.namespace.change.start>v12</schema.version.namespace.change.start>
209                 <schema.version.list>v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29</schema.version.list>
210                 <schema.ingest.file>${project.basedir}/src/main/resources/application.properties</schema.ingest.file>
211             </properties>
212         </profile>
213         <!-- End of ONAP Profile -->
214         <profile>
215             <id>runAjsc</id>
216             <properties>
217                 <skipTests>${maven.skip.tests}</skipTests>
218             </properties>
219             <build>
220                 <defaultGoal>pre-integration-test</defaultGoal>
221                 <plugins>
222                     <plugin>
223                         <groupId>org.codehaus.mojo</groupId>
224                         <artifactId>exec-maven-plugin</artifactId>
225                         <version>1.6.0</version>
226                         <executions>
227                             <execution>
228                                 <id>run-spring-boot</id>
229                                 <phase>package</phase>
230                                 <goals>
231                                     <goal>java</goal>
232                                 </goals>
233                             </execution>
234                         </executions>
235                         <configuration>
236                             <mainClass>${start-class}</mainClass>
237                             <systemProperties>
238                                 <property>
239                                     <key>snapshot.location</key>
240                                     <value>${snapshot.file}</value>
241                                 </property>
242                                 <property>
243                                     <key>schema.source.name</key>
244                                     <value>${schema.source.name}</value>
245                                 </property>
246                                 <property>
247                                     <key>schema.configuration.location</key>
248                                     <value>${schema.configuration.location}</value>
249                                 </property>
250                                 <property>
251                                     <key>schema.nodes.location</key>
252                                     <value>${schema.nodes.location}</value>
253                                 </property>
254                                 <property>
255                                     <key>schema.edges.location</key>
256                                     <value>${schema.edges.location}</value>
257                                 </property>
258                                 <property>
259                                     <key>schema.version.depth.start</key>
260                                     <value>${schema.version.depth.start}</value>
261                                 </property>
262                                 <property>
263                                     <key>schema.version.related.link.start</key>
264                                     <value>${schema.version.related.link.start}</value>
265                                 </property>
266                                 <property>
267                                     <key>schema.version.app.root.start</key>
268                                     <value>${schema.version.app.root.start}</value>
269                                 </property>
270                                 <property>
271                                     <key>schema.version.namespace.change.start</key>
272                                     <value>${schema.version.namespace.change.start}</value>
273                                 </property>
274                                 <property>
275                                     <key>schema.version.edge.label.start</key>
276                                     <value>${schema.version.edge.label.start}</value>
277                                 </property>
278                                 <property>
279                                     <key>schema.version.api.default</key>
280                                     <value>${schema.version.api.default}</value>
281                                 </property>
282                                 <property>
283                                     <key>schema.version.list</key>
284                                     <value>${schema.version.list}</value>
285                                 </property>
286                                 <property>
287                                     <key>schema.uri.base.path</key>
288                                     <value>${schema.uri.base.path}</value>
289                                 </property>
290                                 <property>
291                                     <key>schema.ingest.file</key>
292                                     <value>${schema.ingest.file}</value>
293                                 </property>
294                             </systemProperties>
295                             <executable>java</executable>
296                         </configuration>
297                     </plugin>
298                 </plugins>
299             </build>
300         </profile>
301     </profiles>
302
303     <dependencies>
304         <dependency>
305             <groupId>org.springframework.boot</groupId>
306             <artifactId>spring-boot-starter-actuator</artifactId>
307         </dependency>
308         <dependency>
309             <groupId>org.springframework.boot</groupId>
310             <artifactId>spring-boot-starter-hateoas</artifactId>
311         </dependency>
312         <dependency>
313             <groupId>org.springframework.cloud</groupId>
314             <artifactId>spring-cloud-starter-sleuth</artifactId>
315         </dependency>
316         <dependency>
317             <groupId>org.springframework.cloud</groupId>
318             <artifactId>spring-cloud-sleuth-zipkin</artifactId>
319         </dependency>
320         <dependency>
321             <groupId>org.springframework</groupId>
322             <artifactId>spring-test</artifactId>
323             <scope>test</scope>
324         </dependency>
325
326         <dependency>
327             <groupId>io.micrometer</groupId>
328             <artifactId>micrometer-core</artifactId>
329             <version>${micrometer.version}</version>
330         </dependency>
331         <dependency>
332             <groupId>io.micrometer</groupId>
333             <artifactId>micrometer-registry-prometheus</artifactId>
334             <version>${micrometer.version}</version>
335         </dependency>
336         <dependency>
337             <groupId>io.micrometer</groupId>
338             <artifactId>micrometer-jersey2</artifactId>
339             <version>${micrometer.version}</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           <exclusions>
458             <exclusion>
459               <groupId>junit</groupId>
460               <artifactId>junit</artifactId>
461             </exclusion>
462           </exclusions>
463         </dependency>
464         <dependency>
465             <groupId>com.google.guava</groupId>
466             <artifactId>guava</artifactId>
467         </dependency>
468         <dependency>
469             <groupId>com.github.jnr</groupId>
470             <artifactId>jnr-ffi</artifactId>
471         </dependency>
472         <dependency>
473             <groupId>com.fasterxml.jackson.jaxrs</groupId>
474             <artifactId>jackson-jaxrs-json-provider</artifactId>
475         </dependency>
476         <dependency>
477             <groupId>org.mockito</groupId>
478             <artifactId>mockito-core</artifactId>
479             <version>${mockito.core.version}</version>
480             <scope>test</scope>
481         </dependency>
482         <dependency>
483           <groupId>org.mockito</groupId>
484           <artifactId>mockito-junit-jupiter</artifactId>
485           <scope>test</scope>
486         </dependency>
487         <dependency>
488             <groupId>com.beust</groupId>
489             <artifactId>jcommander</artifactId>
490         </dependency>
491         <dependency>
492             <groupId>org.json</groupId>
493             <artifactId>json</artifactId>
494         </dependency>
495         <dependency>
496             <groupId>org.freemarker</groupId>
497             <artifactId>freemarker</artifactId>
498         </dependency>
499         <dependency>
500             <groupId>org.onap.aaf.authz</groupId>
501             <artifactId>aaf-cadi-aaf</artifactId>
502         </dependency>
503         <dependency>
504             <groupId>org.eclipse.persistence</groupId>
505             <artifactId>eclipselink</artifactId>
506         </dependency>
507         <dependency>
508             <groupId>org.eclipse.persistence</groupId>
509             <artifactId>org.eclipse.persistence.moxy</artifactId>
510             <scope>compile</scope>
511         </dependency>
512         <dependency>
513             <groupId>com.github.fge</groupId>
514             <artifactId>json-patch</artifactId>
515         </dependency>
516         <dependency>
517             <groupId>org.javatuples</groupId>
518             <artifactId>javatuples</artifactId>
519             <scope>compile</scope>
520         </dependency>
521         <dependency>
522             <groupId>com.google.code.gson</groupId>
523             <artifactId>gson</artifactId>
524         </dependency>
525         <dependency>
526             <groupId>org.springframework.kafka</groupId>
527             <artifactId>spring-kafka</artifactId>
528             <version>2.7.14</version>
529         </dependency>
530         <dependency>
531             <groupId>com.jayway.jsonpath</groupId>
532             <artifactId>json-path</artifactId>
533         </dependency>
534         <!-- Do not use activemq-all because they force you to use a specific logging
535             and they shade it so you can't simply exclude it and when you deploy the
536             jar, you will notice failure -->
537         <dependency>
538             <groupId>org.apache.activemq</groupId>
539             <artifactId>activemq-broker</artifactId>
540         </dependency>
541         <dependency>
542             <groupId>org.apache.activemq</groupId>
543             <artifactId>activemq-client</artifactId>
544         </dependency>
545         <dependency>
546             <groupId>org.onap.aai.aai-common</groupId>
547             <artifactId>aai-core</artifactId>
548             <exclusions>
549                 <exclusion>
550                     <groupId>org.onap.aai.aai-common</groupId>
551                     <artifactId>aai-aaf-auth</artifactId>
552                 </exclusion>
553                 <exclusion>
554                     <groupId>com.sun.jersey</groupId>
555                     <artifactId>jersey-core</artifactId>
556                 </exclusion>
557                 <exclusion>
558                     <groupId>org.codehaus.jackson</groupId>
559                     <artifactId>jackson-mapper-asl</artifactId>
560                 </exclusion>
561                 <exclusion>
562                     <groupId>org.eclipse.jetty</groupId>
563                     <artifactId>jetty-http</artifactId>
564                 </exclusion>
565                 <exclusion>
566                     <groupId>org.eclipse.jetty</groupId>
567                     <artifactId>jetty-server</artifactId>
568                 </exclusion>
569                 <exclusion>
570                     <groupId>org.springframework</groupId>
571                     <artifactId>spring-web</artifactId>
572                 </exclusion>
573             </exclusions>
574         </dependency>
575         <dependency>
576             <groupId>org.onap.aai.aai-common</groupId>
577             <artifactId>aai-schema-ingest</artifactId>
578             <exclusions>
579                 <exclusion>
580                     <groupId>org.onap.aai.aai-common</groupId>
581                     <artifactId>aai-aaf-auth</artifactId>
582                 </exclusion>
583             </exclusions>
584         </dependency>
585
586         <dependency>
587             <groupId>org.springframework</groupId>
588             <artifactId>spring-jms</artifactId>
589             <exclusions>
590                 <exclusion>
591                     <groupId>com.sun.jersey</groupId>
592                     <artifactId>jersey-core</artifactId>
593                 </exclusion>
594             </exclusions>
595         </dependency>
596         <!-- Do not use the jersey-client since jersey client 1.0 version clashes
597             with jersey 2 which we are using -->
598         <!-- Use this to make http requests instead of jersey 1.0 client -->
599         <dependency>
600             <groupId>org.apache.httpcomponents</groupId>
601             <artifactId>httpclient</artifactId>
602         </dependency>
603         <dependency>
604             <groupId>org.skyscreamer</groupId>
605             <artifactId>jsonassert</artifactId>
606             <scope>test</scope>
607             <exclusions>
608                 <exclusion>
609                     <groupId>com.vaadin.external.google</groupId>
610                     <artifactId>android-json</artifactId>
611                 </exclusion>
612             </exclusions>
613         </dependency>
614         <!--
615             Explicitly stating the security spring framework and
616             exclude the bouncy castle since that is somehow overwriting
617             our p12 file decryption that's built into java security
618             This will cause the password is incorrect
619             This needs to be added back if org.bouncy castle dependency
620             sneaks backs in and causing issues with the two way ssl
621         -->
622         <dependency>
623             <groupId>org.springframework.security</groupId>
624             <artifactId>spring-security-rsa</artifactId>
625             <exclusions>
626                 <exclusion>
627                     <groupId>org.bouncycastle</groupId>
628                     <artifactId>bcpkix-jdk15on</artifactId>
629                 </exclusion>
630             </exclusions>
631         </dependency>
632         <dependency>
633             <groupId>io.netty</groupId>
634             <artifactId>netty-handler</artifactId>
635             <version>${netty.handler.version}</version>
636         </dependency>
637         <dependency>
638             <groupId>org.springframework.boot</groupId>
639             <artifactId>spring-boot-starter-web</artifactId>
640             <exclusions>
641                 <exclusion>
642                     <groupId>org.springframework.boot</groupId>
643                     <artifactId>spring-boot-starter-tomcat</artifactId>
644                 </exclusion>
645             </exclusions>
646         </dependency>
647         <dependency>
648             <groupId>org.springframework.boot</groupId>
649             <artifactId>spring-boot-starter-jetty</artifactId>
650         </dependency>
651         <dependency>
652             <groupId>io.netty</groupId>
653             <artifactId>netty-all</artifactId>
654             <version>${netty.version}</version>
655         </dependency>
656         <dependency>
657             <groupId>org.codehaus.groovy</groupId>
658             <artifactId>groovy</artifactId>
659             <classifier>indy</classifier>
660             <version>${groovy.version}</version>
661         </dependency>
662         <dependency>
663             <groupId>org.springframework.boot</groupId>
664             <artifactId>spring-boot-test</artifactId>
665             <scope>test</scope>
666         </dependency>
667         <dependency>
668             <groupId>org.janusgraph</groupId>
669             <artifactId>janusgraph-cql</artifactId>
670             <exclusions>
671                 <exclusion>
672                     <groupId>org.slf4j</groupId>
673                     <artifactId>slf4j-log4j12</artifactId>
674                 </exclusion>
675             </exclusions>
676         </dependency>
677         <dependency>
678             <groupId>org.janusgraph</groupId>
679             <artifactId>janusgraph-inmemory</artifactId>
680             <version>${janusgraph.version}</version>
681         </dependency>
682
683         <dependency>
684             <groupId>org.apache.tinkerpop</groupId>
685             <artifactId>gremlin-groovy</artifactId>
686         </dependency>
687         <dependency>
688             <groupId>org.springframework.boot</groupId>
689             <artifactId>spring-boot-starter-security</artifactId>
690         </dependency>
691         <dependency>
692             <groupId>org.keycloak</groupId>
693             <artifactId>keycloak-spring-boot-starter</artifactId>
694         </dependency>
695         <dependency>
696             <groupId>com.github.dasniko</groupId>
697             <artifactId>testcontainers-keycloak</artifactId>
698             <version>${testcontainers.version}</version>
699             <scope>test</scope>
700         </dependency>
701         <dependency>
702           <groupId>org.junit.jupiter</groupId>
703           <artifactId>junit-jupiter</artifactId>
704           <scope>test</scope>
705         </dependency>
706         <dependency>
707             <groupId>org.keycloak</groupId>
708             <artifactId>keycloak-admin-client</artifactId>
709             <version>${keycloak.version}</version>
710             <scope>test</scope>
711         </dependency>
712         <dependency>
713                         <groupId>org.projectlombok</groupId>
714                         <artifactId>lombok</artifactId>
715                         <version>1.18.30</version>
716                         <scope>provided</scope>
717                 </dependency>
718         <dependency>
719                         <groupId>com.fasterxml.jackson.dataformat</groupId>
720                         <artifactId>jackson-dataformat-xml</artifactId>
721                 </dependency>
722     </dependencies>
723     <dependencyManagement>
724         <dependencies>
725             <dependency>
726                 <groupId>org.keycloak.bom</groupId>
727                 <artifactId>keycloak-adapter-bom</artifactId>
728                 <version>${keycloak.version}</version>
729                 <type>pom</type>
730                 <scope>import</scope>
731             </dependency>
732             <dependency>
733                 <groupId>org.springframework.cloud</groupId>
734                 <artifactId>spring-cloud-dependencies</artifactId>
735                 <version>${spring-cloud.version}</version>
736                 <type>pom</type>
737                 <scope>import</scope>
738             </dependency>
739             <dependency>
740                 <groupId>com.google.guava</groupId>
741                 <artifactId>guava</artifactId>
742                 <version>25.0-jre</version>
743             </dependency>
744             <!-- https://docs.datastax.com/en/developer/java-driver/3.5/manual/metrics/index.html#metrics-4-compatibility -->
745             <!-- remove this for janusgraph >= 0.6.0 -->
746             <dependency>
747                 <groupId>io.dropwizard.metrics</groupId>
748                 <artifactId>metrics-core</artifactId>
749                 <version>3.2.6</version>
750             </dependency>
751         </dependencies>
752     </dependencyManagement>
753     <build>
754         <resources>
755             <resource>
756                 <directory>${project.basedir}/src/main/swm</directory>
757                 <targetPath>${project.build.directory}/swm</targetPath>
758                 <filtering>false</filtering>
759             </resource>
760             <resource>
761                 <directory>${project.basedir}/src/main/resources</directory>
762                 <includes>
763                     <include>application.properties</include>
764                     <include>dme2.properties</include>
765                     <include>logback.xml</include>
766                     <include>localhost-access-logback.xml</include>
767                 </includes>
768                 <targetPath>${project.build.directory}/swm/package/nix/dist_files/opt/app/${project.artifactId}/appconfig</targetPath>
769                 <filtering>false</filtering>
770             </resource>
771             <resource>
772                 <directory>${project.basedir}/src/main/resources</directory>
773                 <includes>
774                     <include>**/*</include>
775                 </includes>
776                 <filtering>true</filtering>
777             </resource>
778             <resource>
779                 <directory>${project.basedir}/src/main/resources/etc/appprops/</directory>
780                 <includes>
781                     <include>janusgraph-realtime.properties</include>
782                     <include>janusgraph-cached.properties</include>
783                     <include>aaiconfig.properties</include>
784                 </includes>
785                 <targetPath>${project.build.directory}/swm/package/nix/dist_files/opt/app/${project.artifactId}/appconfig</targetPath>
786                 <filtering>false</filtering>
787             </resource>
788             <resource>
789                 <directory>${project.basedir}/src/main/resources/etc/auth/</directory>
790                 <includes>
791                     <include>aai-client-cert.p12</include>
792                     <include>tomcat_keystore</include>
793                     <include>aai_policy.json</include>
794                 </includes>
795                 <targetPath>${project.build.directory}/swm/package/nix/dist_files/opt/app/${project.artifactId}/appconfig</targetPath>
796                 <filtering>true</filtering>
797             </resource>
798             <resource>
799                 <directory>${project.basedir}/src/main/resources/</directory>
800                 <includes>
801                     <include>logback.xml</include>
802                     <include>localhost-access-logback.xml</include>
803                     <include>hbase-site.xml</include>
804                 </includes>
805                 <targetPath>${project.build.directory}/swm/package/nix/dist_files/opt/app/${project.artifactId}/appconfig</targetPath>
806                 <filtering>true</filtering>
807             </resource>
808             <resource>
809                 <directory>${project.basedir}/src/main/resources/schema/</directory>
810                 <includes>
811                     <include>**/oxm/**/*.xml</include>
812                     <include>**/dbedgerules/**/*.json</include>
813                 </includes>
814                 <targetPath>${project.build.directory}/swm/package/nix/dist_files/opt/app/${project.artifactId}/appconfig/schema</targetPath>
815                 <filtering>false</filtering>
816             </resource>
817             <resource>
818                 <directory>${project.basedir}/src/main/docker</directory>
819                 <includes>
820                     <include>**/*</include>
821                 </includes>
822                 <targetPath>${aai.build.directory}</targetPath>
823                 <filtering>true</filtering>
824             </resource>
825         </resources>
826         <pluginManagement>
827             <plugins>
828                 <plugin>
829                     <groupId>org.apache.maven.plugins</groupId>
830                     <artifactId>maven-dependency-plugin</artifactId>
831                     <version>2.8</version>
832                     <executions>
833                         <execution>
834                             <id>unpack-schema-dependency</id>
835                             <phase>initialize</phase>
836                             <goals>
837                                 <goal>unpack</goal>
838                             </goals>
839                             <configuration>
840                                 <artifactItems>
841                                     <artifactItem>
842                                         <groupId>org.onap.aai.schema-service</groupId>
843                                         <artifactId>aai-schema</artifactId>
844                                         <outputDirectory>${project.basedir}/src/main/resources/schema/</outputDirectory>
845                                         <includes>**/oxm/**/*.xml</includes>
846                                         <version>${aai.schema.service.version}</version>
847                                     </artifactItem>
848                                 </artifactItems>
849                                 <!-- other configurations here -->
850                             </configuration>
851                         </execution>
852                         <execution>
853                             <id>unpack-edgerules-dependency</id>
854                             <phase>initialize</phase>
855                             <goals>
856                                 <goal>unpack</goal>
857                             </goals>
858                             <configuration>
859                                 <artifactItems>
860                                     <artifactItem>
861                                         <groupId>org.onap.aai.schema-service</groupId>
862                                         <artifactId>aai-schema</artifactId>
863                                         <outputDirectory>${project.basedir}/src/main/resources/schema/</outputDirectory>
864                                         <includes>**/dbedgerules/**/*.json</includes>
865                                         <version>${aai.schema.service.version}</version>
866                                     </artifactItem>
867                                 </artifactItems>
868                                 <!-- other configurations here -->
869                             </configuration>
870                         </execution>
871                     </executions>
872                 </plugin>
873                 <plugin>
874                     <groupId>org.codehaus.groovy.maven</groupId>
875                     <artifactId>gmaven-plugin</artifactId>
876                     <version>1.0</version>
877                     <executions>
878                         <execution>
879                             <phase>validate</phase>
880                             <goals>
881                                 <goal>execute</goal>
882                             </goals>
883                             <configuration>
884                                 <source>
885                                     println project.properties['aai.project.version'];
886                                     def versionArray;
887                                     if (project.properties['aai.project.version'] != null) {
888                                         versionArray = project.properties['aai.project.version'].split('\\.');
889                                     }
890
891                                     project.properties["project.major.version"] = versionArray[0];
892                                     project.properties["project.minor.version"] = versionArray[1];
893                                     project.properties['project.docker.latesttag.version'] = versionArray[0] + '.' + versionArray[1] + '-STAGING-latest';
894                                     println 'New Tag for docker:' + project.properties['project.docker.latesttag.version'];
895                                 </source>
896                             </configuration>
897                         </execution>
898                     </executions>
899                 </plugin>
900                 <plugin>
901                     <groupId>com.mycila</groupId>
902                     <artifactId>license-maven-plugin</artifactId>
903                     <version>3.0</version>
904                     <configuration>
905                         <header>LICENSE.TXT</header>
906                         <includes>
907                             <include>src/main/java/**</include>
908                             <include>src/test/java/**</include>
909                             <include>pom.xml</include>
910                         </includes>
911                         <skipExistingHeaders>false</skipExistingHeaders>
912                         <skip>false</skip>
913                     </configuration>
914                 </plugin>
915             </plugins>
916         </pluginManagement>
917         <plugins>
918             <plugin>
919                 <groupId>org.apache.maven.plugins</groupId>
920                 <artifactId>maven-clean-plugin</artifactId>
921                 <version>2.4.1</version>
922                 <configuration>
923                     <filesets>
924                         <fileset>
925                             <directory>${project.basedir}/src/main/resources/schema</directory>
926                             <includes>
927                                 <include>**/*</include>
928                             </includes>
929                             <followSymlinks>false</followSymlinks>
930                         </fileset>
931                     </filesets>
932                 </configuration>
933             </plugin>
934             <plugin>
935                 <groupId>org.codehaus.groovy.maven</groupId>
936                 <artifactId>gmaven-plugin</artifactId>
937             </plugin>
938             <plugin>
939                 <groupId>org.apache.maven.plugins</groupId>
940                 <artifactId>maven-dependency-plugin</artifactId>
941                 <version>2.10</version>
942             </plugin>
943             <plugin>
944                 <groupId>org.apache.maven.plugins</groupId>
945                 <artifactId>maven-javadoc-plugin</artifactId>
946                 <version>2.10.4</version>
947             </plugin>
948             <plugin>
949                 <artifactId>maven-assembly-plugin</artifactId>
950                 <configuration>
951                     <descriptors>
952                         <descriptor>src/main/assembly/descriptor.xml</descriptor>
953                     </descriptors>
954                 </configuration>
955                 <executions>
956                     <execution>
957                         <id>make-assembly</id> <!-- this is used for inheritance merges -->
958                         <phase>package</phase> <!-- bind to the packaging phase -->
959                         <goals>
960                             <goal>single</goal>
961                         </goals>
962                     </execution>
963                 </executions>
964             </plugin>
965             <plugin>
966                 <groupId>org.apache.maven.plugins</groupId>
967                 <artifactId>maven-surefire-plugin</artifactId>
968                 <configuration>
969                     <runOrder>alphabetical</runOrder>
970                 </configuration>
971             </plugin>
972             <plugin>
973                 <groupId>com.mycila</groupId>
974                 <artifactId>license-maven-plugin</artifactId>
975             </plugin>
976             <plugin>
977                 <groupId>org.apache.maven.plugins</groupId>
978                 <artifactId>maven-deploy-plugin</artifactId>
979             </plugin>
980             <plugin>
981               <artifactId>maven-resources-plugin</artifactId>
982               <version>3.0.0</version>
983               <executions>
984                 <execution>
985                   <id>copy-fat-jar</id>
986                   <phase>post-integration-test</phase>
987                   <goals>
988                     <goal>copy-resources</goal>
989                   </goals>
990                   <configuration>
991                       <outputDirectory>${aai.build.directory}/lib/</outputDirectory>
992                       <resources>
993                           <resource>
994                               <directory>${project.build.directory}/</directory>
995                               <includes>
996                                   <include>${project.artifactId}-${project.version}.jar</include>
997                               </includes>
998                               <filtering>false</filtering>
999                           </resource>
1000                       </resources>
1001                   </configuration>
1002                 </execution>
1003               </executions>
1004             </plugin>
1005             <plugin>
1006                 <groupId>org.springframework.boot</groupId>
1007                 <artifactId>spring-boot-maven-plugin</artifactId>
1008                 <configuration>
1009                     <mainClass>${start-class}</mainClass>
1010                     <layout>ZIP</layout>
1011                 </configuration>
1012                 <executions>
1013                     <execution>
1014                         <goals>
1015                             <goal>repackage</goal>
1016                         </goals>
1017                     </execution>
1018                 </executions>
1019             </plugin>
1020             <plugin>
1021                 <groupId>org.jacoco</groupId>
1022                 <artifactId>jacoco-maven-plugin</artifactId>
1023                 <configuration>
1024                     <excludes>
1025                         <exclude>**/*WebSecurityConfig.*</exclude>
1026                     </excludes>
1027                 </configuration>
1028             </plugin>
1029             <plugin>
1030                 <groupId>org.apache.maven.plugins</groupId>
1031                 <artifactId>maven-failsafe-plugin</artifactId>
1032                 <version>3.1.2</version>
1033                 <configuration>
1034                     <classesDirectory>${project.build.outputDirectory}</classesDirectory>
1035                 </configuration>
1036             </plugin>
1037         </plugins>
1038     </build>
1039     <reporting>
1040         <plugins>
1041             <plugin>
1042                 <groupId>org.apache.maven.plugins</groupId>
1043                 <artifactId>maven-javadoc-plugin</artifactId>
1044                 <version>2.10.4</version>
1045                 <configuration>
1046                     <failOnError>false</failOnError>
1047                     <doclet>org.umlgraph.doclet.UmlGraphDoc</doclet>
1048                     <docletArtifact>
1049                         <groupId>org.umlgraph</groupId>
1050                         <artifactId>umlgraph</artifactId>
1051                         <version>5.6</version>
1052                     </docletArtifact>
1053                     <additionalparam>-views</additionalparam>
1054                     <useStandardDocletOptions>true</useStandardDocletOptions>
1055                 </configuration>
1056             </plugin>
1057         </plugins>
1058     </reporting>
1059 </project>