1 <?xml version="1.0" encoding="UTF-8"?>
4 ============LICENSE_START=======================================================
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
13 http://www.apache.org/licenses/LICENSE-2.0
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=========================================================
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>
27 <groupId>org.onap.oparent</groupId>
28 <artifactId>oparent</artifactId>
29 <version>1.1.0</version>
31 <groupId>org.onap.aai.graphadmin</groupId>
32 <artifactId>aai-graphadmin</artifactId>
33 <version>1.5.0-SNAPSHOT</version>
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 -->
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 -->
49 <spring.boot.version>1.5.20.RELEASE</spring.boot.version>
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 -->
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 -->
73 <license.goal.type>check</license.goal.type>
76 Nexus Proxy Properties and Snapshot Locations
77 Ideally this can be overwritten at runtime per internal environment specific values at runtime
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>
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 -->
92 <maven.build.timestamp.format>yyyyMMdd'T'HHmmss'Z'</maven.build.timestamp.format>
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>
99 <gson.version>2.7</gson.version>
100 <json.version>20090211</json.version>
102 <aai.core.version>1.5.1</aai.core.version>
103 <aai.schema.version>1.5.0</aai.schema.version>
105 <netty.handler.version>4.1.9.Final</netty.handler.version>
106 <netty.version>4.0.56.Final</netty.version>
108 <spring.test.version>4.3.22.RELEASE</spring.test.version>
110 <cxf.version>3.2.2</cxf.version>
112 <dme2.version>2.8.5</dme2.version>
113 <jsonassert.version>1.4.0</jsonassert.version>
115 <antlr4.visitor>true</antlr4.visitor>
116 <antlr4.listener>true</antlr4.listener>
117 <antlr.version>4.7</antlr.version>
119 <plexus.utils.version>3.1.0</plexus.utils.version>
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>
127 <springframework.version>4.3.22.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>
131 <hamcrest.junit.version>2.0.0.0</hamcrest.junit.version>
132 <junit.version>4.12</junit.version>
134 <start-class>org.onap.aai.GraphAdminApp</start-class>
136 <snapshot.file>${project.basedir}/snapshots/int1-data.graphson</snapshot.file>
137 <jacoco.line.coverage.limit>0.46</jacoco.line.coverage.limit>
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>v10</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>v16</schema.version.api.default>
150 <schema.version.list>v10,v11,v12,v13,v14,v15,v16</schema.version.list>
151 <schema.uri.base.path>/aai</schema.uri.base.path>
152 <!-- End of Default ONAP Schema Properties -->
156 <!-- Used during verify stage in Jenkins -->
160 <build.profile.id>all-tests</build.profile.id>
162 <!-- All tests are run. -->
163 <skip.integration.tests>false</skip.integration.tests>
164 <skip.unit.tests>false</skip.unit.tests>
171 <name>skipTests</name>
175 <!-- All tests are skipped. -->
176 <skip.integration.tests>true</skip.integration.tests>
177 <skip.unit.tests>true</skip.unit.tests>
184 <id>integration-test</id>
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>
192 <!-- Start of ONAP Profile -->
196 <schema.source.name>onap</schema.source.name>
197 <schema.version.namespace.change.start>v12</schema.version.namespace.change.start>
198 <schema.version.list>v10,v11,v12,v13,v14,v15,v16</schema.version.list>
201 <!-- End of ONAP Profile -->
205 <skipTests>${skip.unit.tests}</skipTests>
208 <defaultGoal>pre-integration-test</defaultGoal>
211 <groupId>org.codehaus.mojo</groupId>
212 <artifactId>exec-maven-plugin</artifactId>
213 <version>1.6.0</version>
216 <id>run-spring-boot</id>
217 <phase>package</phase>
224 <mainClass>${start-class}</mainClass>
227 <key>snapshot.location</key>
228 <value>${snapshot.file}</value>
231 <key>schema.source.name</key>
232 <value>${schema.source.name}</value>
235 <key>schema.configuration.location</key>
236 <value>${schema.configuration.location}</value>
239 <key>schema.nodes.location</key>
240 <value>${schema.nodes.location}</value>
243 <key>schema.edges.location</key>
244 <value>${schema.edges.location}</value>
247 <key>schema.version.depth.start</key>
248 <value>${schema.version.depth.start}</value>
251 <key>schema.version.related.link.start</key>
252 <value>${schema.version.related.link.start}</value>
255 <key>schema.version.app.root.start</key>
256 <value>${schema.version.app.root.start}</value>
259 <key>schema.version.namespace.change.start</key>
260 <value>${schema.version.namespace.change.start}</value>
263 <key>schema.version.edge.label.start</key>
264 <value>${schema.version.edge.label.start}</value>
267 <key>schema.version.api.default</key>
268 <value>${schema.version.api.default}</value>
271 <key>schema.version.list</key>
272 <value>${schema.version.list}</value>
275 <key>schema.uri.base.path</key>
276 <value>${schema.uri.base.path}</value>
279 <executable>java</executable>
285 <!-- Docker profile to be used for building docker image and pushing to nexus -->
291 <groupId>io.fabric8</groupId>
292 <artifactId>docker-maven-plugin</artifactId>
293 <version>${docker.fabric.version}</version>
295 <verbose>true</verbose>
296 <apiVersion>1.23</apiVersion>
299 <name>${docker.push.registry}/${aai.docker.namespace}/${project.artifactId}:%l</name>
304 <tag>${project.docker.latesttag.version}</tag>
305 <tag>${project.major.version}.${project.minor.version}-STAGING-${maven.build.timestamp}</tag>
307 <cleanup>try</cleanup>
308 <dockerFileDir>${project.basedir}/src/main/docker</dockerFileDir>
313 <directory>${aai.build.directory}</directory>
314 <outputDirectory>/${project.artifactId}</outputDirectory>
325 <id>clean-images</id>
326 <phase>pre-clean</phase>
331 <removeAll>true</removeAll>
335 <id>generate-images</id>
336 <phase>package</phase>
343 <phase>deploy</phase>
355 <dependencyManagement>
358 <groupId>org.springframework.boot</groupId>
359 <artifactId>spring-boot-starter-parent</artifactId>
360 <version>${spring.boot.version}</version>
361 <scope>import</scope>
365 </dependencyManagement>
368 <!-- Start of Logback Dependencies -->
370 <groupId>com.att.eelf</groupId>
371 <artifactId>eelf-core</artifactId>
372 <version>${eelf.core.version}</version>
375 <groupId>ch.qos.logback</groupId>
376 <artifactId>logback-core</artifactId>
377 <version>${logback.version}</version>
380 <groupId>ch.qos.logback</groupId>
381 <artifactId>logback-classic</artifactId>
382 <version>${logback.version}</version>
385 <groupId>ch.qos.logback</groupId>
386 <artifactId>logback-access</artifactId>
387 <version>${logback.version}</version>
389 <!-- End of Logback Dependencies -->
391 <groupId>com.google.guava</groupId>
392 <artifactId>guava</artifactId>
393 <version>${google.guava.version}</version>
395 <!-- Start of Janus Graph Dependencies -->
397 <groupId>org.janusgraph</groupId>
398 <artifactId>janusgraph-core</artifactId>
399 <version>${janusgraph.version}</version>
402 <groupId>org.slf4j</groupId>
403 <artifactId>slf4j-log4j12</artifactId>
406 <groupId>dom4j</groupId>
407 <artifactId>dom4j</artifactId>
412 <groupId>org.janusgraph</groupId>
413 <artifactId>janusgraph-cassandra</artifactId>
414 <version>${janusgraph.version}</version>
417 <groupId>org.slf4j</groupId>
418 <artifactId>slf4j-log4j12</artifactId>
421 <groupId>dom4j</groupId>
422 <artifactId>dom4j</artifactId>
427 <groupId>org.janusgraph</groupId>
428 <artifactId>janusgraph-cql</artifactId>
429 <version>${janusgraph.version}</version>
432 <groupId>org.slf4j</groupId>
433 <artifactId>slf4j-log4j12</artifactId>
437 <!-- End of Janus Graph Dependencies -->
438 <!-- Start of Tinkerpop Dependencies -->
440 <groupId>org.apache.tinkerpop</groupId>
441 <artifactId>tinkergraph-gremlin</artifactId>
442 <version>${gremlin.version}</version>
446 <groupId>org.antlr</groupId>
447 <artifactId>antlr4-runtime</artifactId>
448 <version>${antlr.version}</version>
451 <groupId>org.apache.tinkerpop</groupId>
452 <artifactId>gremlin-core</artifactId>
453 <version>${gremlin.version}</version>
456 <groupId>org.apache.tinkerpop</groupId>
457 <artifactId>gremlin-driver</artifactId>
458 <version>${gremlin.version}</version>
461 <groupId>org.codehaus.groovy</groupId>
462 <artifactId>groovy</artifactId>
466 <!-- End of Tinkerpop Dependencies -->
468 <groupId>com.fasterxml.jackson.jaxrs</groupId>
469 <artifactId>jackson-jaxrs-json-provider</artifactId>
472 <groupId>org.json</groupId>
473 <artifactId>json</artifactId>
474 <version>${json.version}</version>
476 <!-- Start of JAXB Dependencies -->
478 <groupId>javax.xml.bind</groupId>
479 <artifactId>jaxb-api</artifactId>
480 <version>${jaxb.version}</version>
483 <groupId>com.sun.xml.bind</groupId>
484 <artifactId>jaxb-impl</artifactId>
485 <version>${jaxb.version}</version>
488 <groupId>com.sun.xml.bind</groupId>
489 <artifactId>jaxb-core</artifactId>
490 <version>${jaxb.version}</version>
493 <groupId>com.sun.xml.bind</groupId>
494 <artifactId>jaxb-xjc</artifactId>
495 <version>${jaxb.version}</version>
497 <!-- End of JAXB Dependencies -->
499 <groupId>org.eclipse.persistence</groupId>
500 <artifactId>eclipselink</artifactId>
501 <version>${eclipse.persistence.version}</version>
504 <groupId>org.eclipse.persistence</groupId>
505 <artifactId>org.eclipse.persistence.moxy</artifactId>
506 <version>${eclipse.persistence.version}</version>
507 <scope>compile</scope>
510 <groupId>com.google.code.gson</groupId>
511 <artifactId>gson</artifactId>
512 <version>${gson.version}</version>
515 Do not use activemq-all because they force you to use a specific logging
516 and they shade it so you can't simply exclude it and when you deploy the
517 jar, you will notice failure
520 <groupId>org.apache.activemq</groupId>
521 <artifactId>activemq-broker</artifactId>
522 <version>${activemq.version}</version>
525 <groupId>org.apache.activemq</groupId>
526 <artifactId>activemq-client</artifactId>
527 <version>${activemq.version}</version>
530 <groupId>org.onap.aai.aai-common</groupId>
531 <artifactId>aai-core</artifactId>
532 <version>${aai.core.version}</version>
535 <groupId>com.sun.jersey</groupId>
536 <artifactId>jersey-core</artifactId>
539 <groupId>org.slf4j</groupId>
540 <artifactId>slf4j-log4j12</artifactId>
543 <groupId>org.apache.cxf</groupId>
544 <artifactId>cxf-core</artifactId>
547 <groupId>org.eclipse.jetty</groupId>
548 <artifactId>jetty-http</artifactId>
551 <groupId>org.eclipse.jetty</groupId>
552 <artifactId>jetty-server</artifactId>
555 <groupId>org.springframework</groupId>
556 <artifactId>spring-web</artifactId>
559 <groupId>org.codehaus.jackson</groupId>
560 <artifactId>jackson-mapper-asl</artifactId>
565 <groupId>com.sun.jersey</groupId>
566 <artifactId>jersey-client</artifactId>
567 <version>1.18</version>
570 <groupId>com.sun.jersey</groupId>
571 <artifactId>jersey-json</artifactId>
572 <version>1.18</version>
575 <groupId>org.codehaus.jackson</groupId>
576 <artifactId>jackson-mapper-asl</artifactId>
580 <!-- Do not use the jersey-client since jersey client 1.0 version clashes
581 with jersey 2 which we are using -->
582 <!-- Use this to make http requests instead of jersey 1.0 client -->
584 <groupId>org.apache.httpcomponents</groupId>
585 <artifactId>httpclient</artifactId>
586 <version>${httpclient.version}</version>
588 <!-- Start of Spring Framework Dependencies -->
590 Explicitly stating the security spring framework and
591 exclude the bouncy castle since that is somehow overwriting
592 our p12 file decryption that's built into java security
593 This will cause the password is incorrect
594 This needs to be added back if org.bouncy castle dependency
595 sneaks backs in and causing issues with the two way ssl
598 <groupId>org.springframework.security</groupId>
599 <artifactId>spring-security-rsa</artifactId>
600 <version>${spring.security.version}</version>
603 <groupId>org.bouncycastle</groupId>
604 <artifactId>bcpkix-jdk15on</artifactId>
609 <groupId>org.springframework</groupId>
610 <artifactId>spring-jms</artifactId>
611 <version>${spring.jms.version}</version>
614 <groupId>com.sun.jersey</groupId>
615 <artifactId>jersey-core</artifactId>
620 <groupId>org.springframework.boot</groupId>
621 <artifactId>spring-boot-starter-web</artifactId>
624 <groupId>org.springframework.boot</groupId>
625 <artifactId>spring-boot-starter-tomcat</artifactId>
630 <groupId>org.springframework.boot</groupId>
631 <artifactId>spring-boot-starter-jetty</artifactId>
634 <groupId>org.springframework.boot</groupId>
635 <artifactId>spring-boot-starter-test</artifactId>
638 <groupId>org.springframework.boot</groupId>
639 <artifactId>spring-boot-starter-jersey</artifactId>
642 <groupId>org.springframework.boot</groupId>
643 <artifactId>spring-boot-starter-tomcat</artifactId>
648 <groupId>org.springframework</groupId>
649 <artifactId>spring-test</artifactId>
650 <version>${spring.test.version}</version>
653 <!-- End of Spring Framework Dependencies -->
654 <!-- Start of Netty Dependencies -->
656 <groupId>io.netty</groupId>
657 <artifactId>netty-all</artifactId>
658 <version>${netty.version}</version>
661 <groupId>io.netty</groupId>
662 <artifactId>netty-handler</artifactId>
663 <version>${netty.handler.version}</version>
665 <!-- End of Netty Dependencies -->
666 <!-- Start of Antlr dependencies for DSL -->
668 <groupId>org.antlr</groupId>
669 <artifactId>antlr4-runtime</artifactId>
670 <version>${antlr.version}</version>
673 <groupId>org.antlr</groupId>
674 <artifactId>antlr4-maven-plugin</artifactId>
675 <version>${antlr.version}</version>
678 <groupId>org.sonatype.sisu</groupId>
679 <artifactId>sisu-guava</artifactId>
683 <!-- End of Antlr dependencies for DSL -->
684 <!-- Start of Plexus dependencies for DSL -->
686 <groupId>org.codehaus.plexus</groupId>
687 <artifactId>plexus-utils</artifactId>
688 <version>${plexus.utils.version}</version>
690 <!-- End of Plexus dependencies for DSL -->
691 <!-- Start of Junit Test Dependencies -->
693 <groupId>org.hamcrest</groupId>
694 <artifactId>hamcrest-junit</artifactId>
695 <version>${hamcrest.junit.version}</version>
699 <groupId>junit</groupId>
700 <artifactId>junit</artifactId>
701 <version>${junit.version}</version>
705 <groupId>org.mockito</groupId>
706 <artifactId>mockito-all</artifactId>
707 <version>${mockito.version}</version>
711 <groupId>org.skyscreamer</groupId>
712 <artifactId>jsonassert</artifactId>
713 <version>${jsonassert.version}</version>
716 <!-- End of Junit Test Dependencies -->
722 <!--This plugin's configuration is used to store Eclipse m2e settings
723 only. It has no influence on the Maven build itself. -->
725 <groupId>org.eclipse.m2e</groupId>
726 <artifactId>lifecycle-mapping</artifactId>
727 <version>1.0.0</version>
729 <lifecycleMappingMetadata>
732 <pluginExecutionFilter>
733 <groupId>com.github.kongchen</groupId>
734 <artifactId>swagger-maven-plugin</artifactId>
735 <versionRange>3.1.3</versionRange>
737 <goal>generate</goal>
739 </pluginExecutionFilter>
745 </lifecycleMappingMetadata>
749 <groupId>org.apache.maven.plugins</groupId>
750 <artifactId>maven-dependency-plugin</artifactId>
751 <version>2.8</version>
754 <id>unpack-schema-dependency</id>
755 <phase>initialize</phase>
762 <groupId>org.onap.aai.schema-service</groupId>
763 <artifactId>aai-schema</artifactId>
764 <version>${aai.schema.version}</version>
765 <outputDirectory>${project.basedir}/src/main/resources/schema/</outputDirectory>
766 <includes>**/oxm/**/*.xml</includes>
769 <!-- other configurations here -->
773 <id>unpack-edgerules-dependency</id>
774 <phase>initialize</phase>
781 <groupId>org.onap.aai.schema-service</groupId>
782 <artifactId>aai-schema</artifactId>
783 <version>${aai.schema.version}</version>
784 <outputDirectory>${project.basedir}/src/main/resources/schema/</outputDirectory>
785 <includes>**/dbedgerules/**/*.json</includes>
788 <!-- other configurations here -->
794 <groupId>org.codehaus.groovy.maven</groupId>
795 <artifactId>gmaven-plugin</artifactId>
796 <version>1.0</version>
799 <phase>validate</phase>
805 println project.properties['aai.project.version'];
807 if (project.properties['aai.project.version'] != null) {
808 versionArray = project.properties['aai.project.version'].split('\\.');
811 project.properties["project.major.version"] = versionArray[0];
812 project.properties["project.minor.version"] = versionArray[1];
813 project.properties['project.docker.latesttag.version'] = versionArray[0] + '.' + versionArray[1] + '-STAGING-latest';
814 println 'New Tag for docker:' + project.properties['project.docker.latesttag.version'];
821 <groupId>org.apache.maven.plugins</groupId>
822 <artifactId>maven-deploy-plugin</artifactId>
825 <id>default-deploy</id>
831 <groupId>org.sonatype.plugins</groupId>
832 <artifactId>nexus-staging-maven-plugin</artifactId>
833 <version>1.6.7</version>
834 <extensions>true</extensions>
836 <nexusUrl>${nexusproxy}</nexusUrl>
837 <stagingProfileId>176c31dfe190a</stagingProfileId>
838 <serverId>ecomp-staging</serverId>
842 <groupId>com.mycila</groupId>
843 <artifactId>license-maven-plugin</artifactId>
844 <version>3.0</version>
846 <header>LICENSE.TXT</header>
848 <include>src/main/java/**</include>
849 <include>src/test/java/**</include>
850 <include>pom.xml</include>
852 <skipExistingHeaders>true</skipExistingHeaders>
858 <!-- Set goal to "format" to auto update license headers -->
859 <goal>${license.goal.type}</goal>
861 <phase>process-sources</phase>
869 Using https://code.revelc.net/formatter-maven-plugin/ for Eclipse formatter
870 Using https://github.com/diffplug/spotless/tree/master/plugin-maven for import order
871 Use in combination to rewrite code and imports, then checkstyle
873 mvn formatter:format spotless:apply process-sources
876 <groupId>net.revelc.code.formatter</groupId>
877 <artifactId>formatter-maven-plugin</artifactId>
878 <version>2.8.1</version>
880 <configFile>${project.basedir}/onap-java-formatter.xml</configFile>
882 <!-- https://code.revelc.net/formatter-maven-plugin/
883 use mvn formatter:format to rewrite source files
884 use mvn formatter:validate to validate source files -->
887 <groupId>com.diffplug.spotless</groupId>
888 <artifactId>spotless-maven-plugin</artifactId>
889 <version>1.18.0</version>
893 <order>com,java,javax,org</order>
897 <!-- https://github.com/diffplug/spotless/tree/master/plugin-maven
898 use mvn spotless:apply to rewrite source files
899 use mvn spotless:check to validate source files -->
902 <groupId>org.apache.maven.plugins</groupId>
903 <artifactId>maven-site-plugin</artifactId>
904 <version>3.6</version>
908 <groupId>org.apache.maven.plugins</groupId>
909 <artifactId>maven-project-info-reports-plugin</artifactId>
910 <version>2.4</version>
912 <dependencyDetailsEnabled>false</dependencyDetailsEnabled>
913 <dependencyLocationsEnabled>false</dependencyLocationsEnabled>
916 <report>dependencies</report>
920 <groupId>org.apache.maven.plugins</groupId>
921 <artifactId>maven-javadoc-plugin</artifactId>
922 <version>2.8</version>
924 <additionalparam>-Xdoclint:none</additionalparam>
931 <groupId>org.apache.maven.wagon</groupId>
932 <artifactId>wagon-webdav-jackrabbit</artifactId>
933 <version>2.10</version>
938 <groupId>org.codehaus.mojo</groupId>
939 <artifactId>sonar-maven-plugin</artifactId>
940 <version>3.3</version>
943 <groupId>org.codehaus.groovy.maven</groupId>
944 <artifactId>gmaven-plugin</artifactId>
947 <groupId>com.mycila</groupId>
948 <artifactId>license-maven-plugin</artifactId>
951 <groupId>org.apache.maven.plugins</groupId>
952 <artifactId>maven-clean-plugin</artifactId>
953 <version>2.4.1</version>
957 <directory>${project.basedir}/src/main/resources/etc/oxm</directory>
959 <include>**/*</include>
961 <followSymlinks>false</followSymlinks>
964 <directory>${project.basedir}/src/main/resources/etc/dbedgerules</directory>
966 <include>**/*</include>
968 <followSymlinks>false</followSymlinks>
971 <directory>${project.basedir}/src/main/resources/schema</directory>
973 <include>**/*</include>
975 <followSymlinks>false</followSymlinks>
981 <artifactId>maven-dependency-plugin</artifactId>
984 <groupId>org.jacoco</groupId>
985 <artifactId>jacoco-maven-plugin</artifactId>
986 <version>0.7.9</version>
988 <dumpOnExit>true</dumpOnExit>
992 <id>jacoco-initialize-unit-tests</id>
994 <goal>prepare-agent</goal>
997 <destFile>${project.build.directory}/coverage-reports/jacoco.exec</destFile>
998 <!-- <append>true</append> -->
1002 <id>post-unit-test</id>
1008 <!-- Sets the path to the file which contains the execution data. -->
1009 <dataFile>${project.build.directory}/coverage-reports/jacoco.exec</dataFile>
1010 <!-- Sets the output directory for the code coverage report. -->
1011 <outputDirectory>${project.reporting.outputDirectory}/jacoco</outputDirectory>
1015 <id>default-check</id>
1020 <dataFile>${project.build.directory}/coverage-reports/jacoco.exec</dataFile>
1022 <!-- implementation is needed only for Maven 2 -->
1023 <rule implementation="org.jacoco.maven.RuleConfiguration">
1024 <element>BUNDLE</element>
1026 <limit implementation="org.jacoco.report.check.Limit">
1027 <counter>LINE</counter>
1028 <value>COVEREDRATIO</value>
1029 <minimum>${jacoco.line.coverage.limit}</minimum>
1038 <!-- Used for unit tests -->
1040 <groupId>org.apache.maven.plugins</groupId>
1041 <artifactId>maven-surefire-plugin</artifactId>
1042 <version>2.12.4</version>
1044 <argLine>-noverify ${argLine}</argLine>
1045 <runOrder>alphabetical</runOrder>
1049 <groupId>org.springframework.boot</groupId>
1050 <artifactId>spring-boot-maven-plugin</artifactId>
1052 Issue with the spring 1.5.15.RELEASE plugin is causing build errors
1053 due to the fact that the plugin 1.5.15.RELEASE was built using maven 3.5 while
1054 the current build version being used by our jenkins is 3.3.9
1056 <version>1.5.20.RELEASE</version>
1058 <mainClass>${start-class}</mainClass>
1059 <layout>ZIP</layout>
1064 <goal>repackage</goal>
1070 <artifactId>maven-assembly-plugin</artifactId>
1073 <descriptor>src/main/assembly/descriptor.xml</descriptor>
1078 <id>make-assembly</id> <!-- this is used for inheritance merges -->
1079 <phase>package</phase> <!-- bind to the packaging phase -->
1087 <groupId>org.antlr</groupId>
1088 <artifactId>antlr4-maven-plugin</artifactId>
1089 <version>4.7</version>
1096 <sourceDirectory>src/main/resources/antlr4</sourceDirectory>
1097 <!-- <outputDirectory>src/main/java/antlr4</outputDirectory> -->
1103 <!-- mention the logback.xml location through system property or environment
1104 variable to edit logback.xml at run time -->
1107 <directory>src/main/resources</directory>
1108 <filtering>true</filtering>
1110 <include>**/*</include>
1114 <directory>${project.basedir}/src/main/swm</directory>
1115 <targetPath>${project.build.directory}/swm</targetPath>
1116 <filtering>false</filtering>
1119 <directory>${project.basedir}/src/main/resources/etc/appprops/</directory>
1121 <include>janusgraph-realtime.properties</include>
1122 <include>janusgraph-cached.properties</include>
1123 <include>aaiconfig.properties</include>
1124 <include>aaiEventDMaaPPublisher.properties</include>
1125 <include>preferredRoute.txt</include>
1126 <include>datatoolscrons.properties</include>
1128 <targetPath>${project.build.directory}/swm/package/nix/dist_files/opt/app/${project.artifactId}/appconfig
1130 <filtering>false</filtering>
1133 <directory>${project.basedir}/src/main/resources</directory>
1135 <include>application.properties</include>
1136 <include>*logback.xml</include>
1137 <include>hbase-site.xml</include>
1139 <targetPath>${project.build.directory}/swm/package/nix/dist_files/opt/app/${project.artifactId}/appconfig
1141 <filtering>false</filtering>
1144 <directory>${project.basedir}/src/main/resources/schema/</directory>
1146 <include>**/oxm/**/*.xml</include>
1147 <include>**/dbedgerules/**/*.json</include>
1149 <targetPath>${project.build.directory}/swm/package/nix/dist_files/opt/app/${project.artifactId}/appconfig/schema</targetPath>
1150 <filtering>false</filtering>
1153 <directory>${project.basedir}/src/main/docker</directory>
1155 <include>**/*</include>
1157 <targetPath>${aai.build.directory}</targetPath>
1158 <filtering>true</filtering>
1161 <directory>${project.basedir}/src/main/resources/etc/auth</directory>
1163 <include>**/*</include>
1165 <targetPath>${project.build.directory}/swm/package/nix/dist_files/opt/app/${project.artifactId}/appconfig
1167 <filtering>false</filtering>
1170 Place any files related for migration related into migration-input-files
1171 so they can be packaged into this location here so it can be volumed
1172 into the container as one folder rather than do this for each subfolder
1175 <directory>${project.basedir}/src/main/resources/migration-input-files</directory>
1177 <include>**/*</include>
1180 ${project.build.directory}/swm/package/nix/dist_files/opt/app/${project.artifactId}/appconfig/migration-input-files
1182 <filtering>false</filtering>
1187 <distributionManagement>
1188 <snapshotRepository>
1189 <id>ecomp-snapshots</id>
1190 <name>ECOMP Snapshot Repository</name>
1191 <url>${onap.nexus.url}/content/repositories/snapshots/</url>
1192 </snapshotRepository>
1195 <url>dav:${onap.nexus.url}${sitePath}</url>
1197 </distributionManagement>
1201 <groupId>org.apache.maven.plugins</groupId>
1202 <artifactId>maven-javadoc-plugin</artifactId>
1203 <version>2.10.4</version>
1205 <failOnError>false</failOnError>
1206 <doclet>org.umlgraph.doclet.UmlGraphDoc</doclet>
1208 <groupId>org.umlgraph</groupId>
1209 <artifactId>umlgraph</artifactId>
1210 <version>5.6</version>
1212 <additionalparam>-views -Xdoclint:none</additionalparam>
1213 <excludePackageNames>org.onap.aai.domain.yang.*:org.onap.aai.util.*</excludePackageNames>
1214 <useStandardDocletOptions>true</useStandardDocletOptions>
1220 <!-- Start of ONAP Specific Repositories -->
1224 <name>AJSC repository</name>
1225 <url>https://mvnrepository.com/artifact/com.att.ajsc</url>
1229 <name>maven reslet</name>
1230 <url>https://maven.restlet.com/</url>
1235 <name>Maven 2 repository 2</name>
1236 <url>http://repo2.maven.org/maven2/</url>
1239 <id>ecomp-releases</id>
1240 <name>ECOMP Release Repository</name>
1241 <url>${onap.nexus.url}/content/repositories/releases/</url>
1244 <id>ecomp-staging</id>
1245 <name>ECOMP Staging Repository</name>
1246 <url>${onap.nexus.url}/content/repositories/staging/</url>
1249 <id>ecomp-snapshots</id>
1250 <name>ECOMP Snapshot Repository</name>
1251 <url>${onap.nexus.url}/content/repositories/snapshots/</url>
1254 <!-- End of ONAP Specific Repositories -->