Fixed Dockerfile to reflect new base image name
[aai/schema-service.git] / aai-schema-service / 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:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
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.schema-service</groupId>
27     <artifactId>aai-schema-service</artifactId>
28     <version>1.6.0-SNAPSHOT</version>
29     <parent>
30         <groupId>org.onap.aai.schema-service</groupId>
31         <artifactId>schema-service</artifactId>
32         <version>1.6.0-SNAPSHOT</version>
33     </parent>
34     <properties>
35         <java.version>1.8</java.version>
36         <start-class>org.onap.aai.schemaservice.SchemaServiceApp</start-class>
37
38         <aai.core.version>1.5.3</aai.core.version>
39
40         <spring.boot.version>1.5.21.RELEASE</spring.boot.version>
41
42         <!-- Start of the jacoco plugin properties -->
43         <sonar.language>java</sonar.language>
44         <sonar.java.coveragePlugin>jacoco</sonar.java.coveragePlugin>
45         <sonar.surefire.reportsPath>${project.build.directory}/surefire-reports</sonar.surefire.reportsPath>
46         <sonar.jacoco.reportPath>${project.build.directory}/coverage-reports/jacoco.exec</sonar.jacoco.reportPath>
47         <sonar.jacoco.reportMissing.force.zero>false</sonar.jacoco.reportMissing.force.zero>
48         <sonar.projectVersion>${project.version}</sonar.projectVersion>
49         <!-- End of the jacoco plugin properties -->
50
51         <!-- Start of Application Dependencies -->
52         <eelf.core.version>1.0.0</eelf.core.version>
53         <logback.version>1.2.3</logback.version>
54         <hamcrest.junit.version>2.0.0.0</hamcrest.junit.version>
55         <junit.version>4.12</junit.version>
56         <google.guava.version>16.0.1</google.guava.version>
57         <janusgraph.version>0.2.3</janusgraph.version>
58         <mockito.version>1.10.19</mockito.version>
59         <powermock.version>1.6.2</powermock.version>
60         <jaxb.version>2.2.11</jaxb.version>
61         <eclipse.persistence.version>2.6.2</eclipse.persistence.version>
62         <!-- End of Application Dependencies -->
63
64         <docker.fabric.version>0.28.0</docker.fabric.version>
65         <!-- Default docker registry that maven fabric plugin will try to pull from -->
66         <docker.registry>docker.io</docker.registry>
67         <!-- Specifying the docker push registry where the image should be pushed -->
68         <!-- This value should be overwritten at runtime to wherever need to be pushed to -->
69         <docker.push.registry>localhost:5000</docker.push.registry>
70         <aai.docker.version>1.0.0</aai.docker.version>
71
72         <!--
73              Location where assembly of our scripts, resources and main jar will be held
74                  Check the ${project.artifactId}/src/main/assembly/descriptor.xml for more info
75         -->
76         <aai.build.directory>${project.build.directory}/${project.artifactId}-${project.version}-build/
77         </aai.build.directory>
78         <aai.docker.namespace>onap</aai.docker.namespace>
79         <aai.base.image>alpine</aai.base.image>
80         <aai.base.image.version>1.6.0</aai.base.image.version>
81
82         <maven.skip.tests>true</maven.skip.tests>
83
84         <jacoco.line.coverage.limit>0.44</jacoco.line.coverage.limit>
85
86         <!-- This will be used for the docker images as the default format of maven build has issues -->
87         <maven.build.timestamp.format>yyyyMMdd'T'HHmmss'Z'</maven.build.timestamp.format>
88         <javadoc.plugin.version>2.10.4</javadoc.plugin.version>
89
90         <!-- Start of Default ONAP Schema Properties -->
91         <schema.source.name>onap</schema.source.name>
92         <schema.configuration.location>N/A</schema.configuration.location>
93         <schema.nodes.location>${project.basedir}/src/main/resources/schema/${schema.source.name}/oxm</schema.nodes.location>
94         <schema.edges.location>${project.basedir}/src/main/resources/schema/${schema.source.name}/dbedgerules</schema.edges.location>
95         <schema.version.depth.start>v10</schema.version.depth.start>
96         <schema.version.related.link.start>v10</schema.version.related.link.start>
97         <schema.version.app.root.start>v11</schema.version.app.root.start>
98         <schema.version.namespace.change.start>v12</schema.version.namespace.change.start>
99         <schema.version.edge.label.start>v12</schema.version.edge.label.start>
100         <schema.version.api.default>v16</schema.version.api.default>
101         <schema.version.list>v10,v11,v12,v13,v14,v15,v16</schema.version.list>
102         <schema.uri.base.path>/aai/schema-service</schema.uri.base.path>
103         <!-- End of Default ONAP Schema Properties -->
104
105         <!-- Setting some default value to not complain by editor but it will be overridden by gmaven plugin -->
106     </properties>
107     <profiles>
108         <!-- Docker profile to be used for building docker image and pushing to nexus -->
109         <profile>
110             <id>docker</id>
111             <build>
112                 <plugins>
113                     <plugin>
114                         <groupId>org.codehaus.groovy.maven</groupId>
115                         <artifactId>gmaven-plugin</artifactId>
116                         <version>1.0</version>
117                         <executions>
118                             <execution>
119                                 <phase>prepare-package</phase>
120                                 <goals>
121                                     <goal>execute</goal>
122                                 </goals>
123                                 <configuration>
124                                     <source>
125                                         def userAaiBaseImage = session.userProperties['aai.base.image'];
126                                         def userAaiCommonVersion = session.userProperties['aai.base.image.version'];
127                                         if (userAaiCommonVersion != null) {
128                                             project.properties['aai.base.image.version'] = userAaiCommonVersion;
129                                         }
130                                         if (userAaiBaseImage != null) {
131                                             project.properties['aai.base.image'] = userAaiBaseImage;
132                                         }
133                                         log.info 'Base image flavour: ' + project.properties['aai.base.image'];
134                                         log.info 'Base image version: ' + project.properties['aai.base.image.version'];
135                                     </source>
136                                 </configuration>
137                             </execution>
138                         </executions>
139                     </plugin>
140                     <plugin>
141                         <groupId>io.fabric8</groupId>
142                         <artifactId>docker-maven-plugin</artifactId>
143                         <version>${docker.fabric.version}</version>
144                         <configuration>
145                             <verbose>true</verbose>
146                             <apiVersion>1.23</apiVersion>
147                             <images>
148                                 <image>
149                                     <name>${docker.push.registry}/${aai.docker.namespace}/${project.artifactId}:%l</name>
150                                     <build>
151                                         <filter>@</filter>
152                                         <tags>
153                                             <tag>latest</tag>
154                                             <tag>${project.docker.latesttag.version}</tag>
155                                             <tag>${project.major.version}.${project.minor.version}-STAGING-${maven.build.timestamp}</tag>
156                                         </tags>
157                                         <cleanup>try</cleanup>
158                                         <dockerFileDir>${project.basedir}/src/main/docker</dockerFileDir>
159                                         <assembly>
160                                             <inline>
161                                                 <fileSets>
162                                                     <fileSet>
163                                                         <directory>${aai.build.directory}</directory>
164                                                         <outputDirectory>/${project.artifactId}</outputDirectory>
165                                                     </fileSet>
166                                                 </fileSets>
167                                             </inline>
168                                         </assembly>
169                                     </build>
170                                 </image>
171                             </images>
172                         </configuration>
173                         <executions>
174                             <execution>
175                                 <id>clean-images</id>
176                                 <phase>pre-clean</phase>
177                                 <goals>
178                                     <goal>remove</goal>
179                                 </goals>
180                                 <configuration>
181                                     <removeAll>true</removeAll>
182                                 </configuration>
183                             </execution>
184                             <execution>
185                                 <id>generate-images</id>
186                                 <phase>package</phase>
187                                 <goals>
188                                     <goal>build</goal>
189                                 </goals>
190                             </execution>
191                             <execution>
192                                 <id>push-images</id>
193                                 <phase>deploy</phase>
194                                 <goals>
195                                     <goal>push</goal>
196                                 </goals>
197                             </execution>
198                         </executions>
199                     </plugin>
200                 </plugins>
201             </build>
202         </profile>
203         <!-- Start of ONAP Profile -->
204         <profile>
205             <id>onap</id>
206             <properties>
207                 <schema.source.name>onap</schema.source.name>
208                 <schema.version.namespace.change.start>v12</schema.version.namespace.change.start>
209                 <schema.version.list>v10,v11,v12,v13,v14,v15,v16</schema.version.list>
210             </properties>
211         </profile>
212         <!-- End of ONAP Profile -->
213         <profile>
214             <id>runAjsc</id>
215             <properties>
216                 <skipTests>${maven.skip.tests}</skipTests>
217             </properties>
218             <build>
219                 <defaultGoal>pre-integration-test</defaultGoal>
220                 <plugins>
221                     <plugin>
222                         <groupId>org.codehaus.mojo</groupId>
223                         <artifactId>exec-maven-plugin</artifactId>
224                         <version>1.6.0</version>
225                         <executions>
226                             <execution>
227                                 <id>run-spring-boot</id>
228                                 <phase>package</phase>
229                                 <goals>
230                                     <goal>java</goal>
231                                 </goals>
232                             </execution>
233                         </executions>
234                         <configuration>
235                             <mainClass>${start-class}</mainClass>
236                             <systemProperties>
237                                 <property>
238                                     <key>schema.source.name</key>
239                                     <value>${schema.source.name}</value>
240                                 </property>
241                                 <property>
242                                     <key>schema.configuration.location</key>
243                                     <value>${schema.configuration.location}</value>
244                                 </property>
245                                 <property>
246                                     <key>schema.nodes.location</key>
247                                     <value>${schema.nodes.location}</value>
248                                 </property>
249                                 <property>
250                                     <key>schema.edges.location</key>
251                                     <value>${schema.edges.location}</value>
252                                 </property>
253                                 <property>
254                                     <key>schema.version.depth.start</key>
255                                     <value>${schema.version.depth.start}</value>
256                                 </property>
257                                 <property>
258                                     <key>schema.version.related.link.start</key>
259                                     <value>${schema.version.related.link.start}</value>
260                                 </property>
261                                 <property>
262                                     <key>schema.version.app.root.start</key>
263                                     <value>${schema.version.app.root.start}</value>
264                                 </property>
265                                 <property>
266                                     <key>schema.version.namespace.change.start</key>
267                                     <value>${schema.version.namespace.change.start}</value>
268                                 </property>
269                                 <property>
270                                     <key>schema.version.edge.label.start</key>
271                                     <value>${schema.version.edge.label.start}</value>
272                                 </property>
273                                 <property>
274                                     <key>schema.version.api.default</key>
275                                     <value>${schema.version.api.default}</value>
276                                 </property>
277                                 <property>
278                                     <key>schema.version.list</key>
279                                     <value>${schema.version.list}</value>
280                                 </property>
281                                 <property>
282                                     <key>schema.uri.base.path</key>
283                                     <value>${schema.uri.base.path}</value>
284                                 </property>
285                             </systemProperties>
286                             <executable>java</executable>
287                         </configuration>
288                     </plugin>
289                 </plugins>
290             </build>
291         </profile>
292     </profiles>
293     <dependencyManagement>
294         <dependencies>
295             <dependency>
296                 <groupId>org.springframework.boot</groupId>
297                 <artifactId>spring-boot-starter-parent</artifactId>
298                 <version>${spring.boot.version}</version>
299                 <type>pom</type>
300                 <scope>import</scope>
301             </dependency>
302         </dependencies>
303     </dependencyManagement>
304     <dependencies>
305         <dependency>
306             <groupId>com.att.eelf</groupId>
307             <artifactId>eelf-core</artifactId>
308             <version>${eelf.core.version}</version>
309         </dependency>
310         <dependency>
311             <groupId>ch.qos.logback</groupId>
312             <artifactId>logback-core</artifactId>
313             <version>${logback.version}</version>
314         </dependency>
315         <dependency>
316             <groupId>ch.qos.logback</groupId>
317             <artifactId>logback-classic</artifactId>
318             <version>${logback.version}</version>
319         </dependency>
320         <dependency>
321             <groupId>ch.qos.logback</groupId>
322             <artifactId>logback-access</artifactId>
323             <version>${logback.version}</version>
324         </dependency>
325         <dependency>
326             <groupId>org.onap.aai.aai-common</groupId>
327             <artifactId>aai-core</artifactId>
328             <version>${aai.core.version}</version>
329             <exclusions>
330                 <exclusion>
331                     <groupId>com.sun.jersey</groupId>
332                     <artifactId>jersey-core</artifactId>
333                 </exclusion>
334                 <exclusion>
335                     <groupId>org.codehaus.jackson</groupId>
336                     <artifactId>jackson-mapper-asl</artifactId>
337                 </exclusion>
338                 <exclusion>
339                     <groupId>org.eclipse.jetty</groupId>
340                     <artifactId>jetty-http</artifactId>
341                 </exclusion>
342                 <exclusion>
343                     <groupId>org.eclipse.jetty</groupId>
344                     <artifactId>jetty-server</artifactId>
345                 </exclusion>
346                 <exclusion>
347                     <groupId>org.springframework</groupId>
348                     <artifactId>spring-web</artifactId>
349                 </exclusion>
350                 <exclusion>
351                     <groupId>org.onap.aai</groupId>
352                     <artifactId>aai-schema-ingest</artifactId>
353                 </exclusion>
354             </exclusions>
355         </dependency>
356         <dependency>
357             <groupId>org.hamcrest</groupId>
358             <artifactId>hamcrest-junit</artifactId>
359             <version>${hamcrest.junit.version}</version>
360         </dependency>
361         <dependency>
362             <groupId>junit</groupId>
363             <artifactId>junit</artifactId>
364             <version>${junit.version}</version>
365             <scope>test</scope>
366         </dependency>
367         <dependency>
368             <groupId>com.google.guava</groupId>
369             <artifactId>guava</artifactId>
370             <version>${google.guava.version}</version>
371         </dependency>
372         <dependency>
373             <groupId>com.fasterxml.jackson.jaxrs</groupId>
374             <artifactId>jackson-jaxrs-json-provider</artifactId>
375         </dependency>
376         <dependency>
377             <groupId>org.mockito</groupId>
378             <artifactId>mockito-all</artifactId>
379             <version>${mockito.version}</version>
380             <scope>test</scope>
381         </dependency>
382         <dependency>
383             <groupId>javax.xml.bind</groupId>
384             <artifactId>jaxb-api</artifactId>
385             <version>${jaxb.version}</version>
386         </dependency>
387         <dependency>
388             <groupId>com.sun.xml.bind</groupId>
389             <artifactId>jaxb-impl</artifactId>
390             <version>${jaxb.version}</version>
391         </dependency>
392         <dependency>
393             <groupId>com.sun.xml.bind</groupId>
394             <artifactId>jaxb-core</artifactId>
395             <version>${jaxb.version}</version>
396         </dependency>
397         <dependency>
398             <groupId>com.sun.xml.bind</groupId>
399             <artifactId>jaxb-xjc</artifactId>
400             <version>${jaxb.version}</version>
401         </dependency>
402         <dependency>
403             <groupId>org.eclipse.persistence</groupId>
404             <artifactId>eclipselink</artifactId>
405             <version>${eclipse.persistence.version}</version>
406         </dependency>
407         <dependency>
408             <groupId>org.eclipse.persistence</groupId>
409             <artifactId>org.eclipse.persistence.moxy</artifactId>
410             <version>${eclipse.persistence.version}</version>
411             <scope>compile</scope>
412         </dependency>
413         <dependency>
414             <groupId>org.springframework.boot</groupId>
415             <artifactId>spring-boot-starter-web</artifactId>
416             <exclusions>
417                 <exclusion>
418                     <groupId>org.springframework.boot</groupId>
419                     <artifactId>spring-boot-starter-tomcat</artifactId>
420                 </exclusion>
421             </exclusions>
422         </dependency>
423         <dependency>
424             <groupId>org.springframework.boot</groupId>
425             <artifactId>spring-boot-starter-jetty</artifactId>
426         </dependency>
427         <dependency>
428             <groupId>org.springframework.boot</groupId>
429             <artifactId>spring-boot-starter-jersey</artifactId>
430         </dependency>
431         <dependency>
432             <groupId>org.springframework.boot</groupId>
433             <artifactId>spring-boot-starter-aop</artifactId>
434         </dependency>
435         <dependency>
436             <groupId>org.springframework.boot</groupId>
437             <artifactId>spring-boot-test</artifactId>
438             <scope>test</scope>
439         </dependency>
440         <dependency>
441             <groupId>org.springframework</groupId>
442             <artifactId>spring-test</artifactId>
443             <scope>test</scope>
444         </dependency>
445         <dependency>
446             <groupId>org.mockito</groupId>
447             <artifactId>mockito-all</artifactId>
448             <version>${mockito.version}</version>
449             <scope>test</scope>
450         </dependency>
451         <dependency>
452             <groupId>org.hamcrest</groupId>
453             <artifactId>hamcrest-junit</artifactId>
454             <version>${hamcrest.junit.version}</version>
455         </dependency>
456     </dependencies>
457     <build>
458         <resources>
459             <resource>
460                 <directory>${project.basedir}/src/main/swm</directory>
461                 <targetPath>${project.build.directory}/swm</targetPath>
462                 <filtering>false</filtering>
463             </resource>
464             <resource>
465                 <directory>${project.basedir}/src/main/resources</directory>
466                 <includes>
467                     <include>application.properties</include>
468                     <include>dme2.properties</include>
469                     <include>logback.xml</include>
470                     <include>localhost-access-logback.xml</include>
471                 </includes>
472                 <targetPath>${project.build.directory}/swm/package/nix/dist_files/opt/app/${project.artifactId}/appconfig</targetPath>
473                 <filtering>false</filtering>
474             </resource>
475             <resource>
476                 <directory>${project.basedir}/src/main/resources</directory>
477                 <includes>
478                     <include>**/*</include>
479                 </includes>
480                 <filtering>true</filtering>
481             </resource>
482             <resource>
483                 <directory>${project.basedir}/src/main/resources/etc/appprops/</directory>
484                 <includes>
485                     <include>aaiconfig.properties</include>
486                 </includes>
487                 <targetPath>${project.build.directory}/swm/package/nix/dist_files/opt/app/${project.artifactId}/appconfig</targetPath>
488                 <filtering>false</filtering>
489             </resource>
490             <resource>
491                 <directory>${project.basedir}/src/main/resources/etc/auth/</directory>
492                 <includes>
493                     <include>aai-client-cert.p12</include>
494                     <include>tomcat_keystore</include>
495                     <include>aai_policy.json</include>
496                 </includes>
497                 <targetPath>${project.build.directory}/swm/package/nix/dist_files/opt/app/${project.artifactId}/appconfig</targetPath>
498                 <filtering>true</filtering>
499             </resource>
500             <resource>
501                 <directory>${project.basedir}/src/main/resources/</directory>
502                 <includes>
503                     <include>logback.xml</include>
504                     <include>localhost-access-logback.xml</include>
505                     <include>hbase-site.xml</include>
506                 </includes>
507                 <targetPath>${project.build.directory}/swm/package/nix/dist_files/opt/app/${project.artifactId}/appconfig</targetPath>
508                 <filtering>true</filtering>
509             </resource>
510             <resource>
511                 <directory>${project.basedir}/src/main/docker</directory>
512                 <includes>
513                     <include>**/*</include>
514                 </includes>
515                 <targetPath>${aai.build.directory}</targetPath>
516                 <filtering>true</filtering>
517             </resource>
518             <resource>
519                 <directory>${project.build.directory}/</directory>
520                 <includes>
521                     <include>${project.artifactId}-${project.version}.jar</include>
522                 </includes>
523                 <targetPath>${aai.build.directory}/lib/</targetPath>
524                 <filtering>false</filtering>
525             </resource>
526         </resources>
527         <pluginManagement>
528             <plugins>
529                 <plugin>
530                     <groupId>org.codehaus.groovy.maven</groupId>
531                     <artifactId>gmaven-plugin</artifactId>
532                     <version>1.0</version>
533                     <executions>
534                         <execution>
535                             <phase>validate</phase>
536                             <goals>
537                                 <goal>execute</goal>
538                             </goals>
539                             <configuration>
540                                 <source>
541                                     println project.properties['aai.project.version'];
542                                     def versionArray;
543                                     if (project.properties['aai.project.version'] != null) {
544                                         versionArray = project.properties['aai.project.version'].split('\\.');
545                                     }
546
547                                     project.properties["project.major.version"] = versionArray[0];
548                                     project.properties["project.minor.version"] = versionArray[1];
549                                     project.properties['project.docker.latesttag.version'] = versionArray[0] + '.' + versionArray[1] + '-STAGING-latest';
550                                     println 'New Tag for docker:' + project.properties['project.docker.latesttag.version'];
551                                 </source>
552                             </configuration>
553                         </execution>
554                     </executions>
555                 </plugin>
556             </plugins>
557         </pluginManagement>
558         <plugins>
559             <plugin>
560                 <groupId>org.springframework.boot</groupId>
561                 <artifactId>spring-boot-maven-plugin</artifactId>
562             </plugin>
563             <plugin>
564                 <groupId>org.apache.maven.plugins</groupId>
565                 <artifactId>maven-clean-plugin</artifactId>
566                 <version>2.4.1</version>
567                 <configuration>
568                     <filesets>
569                         <fileset>
570                             <directory>${project.basedir}/src/main/resources/schema</directory>
571                             <includes>
572                                 <include>**/*</include>
573                             </includes>
574                             <followSymlinks>false</followSymlinks>
575                         </fileset>
576                     </filesets>
577                 </configuration>
578             </plugin>
579             <plugin>
580                 <groupId>org.codehaus.groovy.maven</groupId>
581                 <artifactId>gmaven-plugin</artifactId>
582             </plugin>
583             <plugin>
584                 <groupId>org.apache.maven.plugins</groupId>
585                 <artifactId>maven-dependency-plugin</artifactId>
586                 <version>2.10</version>
587             </plugin>
588             <plugin>
589                 <groupId>org.apache.maven.plugins</groupId>
590                 <artifactId>maven-javadoc-plugin</artifactId>
591                 <version>${javadoc.plugin.version}</version>
592             </plugin>
593             <plugin>
594                 <artifactId>maven-assembly-plugin</artifactId>
595                 <configuration>
596                     <descriptors>
597                         <descriptor>src/main/assembly/descriptor.xml</descriptor>
598                     </descriptors>
599                 </configuration>
600                 <executions>
601                     <execution>
602                         <id>make-assembly</id> <!-- this is used for inheritance merges -->
603                         <phase>package</phase> <!-- bind to the packaging phase -->
604                         <goals>
605                             <goal>single</goal>
606                         </goals>
607                     </execution>
608                 </executions>
609             </plugin>
610             <plugin>
611                 <artifactId>maven-resources-plugin</artifactId>
612                 <version>2.7</version>
613                 <executions>
614                     <execution>
615                         <id>copy-oxm-edgerules-project</id>
616                         <phase>initialize</phase>
617                         <goals>
618                             <goal>copy-resources</goal>
619                         </goals>
620                         <configuration>
621                             <outputDirectory>${project.basedir}/src/main/resources/schema</outputDirectory>
622                             <resources>
623                                 <resource>
624                                     <directory>${project.basedir}/../aai-schema/src/main/resources/</directory>
625                                     <includes>
626                                         <include>**/oxm/**/*.xml</include>
627                                         <include>**/dbedgerules/**/*.json</include>
628                                     </includes>
629                                 </resource>
630                             </resources>
631                         </configuration>
632                     </execution>
633                     <execution>
634                         <id>copy-queries-project</id>
635                         <phase>initialize</phase>
636                         <goals>
637                             <goal>copy-resources</goal>
638                         </goals>
639                         <configuration>
640                             <outputDirectory>${project.basedir}/src/main/resources/schema</outputDirectory>
641                             <resources>
642                                 <resource>
643                                     <directory>${project.basedir}/../aai-queries/src/main/resources/schema</directory>
644                                     <includes>
645                                         <include>**/query/**/*.json</include>
646                                     </includes>
647                                 </resource>
648                             </resources>
649                         </configuration>
650                     </execution>
651                     <execution>
652                         <id>copy-oxm-edgerules</id>
653                         <phase>initialize</phase>
654                         <goals>
655                             <goal>copy-resources</goal>
656                         </goals>
657                         <configuration>
658                             <outputDirectory>${project.build.directory}/swm/package/nix/dist_files/opt/app/${project.artifactId}/appconfig/schema/</outputDirectory>
659                             <resources>
660                                 <resource>
661                                     <directory>${project.basedir}/../aai-schema/src/main/resources/</directory>
662                                     <includes>
663                                         <include>**/oxm/**/*.xml</include>
664                                         <include>**/dbedgerules/**/*.json</include>
665                                     </includes>
666                                 </resource>
667                             </resources>
668                         </configuration>
669                     </execution>
670                     <execution>
671                         <id>copy-queries</id>
672                         <phase>initialize</phase>
673                         <goals>
674                             <goal>copy-resources</goal>
675                         </goals>
676                         <configuration>
677                             <outputDirectory>${project.build.directory}/swm/package/nix/dist_files/opt/app/${project.artifactId}/appconfig/schema/</outputDirectory>
678                             <resources>
679                                 <resource>
680                                     <directory>${project.basedir}/../aai-queries/src/main/resources/schema</directory>
681                                     <includes>
682                                         <include>**/query/**/*.json</include>
683                                     </includes>
684                                 </resource>
685                             </resources>
686                         </configuration>
687                     </execution>
688                 </executions>
689             </plugin>
690             <plugin>
691                 <groupId>org.apache.maven.plugins</groupId>
692                 <artifactId>maven-surefire-plugin</artifactId>
693                 <version>2.12.4</version>
694                 <configuration>
695                     <argLine>-noverify ${argLine}</argLine>
696                     <runOrder>alphabetical</runOrder>
697                 </configuration>
698             </plugin>
699             <plugin>
700                 <groupId>com.mycila</groupId>
701                 <artifactId>license-maven-plugin</artifactId>
702             </plugin>
703             <plugin>
704                 <groupId>org.codehaus.mojo</groupId>
705                 <artifactId>sonar-maven-plugin</artifactId>
706                 <version>3.3</version>
707             </plugin>
708             <plugin>
709                 <groupId>org.jacoco</groupId>
710                 <artifactId>jacoco-maven-plugin</artifactId>
711                 <version>0.7.9</version>
712                 <configuration>
713                     <dumpOnExit>true</dumpOnExit>
714                     <excludes>
715                         <exclude>**/**/models/**/*.class</exclude>
716                     </excludes>
717                 </configuration>
718                 <executions>
719                     <execution>
720                         <id>jacoco-initialize-unit-tests</id>
721                         <goals>
722                             <goal>prepare-agent</goal>
723                         </goals>
724                         <configuration>
725                             <destFile>${project.build.directory}/coverage-reports/jacoco.exec</destFile>
726                             <!-- <append>true</append> -->
727                         </configuration>
728                     </execution>
729                     <execution>
730                         <id>post-unit-test</id>
731                         <phase>test</phase>
732                         <goals>
733                             <goal>report</goal>
734                         </goals>
735                         <configuration>
736                             <!-- Sets the path to the file which contains the execution data. -->
737                             <dataFile>${project.build.directory}/coverage-reports/jacoco.exec</dataFile>
738                             <!-- Sets the output directory for the code coverage report. -->
739                             <outputDirectory>${project.reporting.outputDirectory}/jacoco</outputDirectory>
740                         </configuration>
741                     </execution>
742                     <execution>
743                         <id>default-check</id>
744                         <goals>
745                             <goal>check</goal>
746                         </goals>
747                         <configuration>
748                             <dataFile>${project.build.directory}/coverage-reports/jacoco.exec</dataFile>
749                             <rules>
750                                 <!--  implementation is needed only for Maven 2  -->
751                                 <rule implementation="org.jacoco.maven.RuleConfiguration">
752                                     <element>BUNDLE</element>
753                                     <limits>
754                                         <limit implementation="org.jacoco.report.check.Limit">
755                                             <counter>LINE</counter>
756                                             <value>COVEREDRATIO</value>
757                                             <minimum>${jacoco.line.coverage.limit}</minimum>
758                                         </limit>
759                                     </limits>
760                                 </rule>
761                             </rules>
762                         </configuration>
763                     </execution>
764                 </executions>
765             </plugin>
766             <plugin>
767                 <groupId>org.apache.maven.plugins</groupId>
768                 <artifactId>maven-deploy-plugin</artifactId>
769             </plugin>
770
771             <plugin>
772                 <groupId>org.springframework.boot</groupId>
773                 <artifactId>spring-boot-maven-plugin</artifactId>
774                 <version>${spring.boot.version}</version>
775                 <configuration>
776                     <mainClass>${start-class}</mainClass>
777                     <layout>ZIP</layout>
778                 </configuration>
779                 <executions>
780                     <execution>
781                         <goals>
782                             <goal>repackage</goal>
783                         </goals>
784                     </execution>
785                 </executions>
786             </plugin>
787             <plugin>
788                 <groupId>org.apache.maven.plugins</groupId>
789                 <artifactId>maven-clean-plugin</artifactId>
790                 <version>2.4.1</version>
791                 <configuration>
792                     <filesets>
793                         <fileset>
794                             <directory>${project.basedir}/src/main/resources/schema</directory>
795                             <includes>
796                                 <include>**/*</include>
797                             </includes>
798                             <followSymlinks>false</followSymlinks>
799                         </fileset>
800                     </filesets>
801                 </configuration>
802             </plugin>
803         </plugins>
804     </build>
805     <reporting>
806         <plugins>
807             <plugin>
808                 <groupId>org.apache.maven.plugins</groupId>
809                 <artifactId>maven-javadoc-plugin</artifactId>
810                 <version>2.10.4</version>
811                 <configuration>
812                     <failOnError>false</failOnError>
813                     <doclet>org.umlgraph.doclet.UmlGraphDoc</doclet>
814                     <docletArtifact>
815                         <groupId>org.umlgraph</groupId>
816                         <artifactId>umlgraph</artifactId>
817                         <version>5.6</version>
818                     </docletArtifact>
819                     <additionalparam>-views</additionalparam>
820                     <useStandardDocletOptions>true</useStandardDocletOptions>
821                 </configuration>
822             </plugin>
823         </plugins>
824     </reporting>
825 </project>