Use helper class to retrieve network logger
[policy/drools-applications.git] / pom.xml
diff --git a/pom.xml b/pom.xml
index 91c8f49..993ae61 100644 (file)
--- a/pom.xml
+++ b/pom.xml
@@ -2,14 +2,14 @@
   ============LICENSE_START=======================================================
   drools-pdp-apps
   ================================================================================
-  Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+  Copyright (C) 2017-2018 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.
   ============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>
-
-       <groupId>org.openecomp.policy.drools-applications</groupId>
-       <artifactId>drools-pdp-apps</artifactId>
-       <version>1.1.0-SNAPSHOT</version>
-
-       <name>Drools PDP Application Models</name>
-       <packaging>pom</packaging>
-
-       <properties>
-               <maven.compiler.source>1.8</maven.compiler.source>
-               <maven.compiler.target>1.8</maven.compiler.target>
-               <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-               <project.source.version>1.8</project.source.version>
-               <project.target.version>1.8</project.target.version>
-               <nexusproxy>https://nexus.openecomp.org</nexusproxy>
-       </properties>
-
-       <repositories>
-               <repository>
-                       <id>central</id>
-                       <name>Maven 2 repository</name>
-                       <url>http://repo2.maven.org/maven2/</url>
-               </repository>
-               <repository>
-                       <id>ecomp-releases</id>
-                       <name>OpenECOMP Release Repository</name>
-                       <url>${nexusproxy}/content/repositories/releases/</url>
-               </repository>
-               <repository>
-                       <id>ecomp-staging</id>
-                       <name>OpenECOMP Staging Repository</name>
-                       <url>${nexusproxy}/content/repositories/staging/</url>
-               </repository>
-       </repositories>
-
-       <build>
-               <plugins>
-                       <plugin>
-                               <groupId>org.sonatype.plugins</groupId>
-                               <artifactId>nexus-staging-maven-plugin</artifactId>
-                               <version>1.6.7</version>
-                               <extensions>true</extensions>
-                               <configuration>
-                                       <nexusUrl>${nexusproxy}</nexusUrl>
-                                       <stagingProfileId>176c31dfe190a</stagingProfileId>
-                                       <serverId>ecomp-staging</serverId>
-                               </configuration>
-                       </plugin>
-                       <plugin>
-                               <groupId>org.apache.maven.plugins</groupId>
-                               <artifactId>maven-deploy-plugin</artifactId>
-                               <version>2.8</version> <!-- This version supports the "deployAtEnd" parameter -->
-                               <configuration>
-                                       <skip />
-                               </configuration>
-                       </plugin>
-                       <plugin>
-                               <groupId>org.apache.maven.plugins</groupId>
-                               <artifactId>maven-compiler-plugin</artifactId>
-                               <version>3.0</version>
-                               <configuration>
-                                       <encoding>${project.encoding}</encoding>
-                                       <source>${project.source.version}</source>
-                                       <target>${project.target.version}</target>
-                               </configuration>
-                       </plugin>
-            <!--
-
-                license plugin
-
-                 Run
-
-                     mvn clean
-
-                 before running from the command line
-
-                     mvn license:update-file-header
-
-            -->
-
+<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>2.1.0-SNAPSHOT</version>
+        <relativePath />
+    </parent>
+
+    <groupId>org.onap.policy.drools-applications</groupId>
+    <artifactId>drools-applications</artifactId>
+    <version>1.4.0-SNAPSHOT</version>
+
+    <name>policy-drools-applications</name>
+    <packaging>pom</packaging>
+
+    <properties>
+        <!-- Project common build settings -->
+        <maven.compiler.source>1.8</maven.compiler.source>
+        <maven.compiler.target>1.8</maven.compiler.target>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+        <project.source.version>1.8</project.source.version>
+        <project.target.version>1.8</project.target.version>
+
+        <!-- Project path properties -->
+        <nexusproxy>https://nexus.onap.org</nexusproxy>
+        <sitePath>/content/sites/site/${project.groupId}/${project.artifactId}/${project.version}</sitePath>
+        <releases.path>content/repositories/releases/</releases.path>
+        <snapshots.path>content/repositories/snapshots/</snapshots.path>
+        <staging.path>content/repositories/staging/</staging.path>
+
+        <!-- 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>
+
+        <!-- Project common dependency versions -->
+        <version.policy.common>1.4.0-SNAPSHOT</version.policy.common>
+        <version.policy.drools-pdp>1.4.0-SNAPSHOT</version.policy.drools-pdp>
+    </properties>
+
+    <build>
+        <plugins>
             <plugin>
-
-                <groupId>org.codehaus.mojo</groupId>
-
-                <artifactId>license-maven-plugin</artifactId>
-
-                <version>1.9</version>
-
+                <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>
+            <plugin>
+                <groupId>org.sonatype.plugins</groupId>
+                <artifactId>nexus-staging-maven-plugin</artifactId>
+                <extensions>true</extensions>
                 <configuration>
-
-                    <extraExtensions>
-
-                        <!-- Used to add or change the header style <fileTypeYouAreMapping>
-
-                            fileTypeMappedInto </fileTypeYouAreMapping> -->
-                        
-                        <!-- Since it appears that comments in .json files are, at best, 
-                               iffy, you should remove the license headers from those files or
-                               you can list each individual file to be ignored in the ignore
-                               section below -->
-
-                        <drl>java</drl>
-
-                        <ccf>properties</ccf>
-
-
-                        <!-- Because the typical sql comment type confuses the update algorithm -->
-
-                        <sql>java</sql>
-                        
-                        <!-- yaml files are generated, but some are included -->
-                        
-                        <yaml>properties</yaml>
-
-                    </extraExtensions>
-
-                    <licenseName>apache_v2</licenseName>
-
-
-                    <inceptionYear>2017</inceptionYear>
-
-                    <organizationName>AT&amp;T Intellectual Property. All rights reserved.</organizationName>
-
-
-                    <!-- Once you have established the tags and delimiter, they cannot be
-
-                        changed -->
-
-                    <processStartTag>============LICENSE_START=======================================================</processStartTag>
-
-                    <processEndTag>============LICENSE_END=========================================================</processEndTag>
-
-                    <sectionDelimiter>================================================================================</sectionDelimiter>
-
-                    <addJavaLicenseAfterPackage>false</addJavaLicenseAfterPackage>
-
-                    <canUpdateCopyright>true</canUpdateCopyright>
-
-                    <canUpdateDescription>true</canUpdateDescription>
-
-                    <canUpdateLicense>true</canUpdateLicense>
-
-                    <emptyLineAfterHeader>true</emptyLineAfterHeader>
-
-                    <roots>
-
-                        <!-- Default is src, target/generated-sources, target/processed-sources -->
-
-
-                        <!-- Everything except the files in the excludes section -->
-
-                        <root>/</root>
-
-                    </roots>
-
-                    <excludes>
-
-                        <!-- Files which are to be excluded. The pom.xml is excluded because
-
-                            the start/end tags and the delimiters are in the body of the file. This confuses
-
-                            the algorithm. So, this file must be manually updated with a license header. -->
-
-                        <exclude>pom.xml</exclude>
-
-                    </excludes>
-
+                    <nexusUrl>${nexusproxy}</nexusUrl>
+                    <stagingProfileId>176c31dfe190a</stagingProfileId>
+                    <serverId>ecomp-staging</serverId>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-deploy-plugin</artifactId>
+                <configuration>
+                    <skip />
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <configuration>
+                    <encoding>${project.encoding}</encoding>
+                    <source>${project.source.version}</source>
+                    <target>${project.target.version}</target>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-site-plugin</artifactId>
+                <dependencies>
+                    <dependency>
+                        <groupId>org.apache.maven.wagon</groupId>
+                        <artifactId>wagon-webdav-jackrabbit</artifactId>
+                        <version>2.10</version>
+                    </dependency>
+                </dependencies>
+            </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>
+                            <failsOnViolation>true</failsOnViolation>
+                            <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>
+        <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>
+                <plugin>
+                    <groupId>org.eclipse.m2e</groupId>
+                    <artifactId>lifecycle-mapping</artifactId>
+                    <version>1.0.0</version>
+                    <configuration>
+                        <lifecycleMappingMetadata>
+                            <pluginExecutions>
+                                <pluginExecution>
+                                    <pluginExecutionFilter>
+                                        <groupId>org.apache.maven.plugins</groupId>
+                                        <artifactId>maven-checkstyle-plugin</artifactId>
+                                        <versionRange>2.17,)</versionRange>
+                                        <goals>
+                                            <goal>check</goal>
+                                        </goals>
+                                    </pluginExecutionFilter>
+                                    <action>
+                                        <ignore />
+                                    </action>
+                                </pluginExecution>
+                            </pluginExecutions>
+                        </lifecycleMappingMetadata>
+                    </configuration>
+                </plugin>
+            </plugins>
+        </pluginManagement>
+    </build>
+
+    <modules>
+        <module>controlloop</module>
+        <module>testsuites</module>
+    </modules>
+
+    <reporting>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-javadoc-plugin</artifactId>
+                <version>2.10.4</version>
+                <configuration>
+                    <failOnError>false</failOnError>
+                    <doclet>org.umlgraph.doclet.UmlGraphDoc</doclet>
+                    <docletArtifact>
+                        <groupId>org.umlgraph</groupId>
+                        <artifactId>umlgraph</artifactId>
+                        <version>5.6</version>
+                    </docletArtifact>
+                    <additionalparam>-views</additionalparam>
+                    <useStandardDocletOptions>true</useStandardDocletOptions>
                 </configuration>
+            </plugin>
+        </plugins>
+    </reporting>
+
+    <dependencies>
+        <dependency>
+            <groupId>ch.qos.logback</groupId>
+            <artifactId>logback-classic</artifactId>
+            <scope>provided</scope>
+        </dependency>
+    </dependencies>
 
-            </plugin>                  
-               </plugins>
-       </build>
-
-       <modules>
-               <module>rest</module>
-               <module>aai</module>
-               <module>appc</module>
-               <module>controlloop</module>
-               <module>mso</module>
-               <module>sdnc</module>
-               <module>trafficgenerator</module>
-               <module>template.demo</module>
-               <module>vfwsim</module>
-               <module>archetype-closedloop-demo-rules</module>
-               <module>packages</module>
-       </modules>
-
-
-       <distributionManagement>
-               <repository>
-                       <id>ecomp-releases</id>
-                       <name>OpenECOMP Release Repository</name>
-                       <url>${nexusproxy}/content/repositories/releases/</url>
-               </repository>
-               <snapshotRepository>
-                       <id>ecomp-snapshots</id>
-                       <name>OpenECOMP Snapshot Repository</name>
-                       <url>${nexusproxy}/content/repositories/snapshots/</url>
-               </snapshotRepository>
-       </distributionManagement>
 
 </project>