aboutsummaryrefslogtreecommitdiffstats
path: root/pom.xml
blob: dc8d43d908fe9afd1faf0e97e9c660df4771a467 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
<!--
  ============LICENSE_START=======================================================
   Copyright (C) 2018 Ericsson. All rights reserved.
   Copyright (C) 2019 Nordix Foundation.
   Modifications Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
  ================================================================================
  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.

  SPDX-License-Identifier: Apache-2.0
  ============LICENSE_END=========================================================
-->

<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/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.onap.policy.parent</groupId>
        <artifactId>integration</artifactId>
        <version>3.0.0</version>
        <relativePath />
    </parent>

    <groupId>org.onap.policy.apex-pdp</groupId>
    <artifactId>apex-pdp</artifactId>
    <version>2.2.1</version>
    <packaging>pom</packaging>

    <name>policy-apex-pdp</name>
    <description>Packaging for all the Apex components, the engine, the WAR service, and the editor.</description>

    <properties>
        <encoding>UTF-8</encoding>
        <file.encoding>UTF-8</file.encoding>
        <version.commons-cli>1.4</version.commons-cli>
        <version.kafka>1.1.1</version.kafka>
        <version.jersey>2.26</version.jersey>
        <version.hibernate>5.3.7.Final</version.hibernate>
        <version.policy.common>1.5.1</version.policy.common>
        <version.policy.models>2.1.2</version.policy.models>
        <!-- sonar/jacoco overrides -->
        <!-- Overriding oparent default sonar/jacoco settings Combine all our reports
            into one file shared across sub-modules -->
        <sonar.jacoco.reportPath>${project.basedir}/../target/code-coverage/jacoco-ut.exec</sonar.jacoco.reportPath>
        <sonar.jacoco.itReportPath>${project.basedir}/../target/code-coverage/jacoco-it.exec</sonar.jacoco.itReportPath>
        <sonar.dynamicAnalysis>reuseReports</sonar.dynamicAnalysis>
    </properties>

    <distributionManagement>
        <site>
            <id>ecomp-site</id>
            <url>dav:${onap.nexus.url}${sitePath}</url>
        </site>
    </distributionManagement>

    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-ext</artifactId>
            <version>1.8.0-beta2</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
        </dependency>
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-core</artifactId>
        </dependency>
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>
    </dependencies>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.onap.policy.common</groupId>
                <artifactId>utils</artifactId>
                <version>${version.policy.common}</version>
            </dependency>
            <dependency>
                <groupId>org.onap.policy.common</groupId>
                <artifactId>common-parameters</artifactId>
                <version>${version.policy.common}</version>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <profiles>
        <profile>
            <!--This profile is used to store Eclipse m2e settings only. It has no 
                influence on the Maven build itself. -->
            <id>only-eclipse</id>
            <activation>
                <property>
                    <name>m2e.version</name>
                </property>
            </activation>
            <build>
                <pluginManagement>
                    <plugins>
                        <plugin>
                            <groupId>org.eclipse.m2e</groupId>
                            <artifactId>lifecycle-mapping</artifactId>
                            <version>1.0.0</version>
                            <configuration>
                                <lifecycleMappingMetadata>
                                    <pluginExecutions>
                                        <pluginExecution>
                                            <pluginExecutionFilter>
                                                <groupId>org.codehaus.mojo</groupId>
                                                <artifactId>exec-maven-plugin</artifactId>
                                                <versionRange>[1.6.0,)</versionRange>
                                                <goals>
                                                    <goal>java</goal>
                                                    <goal>exec</goal>
                                                </goals>
                                            </pluginExecutionFilter>
                                            <action>
                                                <execute />
                                            </action>
                                        </pluginExecution>
                                        <pluginExecution>
                                            <pluginExecutionFilter>
                                                <groupId>org.commonjava.maven.plugins</groupId>
                                                <artifactId>directory-maven-plugin</artifactId>
                                                <versionRange>0.2</versionRange>
                                                <goals>
                                                    <goal>directory-of</goal>
                                                </goals>
                                            </pluginExecutionFilter>
                                            <action>
                                                <execute />
                                            </action>
                                        </pluginExecution>
                                        <pluginExecution>
                                            <pluginExecutionFilter>
                                                <groupId>org.apache.maven.plugins</groupId>
                                                <artifactId>maven-dependency-plugin</artifactId>
                                                <versionRange>[2.0,)</versionRange>
                                                <goals>
                                                    <goal>unpack</goal>
                                                    <goal>unpack-dependencies</goal>
                                                </goals>
                                            </pluginExecutionFilter>
                                            <action>
                                                <execute />
                                            </action>
                                        </pluginExecution>
                                        <pluginExecution>
                                            <pluginExecutionFilter>
                                                <groupId>org.apache.maven.plugins</groupId>
                                                <artifactId>maven-antrun-plugin</artifactId>
                                                <versionRange>[1.0,)</versionRange>
                                                <goals>
                                                    <goal>run</goal>
                                                </goals>
                                            </pluginExecutionFilter>
                                            <action>
                                                <ignore />
                                            </action>
                                        </pluginExecution>
                                    </pluginExecutions>
                                </lifecycleMappingMetadata>
                            </configuration>
                        </plugin>
                    </plugins>
                </pluginManagement>
            </build>
        </profile>

        <profile>
            <!--This profile is used to create local APEX documentation and a Maven site -->
            <id>apexSite</id>
            <activation>
                <property>
                    <name>apexSite</name>
                </property>
            </activation>
            <properties>
                <!-- needed to add this to avoid slow site creation due to many dead repos in some configuration see: https://stackoverflow.com/questions/26144541/why-am-i-getting-maven-error-unable-to-determine-if-resource-x-exists-in-http 
                     see: https://stackoverflow.com/questions/26144541/why-am-i-getting-maven-error-unable-to-determine-if-resource-x-exists-in-http/35673586 see: https://whatiscomingtomyhead.wordpress.com/2011/04/20/if-your-maven-site-build-is-too-slow/ -->
                <dependency.locations.enabled>false</dependency.locations.enabled>

                <!-- Site and ADOC properties -->
                <apex.adsite.prefix>https://www.onap.org/policy/apex-pdp/site</apex.adsite.prefix>
                <release-version>${project.version}</release-version>

                <adsite-main-dir>${project.basedir}/src</adsite-main-dir>
                <adsite-tools-wsclients-dir>${project.basedir}/tools/simple-wsclient/src</adsite-tools-wsclients-dir>
                <adsite-tools-common-dir>${project.basedir}/tools/tools-common/src</adsite-tools-common-dir>

                <adsite-examples-myfirstpolicy-dir>${project.basedir}/examples/examples-myfirstpolicy/src</adsite-examples-myfirstpolicy-dir>
                <adsite-examples-decisionmaker-dir>${project.basedir}/examples/examples-decisionmaker/src</adsite-examples-decisionmaker-dir>
                <adsite-examples-pcvs-dir>${project.basedir}/examples/examples-pcvs/src</adsite-examples-pcvs-dir>
                <adsite-examples-periodic-dir>${project.basedir}/examples/examples-periodic/src</adsite-examples-periodic-dir>
                <adsite-examples-onap-vcpe-dir>${project.basedir}/examples/examples-onap-vcpe/src</adsite-examples-onap-vcpe-dir>
                <adsite-examples-onap-bbs-dir>${project.basedir}/examples/examples-onap-bbs/src</adsite-examples-onap-bbs-dir>
                <adsite-examples-servlet-dir>${project.basedir}/examples/examples-servlet/src</adsite-examples-servlet-dir>

                <adsite-packages-docker-dir>${project.basedir}/packages/apex-pdp-docker/src</adsite-packages-docker-dir>

                <adsite-plugins-event-protocol-dir>${project.basedir}/plugins/plugins-event/plugins-event-protocol/src</adsite-plugins-event-protocol-dir>
                <adsite-plugins-event-protocol-jms-dir>${project.basedir}/plugins/plugins-event/plugins-event-protocol/plugins-event-protocol-jms/src</adsite-plugins-event-protocol-jms-dir>
                <adsite-plugins-event-protocol-xml-dir>${project.basedir}/plugins/plugins-event/plugins-event-protocol/plugins-event-protocol-xml/src</adsite-plugins-event-protocol-xml-dir>
                <adsite-plugins-event-protocol-yaml-dir>${project.basedir}/plugins/plugins-event/plugins-event-protocol/plugins-event-protocol-yaml/src</adsite-plugins-event-protocol-yaml-dir>

                <adsite-plugins-event-carrier-dir>${project.basedir}/plugins/plugins-event/plugins-event-carrier/src</adsite-plugins-event-carrier-dir>
                <adsite-plugins-event-carrier-jms-dir>${project.basedir}/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-jms/src</adsite-plugins-event-carrier-jms-dir>
                <adsite-plugins-event-carrier-restclient-dir>${project.basedir}/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restclient/src</adsite-plugins-event-carrier-restclient-dir>
                <adsite-plugins-event-carrier-restserver-dir>${project.basedir}/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restserver/src</adsite-plugins-event-carrier-restserver-dir>
                <adsite-plugins-event-carrier-restrequestor-dir>${project.basedir}/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restrequestor/src</adsite-plugins-event-carrier-restrequestor-dir>
                <adsite-plugins-event-carrier-kafka-dir>${project.basedir}/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-kafka/src</adsite-plugins-event-carrier-kafka-dir>
                <adsite-plugins-event-carrier-websocket-dir>${project.basedir}/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-websocket/src</adsite-plugins-event-carrier-websocket-dir>
                <adsite-plugins-context-dir>${project.basedir}/plugins/plugins-context/src</adsite-plugins-context-dir>
                <adsite-plugins-context-schema-avro-dir>${project.basedir}/plugins/plugins-context/plugins-context-schema/plugins-context-schema-avro/src</adsite-plugins-context-schema-avro-dir>
                <adsite-plugins-executor-dir>${project.basedir}/plugins/plugins-executor/src</adsite-plugins-executor-dir>
                <adsite-plugins-executor-java-dir>${project.basedir}/plugins/plugins-executor/plugins-executor-java/src</adsite-plugins-executor-java-dir>
                <adsite-plugins-executor-javascript-dir>${project.basedir}/plugins/plugins-executor/plugins-executor-javascript/src</adsite-plugins-executor-javascript-dir>
                <adsite-plugins-executor-jruby-dir>${project.basedir}/plugins/plugins-executor/plugins-executor-jruby/src</adsite-plugins-executor-jruby-dir>
                <adsite-plugins-executor-jython-dir>${project.basedir}/plugins/plugins-executor/plugins-executor-jython/src</adsite-plugins-executor-jython-dir>
                <adsite-plugins-executor-mvel-dir>${project.basedir}/plugins/plugins-executor/plugins-executor-mvel/src</adsite-plugins-executor-mvel-dir>

                <adsite-services-engine-dir>${project.basedir}/services/services-engine/src</adsite-services-engine-dir>
            </properties>
            <distributionManagement>
                <site>
                    <id>${project.artifactId}-site</id>
                    <url>${apex.adsite.prefix}/</url>
                </site>
            </distributionManagement>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.commonjava.maven.plugins</groupId>
                        <artifactId>directory-maven-plugin</artifactId>
                        <version>0.2</version>
                        <executions>
                            <execution>
                                <id>directories</id>
                                <goals>
                                    <goal>directory-of</goal>
                                </goals>
                                <phase>initialize</phase>
                                <configuration>
                                    <property>apex.basedir</property>
                                    <project>
                                        <groupId>org.onap.policy.apex-pdp</groupId>
                                        <artifactId>apex-pdp</artifactId>
                                    </project>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>

                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-site-plugin</artifactId>
                        <version>3.7.1</version>
                        <configuration>
                            <stagingDirectory>${apex.basedir}/target/ad-site</stagingDirectory>
                            <asciidoc>
                                <embedAssets>true</embedAssets>
                                <attributes>
                                    <source-highlighter>coderay</source-highlighter>
                                    <coderay-css>style</coderay-css>
                                    <imagesdir>images</imagesdir>
                                </attributes>
                            </asciidoc>
                            <moduleExcludes>
                                <asciidoc>**/_*.adoc</asciidoc>
                            </moduleExcludes>
                        </configuration>
                        <dependencies>
                            <dependency>
                                <groupId>org.apache.maven.doxia</groupId>
                                <artifactId>doxia-site-renderer</artifactId>
                                <version>1.8</version>
                            </dependency>
                            <dependency>
                                <groupId>org.asciidoctor</groupId>
                                <artifactId>asciidoctor-maven-plugin</artifactId>
                                <version>1.5.6</version>
                            </dependency>
                        </dependencies>
                    </plugin>

                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-resources-plugin</artifactId>
                        <version>3.0.2</version>
                        <executions>
                            <execution>
                                <id>copy-site-css</id>
                                <phase>process-resources</phase>
                                <goals>
                                    <goal>copy-resources</goal>
                                </goals>
                                <configuration>
                                    <resources>
                                        <resource>
                                            <directory>src/site/css</directory>
                                            <includes>
                                                <include>**/*.css</include>
                                            </includes>
                                        </resource>
                                    </resources>
                                    <outputDirectory>${project.build.directory}/site/css</outputDirectory>
                                    <overwrite>true</overwrite>
                                </configuration>
                            </execution>

                            <execution>
                                <id>copy-site-logos</id>
                                <phase>process-resources</phase>
                                <goals>
                                    <goal>copy-resources</goal>
                                </goals>
                                <configuration>
                                    <resources>
                                        <resource>
                                            <directory>src/site/images</directory>
                                            <includes>
                                                <include>**/*.png</include>
                                            </includes>
                                        </resource>
                                    </resources>
                                    <outputDirectory>${project.build.directory}/site/images</outputDirectory>
                                    <overwrite>true</overwrite>
                                </configuration>
                            </execution>

                            <execution>
                                <id>copy-um-install-images</id>
                                <phase>process-resources</phase>
                                <goals>
                                    <goal>copy-resources</goal>
                                </goals>
                                <configuration>
                                    <resources>
                                        <resource>
                                            <directory>src/site-docs/adoc/resources/images/install-guide</directory>
                                            <includes>
                                                <include>**/*.jpg</include>
                                                <include>**/*.png</include>
                                            </includes>
                                        </resource>
                                    </resources>
                                    <outputDirectory>${project.build.directory}/site/user-manual/install/images/install-guide</outputDirectory>
                                </configuration>
                            </execution>

                            <execution>
                                <id>copy-howto-config-images</id>
                                <phase>process-resources</phase>
                                <goals>
                                    <goal>copy-resources</goal>
                                </goals>
                                <configuration>
                                    <resources>
                                        <resource>
                                            <directory>src/site-docs/adoc/resources/images/apex-intro</directory>
                                            <includes>
                                                <include>ApexEngineConfig.jpg</include>
                                                <include>ApexEngineConfig.png</include>
                                            </includes>
                                        </resource>
                                    </resources>
                                    <outputDirectory>${project.build.directory}/site/user-manual/configuration/images/apex-intro</outputDirectory>
                                </configuration>
                            </execution>

                            <execution>
                                <id>copy-tech-intro-apex-images</id>
                                <phase>process-resources</phase>
                                <goals>
                                    <goal>copy-resources</goal>
                                </goals>
                                <configuration>
                                    <resources>
                                        <resource>
                                            <directory>src/site-docs/adoc/resources/images/apex-intro</directory>
                                            <includes>
                                                <include>**/*.jpg</include>
                                                <include>**/*.png</include>
                                            </includes>
                                        </resource>
                                    </resources>
                                    <outputDirectory>${project.build.directory}/site/apex-intro/images/apex-intro</outputDirectory>
                                </configuration>
                            </execution>

                            <execution>
                                <id>copy-tech-pm-apex-images</id>
                                <phase>process-resources</phase>
                                <goals>
                                    <goal>copy-resources</goal>
                                </goals>
                                <configuration>
                                    <resources>
                                        <resource>
                                            <directory>src/site-docs/adoc/resources/images/apex-policy-model</directory>
                                            <includes>
                                                <include>**/*.jpg</include>
                                                <include>**/*.png</include>
                                            </includes>
                                        </resource>
                                    </resources>
                                    <outputDirectory>${project.build.directory}/site/policy-guide/policy-model/images/apex-policy-model</outputDirectory>
                                </configuration>
                            </execution>

                            <execution>
                                <id>copy-tech-pm-apex-intro-images</id>
                                <phase>process-resources</phase>
                                <goals>
                                    <goal>copy-resources</goal>
                                </goals>
                                <configuration>
                                    <resources>
                                        <resource>
                                            <directory>src/site-docs/adoc/resources/images/apex-intro</directory>
                                            <includes>
                                                <include>ApexPolicyMatrix.png</include>
                                            </includes>
                                        </resource>
                                    </resources>
                                    <outputDirectory>${project.build.directory}/site/policy-guide/images/apex-intro</outputDirectory>
                                </configuration>
                            </execution>

                            <execution>
                                <id>copy-domain-mfp-images</id>
                                <phase>process-resources</phase>
                                <goals>
                                    <goal>copy-resources</goal>
                                </goals>
                                <configuration>
                                    <resources>
                                        <resource>
                                            <directory>${project.basedir}/examples/examples-myfirstpolicy/src/site-docs/adoc/resources/images</directory>
                                            <includes>
                                                <include>**/*.jpg</include>
                                                <include>**/*.png</include>
                                            </includes>
                                        </resource>
                                    </resources>
                                    <outputDirectory>${project.build.directory}/site/user-manual/my-first-policy/images</outputDirectory>
                                </configuration>
                            </execution>

                            <execution>
                                <id>copy-asciidoc-generated</id>
                                <phase>process-resources</phase>
                                <goals>
                                    <goal>copy-resources</goal>
                                </goals>
                                <configuration>
                                    <resources>
                                        <resource>
                                            <directory>target/generated-docs</directory>
                                        </resource>
                                    </resources>
                                    <outputDirectory>${project.build.directory}/site/docs-apex</outputDirectory>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>

                    <plugin>
                        <artifactId>maven-checkstyle-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>onap-java-style</id>
                                <goals>
                                    <goal>check</goal>
                                </goals>
                                <phase>process-sources</phase>
                                <configuration>
                                    <!-- Use Google Java Style Guide: https://github.com/checkstyle/checkstyle/blob/master/src/main/resources/google_checks.xml
                                        with minor changes -->
                                    <configLocation>onap-checkstyle/onap-java-style.xml</configLocation>
                                    <!-- <sourceDirectory> is needed so that checkstyle ignores the generated sources directory -->
                                    <sourceDirectory>${project.build.sourceDirectory}</sourceDirectory>
                                    <includeResources>true</includeResources>
                                    <includeTestSourceDirectory>true</includeTestSourceDirectory>
                                    <includeTestResources>true</includeTestResources>
                                    <excludes>
                                    </excludes>
                                    <consoleOutput>true</consoleOutput>
                                    <failOnViolation>true</failOnViolation>
                                    <violationSeverity>warning</violationSeverity>
                                </configuration>
                            </execution>
                        </executions>
                        <dependencies>
                            <dependency>
                                <groupId>org.onap.oparent</groupId>
                                <artifactId>checkstyle</artifactId>
                                <version>${oparent.version}</version>
                                <scope>compile</scope>
                            </dependency>
                        </dependencies>
                    </plugin>
                </plugins>
            </build>

            <reporting>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-project-info-reports-plugin</artifactId>
                        <version>2.9</version>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-javadoc-plugin</artifactId>
                        <version>3.0.0-M1</version>
                        <reportSets>
                            <reportSet>
                                <id>default</id>
                                <reports>
                                    <report>javadoc</report>
                                </reports>
                            </reportSet>
                            <reportSet>
                                <id>aggregate</id>
                                <inherited>false</inherited>
                                <reports>
                                    <report>aggregate</report>
                                </reports>
                            </reportSet>
                        </reportSets>
                        <configuration>
                            <destDir>javadocs</destDir>
                            <source>${maven.compiler.target}</source>
                            <encoding>${project.resources.sourceEncoding}</encoding>
                            <docencoding>${project.resources.sourceEncoding}</docencoding>
                            <charset>${project.resources.sourceEncoding}</charset>
                            <!--<aggregate>false</aggregate>-->
                            <nohelp>true</nohelp>
                            <header>APEX - ${project.artifactId} ${project.version}</header>
                            <footer>APEX - ${project.artifactId} ${project.version}</footer>
                            <doctitle>APEX - ${project.artifactId} ${project.version}</doctitle>
                            <noqualifier>all</noqualifier>
                            <detectLinks>false</detectLinks>
                            <detectJavaApiLink>true</detectJavaApiLink>
                            <javadocDirectory>${project.basedir}/src/main/javadoc</javadocDirectory>
                            <docfilessubdirs>true</docfilessubdirs>
                            <overview>overview.html</overview>
                            <show>public</show>
                            <!-- Exclude JAXB generated packages -->
                            <excludePackageNames>org.onap.policy.apex.plugins.event.protocol.xml.jaxb</excludePackageNames>
                        </configuration>
                    </plugin>
                </plugins>
            </reporting>
        </profile>

        <profile>
            <id>apexDocs</id>
            <activation>
                <property>
                    <name>apexDocs</name>
                </property>
            </activation>
            <modules />
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.asciidoctor</groupId>
                        <artifactId>asciidoctor-maven-plugin</artifactId>
                        <version>1.5.6</version>
                        <dependencies>
                            <dependency>
                                <groupId>org.asciidoctor</groupId>
                                <artifactId>asciidoctorj-pdf</artifactId>
                                <version>1.5.0-alpha.16</version>
                            </dependency>
                        </dependencies>
                        <configuration>
                            <sourceHighlighter>coderay</sourceHighlighter>
                            <sourceDirectory>src/site-docs/adoc/guides</sourceDirectory>
                            <preserveDirectories>true</preserveDirectories>
                            <attributes>
                                <toc />
                                <pagenums />
                                <sectnums />
                                <linkcss>true</linkcss>
                                <stylesdir>styles</stylesdir>

                                <!-- Change this to get another style -->
                                <stylesheet>compass/rocket-panda.css</stylesheet>
                                <pdf-stylesdir>${project.basedir}/src/site-docs/adoc/resources-pdf/themes</pdf-stylesdir>
                                <pdf-style>apex-pdf.yml</pdf-style>
                                <pdf-fontsdir>${project.basedir}/src/site-docs/adoc/resources-pdf/fonts</pdf-fontsdir>

                                <revnumber>${project.version}</revnumber>
                                <revdate>${maven.build.timestamp}</revdate>
                                <organization>${project.organization.name}</organization>

                                <release-version>${project.version}</release-version>

                                <adsite-main-dir>${project.basedir}/src</adsite-main-dir>
                                <adsite-tools-wsclients-dir>${project.basedir}/tools/simple-wsclient/src</adsite-tools-wsclients-dir>
                                <adsite-tools-common-dir>${project.basedir}/tools/tools-common/src</adsite-tools-common-dir>

                                <adsite-examples-myfirstpolicy-dir>${project.basedir}/examples/examples-myfirstpolicy/src</adsite-examples-myfirstpolicy-dir>
                                <adsite-examples-decisionmaker-dir>${project.basedir}/examples/examples-decisionmaker/src</adsite-examples-decisionmaker-dir>
                                <adsite-examples-pcvs-dir>${project.basedir}/examples/examples-pcvs/src</adsite-examples-pcvs-dir>
                                <adsite-examples-periodic-dir>${project.basedir}/examples/examples-periodic/src</adsite-examples-periodic-dir>
                                <adsite-examples-onap-vcpe-dir>${project.basedir}/examples/examples-onap-vcpe/src</adsite-examples-onap-vcpe-dir>
                                <adsite-examples-onap-bbs-dir>${project.basedir}/examples/examples-onap-bbs/src</adsite-examples-onap-bbs-dir>
                                <adsite-examples-servlet-dir>${project.basedir}/examples/examples-servlet/src</adsite-examples-servlet-dir>

                                <adsite-packages-docker-dir>${project.basedir}/packages/apex-pdp-docker/src</adsite-packages-docker-dir>

                                <adsite-plugins-event-protocol-dir>${project.basedir}/plugins/plugins-event/plugins-event-protocol/src</adsite-plugins-event-protocol-dir>
                                <adsite-plugins-event-protocol-jms-dir>${project.basedir}/plugins/plugins-event/plugins-event-protocol/plugins-event-protocol-jms/src</adsite-plugins-event-protocol-jms-dir>
                                <adsite-plugins-event-protocol-xml-dir>${project.basedir}/plugins/plugins-event/plugins-event-protocol/plugins-event-protocol-xml/src</adsite-plugins-event-protocol-xml-dir>
                                <adsite-plugins-event-protocol-yaml-dir>${project.basedir}/plugins/plugins-event/plugins-event-protocol/plugins-event-protocol-yaml/src</adsite-plugins-event-protocol-yaml-dir>
                                <adsite-plugins-event-carrier-dir>${project.basedir}/plugins/plugins-event/plugins-event-carrier/src</adsite-plugins-event-carrier-dir>
                                <adsite-plugins-event-carrier-jms-dir>${project.basedir}/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-jms/src</adsite-plugins-event-carrier-jms-dir>
                                <adsite-plugins-event-carrier-restclient-dir>${project.basedir}/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restclient/src</adsite-plugins-event-carrier-restclient-dir>
                                <adsite-plugins-event-carrier-restserver-dir>${project.basedir}/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restserver/src</adsite-plugins-event-carrier-restserver-dir>
                                <adsite-plugins-event-carrier-restrequestor-dir>${project.basedir}/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restrequestor/src</adsite-plugins-event-carrier-restrequestor-dir>
                                <adsite-plugins-event-carrier-kafka-dir>${project.basedir}/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-kafka/src</adsite-plugins-event-carrier-kafka-dir>
                                <adsite-plugins-event-carrier-websocket-dir>${project.basedir}/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-websocket/src</adsite-plugins-event-carrier-websocket-dir>
                                <adsite-plugins-context-dir>${project.basedir}/plugins/plugins-context/src</adsite-plugins-context-dir>
                                <adsite-plugins-context-schema-avro-dir>${project.basedir}/plugins/plugins-context/plugins-context-schema/plugins-context-schema-avro/src</adsite-plugins-context-schema-avro-dir>
                                <adsite-plugins-executor-dir>${project.basedir}/plugins/plugins-executor/src</adsite-plugins-executor-dir>
                                <adsite-plugins-executor-java-dir>${project.basedir}/plugins/plugins-executor/plugins-executor-java/src</adsite-plugins-executor-java-dir>
                                <adsite-plugins-executor-javascript-dir>${project.basedir}/plugins/plugins-executor/plugins-executor-javascript/src</adsite-plugins-executor-javascript-dir>
                                <adsite-plugins-executor-jruby-dir>${project.basedir}/plugins/plugins-executor/plugins-executor-jruby/src</adsite-plugins-executor-jruby-dir>
                                <adsite-plugins-executor-jython-dir>${project.basedir}/plugins/plugins-executor/plugins-executor-jython/src</adsite-plugins-executor-jython-dir>
                                <adsite-plugins-executor-mvel-dir>${project.basedir}/plugins/plugins-executor/plugins-executor-mvel/src</adsite-plugins-executor-mvel-dir>

                                <adsite-services-engine-dir>${project.basedir}/services/services-engine/src</adsite-services-engine-dir>
                            </attributes>
                        </configuration>
                        <executions>
                            <execution>
                                <id>asciidoc-html-doc</id>
                                <phase>generate-resources</phase>
                                <configuration>
                                    <backend>html</backend>
                                    <outputDirectory>${project.build.directory}/generated-docs/html</outputDirectory>
                                    <resources>
                                        <resource>
                                            <directory>src/site-docs/adoc/resources</directory>
                                        </resource>
                                        <resource>
                                            <directory>${project.basedir}/examples/examples-myfirstpolicy/src/site-docs/adoc/resources</directory>
                                        </resource>
                                    </resources>
                                </configuration>
                                <goals>
                                    <goal>process-asciidoc</goal>
                                </goals>
                            </execution>
                            <execution>
                                <id>asciidoc-pdf-doc</id>
                                <phase>generate-resources</phase>
                                <configuration>
                                    <backend>pdf</backend>
                                    <outputDirectory>${project.build.directory}/generated-docs/pdf</outputDirectory>
                                    <imagesDir>${project.basedir}/target/generated-docs/html/images</imagesDir>
                                </configuration>
                                <goals>
                                    <goal>process-asciidoc</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>

                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-resources-plugin</artifactId>
                        <version>3.0.2</version>
                        <executions>
                            <execution>
                                <id>copy-site-css</id>
                                <phase>generate-sources</phase>
                                <goals>
                                    <goal>copy-resources</goal>
                                </goals>
                                <configuration>
                                    <resources>
                                        <resource>
                                            <directory>${project.basedir}/src/site-docs/adoc/guides</directory>
                                            <includes>
                                                <include>**/*.css</include>
                                            </includes>
                                        </resource>
                                    </resources>
                                    <outputDirectory>${project.basedir}/target/generated-docs/pdf/styles</outputDirectory>
                                    <overwrite>true</overwrite>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>

                </plugins>
            </build>
        </profile>
    </profiles>

    <build>
        <plugins>
            <plugin>
                <groupId>org.jacoco</groupId>
                <artifactId>jacoco-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <id>pre-unit-test</id>
                        <goals>
                            <goal>prepare-agent</goal>
                        </goals>
                        <configuration>
                            <destFile>${sonar.jacoco.reportPath}</destFile>
                            <append>true</append>
                        </configuration>
                    </execution>
                    <execution>
                        <id>post-unit-test</id>
                        <phase>test</phase>
                        <goals>
                            <goal>report</goal>
                        </goals>
                        <configuration>
                            <dataFile>${sonar.jacoco.reportPath}</dataFile>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.jacoco</groupId>
                    <artifactId>jacoco-maven-plugin</artifactId>
                    <version>${jacoco.version}</version>
                    <configuration>
                        <!-- Note: This exclusion list should match <sonar.exclusions> property
                            above -->
                        <excludes>
                            <exclude>**/gen/**</exclude>
                            <exclude>**/generated-sources/**</exclude>
                            <exclude>**/yang-gen/**</exclude>
                            <exclude>**/pax/**</exclude>
                        </excludes>
                    </configuration>
                    <executions>
                        <!-- Prepares the property pointing to the JaCoCo runtime agent which
                            is passed as VM argument when Maven the Surefire plugin is executed. -->
                        <execution>
                            <id>pre-unit-test</id>
                            <goals>
                                <goal>prepare-agent</goal>
                            </goals>
                            <configuration>
                                <destFile>${sonar.jacoco.reportPath}</destFile>
                            </configuration>
                        </execution>
                        <!-- Ensures that the code coverage report for unit tests is created
                            after unit tests have been run. -->
                        <execution>
                            <id>post-unit-test</id>
                            <phase>test</phase>
                            <goals>
                                <goal>report</goal>
                            </goals>
                            <configuration>
                                <dataFile>${sonar.jacoco.reportPath}</dataFile>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>

    <modules>
        <module>model</module>
        <module>context</module>
        <module>core</module>
        <module>auth</module>
        <module>services</module>
        <module>plugins</module>
        <module>examples</module>
        <module>testsuites</module>
        <module>client</module>
        <module>tools</module>
        <module>packages</module>
    </modules>
</project>