small, multi-platform docker images
[dmaap/datarouter.git] / datarouter-prov / pom.xml
1 <!--\r
2   ============LICENSE_START==================================================\r
3   * org.onap.dmaap\r
4   * ===========================================================================\r
5   * Copyright © 2017 AT&T Intellectual Property. All rights reserved.\r
6   * Modifications Copyright (C) 2018 Nokia. All rights reserved.\r
7   * ===========================================================================\r
8   * Licensed under the Apache License, Version 2.0 (the "License");\r
9   * you may not use this file except in compliance with the License.\r
10   * You may obtain a copy of the License at\r
11   *\r
12    *      http://www.apache.org/licenses/LICENSE-2.0\r
13   *\r
14    * Unless required by applicable law or agreed to in writing, software\r
15   * distributed under the License is distributed on an "AS IS" BASIS,\r
16   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
17   * See the License for the specific language governing permissions and\r
18   * limitations under the License.\r
19   * ============LICENSE_END====================================================\r
20   *\r
21   * ECOMP is a trademark and service mark of AT&T Intellectual Property.\r
22   *\r
23 -->\r
24 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">\r
25     <modelVersion>4.0.0</modelVersion>\r
26     <parent>\r
27         <groupId>org.onap.dmaap.datarouter</groupId>\r
28         <artifactId>parent</artifactId>\r
29         <version>2.0.2-SNAPSHOT</version>\r
30         <relativePath>../pom.xml</relativePath>\r
31     </parent>\r
32     <artifactId>datarouter-prov</artifactId>\r
33     <packaging>jar</packaging>\r
34     <name>datarouter-prov</name>\r
35     <url>https://github.com/att/DMAAP_DATAROUTER</url>\r
36     <properties>\r
37         <sonar.language>java</sonar.language>\r
38         <sonar.skip>false</sonar.skip>\r
39         <sonar.jacoco.reportMissing.force.zero>true</sonar.jacoco.reportMissing.force.zero>\r
40         <sitePath>/content/sites/site/${project.groupId}/${project.artifactId}/${project.version}</sitePath>\r
41 \r
42         <docker.location>${basedir}/target/${artifactId}</docker.location>\r
43         <datarouter.prov.image.name>onap/dmaap/datarouter-prov</datarouter.prov.image.name>\r
44 \r
45         <timestamp>${maven.build.timestamp}</timestamp>\r
46         <maven.build.timestamp.format>yyyyMMdd'T'HHmmss'Z'</maven.build.timestamp.format>\r
47 \r
48         <docker.verbose>true</docker.verbose>\r
49         <docker.apiVersion>1.23</docker.apiVersion>\r
50     </properties>\r
51     <dependencies>\r
52         <dependency>\r
53             <groupId>xml-apis</groupId>\r
54             <artifactId>xml-apis</artifactId>\r
55             <version>${xml-apis.version}</version>\r
56         </dependency>\r
57         <dependency>\r
58             <groupId>org.dom4j</groupId>\r
59             <artifactId>dom4j</artifactId>\r
60             <version>${dom4j.version}</version>\r
61         </dependency>\r
62         <dependency>\r
63             <groupId>commons-codec</groupId>\r
64             <artifactId>commons-codec</artifactId>\r
65             <version>${commons-codec.version}</version>\r
66         </dependency>\r
67         <dependency>\r
68             <groupId>com.google.guava</groupId>\r
69             <artifactId>guava</artifactId>\r
70             <version>${google.guava.version}</version>\r
71         </dependency>\r
72         <dependency>\r
73             <groupId>ch.qos.logback</groupId>\r
74             <artifactId>logback-classic</artifactId>\r
75             <version>${qos.logback.version}</version>\r
76             <scope>compile</scope>\r
77         </dependency>\r
78         <dependency>\r
79             <groupId>ch.qos.logback</groupId>\r
80             <artifactId>logback-core</artifactId>\r
81             <version>${qos.logback.version}</version>\r
82             <scope>compile</scope>\r
83         </dependency>\r
84         <dependency>\r
85             <groupId>com.thoughtworks.xstream</groupId>\r
86             <artifactId>xstream</artifactId>\r
87             <version>${thoughtworks.version}</version>\r
88         </dependency>\r
89         <dependency>\r
90             <groupId>org.json</groupId>\r
91             <artifactId>json</artifactId>\r
92             <version>20160810</version>\r
93         </dependency>\r
94         <dependency>\r
95             <groupId>javax.mail</groupId>\r
96             <artifactId>javax.mail-api</artifactId>\r
97             <version>${javax.mail-api.version}</version>\r
98         </dependency>\r
99         <dependency>\r
100             <groupId>com.att.eelf</groupId>\r
101             <artifactId>eelf-core</artifactId>\r
102             <version>0.0.1</version>\r
103         </dependency>\r
104         <dependency>\r
105             <groupId>org.eclipse.jetty</groupId>\r
106             <artifactId>jetty-server</artifactId>\r
107             <version>${jetty.version}</version>\r
108         </dependency>\r
109         <dependency>\r
110             <groupId>org.eclipse.jetty</groupId>\r
111             <artifactId>jetty-continuation</artifactId>\r
112             <version>${jetty.version}</version>\r
113         </dependency>\r
114         <dependency>\r
115             <groupId>org.eclipse.jetty</groupId>\r
116             <artifactId>jetty-util</artifactId>\r
117             <version>${jetty.version}</version>\r
118         </dependency>\r
119         <dependency>\r
120             <groupId>org.eclipse.jetty</groupId>\r
121             <artifactId>jetty-deploy</artifactId>\r
122             <version>${jetty.version}</version>\r
123         </dependency>\r
124         <dependency>\r
125             <groupId>org.eclipse.jetty</groupId>\r
126             <artifactId>jetty-servlet</artifactId>\r
127             <version>${jetty.version}</version>\r
128         </dependency>\r
129         <dependency>\r
130             <groupId>org.eclipse.jetty</groupId>\r
131             <artifactId>jetty-servlets</artifactId>\r
132             <version>${jetty.version}</version>\r
133         </dependency>\r
134         <dependency>\r
135             <groupId>org.eclipse.jetty</groupId>\r
136             <artifactId>jetty-http</artifactId>\r
137             <version>${jetty.version}</version>\r
138         </dependency>\r
139         <dependency>\r
140             <groupId>org.eclipse.jetty</groupId>\r
141             <artifactId>jetty-security</artifactId>\r
142             <version>${jetty.version}</version>\r
143         </dependency>\r
144         <dependency>\r
145             <groupId>org.eclipse.jetty</groupId>\r
146             <artifactId>jetty-websocket</artifactId>\r
147             <version>${jetty.websocket.version}</version>\r
148         </dependency>\r
149         <dependency>\r
150             <groupId>org.eclipse.jetty</groupId>\r
151             <artifactId>jetty-io</artifactId>\r
152             <version>${jetty.version}</version>\r
153         </dependency>\r
154         <dependency>\r
155             <groupId>org.apache.commons</groupId>\r
156             <artifactId>commons-io</artifactId>\r
157             <version>1.3.2</version>\r
158         </dependency>\r
159         <dependency>\r
160             <groupId>commons-lang</groupId>\r
161             <artifactId>commons-lang</artifactId>\r
162             <version>2.4</version>\r
163         </dependency>\r
164         <dependency>\r
165             <groupId>commons-io</groupId>\r
166             <artifactId>commons-io</artifactId>\r
167             <version>2.1</version>\r
168             <scope>compile</scope>\r
169         </dependency>\r
170         <dependency>\r
171             <groupId>org.apache.httpcomponents</groupId>\r
172             <artifactId>httpcore</artifactId>\r
173             <version>4.4</version>\r
174         </dependency>\r
175         <dependency>\r
176             <groupId>org.mozilla</groupId>\r
177             <artifactId>rhino</artifactId>\r
178             <version>1.7R3</version>\r
179         </dependency>\r
180         <dependency>\r
181             <groupId>org.apache.james</groupId>\r
182             <artifactId>apache-mime4j-core</artifactId>\r
183             <version>0.7</version>\r
184         </dependency>\r
185         <dependency>\r
186             <groupId>org.apache.httpcomponents</groupId>\r
187             <artifactId>httpclient</artifactId>\r
188             <version>4.5.3</version>\r
189         </dependency>\r
190         <dependency>\r
191             <groupId>org.sonatype.http-testing-harness</groupId>\r
192             <artifactId>junit-runner</artifactId>\r
193             <version>0.11</version>\r
194             <exclusions>\r
195                 <exclusion>\r
196                     <groupId>org.databene</groupId>\r
197                     <artifactId>contiperf</artifactId>\r
198                 </exclusion>\r
199             </exclusions>\r
200         </dependency>\r
201         <dependency>\r
202             <groupId>junit</groupId>\r
203             <artifactId>junit</artifactId>\r
204             <version>4.10</version>\r
205             <scope>test</scope>\r
206         </dependency>\r
207         <dependency>\r
208             <groupId>org.mockito</groupId>\r
209             <artifactId>mockito-core</artifactId>\r
210             <version>1.10.19</version>\r
211             <scope>test</scope>\r
212         </dependency>\r
213         <dependency>\r
214             <groupId>org.powermock</groupId>\r
215             <artifactId>powermock-module-junit4</artifactId>\r
216             <version>1.6.4</version>\r
217             <scope>test</scope>\r
218         </dependency>\r
219         <dependency>\r
220             <groupId>org.powermock</groupId>\r
221             <artifactId>powermock-api-mockito</artifactId>\r
222             <version>1.6.4</version>\r
223             <scope>test</scope>\r
224         </dependency>\r
225         <dependency>\r
226             <groupId>org.apache.commons</groupId>\r
227             <artifactId>commons-lang3</artifactId>\r
228             <version>3.0</version>\r
229         </dependency>\r
230         <dependency>\r
231             <groupId>org.mariadb.jdbc</groupId>\r
232             <artifactId>mariadb-java-client</artifactId>\r
233             <version>2.2.5</version>\r
234         </dependency>\r
235         <dependency>\r
236             <groupId>org.eclipse.jetty.cdi</groupId>\r
237             <artifactId>cdi-websocket</artifactId>\r
238             <version>${jetty.version}</version>\r
239         </dependency>\r
240         <dependency>\r
241             <groupId>log4j</groupId>\r
242             <artifactId>log4j</artifactId>\r
243             <version>1.2.17</version>\r
244             <scope>compile</scope>\r
245         </dependency>\r
246         <dependency>\r
247             <groupId>com.h2database</groupId>\r
248             <artifactId>h2</artifactId>\r
249             <version>1.4.197</version>\r
250         </dependency>\r
251         <dependency>\r
252             <groupId>org.hibernate</groupId>\r
253             <artifactId>hibernate-entitymanager</artifactId>\r
254             <version>5.2.9.Final</version>\r
255             <exclusions>\r
256                 <exclusion>\r
257                     <groupId>dom4j</groupId>\r
258                     <artifactId>dom4j</artifactId>\r
259                 </exclusion>\r
260             </exclusions>\r
261         </dependency>\r
262     </dependencies>\r
263     <profiles>\r
264         <profile>\r
265             <id>docker</id>\r
266             <properties>\r
267                 <skipDockerBuild>false</skipDockerBuild>\r
268                 <skipDockerTag>false</skipDockerTag>\r
269                 <skipTests>true</skipTests>\r
270             </properties>\r
271             <build>\r
272                 <plugins>\r
273 \r
274                     <!-- Setup image tags per https://wiki.onap.org/display/DW/Independent+Versioning+and+Release+Process#IndependentVersioningandReleaseProcess-StandardizedDockerTagging -->\r
275                     <plugin>\r
276                       <groupId>org.codehaus.groovy.maven</groupId>\r
277                       <artifactId>gmaven-plugin</artifactId>\r
278                       <executions>\r
279                           <execution>\r
280                               <phase>validate</phase>\r
281                               <goals>\r
282                                   <goal>execute</goal>\r
283                               </goals>\r
284                               <configuration>\r
285                                   <properties>\r
286                                       <ver>${project.version}</ver>\r
287                                       <timestamp>${maven.build.timestamp}</timestamp>\r
288                                   </properties>\r
289                                   <source>\r
290                                       println 'ver: ' + project.properties['ver'];\r
291                                       if ( project.properties['ver'].endsWith("-SNAPSHOT") ) {\r
292                                           project.properties['dockertag1']=project.properties['ver'] + "-latest";\r
293                                           project.properties['dockertag2']=project.properties['ver'] + "-" + project.properties['timestamp'];\r
294                                       } else {\r
295                                           project.properties['dockertag1']=project.properties['ver'] + "-STAGING-latest";\r
296                                           project.properties['dockertag2']=project.properties['ver'] + "-STAGING-" + project.properties['timestamp'];\r
297                                       }\r
298                                       println 'docker tag 1: ' + project.properties['dockertag1'];\r
299                                       println 'docker tag 2: ' + project.properties['dockertag2'];\r
300                                   </source>\r
301                               </configuration>\r
302                           </execution>\r
303                       </executions>\r
304                     </plugin>\r
305                     <plugin>\r
306                         <groupId>io.fabric8</groupId>\r
307                         <artifactId>docker-maven-plugin</artifactId>\r
308                         <version>0.28.0</version>\r
309                         <configuration>\r
310                             <verbose>${docker.verbose}</verbose>\r
311                             <apiVersion>${docker.apiVersion}</apiVersion>\r
312                             <pullRegistry>${docker.pull.registry}</pullRegistry>\r
313                             <pushRegistry>${docker.push.registry}</pushRegistry>\r
314                             <images>\r
315                                 <image>\r
316                                     <name>${datarouter.prov.image.name}</name>\r
317                                     <build>\r
318                                         <cleanup>try</cleanup>\r
319                                         <dockerFileDir>${basedir}/target/docker-stage</dockerFileDir>\r
320                                         <dockerFile>Dockerfile</dockerFile>\r
321                                         <tags>\r
322                                             <tag>${dockertag1}</tag>\r
323                                             <tag>${dockertag2}</tag>\r
324                                         </tags>\r
325                                     </build>\r
326                                 </image>\r
327                             </images>\r
328                         </configuration>\r
329                          <executions>\r
330                              <execution>\r
331                                  <id>generate-images</id>\r
332                                  <phase>install</phase>\r
333                                  <goals>\r
334                                      <goal>build</goal>\r
335                                  </goals>\r
336                              </execution>\r
337                              <execution>\r
338                                  <id>push-images</id>\r
339                                  <phase>deploy</phase>\r
340                                  <goals>\r
341                                      <goal>push</goal>\r
342                                  </goals>\r
343                              </execution>\r
344                          </executions>\r
345                     </plugin>\r
346                 </plugins>\r
347             </build>\r
348         </profile>\r
349     </profiles>\r
350     <build>\r
351         <finalName>datarouter-prov</finalName>\r
352         <resources>\r
353             <resource>\r
354                 <directory>src/main/resources</directory>\r
355                 <filtering>true</filtering>\r
356                 <includes>\r
357                     <include>**/*.properties</include>\r
358                 </includes>\r
359             </resource>\r
360             <resource>\r
361                 <directory>src/main/resources</directory>\r
362                 <filtering>true</filtering>\r
363                 <includes>\r
364                     <include>**/provserver.properties</include>\r
365                 </includes>\r
366             </resource>\r
367             <resource>\r
368                 <directory>src/main/resources</directory>\r
369                 <filtering>true</filtering>\r
370                 <includes>\r
371                     <include>**/EelfMessages.properties</include>\r
372                 </includes>\r
373             </resource>\r
374             <resource>\r
375                 <directory>src/main/resources</directory>\r
376                 <filtering>true</filtering>\r
377                 <includes>\r
378                     <include>**/log4j.properties</include>\r
379                 </includes>\r
380             </resource>\r
381             <resource>\r
382                 <directory>src/test/resources</directory>\r
383                 <filtering>true</filtering>\r
384                 <includes>\r
385                     <include>**/log4j.properties</include>\r
386                 </includes>\r
387             </resource>\r
388         </resources>\r
389         <plugins>\r
390             <plugin>\r
391                 <artifactId>maven-assembly-plugin</artifactId>\r
392                 <version>2.4</version>\r
393                 <configuration>\r
394                     <descriptorRefs>\r
395                         <descriptorRef>jar-with-dependencies</descriptorRef>\r
396                     </descriptorRefs>\r
397                     <outputDirectory>${basedir}/target/docker-stage/opt/app/datartr/lib</outputDirectory>\r
398                     <archive>\r
399                         <manifest>\r
400                             <addClasspath>true</addClasspath>\r
401                             <mainClass>org.onap.dmaap.datarouter.provisioning.Main</mainClass>\r
402                         </manifest>\r
403                     </archive>\r
404                 </configuration>\r
405                 <executions>\r
406                     <execution>\r
407                         <id>make-assembly</id>\r
408                         <!-- this is used for inheritance merges -->\r
409                         <phase>package</phase>\r
410                         <!-- bind to the packaging phase -->\r
411                         <goals>\r
412                             <goal>single</goal>\r
413                         </goals>\r
414                     </execution>\r
415                 </executions>\r
416             </plugin>\r
417             <plugin>\r
418                 <groupId>org.apache.maven.plugins</groupId>\r
419                 <artifactId>maven-compiler-plugin</artifactId>\r
420                 <configuration>\r
421                     <source>1.8</source>\r
422                     <target>1.8</target>\r
423                 </configuration>\r
424                 <version>3.6.0</version>\r
425             </plugin>\r
426 \r
427             <!-- Copy files to docker-stage to be included in image -->\r
428             <plugin>\r
429                 <artifactId>maven-resources-plugin</artifactId>\r
430                 <version>2.7</version>\r
431                 <executions>\r
432                     <execution>\r
433                         <id>copy-dockerfile</id>\r
434                         <phase>validate</phase>\r
435                         <goals>\r
436                             <goal>copy-resources</goal>\r
437                         </goals>\r
438                         <configuration>\r
439                             <outputDirectory>${basedir}/target/docker-stage</outputDirectory>\r
440                             <overwrite>true</overwrite>\r
441                             <resources>\r
442                                 <resource>\r
443                                     <directory>${basedir}/src/main/resources/docker</directory>\r
444                                     <filtering>true</filtering>\r
445                                     <includes>\r
446                                         <include>Dockerfile</include>\r
447                                     </includes>\r
448                                 </resource>\r
449                             </resources>\r
450                         </configuration>\r
451                     </execution>\r
452                     <execution>\r
453                         <id>copy-startup-script</id>\r
454                         <phase>validate</phase>\r
455                         <goals>\r
456                             <goal>copy-resources</goal>\r
457                         </goals>\r
458                         <configuration>\r
459                             <outputDirectory>${basedir}/target/docker-stage/opt</outputDirectory>\r
460                             <overwrite>true</overwrite>\r
461                             <resources>\r
462                                 <resource>\r
463                                     <directory>${basedir}/src/main/resources/docker</directory>\r
464                                     <filtering>true</filtering>\r
465                                     <includes>\r
466                                         <include>startup.sh</include>\r
467                                     </includes>\r
468                                 </resource>\r
469                             </resources>\r
470                         </configuration>\r
471                     </execution>\r
472                     <execution>\r
473                         <id>copy-resources-2</id>\r
474                         <phase>validate</phase>\r
475                         <goals>\r
476                             <goal>copy-resources</goal>\r
477                         </goals>\r
478                         <configuration>\r
479                             <outputDirectory>${basedir}/target/docker-stage/opt/app/datartr/etc</outputDirectory>\r
480                             <resources>\r
481                                 <resource>\r
482                                     <directory>${basedir}/src/main/resources</directory>\r
483                                     <includes>\r
484                                         <include>misc/**</include>\r
485                                         <include>**/**</include>\r
486                                     </includes>\r
487                                 </resource>\r
488                             </resources>\r
489                         </configuration>\r
490                     </execution>\r
491                     <execution>\r
492                         <id>copy-resources-3</id>\r
493                         <phase>validate</phase>\r
494                         <goals>\r
495                             <goal>copy-resources</goal>\r
496                         </goals>\r
497                         <configuration>\r
498                             <outputDirectory>${basedir}/target/docker-stage/opt/app/datartr</outputDirectory>\r
499                             <resources>\r
500                                 <resource>\r
501                                     <directory>${basedir}/data</directory>\r
502                                     <includes>\r
503                                         <include>misc/**</include>\r
504                                         <include>**/**</include>\r
505                                     </includes>\r
506                                 </resource>\r
507                             </resources>\r
508                         </configuration>\r
509                     </execution>\r
510                     <execution>\r
511                         <id>copy-resources-4</id>\r
512                         <phase>validate</phase>\r
513                         <goals>\r
514                             <goal>copy-resources</goal>\r
515                         </goals>\r
516                         <configuration>\r
517                             <outputDirectory>${basedir}/target/docker-stage/opt/app/datartr/aaf_certs</outputDirectory>\r
518                             <resources>\r
519                                 <resource>\r
520                                     <directory>${basedir}/aaf_certs</directory>\r
521                                     <includes>\r
522                                         <include>misc/**</include>\r
523                                         <include>**/**</include>\r
524                                     </includes>\r
525                                 </resource>\r
526                             </resources>\r
527                         </configuration>\r
528                     </execution>\r
529                 </executions>\r
530             </plugin>\r
531             <plugin>\r
532                 <groupId>org.apache.maven.plugins</groupId>\r
533                 <artifactId>maven-dependency-plugin</artifactId>\r
534                 <version>2.10</version>\r
535                 <executions>\r
536                     <execution>\r
537                         <id>copy-dependencies</id>\r
538                         <phase>package</phase>\r
539                         <goals>\r
540                             <goal>copy-dependencies</goal>\r
541                         </goals>\r
542                         <configuration>\r
543                             <outputDirectory>${basedir}/target/docker-stage/opt/app/datartr/aaf_certs</outputDirectory>\r
544                             <overWriteReleases>false</overWriteReleases>\r
545                             <overWriteSnapshots>false</overWriteSnapshots>\r
546                             <overWriteIfNewer>true</overWriteIfNewer>\r
547                         </configuration>\r
548                     </execution>\r
549                 </executions>\r
550             </plugin>\r
551             <plugin>\r
552                 <groupId>org.apache.maven.plugins</groupId>\r
553                 <artifactId>maven-javadoc-plugin</artifactId>\r
554                 <configuration>\r
555                     <failOnError>false</failOnError>\r
556                 </configuration>\r
557                 <executions>\r
558                     <execution>\r
559                         <id>attach-javadocs</id>\r
560                         <goals>\r
561                             <goal>jar</goal>\r
562                         </goals>\r
563                     </execution>\r
564                 </executions>\r
565             </plugin>\r
566             <plugin>\r
567                 <groupId>org.apache.maven.plugins</groupId>\r
568                 <artifactId>maven-source-plugin</artifactId>\r
569                 <version>2.2.1</version>\r
570                 <executions>\r
571                     <execution>\r
572                         <id>attach-sources</id>\r
573                         <goals>\r
574                             <goal>jar-no-fork</goal>\r
575                         </goals>\r
576                     </execution>\r
577                 </executions>\r
578             </plugin>\r
579             <plugin>\r
580                 <groupId>org.codehaus.mojo</groupId>\r
581                 <artifactId>cobertura-maven-plugin</artifactId>\r
582                 <version>2.7</version>\r
583                 <configuration>\r
584                     <formats>\r
585                         <format>html</format>\r
586                         <format>xml</format>\r
587                     </formats>\r
588                     <check/>\r
589                 </configuration>\r
590             </plugin>\r
591             <plugin>\r
592                 <groupId>org.sonatype.plugins</groupId>\r
593                 <artifactId>nexus-staging-maven-plugin</artifactId>\r
594                 <version>1.6.7</version>\r
595                 <extensions>true</extensions>\r
596                 <configuration>\r
597                     <nexusUrl>${onap.nexus.url}</nexusUrl>\r
598                     <stagingProfileId>176c31dfe190a</stagingProfileId>\r
599                     <serverId>ecomp-staging</serverId>\r
600                 </configuration>\r
601             </plugin>\r
602             <plugin>\r
603                 <groupId>org.jacoco</groupId>\r
604                 <artifactId>jacoco-maven-plugin</artifactId>\r
605                 <version>${jacoco.version}</version>\r
606                 <configuration>\r
607                     <excludes>\r
608                         <exclude>**/gen/**</exclude>\r
609                         <exclude>**/generated-sources/**</exclude>\r
610                         <exclude>**/yang-gen/**</exclude>\r
611                         <exclude>**/pax/**</exclude>\r
612                     </excludes>\r
613                 </configuration>\r
614                 <executions>\r
615                     <execution>\r
616                         <id>pre-unit-test</id>\r
617                         <goals>\r
618                             <goal>prepare-agent</goal>\r
619                         </goals>\r
620                         <configuration>\r
621                             <destFile>${project.build.directory}/code-coverage/jacoco-ut.exec</destFile>\r
622                             <propertyName>surefireArgLine</propertyName>\r
623                         </configuration>\r
624                     </execution>\r
625                     <execution>\r
626                         <id>post-unit-test</id>\r
627                         <phase>test</phase>\r
628                         <goals>\r
629                             <goal>report</goal>\r
630                         </goals>\r
631                         <configuration>\r
632                             <dataFile>${project.build.directory}/code-coverage/jacoco-ut.exec</dataFile>\r
633                             <outputDirectory>${project.reporting.outputDirectory}/jacoco-ut</outputDirectory>\r
634                         </configuration>\r
635                     </execution>\r
636                     <execution>\r
637                         <id>pre-integration-test</id>\r
638                         <phase>pre-integration-test</phase>\r
639                         <goals>\r
640                             <goal>prepare-agent</goal>\r
641                         </goals>\r
642                         <configuration>\r
643                             <destFile>${project.build.directory}/code-coverage/jacoco-it.exec</destFile>\r
644                             <propertyName>failsafeArgLine</propertyName>\r
645                         </configuration>\r
646                     </execution>\r
647                     <execution>\r
648                         <id>post-integration-test</id>\r
649                         <phase>post-integration-test</phase>\r
650                         <goals>\r
651                             <goal>report</goal>\r
652                         </goals>\r
653                         <configuration>\r
654                             <dataFile>${project.build.directory}/code-coverage/jacoco-it.exec</dataFile>\r
655                             <outputDirectory>${project.reporting.outputDirectory}/jacoco-it</outputDirectory>\r
656                         </configuration>\r
657                     </execution>\r
658                 </executions>\r
659             </plugin>\r
660         </plugins>\r
661     </build>\r
662 </project>\r