Add Sonar Kotlin support

Rework parent pom so configuration can be inherited for all
modules from root ccsdk-apps/pom.xml.
Also updated some pom description so it is better presented
within Sonar.

These commands can be used locally to publish report to Sonar:

   mvn clean install -e -Dsonar
   mvn sonar:sonar -e -Dsonar -Dsonar.host.url=https://sonar.onap.org

Note: kotlin code coverage is not fully functional due to
https://github.com/jacoco/jacoco/issues/763
That issue has been fixed in jacoco master branch, but hasn't
been released. Once released, in version 0.8.3, we can override
version of jacoco plugin for ccsdk-apps.

Change-Id: Ic382a4d0df9d14a82536993d2dfa55d7f105f951
Issue-ID: CCSDK-725
Signed-off-by: Alexis de Talhouët <adetalhouet89@gmail.com>
diff --git a/pom.xml b/pom.xml
index 911d841..d6dc5c0 100755
--- a/pom.xml
+++ b/pom.xml
@@ -21,18 +21,45 @@
 		<name>ONAP</name>
 	</organization>
 
+	<properties>
+		<!--Don't set any language to let sonar enable multi-language support-->
+		<sonar.language/>
+		<!--Provide src/main as source path so both src/main/java and src/main/kotlin are scanned-->
+		<sonar.sources>src/main</sonar.sources>
+		<!--Provide src/test as source path for test so both src/test/java and src/test/kotlin are scanned-->
+		<sonar.tests>src/test</sonar.tests>
+		<!--Only include java and kt files to the scan-->
+		<sonar.inclusions>**/*.java,**/*.kt</sonar.inclusions>
+		<!--Specify path to load jacoco XLM report, as Sonar can't load Kotlin coverage from binary report.
+		Note: coverage for now is invalid and is failing to load because of:
+		"Cannot import coverage information for file '{file}', coverage data is invalid."
+		see https://github.com/jacoco/jacoco/issues/763
+		That issue has been fixed in 0.8.3 but haven't yet been release. -->
+		<sonar.coverage.jacoco.xmlReportPaths>${project.reporting.outputDirectory}/jacoco-ut/jacoco.xml</sonar.coverage.jacoco.xmlReportPaths>
+	</properties>
+
 	<modules>
 		<module>components</module>
 		<module>ms</module>
 	</modules>
 
+	<build>
+		<plugins>
+			<plugin>
+				<groupId>org.jacoco</groupId>
+				<artifactId>jacoco-maven-plugin</artifactId>
+				<!--Change version to 0.8.3 when released-->
+				<version>${jacoco.version}</version>
+			</plugin>
+		</plugins>
+	</build>
+
 	<scm>
 		<connection>scm:git:ssh://git@${onap.git.host}/apps.git</connection>
 		<developerConnection>scm:git:ssh://${onap.git.host}:${onap.git.port}/${onap.git.project}/apps.git</developerConnection>
 		<url>${onap.git.protocol}://${onap.git.host}/projects/${onap.git.project}/repos/apps/browse</url>
 	</scm>
 
-
 	<profiles>
 		<profile>
 			<id>blackduck</id>
@@ -71,4 +98,5 @@
 		</profile>
 
 	</profiles>
+
 </project>