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