Add cql jar to graphadmin
[aai/graphadmin.git] / 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     <parent>
27         <groupId>org.onap.oparent</groupId>
28         <artifactId>oparent</artifactId>
29         <version>1.1.0</version>
30     </parent>
31     <groupId>org.onap.aai.graphadmin</groupId>
32     <artifactId>aai-graphadmin</artifactId>
33     <version>1.1.0-SNAPSHOT</version>
34
35     <properties>
36
37         <!-- Start of Compiler Related Properties -->
38         <java.version>1.8</java.version>
39         <maven.compiler.source>1.8</maven.compiler.source>
40         <maven.compiler.target>1.8</maven.compiler.target>
41         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
42         <!-- End of Compiler Related Properties -->
43
44         <!-- Start of Test Related Properties -->
45         <skip.unit.tests>false</skip.unit.tests>
46         <skip.integration.tests>true</skip.integration.tests>
47         <!-- End of Test Related Properties -->
48
49         <spring.boot.version>1.5.15.RELEASE</spring.boot.version>
50
51         <!-- Start of Sonar Related Properties -->
52         <sonar.language>java</sonar.language>
53         <sonar.java.coveragePlugin>jacoco</sonar.java.coveragePlugin>
54         <sonar.surefire.reportsPath>${project.build.directory}/surefire-reports</sonar.surefire.reportsPath>
55         <sonar.jacoco.reportPath>${project.build.directory}/coverage-reports/jacoco.exec</sonar.jacoco.reportPath>
56         <sonar.jacoco.reportMissing.force.zero>false</sonar.jacoco.reportMissing.force.zero>
57         <sonar.projectVersion>${project.version}</sonar.projectVersion>
58         <!-- End of Sonar Related Properties -->
59
60         <!-- Start of Docker Related Properties -->
61         <docker.fabric.version>0.23.0</docker.fabric.version>
62         <!-- Default docker registry that maven fabric plugin will try to pull from -->
63         <docker.registry>docker.io</docker.registry>
64         <!-- Specifying the docker push registry where the image should be pushed -->
65         <!-- This value should be overwritten at runtime to wherever need to be pushed to -->
66         <docker.push.registry>localhost:5000</docker.push.registry>
67         <aai.docker.version>1.0.0</aai.docker.version>
68         <aai.build.directory>${project.build.directory}/${project.artifactId}-${project.version}-build/
69         </aai.build.directory>
70         <aai.docker.namespace>onap</aai.docker.namespace>
71         <!-- End of Docker Related Properties -->
72
73         <license.goal.type>check</license.goal.type>
74
75         <!--
76             Nexus Proxy Properties and Snapshot Locations
77             Ideally this can be overwritten at runtime per internal environment specific values at runtime
78         -->
79         <nexusproxy>https://nexus.onap.org</nexusproxy>
80         <site.path>/content/sites/site/org/onap/aai/graphadmin/${project.artifactId}/${project.version}</site.path>
81         <release.path>/content/repositories/releases/</release.path>
82         <snapshot.path>/content/repositories/snapshots/</snapshot.path>
83         <!-- GMaven plugin uses this property to figure out the name of the docker tag -->
84         <aai.project.version>${project.version}</aai.project.version>
85
86         <!-- Start of Database Related Properties -->
87         <janusgraph.version>0.2.0</janusgraph.version>
88         <gremlin.driver.version>3.0.1-incubating</gremlin.driver.version>
89         <gremlin.version>3.2.2</gremlin.version>
90         <!-- End of Database Related Properties -->
91
92         <maven.build.timestamp.format>yyyyMMdd'T'HHmmss'Z'</maven.build.timestamp.format>
93
94         <activemq.version>5.15.6</activemq.version>
95         <logback.version>1.2.3</logback.version>
96         <mockito.version>1.10.19</mockito.version>
97         <httpclient.version>4.5.3</httpclient.version>
98
99         <gson.version>2.7</gson.version>
100         <json.version>20090211</json.version>
101
102         <aai.core.version>1.3.0</aai.core.version>
103         <aai.schema.version>1.3.0</aai.schema.version>
104
105         <netty.handler.version>4.1.9.Final</netty.handler.version>
106         <netty.version>4.0.56.Final</netty.version>
107
108         <spring.test.version>4.3.6.RELEASE</spring.test.version>
109
110         <cxf.version>3.2.2</cxf.version>
111
112         <dme2.version>2.8.5</dme2.version>
113         <jsonassert.version>1.4.0</jsonassert.version>
114
115         <antlr4.visitor>true</antlr4.visitor>
116         <antlr4.listener>true</antlr4.listener>
117         <antlr.version>4.7</antlr.version>
118
119         <plexus.utils.version>3.1.0</plexus.utils.version>
120
121         <eelf.core.version>1.0.0</eelf.core.version>
122         <google.guava.version>19.0</google.guava.version>
123         <jaxb.version>2.2.11</jaxb.version>
124         <eclipse.persistence.version>2.6.2</eclipse.persistence.version>
125         <dmaap.client.version>0.2.12</dmaap.client.version>
126
127         <springframework.version>4.3.4.RELEASE</springframework.version>
128         <spring.jms.version>4.3.2.RELEASE</spring.jms.version>
129         <spring.security.version>1.0.3.RELEASE</spring.security.version>
130
131         <hamcrest.junit.version>2.0.0.0</hamcrest.junit.version>
132         <junit.version>4.12</junit.version>
133
134         <start-class>org.onap.aai.GraphAdminApp</start-class>
135
136         <snapshot.file>${project.basedir}/snapshots/int1-data.graphson</snapshot.file>
137         <jacoco.line.coverage.limit>0.46</jacoco.line.coverage.limit>
138
139         <!-- Start of Default ONAP Schema Properties -->
140         <schema.source.name>onap</schema.source.name>
141         <schema.configuration.location>N/A</schema.configuration.location>
142         <schema.nodes.location>${project.basedir}/src/main/resources/schema/${schema.source.name}/oxm</schema.nodes.location>
143         <schema.edges.location>${project.basedir}/src/main/resources/schema/${schema.source.name}/dbedgerules</schema.edges.location>
144         <schema.version.depth.start>v9</schema.version.depth.start>
145         <schema.version.related.link.start>v10</schema.version.related.link.start>
146         <schema.version.app.root.start>v11</schema.version.app.root.start>
147         <schema.version.namespace.change.start>v12</schema.version.namespace.change.start>
148         <schema.version.edge.label.start>v12</schema.version.edge.label.start>
149         <schema.version.api.default>v14</schema.version.api.default>
150         <schema.version.list>v8,v9,v10,v11,v12,v13,v14</schema.version.list>
151         <schema.uri.base.path>/aai</schema.uri.base.path>
152         <!-- End of Default ONAP Schema Properties -->
153     </properties>
154
155     <profiles>
156         <!-- Used during verify stage in Jenkins -->
157         <profile>
158             <id>all-tests</id>
159             <properties>
160                 <build.profile.id>all-tests</build.profile.id>
161
162                 <!-- All tests are run. -->
163                 <skip.integration.tests>false</skip.integration.tests>
164                 <skip.unit.tests>false</skip.unit.tests>
165             </properties>
166         </profile>
167         <profile>
168             <id>skipTests</id>
169             <activation>
170                 <property>
171                     <name>skipTests</name>
172                 </property>
173             </activation>
174             <properties>
175                 <!-- All tests are skipped. -->
176                 <skip.integration.tests>true</skip.integration.tests>
177                 <skip.unit.tests>true</skip.unit.tests>
178             </properties>
179         </profile>
180         <profile>
181             <id>dev</id>
182         </profile>
183         <profile>
184             <id>integration-test</id>
185             <properties>
186                 <!-- Only integration tests are run. -->
187                 <build.profile.id>integration-test</build.profile.id>
188                 <skip.integration.tests>false</skip.integration.tests>
189                 <skip.unit.tests>true</skip.unit.tests>
190             </properties>
191         </profile>
192         <!-- Start of ONAP Profile -->
193         <profile>
194             <id>onap</id>
195             <properties>
196                 <schema.source.name>onap</schema.source.name>
197                 <schema.version.namespace.change.start>v12</schema.version.namespace.change.start>
198                 <schema.version.list>v8,v9,v10,v11,v12,v13,v14</schema.version.list>
199             </properties>
200         </profile>
201         <!-- End of ONAP Profile -->
202         <profile>
203             <id>runAjsc</id>
204             <properties>
205                 <skipTests>${skip.unit.tests}</skipTests>
206             </properties>
207             <build>
208                 <defaultGoal>pre-integration-test</defaultGoal>
209                 <plugins>
210                     <plugin>
211                         <groupId>org.codehaus.mojo</groupId>
212                         <artifactId>exec-maven-plugin</artifactId>
213                         <version>1.6.0</version>
214                         <executions>
215                             <execution>
216                                 <id>run-spring-boot</id>
217                                 <phase>package</phase>
218                                 <goals>
219                                     <goal>java</goal>
220                                 </goals>
221                             </execution>
222                         </executions>
223                         <configuration>
224                             <mainClass>${start-class}</mainClass>
225                             <systemProperties>
226                                 <property>
227                                     <key>snapshot.location</key>
228                                     <value>${snapshot.file}</value>
229                                 </property>
230                                 <property>
231                                     <key>schema.source.name</key>
232                                     <value>${schema.source.name}</value>
233                                 </property>
234                                 <property>
235                                     <key>schema.configuration.location</key>
236                                     <value>${schema.configuration.location}</value>
237                                 </property>
238                                 <property>
239                                     <key>schema.nodes.location</key>
240                                     <value>${schema.nodes.location}</value>
241                                 </property>
242                                 <property>
243                                     <key>schema.edges.location</key>
244                                     <value>${schema.edges.location}</value>
245                                 </property>
246                                 <property>
247                                     <key>schema.version.depth.start</key>
248                                     <value>${schema.version.depth.start}</value>
249                                 </property>
250                                 <property>
251                                     <key>schema.version.related.link.start</key>
252                                     <value>${schema.version.related.link.start}</value>
253                                 </property>
254                                 <property>
255                                     <key>schema.version.app.root.start</key>
256                                     <value>${schema.version.app.root.start}</value>
257                                 </property>
258                                 <property>
259                                     <key>schema.version.namespace.change.start</key>
260                                     <value>${schema.version.namespace.change.start}</value>
261                                 </property>
262                                 <property>
263                                     <key>schema.version.edge.label.start</key>
264                                     <value>${schema.version.edge.label.start}</value>
265                                 </property>
266                                 <property>
267                                     <key>schema.version.api.default</key>
268                                     <value>${schema.version.api.default}</value>
269                                 </property>
270                                 <property>
271                                     <key>schema.version.list</key>
272                                     <value>${schema.version.list}</value>
273                                 </property>
274                                 <property>
275                                     <key>schema.uri.base.path</key>
276                                     <value>${schema.uri.base.path}</value>
277                                 </property>
278                             </systemProperties>
279                             <executable>java</executable>
280                         </configuration>
281                     </plugin>
282                 </plugins>
283             </build>
284         </profile>
285         <!-- Docker profile to be used for building docker image and pushing to nexus -->
286         <profile>
287             <id>docker</id>
288             <build>
289                 <plugins>
290                     <plugin>
291                         <groupId>io.fabric8</groupId>
292                         <artifactId>docker-maven-plugin</artifactId>
293                         <version>${docker.fabric.version}</version>
294                         <configuration>
295                             <verbose>true</verbose>
296                             <apiVersion>1.23</apiVersion>
297                             <images>
298                                 <image>
299                                     <name>${docker.push.registry}/${aai.docker.namespace}/${project.artifactId}:%l</name>
300                                     <build>
301                                         <filter>@</filter>
302                                         <tags>
303                                             <tag>latest</tag>
304                                             <tag>${project.docker.latesttag.version}</tag>
305                                             <tag>${project.major.version}.${project.minor.version}-STAGING-${maven.build.timestamp}</tag>
306                                         </tags>
307                                         <cleanup>try</cleanup>
308                                         <dockerFileDir>${project.basedir}/src/main/docker</dockerFileDir>
309                                         <assembly>
310                                             <inline>
311                                                 <fileSets>
312                                                     <fileSet>
313                                                         <directory>${aai.build.directory}</directory>
314                                                         <outputDirectory>/${project.artifactId}</outputDirectory>
315                                                     </fileSet>
316                                                 </fileSets>
317                                             </inline>
318                                         </assembly>
319                                     </build>
320                                 </image>
321                             </images>
322                         </configuration>
323                         <executions>
324                             <execution>
325                                 <id>clean-images</id>
326                                 <phase>pre-clean</phase>
327                                 <goals>
328                                     <goal>remove</goal>
329                                 </goals>
330                                 <configuration>
331                                     <removeAll>true</removeAll>
332                                 </configuration>
333                             </execution>
334                             <execution>
335                                 <id>generate-images</id>
336                                 <phase>package</phase>
337                                 <goals>
338                                     <goal>build</goal>
339                                 </goals>
340                             </execution>
341                             <execution>
342                                 <id>push-images</id>
343                                 <phase>deploy</phase>
344                                 <goals>
345                                     <goal>push</goal>
346                                 </goals>
347                             </execution>
348                         </executions>
349                     </plugin>
350                 </plugins>
351             </build>
352         </profile>
353     </profiles>
354
355     <dependencyManagement>
356         <dependencies>
357             <dependency>
358                 <groupId>org.springframework.boot</groupId>
359                 <artifactId>spring-boot-starter-parent</artifactId>
360                 <version>${spring.boot.version}</version>
361                 <scope>import</scope>
362                 <type>pom</type>
363             </dependency>
364         </dependencies>
365     </dependencyManagement>
366
367     <dependencies>
368         <!-- Start of Logback Dependencies -->
369         <dependency>
370             <groupId>com.att.eelf</groupId>
371             <artifactId>eelf-core</artifactId>
372             <version>${eelf.core.version}</version>
373         </dependency>
374         <dependency>
375             <groupId>ch.qos.logback</groupId>
376             <artifactId>logback-core</artifactId>
377             <version>${logback.version}</version>
378         </dependency>
379         <dependency>
380             <groupId>ch.qos.logback</groupId>
381             <artifactId>logback-classic</artifactId>
382             <version>${logback.version}</version>
383         </dependency>
384         <dependency>
385             <groupId>ch.qos.logback</groupId>
386             <artifactId>logback-access</artifactId>
387             <version>${logback.version}</version>
388         </dependency>
389         <!-- End of Logback Dependencies -->
390         <dependency>
391             <groupId>com.google.guava</groupId>
392             <artifactId>guava</artifactId>
393             <version>${google.guava.version}</version>
394         </dependency>
395         <!-- Start of Janus Graph Dependencies -->
396         <dependency>
397             <groupId>org.janusgraph</groupId>
398             <artifactId>janusgraph-core</artifactId>
399             <version>${janusgraph.version}</version>
400             <exclusions>
401                 <exclusion>
402                     <groupId>org.slf4j</groupId>
403                     <artifactId>slf4j-log4j12</artifactId>
404                 </exclusion>
405                 <exclusion>
406                     <groupId>dom4j</groupId>
407                     <artifactId>dom4j</artifactId>
408                 </exclusion>
409             </exclusions>
410         </dependency>
411         <dependency>
412             <groupId>org.janusgraph</groupId>
413             <artifactId>janusgraph-cassandra</artifactId>
414             <version>${janusgraph.version}</version>
415             <exclusions>
416                 <exclusion>
417                     <groupId>org.slf4j</groupId>
418                     <artifactId>slf4j-log4j12</artifactId>
419                 </exclusion>
420                 <exclusion>
421                     <groupId>dom4j</groupId>
422                     <artifactId>dom4j</artifactId>
423                 </exclusion>
424             </exclusions>
425         </dependency>
426         <dependency>
427             <groupId>org.janusgraph</groupId>
428             <artifactId>janusgraph-cql</artifactId>
429             <version>${janusgraph.version}</version>
430             <exclusions>
431                 <exclusion>
432                     <groupId>org.slf4j</groupId>
433                     <artifactId>slf4j-log4j12</artifactId>
434                 </exclusion>
435             </exclusions>
436         </dependency>
437         <!-- End of Janus Graph Dependencies -->
438         <!-- Start of Tinkerpop Dependencies -->
439         <dependency>
440             <groupId>org.apache.tinkerpop</groupId>
441             <artifactId>tinkergraph-gremlin</artifactId>
442             <version>${gremlin.version}</version>
443         </dependency>
444
445         <dependency>
446             <groupId>org.antlr</groupId>
447             <artifactId>antlr4-runtime</artifactId>
448             <version>${antlr.version}</version>
449         </dependency>
450         <dependency>
451             <groupId>org.apache.tinkerpop</groupId>
452             <artifactId>gremlin-core</artifactId>
453             <version>${gremlin.version}</version>
454         </dependency>
455         <dependency>
456             <groupId>org.apache.tinkerpop</groupId>
457             <artifactId>gremlin-driver</artifactId>
458             <version>${gremlin.version}</version>
459             <exclusions>
460                 <exclusion>
461                     <groupId>org.codehaus.groovy</groupId>
462                     <artifactId>groovy</artifactId>
463                 </exclusion>
464             </exclusions>
465         </dependency>
466         <!-- End of Tinkerpop Dependencies -->
467         <dependency>
468             <groupId>com.fasterxml.jackson.jaxrs</groupId>
469             <artifactId>jackson-jaxrs-json-provider</artifactId>
470         </dependency>
471         <dependency>
472             <groupId>org.json</groupId>
473             <artifactId>json</artifactId>
474             <version>${json.version}</version>
475         </dependency>
476         <!-- Start of JAXB Dependencies -->
477         <dependency>
478             <groupId>javax.xml.bind</groupId>
479             <artifactId>jaxb-api</artifactId>
480             <version>${jaxb.version}</version>
481         </dependency>
482         <dependency>
483             <groupId>com.sun.xml.bind</groupId>
484             <artifactId>jaxb-impl</artifactId>
485             <version>${jaxb.version}</version>
486         </dependency>
487         <dependency>
488             <groupId>com.sun.xml.bind</groupId>
489             <artifactId>jaxb-core</artifactId>
490             <version>${jaxb.version}</version>
491         </dependency>
492         <dependency>
493             <groupId>com.sun.xml.bind</groupId>
494             <artifactId>jaxb-xjc</artifactId>
495             <version>${jaxb.version}</version>
496         </dependency>
497         <!-- End of JAXB Dependencies -->
498         <dependency>
499             <groupId>org.eclipse.persistence</groupId>
500             <artifactId>eclipselink</artifactId>
501             <version>${eclipse.persistence.version}</version>
502         </dependency>
503         <dependency>
504             <groupId>org.eclipse.persistence</groupId>
505             <artifactId>org.eclipse.persistence.moxy</artifactId>
506             <version>${eclipse.persistence.version}</version>
507             <scope>compile</scope>
508         </dependency>
509         <dependency>
510             <groupId>com.google.code.gson</groupId>
511             <artifactId>gson</artifactId>
512             <version>${gson.version}</version>
513         </dependency>
514         <!--
515             Do not use activemq-all because they force you to use a specific logging
516             and they shade it so you can't simply exclude it and when you deploy the
517             jar, you will notice failure
518         -->
519         <dependency>
520             <groupId>org.apache.activemq</groupId>
521             <artifactId>activemq-broker</artifactId>
522             <version>${activemq.version}</version>
523         </dependency>
524         <dependency>
525             <groupId>org.apache.activemq</groupId>
526             <artifactId>activemq-client</artifactId>
527             <version>${activemq.version}</version>
528         </dependency>
529         <dependency>
530             <groupId>org.onap.aai.aai-common</groupId>
531             <artifactId>aai-core</artifactId>
532             <version>${aai.core.version}</version>
533             <exclusions>
534                 <exclusion>
535                     <groupId>com.sun.jersey</groupId>
536                     <artifactId>jersey-core</artifactId>
537                 </exclusion>
538                 <exclusion>
539                     <groupId>org.slf4j</groupId>
540                     <artifactId>slf4j-log4j12</artifactId>
541                 </exclusion>
542                 <exclusion>
543                     <groupId>org.apache.cxf</groupId>
544                     <artifactId>cxf-core</artifactId>
545                 </exclusion>
546                 <exclusion>
547                     <groupId>org.eclipse.jetty</groupId>
548                     <artifactId>jetty-http</artifactId>
549                 </exclusion>
550                 <exclusion>
551                     <groupId>org.eclipse.jetty</groupId>
552                     <artifactId>jetty-server</artifactId>
553                 </exclusion>
554                 <exclusion>
555                     <groupId>org.springframework</groupId>
556                     <artifactId>spring-web</artifactId>
557                 </exclusion>
558                 <exclusion>
559                     <groupId>org.codehaus.jackson</groupId>
560                     <artifactId>jackson-mapper-asl</artifactId>
561                 </exclusion>
562             </exclusions>
563         </dependency>
564         <dependency>
565             <groupId>com.sun.jersey</groupId>
566             <artifactId>jersey-client</artifactId>
567             <version>1.18</version>
568         </dependency>
569         <dependency>
570             <groupId>com.sun.jersey</groupId>
571             <artifactId>jersey-json</artifactId>
572             <version>1.18</version>
573             <exclusions>
574                 <exclusion>
575                     <groupId>org.codehaus.jackson</groupId>
576                     <artifactId>jackson-mapper-asl</artifactId>
577                 </exclusion>
578             </exclusions>
579         </dependency>
580         <!-- Do not use the jersey-client since jersey client 1.0 version clashes
581             with jersey 2 which we are using -->
582         <!-- Use this to make http requests instead of jersey 1.0 client -->
583         <dependency>
584             <groupId>org.apache.httpcomponents</groupId>
585             <artifactId>httpclient</artifactId>
586             <version>${httpclient.version}</version>
587         </dependency>
588         <!-- Start of Spring Framework Dependencies -->
589         <!--
590             Explicitly stating the security spring framework and
591             exclude the bouncy castle since that is somehow overwriting
592             our p12 file decryption that's built into java security
593             This will cause the password is incorrect
594             This needs to be added back if org.bouncy castle dependency
595             sneaks backs in and causing issues with the two way ssl
596         -->
597         <dependency>
598             <groupId>org.springframework.security</groupId>
599             <artifactId>spring-security-rsa</artifactId>
600             <version>${spring.security.version}</version>
601             <exclusions>
602                 <exclusion>
603                     <groupId>org.bouncycastle</groupId>
604                     <artifactId>bcpkix-jdk15on</artifactId>
605                 </exclusion>
606             </exclusions>
607         </dependency>
608         <dependency>
609             <groupId>org.springframework</groupId>
610             <artifactId>spring-jms</artifactId>
611             <version>${spring.jms.version}</version>
612             <exclusions>
613                 <exclusion>
614                     <groupId>com.sun.jersey</groupId>
615                     <artifactId>jersey-core</artifactId>
616                 </exclusion>
617             </exclusions>
618         </dependency>
619         <dependency>
620             <groupId>org.springframework.boot</groupId>
621             <artifactId>spring-boot-starter-web</artifactId>
622             <exclusions>
623                 <exclusion>
624                     <groupId>org.springframework.boot</groupId>
625                     <artifactId>spring-boot-starter-tomcat</artifactId>
626                 </exclusion>
627             </exclusions>
628         </dependency>
629         <dependency>
630             <groupId>org.springframework.boot</groupId>
631             <artifactId>spring-boot-starter-jetty</artifactId>
632         </dependency>
633         <dependency>
634             <groupId>org.springframework.boot</groupId>
635             <artifactId>spring-boot-starter-test</artifactId>
636         </dependency>
637         <dependency>
638             <groupId>org.springframework.boot</groupId>
639             <artifactId>spring-boot-starter-jersey</artifactId>
640         </dependency>
641         <dependency>
642             <groupId>org.springframework</groupId>
643             <artifactId>spring-test</artifactId>
644             <version>${spring.test.version}</version>
645             <scope>test</scope>
646         </dependency>
647         <!-- End of Spring Framework Dependencies -->
648         <!-- Start of Netty Dependencies -->
649         <dependency>
650             <groupId>io.netty</groupId>
651             <artifactId>netty-all</artifactId>
652             <version>${netty.version}</version>
653         </dependency>
654         <dependency>
655             <groupId>io.netty</groupId>
656             <artifactId>netty-handler</artifactId>
657             <version>${netty.handler.version}</version>
658         </dependency>
659         <!-- End of Netty Dependencies -->
660         <!-- Start of Antlr dependencies for DSL -->
661         <dependency>
662             <groupId>org.antlr</groupId>
663             <artifactId>antlr4-runtime</artifactId>
664             <version>${antlr.version}</version>
665         </dependency>
666         <dependency>
667             <groupId>org.antlr</groupId>
668             <artifactId>antlr4-maven-plugin</artifactId>
669             <version>${antlr.version}</version>
670             <exclusions>
671                 <exclusion>
672                     <groupId>org.sonatype.sisu</groupId>
673                     <artifactId>sisu-guava</artifactId>
674                 </exclusion>
675             </exclusions>
676         </dependency>
677         <!-- End of Antlr dependencies for DSL -->
678         <!-- Start of Plexus dependencies for DSL -->
679         <dependency>
680             <groupId>org.codehaus.plexus</groupId>
681             <artifactId>plexus-utils</artifactId>
682             <version>${plexus.utils.version}</version>
683         </dependency>
684         <!-- End of Plexus dependencies for DSL -->
685         <!-- Start of Junit Test Dependencies -->
686         <dependency>
687             <groupId>org.hamcrest</groupId>
688             <artifactId>hamcrest-junit</artifactId>
689             <version>${hamcrest.junit.version}</version>
690             <scope>test</scope>
691         </dependency>
692         <dependency>
693             <groupId>junit</groupId>
694             <artifactId>junit</artifactId>
695             <version>${junit.version}</version>
696             <scope>test</scope>
697         </dependency>
698         <dependency>
699             <groupId>org.mockito</groupId>
700             <artifactId>mockito-all</artifactId>
701             <version>${mockito.version}</version>
702             <scope>test</scope>
703         </dependency>
704         <dependency>
705             <groupId>org.skyscreamer</groupId>
706             <artifactId>jsonassert</artifactId>
707             <version>${jsonassert.version}</version>
708             <scope>test</scope>
709         </dependency>
710         <!-- End of Junit Test Dependencies -->
711     </dependencies>
712
713     <build>
714         <pluginManagement>
715             <plugins>
716                 <!--This plugin's configuration is used to store Eclipse m2e settings
717                     only. It has no influence on the Maven build itself. -->
718                 <plugin>
719                     <groupId>org.eclipse.m2e</groupId>
720                     <artifactId>lifecycle-mapping</artifactId>
721                     <version>1.0.0</version>
722                     <configuration>
723                         <lifecycleMappingMetadata>
724                             <pluginExecutions>
725                                 <pluginExecution>
726                                     <pluginExecutionFilter>
727                                         <groupId>com.github.kongchen</groupId>
728                                         <artifactId>swagger-maven-plugin</artifactId>
729                                         <versionRange>3.1.3</versionRange>
730                                         <goals>
731                                             <goal>generate</goal>
732                                         </goals>
733                                     </pluginExecutionFilter>
734                                     <action>
735                                         <ignore/>
736                                     </action>
737                                 </pluginExecution>
738                             </pluginExecutions>
739                         </lifecycleMappingMetadata>
740                     </configuration>
741                 </plugin>
742                 <plugin>
743                     <groupId>org.apache.maven.plugins</groupId>
744                     <artifactId>maven-dependency-plugin</artifactId>
745                     <version>2.8</version>
746                     <executions>
747                         <execution>
748                             <id>unpack-schema-dependency</id>
749                             <phase>initialize</phase>
750                             <goals>
751                                 <goal>unpack</goal>
752                             </goals>
753                             <configuration>
754                                 <artifactItems>
755                                     <artifactItem>
756                                         <groupId>org.onap.aai.aai-common</groupId>
757                                         <artifactId>aai-schema</artifactId>
758                                         <version>${aai.schema.version}</version>
759                                         <outputDirectory>${project.basedir}/src/main/resources/schema/</outputDirectory>
760                                         <includes>**/oxm/**/*.xml</includes>
761                                     </artifactItem>
762                                 </artifactItems>
763                                 <!-- other configurations here -->
764                             </configuration>
765                         </execution>
766                         <execution>
767                             <id>unpack-edgerules-dependency</id>
768                             <phase>initialize</phase>
769                             <goals>
770                                 <goal>unpack</goal>
771                             </goals>
772                             <configuration>
773                                 <artifactItems>
774                                     <artifactItem>
775                                         <groupId>org.onap.aai.aai-common</groupId>
776                                         <artifactId>aai-schema</artifactId>
777                                         <version>${aai.schema.version}</version>
778                                         <outputDirectory>${project.basedir}/src/main/resources/schema/</outputDirectory>
779                                         <includes>**/dbedgerules/**/*.json</includes>
780                                     </artifactItem>
781                                 </artifactItems>
782                                 <!-- other configurations here -->
783                             </configuration>
784                         </execution>
785                     </executions>
786                 </plugin>
787                 <plugin>
788                     <groupId>org.codehaus.groovy.maven</groupId>
789                     <artifactId>gmaven-plugin</artifactId>
790                     <version>1.0</version>
791                     <executions>
792                         <execution>
793                             <phase>validate</phase>
794                             <goals>
795                                 <goal>execute</goal>
796                             </goals>
797                             <configuration>
798                                 <source>
799                                     println project.properties['aai.project.version'];
800                                     def versionArray;
801                                     if (project.properties['aai.project.version'] != null) {
802                                         versionArray = project.properties['aai.project.version'].split('\\.');
803                                     }
804
805                                     project.properties["project.major.version"] = versionArray[0];
806                                     project.properties["project.minor.version"] = versionArray[1];
807                                     project.properties['project.docker.latesttag.version'] = versionArray[0] + '.' + versionArray[1] + '-STAGING-latest';
808                                     println 'New Tag for docker:' + project.properties['project.docker.latesttag.version'];
809                                 </source>
810                             </configuration>
811                         </execution>
812                     </executions>
813                 </plugin>
814                 <plugin>
815                     <groupId>org.apache.maven.plugins</groupId>
816                     <artifactId>maven-deploy-plugin</artifactId>
817                     <executions>
818                         <execution>
819                             <id>default-deploy</id>
820                             <phase>none</phase>
821                         </execution>
822                     </executions>
823                 </plugin>
824                 <plugin>
825                     <groupId>org.sonatype.plugins</groupId>
826                     <artifactId>nexus-staging-maven-plugin</artifactId>
827                     <version>1.6.7</version>
828                     <extensions>true</extensions>
829                     <configuration>
830                         <nexusUrl>${nexusproxy}</nexusUrl>
831                         <stagingProfileId>176c31dfe190a</stagingProfileId>
832                         <serverId>ecomp-staging</serverId>
833                     </configuration>
834                 </plugin>
835                 <plugin>
836                     <groupId>com.mycila</groupId>
837                     <artifactId>license-maven-plugin</artifactId>
838                     <version>3.0</version>
839                     <configuration>
840                         <header>LICENSE.TXT</header>
841                         <includes>
842                             <include>src/main/java/**</include>
843                             <include>src/test/java/**</include>
844                             <include>pom.xml</include>
845                         </includes>
846                         <skipExistingHeaders>false</skipExistingHeaders>
847                         <skip>false</skip>
848                     </configuration>
849                     <executions>
850                         <execution>
851                             <goals>
852                                 <!-- Set goal to "format" to auto update license headers -->
853                                 <goal>${license.goal.type}</goal>
854                             </goals>
855                             <phase>process-sources</phase>
856                         </execution>
857                     </executions>
858                 </plugin>
859             </plugins>
860         </pluginManagement>
861         <plugins>
862             <plugin>
863                 <groupId>org.apache.maven.plugins</groupId>
864                 <artifactId>maven-site-plugin</artifactId>
865                 <version>3.6</version>
866                 <configuration>
867                     <reportPlugins>
868                         <plugin>
869                             <groupId>org.apache.maven.plugins</groupId>
870                             <artifactId>maven-project-info-reports-plugin</artifactId>
871                             <version>2.4</version>
872                             <configuration>
873                                 <dependencyDetailsEnabled>false</dependencyDetailsEnabled>
874                                 <dependencyLocationsEnabled>false</dependencyLocationsEnabled>
875                             </configuration>
876                             <reports>
877                                 <report>dependencies</report>
878                             </reports>
879                         </plugin>
880                         <plugin>
881                             <groupId>org.apache.maven.plugins</groupId>
882                             <artifactId>maven-javadoc-plugin</artifactId>
883                             <version>2.8</version>
884                             <configuration>
885                                 <additionalparam>-Xdoclint:none</additionalparam>
886                             </configuration>
887                         </plugin>
888                     </reportPlugins>
889                 </configuration>
890                 <dependencies>
891                     <dependency>
892                         <groupId>org.apache.maven.wagon</groupId>
893                         <artifactId>wagon-webdav-jackrabbit</artifactId>
894                         <version>2.10</version>
895                     </dependency>
896                 </dependencies>
897             </plugin>
898             <plugin>
899                 <groupId>org.codehaus.mojo</groupId>
900                 <artifactId>sonar-maven-plugin</artifactId>
901                 <version>3.3</version>
902             </plugin>
903             <plugin>
904                 <groupId>org.codehaus.groovy.maven</groupId>
905                 <artifactId>gmaven-plugin</artifactId>
906             </plugin>
907             <plugin>
908                 <groupId>com.mycila</groupId>
909                 <artifactId>license-maven-plugin</artifactId>
910             </plugin>
911             <plugin>
912                 <groupId>org.apache.maven.plugins</groupId>
913                 <artifactId>maven-clean-plugin</artifactId>
914                 <version>2.4.1</version>
915                 <configuration>
916                     <filesets>
917                         <fileset>
918                             <directory>${project.basedir}/src/main/resources/etc/oxm</directory>
919                             <includes>
920                                 <include>**/*</include>
921                             </includes>
922                             <followSymlinks>false</followSymlinks>
923                         </fileset>
924                         <fileset>
925                             <directory>${project.basedir}/src/main/resources/etc/dbedgerules</directory>
926                             <includes>
927                                 <include>**/*</include>
928                             </includes>
929                             <followSymlinks>false</followSymlinks>
930                         </fileset>
931                         <fileset>
932                             <directory>${project.basedir}/src/main/resources/schema</directory>
933                             <includes>
934                                 <include>**/*</include>
935                             </includes>
936                             <followSymlinks>false</followSymlinks>
937                         </fileset>
938                     </filesets>
939                 </configuration>
940             </plugin>
941             <plugin>
942                 <artifactId>maven-dependency-plugin</artifactId>
943             </plugin>
944             <plugin>
945                 <groupId>org.jacoco</groupId>
946                 <artifactId>jacoco-maven-plugin</artifactId>
947                 <version>0.7.9</version>
948                 <configuration>
949                     <dumpOnExit>true</dumpOnExit>
950                 </configuration>
951                 <executions>
952                     <execution>
953                         <id>jacoco-initialize-unit-tests</id>
954                         <goals>
955                             <goal>prepare-agent</goal>
956                         </goals>
957                         <configuration>
958                             <destFile>${project.build.directory}/coverage-reports/jacoco.exec</destFile>
959                             <!-- <append>true</append> -->
960                         </configuration>
961                     </execution>
962                     <execution>
963                         <id>post-unit-test</id>
964                         <phase>test</phase>
965                         <goals>
966                             <goal>report</goal>
967                         </goals>
968                         <configuration>
969                             <!-- Sets the path to the file which contains the execution data. -->
970                             <dataFile>${project.build.directory}/coverage-reports/jacoco.exec</dataFile>
971                             <!-- Sets the output directory for the code coverage report. -->
972                             <outputDirectory>${project.reporting.outputDirectory}/jacoco</outputDirectory>
973                         </configuration>
974                     </execution>
975                     <execution>
976                         <id>default-check</id>
977                         <goals>
978                             <goal>check</goal>
979                         </goals>
980                         <configuration>
981                             <dataFile>${project.build.directory}/coverage-reports/jacoco.exec</dataFile>
982                             <rules>
983                                 <!--  implementation is needed only for Maven 2  -->
984                                 <rule implementation="org.jacoco.maven.RuleConfiguration">
985                                     <element>BUNDLE</element>
986                                     <limits>
987                                         <limit implementation="org.jacoco.report.check.Limit">
988                                             <counter>LINE</counter>
989                                             <value>COVEREDRATIO</value>
990                                             <minimum>${jacoco.line.coverage.limit}</minimum>
991                                         </limit>
992                                     </limits>
993                                 </rule>
994                             </rules>
995                         </configuration>
996                     </execution>
997                 </executions>
998             </plugin>
999             <!-- Used for unit tests -->
1000             <plugin>
1001                 <groupId>org.apache.maven.plugins</groupId>
1002                 <artifactId>maven-surefire-plugin</artifactId>
1003                 <version>2.12.4</version>
1004                 <configuration>
1005                     <argLine>-noverify ${argLine}</argLine>
1006                     <runOrder>alphabetical</runOrder>
1007                 </configuration>
1008             </plugin>
1009             <plugin>
1010                 <groupId>org.springframework.boot</groupId>
1011                 <artifactId>spring-boot-maven-plugin</artifactId>
1012                 <!-- 
1013                   Issue with the spring 1.5.15.RELEASE plugin is causing build errors
1014                   due to the fact that the plugin 1.5.15.RELEASE was built using maven 3.5 while
1015                   the current build version being used by our jenkins is 3.3.9
1016                 -->
1017                 <version>1.5.12.RELEASE</version>
1018                 <configuration>
1019                     <mainClass>${start-class}</mainClass>
1020                     <layout>ZIP</layout>
1021                 </configuration>
1022                 <executions>
1023                     <execution>
1024                         <goals>
1025                             <goal>repackage</goal>
1026                         </goals>
1027                     </execution>
1028                 </executions>
1029             </plugin>
1030             <plugin>
1031                 <artifactId>maven-assembly-plugin</artifactId>
1032                 <configuration>
1033                     <descriptors>
1034                         <descriptor>src/main/assembly/descriptor.xml</descriptor>
1035                     </descriptors>
1036                 </configuration>
1037                 <executions>
1038                     <execution>
1039                         <id>make-assembly</id> <!-- this is used for inheritance merges -->
1040                         <phase>package</phase> <!-- bind to the packaging phase -->
1041                         <goals>
1042                             <goal>single</goal>
1043                         </goals>
1044                     </execution>
1045                 </executions>
1046             </plugin>
1047             <plugin>
1048                 <groupId>org.antlr</groupId>
1049                 <artifactId>antlr4-maven-plugin</artifactId>
1050                 <version>4.7</version>
1051                 <executions>
1052                     <execution>
1053                         <goals>
1054                             <goal>antlr4</goal>
1055                         </goals>
1056                         <configuration>
1057                             <sourceDirectory>src/main/resources/antlr4</sourceDirectory>
1058                             <!-- <outputDirectory>src/main/java/antlr4</outputDirectory> -->
1059                         </configuration>
1060                     </execution>
1061                 </executions>
1062             </plugin>
1063         </plugins>
1064         <!-- mention the logback.xml location through system property or environment
1065             variable to edit logback.xml at run time -->
1066         <resources>
1067             <resource>
1068                 <directory>src/main/resources</directory>
1069                 <filtering>true</filtering>
1070                 <includes>
1071                     <include>**/*</include>
1072                 </includes>
1073             </resource>
1074             <resource>
1075                 <directory>${project.basedir}/src/main/swm</directory>
1076                 <targetPath>${project.build.directory}/swm</targetPath>
1077                 <filtering>false</filtering>
1078             </resource>
1079             <resource>
1080                 <directory>${project.basedir}/src/main/resources/etc/appprops/</directory>
1081                 <includes>
1082                     <include>janusgraph-realtime.properties</include>
1083                     <include>janusgraph-cached.properties</include>
1084                     <include>aaiconfig.properties</include>
1085                     <include>aaiEventDMaaPPublisher.properties</include>
1086                     <include>preferredRoute.txt</include>
1087                     <include>datatoolscrons.properties</include>
1088                 </includes>
1089                 <targetPath>${project.build.directory}/swm/package/nix/dist_files/opt/app/${project.artifactId}/appconfig
1090                 </targetPath>
1091                 <filtering>false</filtering>
1092             </resource>
1093             <resource>
1094                 <directory>${project.basedir}/src/main/resources</directory>
1095                 <includes>
1096                     <include>application.properties</include>
1097                     <include>*logback.xml</include>
1098                     <include>hbase-site.xml</include>
1099                 </includes>
1100                 <targetPath>${project.build.directory}/swm/package/nix/dist_files/opt/app/${project.artifactId}/appconfig
1101                 </targetPath>
1102                 <filtering>false</filtering>
1103             </resource>
1104             <resource>
1105                 <directory>${project.basedir}/src/main/resources/schema/</directory>
1106                 <includes>
1107                     <include>**/oxm/**/*.xml</include>
1108                     <include>**/dbedgerules/**/*.json</include>
1109                 </includes>
1110                 <targetPath>${project.build.directory}/swm/package/nix/dist_files/opt/app/${project.artifactId}/appconfig/schema</targetPath>
1111                 <filtering>false</filtering>
1112             </resource>
1113             <resource>
1114                 <directory>${project.basedir}/src/main/docker</directory>
1115                 <includes>
1116                     <include>**/*</include>
1117                 </includes>
1118                 <targetPath>${aai.build.directory}</targetPath>
1119                 <filtering>true</filtering>
1120             </resource>
1121             <resource>
1122                 <directory>${project.basedir}/src/main/resources/etc/auth</directory>
1123                 <includes>
1124                     <include>**/*</include>
1125                 </includes>
1126                 <targetPath>${project.build.directory}/swm/package/nix/dist_files/opt/app/${project.artifactId}/appconfig
1127                 </targetPath>
1128                 <filtering>false</filtering>
1129             </resource>
1130             <!--
1131                Place any files related for migration related into migration-input-files
1132                so they can be packaged into this location here so it can be volumed
1133                into the container as one folder rather than do this for each subfolder
1134            -->
1135             <resource>
1136                 <directory>${project.basedir}/src/main/resources/migration-input-files</directory>
1137                 <includes>
1138                     <include>**/*</include>
1139                 </includes>
1140                 <targetPath>
1141                     ${project.build.directory}/swm/package/nix/dist_files/opt/app/${project.artifactId}/appconfig/migration-input-files
1142                 </targetPath>
1143                 <filtering>false</filtering>
1144             </resource>
1145         </resources>
1146     </build>
1147
1148     <distributionManagement>
1149         <snapshotRepository>
1150             <id>ecomp-snapshots</id>
1151             <name>ECOMP Snapshot Repository</name>
1152             <url>${onap.nexus.url}/content/repositories/snapshots/</url>
1153         </snapshotRepository>
1154         <site>
1155             <id>ecomp-site</id>
1156             <url>dav:${onap.nexus.url}${sitePath}</url>
1157         </site>
1158     </distributionManagement>
1159     <reporting>
1160         <plugins>
1161             <plugin>
1162                 <groupId>org.apache.maven.plugins</groupId>
1163                 <artifactId>maven-javadoc-plugin</artifactId>
1164                 <version>2.10.4</version>
1165                 <configuration>
1166                     <failOnError>false</failOnError>
1167                     <doclet>org.umlgraph.doclet.UmlGraphDoc</doclet>
1168                     <docletArtifact>
1169                         <groupId>org.umlgraph</groupId>
1170                         <artifactId>umlgraph</artifactId>
1171                         <version>5.6</version>
1172                     </docletArtifact>
1173                     <additionalparam>-views -Xdoclint:none</additionalparam>
1174                     <excludePackageNames>org.onap.aai.domain.yang.*:org.onap.aai.util.*</excludePackageNames>
1175                     <useStandardDocletOptions>true</useStandardDocletOptions>
1176                 </configuration>
1177             </plugin>
1178         </plugins>
1179     </reporting>
1180
1181     <!-- Start of ONAP Specific Repositories -->
1182     <repositories>
1183         <repository>
1184             <id>AJSC</id>
1185             <name>AJSC repository</name>
1186             <url>https://mvnrepository.com/artifact/com.att.ajsc</url>
1187         </repository>
1188         <repository>
1189             <id>restlet</id>
1190             <name>maven reslet</name>
1191             <url>https://maven.restlet.com/</url>
1192         </repository>
1193
1194         <repository>
1195             <id>central</id>
1196             <name>Maven 2 repository 2</name>
1197             <url>http://repo2.maven.org/maven2/</url>
1198         </repository>
1199         <repository>
1200             <id>ecomp-releases</id>
1201             <name>ECOMP Release Repository</name>
1202             <url>${onap.nexus.url}/content/repositories/releases/</url>
1203         </repository>
1204         <repository>
1205             <id>ecomp-staging</id>
1206             <name>ECOMP Staging Repository</name>
1207             <url>${onap.nexus.url}/content/repositories/staging/</url>
1208         </repository>
1209         <repository>
1210             <id>ecomp-snapshots</id>
1211             <name>ECOMP Snapshot Repository</name>
1212             <url>${onap.nexus.url}/content/repositories/snapshots/</url>
1213         </repository>
1214     </repositories>
1215     <!-- End of ONAP Specific Repositories -->
1216 </project>
1217