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