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