e733f72613b3bd45fac8898e5fde42f859744b20
[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         <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         <!-- End of Janus Graph Dependencies -->
427         <!-- Start of Tinkerpop Dependencies -->
428         <dependency>
429             <groupId>org.apache.tinkerpop</groupId>
430             <artifactId>tinkergraph-gremlin</artifactId>
431             <version>${gremlin.version}</version>
432         </dependency>
433         <dependency>
434             <groupId>org.apache.tinkerpop</groupId>
435             <artifactId>gremlin-core</artifactId>
436             <version>${gremlin.version}</version>
437         </dependency>
438         <dependency>
439             <groupId>org.apache.tinkerpop</groupId>
440             <artifactId>gremlin-driver</artifactId>
441             <version>${gremlin.version}</version>
442             <exclusions>
443                 <exclusion>
444                     <groupId>org.codehaus.groovy</groupId>
445                     <artifactId>groovy</artifactId>
446                 </exclusion>
447             </exclusions>
448         </dependency>
449         <!-- End of Tinkerpop Dependencies -->
450         <dependency>
451             <groupId>com.fasterxml.jackson.jaxrs</groupId>
452             <artifactId>jackson-jaxrs-json-provider</artifactId>
453         </dependency>
454         <dependency>
455             <groupId>org.json</groupId>
456             <artifactId>json</artifactId>
457             <version>${json.version}</version>
458         </dependency>
459         <!-- Start of JAXB Dependencies -->
460         <dependency>
461             <groupId>javax.xml.bind</groupId>
462             <artifactId>jaxb-api</artifactId>
463             <version>${jaxb.version}</version>
464         </dependency>
465         <dependency>
466             <groupId>com.sun.xml.bind</groupId>
467             <artifactId>jaxb-impl</artifactId>
468             <version>${jaxb.version}</version>
469         </dependency>
470         <dependency>
471             <groupId>com.sun.xml.bind</groupId>
472             <artifactId>jaxb-core</artifactId>
473             <version>${jaxb.version}</version>
474         </dependency>
475         <dependency>
476             <groupId>com.sun.xml.bind</groupId>
477             <artifactId>jaxb-xjc</artifactId>
478             <version>${jaxb.version}</version>
479         </dependency>
480         <!-- End of JAXB Dependencies -->
481         <dependency>
482             <groupId>org.eclipse.persistence</groupId>
483             <artifactId>eclipselink</artifactId>
484             <version>${eclipse.persistence.version}</version>
485         </dependency>
486         <dependency>
487             <groupId>org.eclipse.persistence</groupId>
488             <artifactId>org.eclipse.persistence.moxy</artifactId>
489             <version>${eclipse.persistence.version}</version>
490             <scope>compile</scope>
491         </dependency>
492         <dependency>
493             <groupId>com.google.code.gson</groupId>
494             <artifactId>gson</artifactId>
495             <version>${gson.version}</version>
496         </dependency>
497         <!--
498             Do not use activemq-all because they force you to use a specific logging
499             and they shade it so you can't simply exclude it and when you deploy the
500             jar, you will notice failure
501         -->
502         <dependency>
503             <groupId>org.apache.activemq</groupId>
504             <artifactId>activemq-broker</artifactId>
505             <version>${activemq.version}</version>
506         </dependency>
507         <dependency>
508             <groupId>org.apache.activemq</groupId>
509             <artifactId>activemq-client</artifactId>
510             <version>${activemq.version}</version>
511         </dependency>
512         <dependency>
513             <groupId>org.onap.aai.aai-common</groupId>
514             <artifactId>aai-core</artifactId>
515             <version>${aai.core.version}</version>
516             <exclusions>
517                 <exclusion>
518                     <groupId>com.sun.jersey</groupId>
519                     <artifactId>jersey-core</artifactId>
520                 </exclusion>
521                 <exclusion>
522                     <groupId>org.slf4j</groupId>
523                     <artifactId>slf4j-log4j12</artifactId>
524                 </exclusion>
525                 <exclusion>
526                     <groupId>org.apache.cxf</groupId>
527                     <artifactId>cxf-core</artifactId>
528                 </exclusion>
529                 <exclusion>
530                     <groupId>org.eclipse.jetty</groupId>
531                     <artifactId>jetty-http</artifactId>
532                 </exclusion>
533                 <exclusion>
534                     <groupId>org.eclipse.jetty</groupId>
535                     <artifactId>jetty-server</artifactId>
536                 </exclusion>
537                 <exclusion>
538                     <groupId>org.springframework</groupId>
539                     <artifactId>spring-web</artifactId>
540                 </exclusion>
541                 <exclusion>
542                     <groupId>org.codehaus.jackson</groupId>
543                     <artifactId>jackson-mapper-asl</artifactId>
544                 </exclusion>
545             </exclusions>
546         </dependency>
547         <dependency>
548             <groupId>com.sun.jersey</groupId>
549             <artifactId>jersey-client</artifactId>
550             <version>1.18</version>
551         </dependency>
552         <dependency>
553             <groupId>com.sun.jersey</groupId>
554             <artifactId>jersey-json</artifactId>
555             <version>1.18</version>
556             <exclusions>
557                 <exclusion>
558                     <groupId>org.codehaus.jackson</groupId>
559                     <artifactId>jackson-mapper-asl</artifactId>
560                 </exclusion>
561             </exclusions>
562         </dependency>
563         <!-- Do not use the jersey-client since jersey client 1.0 version clashes
564             with jersey 2 which we are using -->
565         <!-- Use this to make http requests instead of jersey 1.0 client -->
566         <dependency>
567             <groupId>org.apache.httpcomponents</groupId>
568             <artifactId>httpclient</artifactId>
569             <version>${httpclient.version}</version>
570         </dependency>
571         <!-- Start of Spring Framework Dependencies -->
572         <!--
573             Explicitly stating the security spring framework and
574             exclude the bouncy castle since that is somehow overwriting
575             our p12 file decryption that's built into java security
576             This will cause the password is incorrect
577             This needs to be added back if org.bouncy castle dependency
578             sneaks backs in and causing issues with the two way ssl
579         -->
580         <dependency>
581             <groupId>org.springframework.security</groupId>
582             <artifactId>spring-security-rsa</artifactId>
583             <version>${spring.security.version}</version>
584             <exclusions>
585                 <exclusion>
586                     <groupId>org.bouncycastle</groupId>
587                     <artifactId>bcpkix-jdk15on</artifactId>
588                 </exclusion>
589             </exclusions>
590         </dependency>
591         <dependency>
592             <groupId>org.springframework</groupId>
593             <artifactId>spring-jms</artifactId>
594             <version>${spring.jms.version}</version>
595             <exclusions>
596                 <exclusion>
597                     <groupId>com.sun.jersey</groupId>
598                     <artifactId>jersey-core</artifactId>
599                 </exclusion>
600             </exclusions>
601         </dependency>
602         <dependency>
603             <groupId>org.springframework.boot</groupId>
604             <artifactId>spring-boot-starter-web</artifactId>
605             <exclusions>
606                 <exclusion>
607                     <groupId>org.springframework.boot</groupId>
608                     <artifactId>spring-boot-starter-tomcat</artifactId>
609                 </exclusion>
610             </exclusions>
611         </dependency>
612         <dependency>
613             <groupId>org.springframework.boot</groupId>
614             <artifactId>spring-boot-starter-jetty</artifactId>
615         </dependency>
616         <dependency>
617             <groupId>org.springframework.boot</groupId>
618             <artifactId>spring-boot-starter-test</artifactId>
619         </dependency>
620         <dependency>
621             <groupId>org.springframework.boot</groupId>
622             <artifactId>spring-boot-starter-jersey</artifactId>
623         </dependency>
624         <dependency>
625             <groupId>org.springframework</groupId>
626             <artifactId>spring-test</artifactId>
627             <version>${spring.test.version}</version>
628             <scope>test</scope>
629         </dependency>
630         <!-- End of Spring Framework Dependencies -->
631         <!-- Start of Netty Dependencies -->
632         <dependency>
633             <groupId>io.netty</groupId>
634             <artifactId>netty-all</artifactId>
635             <version>${netty.version}</version>
636         </dependency>
637         <dependency>
638             <groupId>io.netty</groupId>
639             <artifactId>netty-handler</artifactId>
640             <version>${netty.handler.version}</version>
641         </dependency>
642         <!-- End of Netty Dependencies -->
643         <!-- Start of Antlr dependencies for DSL -->
644         <dependency>
645             <groupId>org.antlr</groupId>
646             <artifactId>antlr4-runtime</artifactId>
647             <version>${antlr.version}</version>
648         </dependency>
649         <dependency>
650             <groupId>org.antlr</groupId>
651             <artifactId>antlr4-maven-plugin</artifactId>
652             <version>${antlr.version}</version>
653             <exclusions>
654                 <exclusion>
655                     <groupId>org.sonatype.sisu</groupId>
656                     <artifactId>sisu-guava</artifactId>
657                 </exclusion>
658             </exclusions>
659         </dependency>
660         <!-- End of Antlr dependencies for DSL -->
661         <!-- Start of Plexus dependencies for DSL -->
662         <dependency>
663             <groupId>org.codehaus.plexus</groupId>
664             <artifactId>plexus-utils</artifactId>
665             <version>${plexus.utils.version}</version>
666         </dependency>
667         <!-- End of Plexus dependencies for DSL -->
668         <!-- Start of Junit Test Dependencies -->
669         <dependency>
670             <groupId>org.hamcrest</groupId>
671             <artifactId>hamcrest-junit</artifactId>
672             <version>${hamcrest.junit.version}</version>
673             <scope>test</scope>
674         </dependency>
675         <dependency>
676             <groupId>junit</groupId>
677             <artifactId>junit</artifactId>
678             <version>${junit.version}</version>
679             <scope>test</scope>
680         </dependency>
681         <dependency>
682             <groupId>org.mockito</groupId>
683             <artifactId>mockito-all</artifactId>
684             <version>${mockito.version}</version>
685             <scope>test</scope>
686         </dependency>
687         <dependency>
688             <groupId>org.skyscreamer</groupId>
689             <artifactId>jsonassert</artifactId>
690             <version>${jsonassert.version}</version>
691             <scope>test</scope>
692         </dependency>
693         <!-- End of Junit Test Dependencies -->
694     </dependencies>
695
696     <build>
697         <pluginManagement>
698             <plugins>
699                 <!--This plugin's configuration is used to store Eclipse m2e settings
700                     only. It has no influence on the Maven build itself. -->
701                 <plugin>
702                     <groupId>org.eclipse.m2e</groupId>
703                     <artifactId>lifecycle-mapping</artifactId>
704                     <version>1.0.0</version>
705                     <configuration>
706                         <lifecycleMappingMetadata>
707                             <pluginExecutions>
708                                 <pluginExecution>
709                                     <pluginExecutionFilter>
710                                         <groupId>com.github.kongchen</groupId>
711                                         <artifactId>swagger-maven-plugin</artifactId>
712                                         <versionRange>3.1.3</versionRange>
713                                         <goals>
714                                             <goal>generate</goal>
715                                         </goals>
716                                     </pluginExecutionFilter>
717                                     <action>
718                                         <ignore/>
719                                     </action>
720                                 </pluginExecution>
721                             </pluginExecutions>
722                         </lifecycleMappingMetadata>
723                     </configuration>
724                 </plugin>
725                 <plugin>
726                     <groupId>org.apache.maven.plugins</groupId>
727                     <artifactId>maven-dependency-plugin</artifactId>
728                     <version>2.8</version>
729                     <executions>
730                         <execution>
731                             <id>unpack-schema-dependency</id>
732                             <phase>initialize</phase>
733                             <goals>
734                                 <goal>unpack</goal>
735                             </goals>
736                             <configuration>
737                                 <artifactItems>
738                                     <artifactItem>
739                                         <groupId>org.onap.aai.aai-common</groupId>
740                                         <artifactId>aai-schema</artifactId>
741                                         <version>${aai.schema.version}</version>
742                                         <outputDirectory>${project.basedir}/src/main/resources/schema/</outputDirectory>
743                                         <includes>**/oxm/**/*.xml</includes>
744                                     </artifactItem>
745                                 </artifactItems>
746                                 <!-- other configurations here -->
747                             </configuration>
748                         </execution>
749                         <execution>
750                             <id>unpack-edgerules-dependency</id>
751                             <phase>initialize</phase>
752                             <goals>
753                                 <goal>unpack</goal>
754                             </goals>
755                             <configuration>
756                                 <artifactItems>
757                                     <artifactItem>
758                                         <groupId>org.onap.aai.aai-common</groupId>
759                                         <artifactId>aai-schema</artifactId>
760                                         <version>${aai.schema.version}</version>
761                                         <outputDirectory>${project.basedir}/src/main/resources/schema/</outputDirectory>
762                                         <includes>**/dbedgerules/**/*.json</includes>
763                                     </artifactItem>
764                                 </artifactItems>
765                                 <!-- other configurations here -->
766                             </configuration>
767                         </execution>
768                     </executions>
769                 </plugin>
770                 <plugin>
771                     <groupId>org.codehaus.groovy.maven</groupId>
772                     <artifactId>gmaven-plugin</artifactId>
773                     <version>1.0</version>
774                     <executions>
775                         <execution>
776                             <phase>validate</phase>
777                             <goals>
778                                 <goal>execute</goal>
779                             </goals>
780                             <configuration>
781                                 <source>
782                                     println project.properties['aai.project.version'];
783                                     def versionArray;
784                                     if (project.properties['aai.project.version'] != null) {
785                                         versionArray = project.properties['aai.project.version'].split('\\.');
786                                     }
787
788                                     project.properties["project.major.version"] = versionArray[0];
789                                     project.properties["project.minor.version"] = versionArray[1];
790                                     project.properties['project.docker.latesttag.version'] = versionArray[0] + '.' + versionArray[1] + '-STAGING-latest';
791                                     println 'New Tag for docker:' + project.properties['project.docker.latesttag.version'];
792                                 </source>
793                             </configuration>
794                         </execution>
795                     </executions>
796                 </plugin>
797                 <plugin>
798                     <groupId>org.apache.maven.plugins</groupId>
799                     <artifactId>maven-deploy-plugin</artifactId>
800                     <executions>
801                         <execution>
802                             <id>default-deploy</id>
803                             <phase>none</phase>
804                         </execution>
805                     </executions>
806                 </plugin>
807                 <plugin>
808                     <groupId>org.sonatype.plugins</groupId>
809                     <artifactId>nexus-staging-maven-plugin</artifactId>
810                     <version>1.6.7</version>
811                     <extensions>true</extensions>
812                     <configuration>
813                         <nexusUrl>${nexusproxy}</nexusUrl>
814                         <stagingProfileId>176c31dfe190a</stagingProfileId>
815                         <serverId>ecomp-staging</serverId>
816                     </configuration>
817                 </plugin>
818                 <plugin>
819                     <groupId>com.mycila</groupId>
820                     <artifactId>license-maven-plugin</artifactId>
821                     <version>3.0</version>
822                     <configuration>
823                         <header>LICENSE.TXT</header>
824                         <includes>
825                             <include>src/main/java/**</include>
826                             <include>src/test/java/**</include>
827                             <include>pom.xml</include>
828                         </includes>
829                         <skipExistingHeaders>false</skipExistingHeaders>
830                         <skip>false</skip>
831                     </configuration>
832                     <executions>
833                         <execution>
834                             <goals>
835                                 <!-- Set goal to "format" to auto update license headers -->
836                                 <goal>${license.goal.type}</goal>
837                             </goals>
838                             <phase>process-sources</phase>
839                         </execution>
840                     </executions>
841                 </plugin>
842             </plugins>
843         </pluginManagement>
844         <plugins>
845             <plugin>
846                 <groupId>org.apache.maven.plugins</groupId>
847                 <artifactId>maven-site-plugin</artifactId>
848                 <version>3.6</version>
849                 <configuration>
850                     <reportPlugins>
851                         <plugin>
852                             <groupId>org.apache.maven.plugins</groupId>
853                             <artifactId>maven-project-info-reports-plugin</artifactId>
854                             <version>2.4</version>
855                             <configuration>
856                                 <dependencyDetailsEnabled>false</dependencyDetailsEnabled>
857                                 <dependencyLocationsEnabled>false</dependencyLocationsEnabled>
858                             </configuration>
859                             <reports>
860                                 <report>dependencies</report>
861                             </reports>
862                         </plugin>
863                         <plugin>
864                             <groupId>org.apache.maven.plugins</groupId>
865                             <artifactId>maven-javadoc-plugin</artifactId>
866                             <version>2.8</version>
867                             <configuration>
868                                 <additionalparam>-Xdoclint:none</additionalparam>
869                             </configuration>
870                         </plugin>
871                     </reportPlugins>
872                 </configuration>
873                 <dependencies>
874                     <dependency>
875                         <groupId>org.apache.maven.wagon</groupId>
876                         <artifactId>wagon-webdav-jackrabbit</artifactId>
877                         <version>2.10</version>
878                     </dependency>
879                 </dependencies>
880             </plugin>
881             <plugin>
882                 <groupId>org.codehaus.mojo</groupId>
883                 <artifactId>sonar-maven-plugin</artifactId>
884                 <version>3.3</version>
885             </plugin>
886             <plugin>
887                 <groupId>org.codehaus.groovy.maven</groupId>
888                 <artifactId>gmaven-plugin</artifactId>
889             </plugin>
890             <plugin>
891                 <groupId>com.mycila</groupId>
892                 <artifactId>license-maven-plugin</artifactId>
893             </plugin>
894             <plugin>
895                 <groupId>org.apache.maven.plugins</groupId>
896                 <artifactId>maven-clean-plugin</artifactId>
897                 <version>2.4.1</version>
898                 <configuration>
899                     <filesets>
900                         <fileset>
901                             <directory>${project.basedir}/src/main/resources/etc/oxm</directory>
902                             <includes>
903                                 <include>**/*</include>
904                             </includes>
905                             <followSymlinks>false</followSymlinks>
906                         </fileset>
907                         <fileset>
908                             <directory>${project.basedir}/src/main/resources/etc/dbedgerules</directory>
909                             <includes>
910                                 <include>**/*</include>
911                             </includes>
912                             <followSymlinks>false</followSymlinks>
913                         </fileset>
914                         <fileset>
915                             <directory>${project.basedir}/src/main/resources/schema</directory>
916                             <includes>
917                                 <include>**/*</include>
918                             </includes>
919                             <followSymlinks>false</followSymlinks>
920                         </fileset>
921                     </filesets>
922                 </configuration>
923             </plugin>
924             <plugin>
925                 <artifactId>maven-dependency-plugin</artifactId>
926             </plugin>
927             <plugin>
928                 <groupId>org.jacoco</groupId>
929                 <artifactId>jacoco-maven-plugin</artifactId>
930                 <version>0.7.9</version>
931                 <configuration>
932                     <dumpOnExit>true</dumpOnExit>
933                 </configuration>
934                 <executions>
935                     <execution>
936                         <id>jacoco-initialize-unit-tests</id>
937                         <goals>
938                             <goal>prepare-agent</goal>
939                         </goals>
940                         <configuration>
941                             <destFile>${project.build.directory}/coverage-reports/jacoco.exec</destFile>
942                             <!-- <append>true</append> -->
943                         </configuration>
944                     </execution>
945                     <execution>
946                         <id>post-unit-test</id>
947                         <phase>test</phase>
948                         <goals>
949                             <goal>report</goal>
950                         </goals>
951                         <configuration>
952                             <!-- Sets the path to the file which contains the execution data. -->
953                             <dataFile>${project.build.directory}/coverage-reports/jacoco.exec</dataFile>
954                             <!-- Sets the output directory for the code coverage report. -->
955                             <outputDirectory>${project.reporting.outputDirectory}/jacoco</outputDirectory>
956                         </configuration>
957                     </execution>
958                     <execution>
959                         <id>default-check</id>
960                         <goals>
961                             <goal>check</goal>
962                         </goals>
963                         <configuration>
964                             <dataFile>${project.build.directory}/coverage-reports/jacoco.exec</dataFile>
965                             <rules>
966                                 <!--  implementation is needed only for Maven 2  -->
967                                 <rule implementation="org.jacoco.maven.RuleConfiguration">
968                                     <element>BUNDLE</element>
969                                     <limits>
970                                         <limit implementation="org.jacoco.report.check.Limit">
971                                             <counter>LINE</counter>
972                                             <value>COVEREDRATIO</value>
973                                             <minimum>${jacoco.line.coverage.limit}</minimum>
974                                         </limit>
975                                     </limits>
976                                 </rule>
977                             </rules>
978                         </configuration>
979                     </execution>
980                 </executions>
981             </plugin>
982             <!-- Used for unit tests -->
983             <plugin>
984                 <groupId>org.apache.maven.plugins</groupId>
985                 <artifactId>maven-surefire-plugin</artifactId>
986                 <version>2.12.4</version>
987                 <configuration>
988                     <argLine>-noverify ${argLine}</argLine>
989                     <runOrder>alphabetical</runOrder>
990                 </configuration>
991             </plugin>
992             <plugin>
993                 <groupId>org.springframework.boot</groupId>
994                 <artifactId>spring-boot-maven-plugin</artifactId>
995                 <!-- 
996                   Issue with the spring 1.5.15.RELEASE plugin is causing build errors
997                   due to the fact that the plugin 1.5.15.RELEASE was built using maven 3.5 while
998                   the current build version being used by our jenkins is 3.3.9
999                 -->
1000                 <version>1.5.12.RELEASE</version>
1001                 <configuration>
1002                     <mainClass>${start-class}</mainClass>
1003                     <layout>ZIP</layout>
1004                 </configuration>
1005                 <executions>
1006                     <execution>
1007                         <goals>
1008                             <goal>repackage</goal>
1009                         </goals>
1010                     </execution>
1011                 </executions>
1012             </plugin>
1013             <plugin>
1014                 <artifactId>maven-assembly-plugin</artifactId>
1015                 <configuration>
1016                     <descriptors>
1017                         <descriptor>src/main/assembly/descriptor.xml</descriptor>
1018                     </descriptors>
1019                 </configuration>
1020                 <executions>
1021                     <execution>
1022                         <id>make-assembly</id> <!-- this is used for inheritance merges -->
1023                         <phase>package</phase> <!-- bind to the packaging phase -->
1024                         <goals>
1025                             <goal>single</goal>
1026                         </goals>
1027                     </execution>
1028                 </executions>
1029             </plugin>
1030             <plugin>
1031                 <groupId>org.antlr</groupId>
1032                 <artifactId>antlr4-maven-plugin</artifactId>
1033                 <version>4.7</version>
1034                 <executions>
1035                     <execution>
1036                         <goals>
1037                             <goal>antlr4</goal>
1038                         </goals>
1039                         <configuration>
1040                             <sourceDirectory>src/main/resources/antlr4</sourceDirectory>
1041                             <!-- <outputDirectory>src/main/java/antlr4</outputDirectory> -->
1042                         </configuration>
1043                     </execution>
1044                 </executions>
1045             </plugin>
1046         </plugins>
1047         <!-- mention the logback.xml location through system property or environment
1048             variable to edit logback.xml at run time -->
1049         <resources>
1050             <resource>
1051                 <directory>src/main/resources</directory>
1052                 <filtering>true</filtering>
1053                 <includes>
1054                     <include>**/*</include>
1055                 </includes>
1056             </resource>
1057             <resource>
1058                 <directory>${project.basedir}/src/main/swm</directory>
1059                 <targetPath>${project.build.directory}/swm</targetPath>
1060                 <filtering>false</filtering>
1061             </resource>
1062             <resource>
1063                 <directory>${project.basedir}/src/main/resources/etc/appprops/</directory>
1064                 <includes>
1065                     <include>janusgraph-realtime.properties</include>
1066                     <include>janusgraph-cached.properties</include>
1067                     <include>aaiconfig.properties</include>
1068                     <include>aaiEventDMaaPPublisher.properties</include>
1069                     <include>preferredRoute.txt</include>
1070                     <include>datatoolscrons.properties</include>
1071                 </includes>
1072                 <targetPath>${project.build.directory}/swm/package/nix/dist_files/opt/app/${project.artifactId}/appconfig
1073                 </targetPath>
1074                 <filtering>false</filtering>
1075             </resource>
1076             <resource>
1077                 <directory>${project.basedir}/src/main/resources</directory>
1078                 <includes>
1079                     <include>application.properties</include>
1080                     <include>*logback.xml</include>
1081                     <include>hbase-site.xml</include>
1082                 </includes>
1083                 <targetPath>${project.build.directory}/swm/package/nix/dist_files/opt/app/${project.artifactId}/appconfig
1084                 </targetPath>
1085                 <filtering>false</filtering>
1086             </resource>
1087             <resource>
1088                 <directory>${project.basedir}/src/main/resources/schema/</directory>
1089                 <includes>
1090                     <include>**/oxm/**/*.xml</include>
1091                     <include>**/dbedgerules/**/*.json</include>
1092                 </includes>
1093                 <targetPath>${project.build.directory}/swm/package/nix/dist_files/opt/app/${project.artifactId}/appconfig/schema</targetPath>
1094                 <filtering>false</filtering>
1095             </resource>
1096             <resource>
1097                 <directory>${project.basedir}/src/main/docker</directory>
1098                 <includes>
1099                     <include>**/*</include>
1100                 </includes>
1101                 <targetPath>${aai.build.directory}</targetPath>
1102                 <filtering>true</filtering>
1103             </resource>
1104             <resource>
1105                 <directory>${project.basedir}/src/main/resources/etc/auth</directory>
1106                 <includes>
1107                     <include>**/*</include>
1108                 </includes>
1109                 <targetPath>${project.build.directory}/swm/package/nix/dist_files/opt/app/${project.artifactId}/appconfig
1110                 </targetPath>
1111                 <filtering>false</filtering>
1112             </resource>
1113             <!--
1114                Place any files related for migration related into migration-input-files
1115                so they can be packaged into this location here so it can be volumed
1116                into the container as one folder rather than do this for each subfolder
1117            -->
1118             <resource>
1119                 <directory>${project.basedir}/src/main/resources/migration-input-files</directory>
1120                 <includes>
1121                     <include>**/*</include>
1122                 </includes>
1123                 <targetPath>
1124                     ${project.build.directory}/swm/package/nix/dist_files/opt/app/${project.artifactId}/appconfig/migration-input-files
1125                 </targetPath>
1126                 <filtering>false</filtering>
1127             </resource>
1128         </resources>
1129     </build>
1130
1131     <distributionManagement>
1132         <snapshotRepository>
1133             <id>ecomp-snapshots</id>
1134             <name>ECOMP Snapshot Repository</name>
1135             <url>${onap.nexus.url}/content/repositories/snapshots/</url>
1136         </snapshotRepository>
1137         <site>
1138             <id>ecomp-site</id>
1139             <url>dav:${onap.nexus.url}${sitePath}</url>
1140         </site>
1141     </distributionManagement>
1142     <reporting>
1143         <plugins>
1144             <plugin>
1145                 <groupId>org.apache.maven.plugins</groupId>
1146                 <artifactId>maven-javadoc-plugin</artifactId>
1147                 <version>2.10.4</version>
1148                 <configuration>
1149                     <failOnError>false</failOnError>
1150                     <doclet>org.umlgraph.doclet.UmlGraphDoc</doclet>
1151                     <docletArtifact>
1152                         <groupId>org.umlgraph</groupId>
1153                         <artifactId>umlgraph</artifactId>
1154                         <version>5.6</version>
1155                     </docletArtifact>
1156                     <additionalparam>-views -Xdoclint:none</additionalparam>
1157                     <excludePackageNames>org.onap.aai.domain.yang.*:org.onap.aai.util.*</excludePackageNames>
1158                     <useStandardDocletOptions>true</useStandardDocletOptions>
1159                 </configuration>
1160             </plugin>
1161         </plugins>
1162     </reporting>
1163
1164     <!-- Start of ONAP Specific Repositories -->
1165     <repositories>
1166         <repository>
1167             <id>AJSC</id>
1168             <name>AJSC repository</name>
1169             <url>https://mvnrepository.com/artifact/com.att.ajsc</url>
1170         </repository>
1171         <repository>
1172             <id>restlet</id>
1173             <name>maven reslet</name>
1174             <url>https://maven.restlet.com/</url>
1175         </repository>
1176
1177         <repository>
1178             <id>central</id>
1179             <name>Maven 2 repository 2</name>
1180             <url>http://repo2.maven.org/maven2/</url>
1181         </repository>
1182         <repository>
1183             <id>ecomp-releases</id>
1184             <name>ECOMP Release Repository</name>
1185             <url>${onap.nexus.url}/content/repositories/releases/</url>
1186         </repository>
1187         <repository>
1188             <id>ecomp-staging</id>
1189             <name>ECOMP Staging Repository</name>
1190             <url>${onap.nexus.url}/content/repositories/staging/</url>
1191         </repository>
1192         <repository>
1193             <id>ecomp-snapshots</id>
1194             <name>ECOMP Snapshot Repository</name>
1195             <url>${onap.nexus.url}/content/repositories/snapshots/</url>
1196         </repository>
1197     </repositories>
1198     <!-- End of ONAP Specific Repositories -->
1199 </project>
1200