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