<?xml version="1.0" encoding="UTF-8"?>
<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>io.mosip</groupId>
		<artifactId>commons</artifactId>
		<version>1.0.6</version>
	</parent>


	<groupId>io.mosip.kernel</groupId>
	<artifactId>kernel-parent</artifactId>
	<packaging>pom</packaging>
	<name>kernel</name>
	<description>Parent project of MOSIP Kernel</description>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

		<!-- maven -->
		<maven.compiler.source>1.8</maven.compiler.source>
		<maven.compiler.target>1.8</maven.compiler.target>
		<maven.compiler.version>3.7.0</maven.compiler.version>
		<maven.jar.plugin.version>3.0.2</maven.jar.plugin.version>
		<maven.war.plugin.version>3.1.0</maven.war.plugin.version>
		<maven.surefire.plugin.version>2.9</maven.surefire.plugin.version>
		<maven.jacoco.plugin.version>0.8.1</maven.jacoco.plugin.version>
		<maven.sonar.plugin.version>3.2</maven.sonar.plugin.version>
		<maven.javadoc.version>3.0.1</maven.javadoc.version>
		<maven-shade-plugin.version>2.3</maven-shade-plugin.version>

		<!-- spring -->
		<spring.boot.version>2.0.2.RELEASE</spring.boot.version>
		<spring.data.jpa.version>2.0.7.RELEASE</spring.data.jpa.version>
		<spring.security.test.version>5.0.5.RELEASE</spring.security.test.version>
		<spring-cloud-config.version>2.0.0.RELEASE</spring-cloud-config.version>

		<swagger.core.version>2.0.7</swagger.core.version>
		<swagger.annotations.version>1.5.21</swagger.annotations.version>
		<springfox.version>2.9.2</springfox.version>

		<vertx.version>3.6.2</vertx.version>
		<vertx.health.check.version>3.7.0</vertx.health.check.version>


		<!-- javax -->
		<javax.interceptor.version>1.2</javax.interceptor.version>
		<javax.el-api.version>3.0.0</javax.el-api.version>
		<javax.transaction.api.version>1.3</javax.transaction.api.version>
		<javax.persistence.api.version>2.2</javax.persistence.api.version>
		<javax.validation-api.version>2.0.1.Final</javax.validation-api.version>
		<glassfish.javax.el>2.2.6</glassfish.javax.el>

		<!-- data -->
		<h2.version>1.4.197</h2.version>
		<mysql.connector.version>5.1.46</mysql.connector.version>
		<postgresql.version>42.2.2</postgresql.version>
		<eclipselink.version>2.5.0</eclipselink.version>
		<hibernate.version>5.2.17.Final</hibernate.version>
		<hibernate.validator.version>6.0.12.Final</hibernate.validator.version>

		<!-- test -->
		<junit.version>4.12</junit.version>
		<mockito.version>1.10.19</mockito.version>
		<powermock.version>1.7.4</powermock.version>
		<powermock.beta.version>2.0.0-beta.5</powermock.beta.version>

		<!-- logger -->
		<logback.version>1.2.3</logback.version>
		<slf4j.version>1.7.19</slf4j.version>
		<log4j-over-slf4j>1.7.7</log4j-over-slf4j>
		<jcl.to.slf4j.version>1.7.25</jcl.to.slf4j.version>

		<!-- json -->
		<jackson.version>2.9.5</jackson.version>
		<jackson.datatype.version>2.9.8</jackson.datatype.version>
		<jackson.databind>2.9.6</jackson.databind>
		<json.utility.version>20180130</json.utility.version>
		<json.schema.validator.version>2.2.10</json.schema.validator.version>
		<json.version>20180813</json.version>

		<!-- utilities -->
		<commons-math3>3.6.1</commons-math3>
		<commons-lang3>3.7</commons-lang3>
		<commons-io>2.6</commons-io>
		<commons-codec>1.11</commons-codec>
		<commons-collections4.version>4.3</commons-collections4.version>
		<commons.beanutils.version>1.9.2</commons.beanutils.version>
		<commons.configuration2.version>2.2</commons.configuration2.version>
		<apache.httpcomponents.version>4.5.6</apache.httpcomponents.version>
		<guava.version>19.0</guava.version>
		<lombok.version>1.16.18</lombok.version>
		<jsch.version>0.1.54</jsch.version>
		<sshd.version>1.4.0</sshd.version>
		<itextcore.version>7.1.0</itextcore.version>
		<itexthtml2pdf.version>2.0.0</itexthtml2pdf.version>
		<itext.version>5.5.13</itext.version>
		<freemarker.version>2.3.23</freemarker.version>
		<velocity.version>1.7</velocity.version>
		<velocity.tool.version>2.0</velocity.tool.version>
		<datamapper.orika>1.5.2</datamapper.orika>
		<modelmapper.version>2.1.1</modelmapper.version>
		<bouncycastle.version>1.60</bouncycastle.version>
		<icu4j.version>63.1</icu4j.version>
		<seventeam-otp.version>1.0.0</seventeam-otp.version>
		<google.zxing.version>3.3.3</google.zxing.version>
		<hadoop-client>2.8.1</hadoop-client>
		<htrace-core4>4.1.0-incubating</htrace-core4>
		<aws.javasdk.version>1.11.368</aws.javasdk.version>
		<s3mock.version>0.2.4</s3mock.version>
		<ignite.version>2.3.0</ignite.version>
		<findbugs.version>3.0.1</findbugs.version>
		<byte.buddy.version>1.9.12</byte.buddy.version>
		<io.jsonwebtoken.jjwt.version>0.6.0</io.jsonwebtoken.jjwt.version>
		<apache.directory.api.version>2.0.0.AM2</apache.directory.api.version>



		<sonar.coverage.exclusions>**/constant/**,**/config/**,**/httpfilter/**,**/cache/**,**/dto/**,**/entity/**,**/model/**,**/exception/**,**/repository/**,**/security/**,**/*Config.java,**/*BootApplication.java,**/*VertxApplication.java,**/cbeffutil/**,**/*Utils.java,**/*Validator.java,**/*Helper.java,**/verticle/**,**/VidWriter.java/**,**/masterdata/utils/**,**/spi/**,**/core/http/**,"**/LocationServiceImpl.java","**/RegistrationCenterMachineServiceImpl.java","**/RegistrationCenterServiceImpl.java","**/pridgenerator/**","**/idgenerator/prid"</sonar.coverage.exclusions>
		<sonar.cpd.exclusions>**/dto/**,**/entity/**,**/config/**</sonar.cpd.exclusions>
	</properties>

	<modules>
	        <module>kernel-core</module>
		<module>kernel-logger-logback</module>
		<module>kernel-auth-adapter</module>
		<module>kernel-dataaccess-hibernate</module>
		<module>kernel-auditmanager-api</module>
		<module>kernel-idgenerator-prid</module>
		<module>kernel-idgenerator-vid</module>
		<module>kernel-idgenerator-tokenid</module>
		<module>kernel-idgenerator-machineid</module>
		<module>kernel-idgenerator-regcenterid</module>
		<module>kernel-idgenerator-mispid</module>
		<module>kernel-licensekeygenerator-misp</module>
		<module>kernel-idgenerator-rid</module>
		<module>kernel-idgenerator-partnerid</module>
		<module>kernel-idvalidator-prid</module>
		<module>kernel-idvalidator-rid</module>
		<module>kernel-idvalidator-uin</module>
		<module>kernel-idvalidator-vid</module>
		<module>kernel-idvalidator-mispid</module>
		<module>kernel-pinvalidator</module>
		<module>kernel-virusscanner-clamav</module>
		<module>kernel-keygenerator-bouncycastle</module>
		<module>kernel-crypto-jce</module>
		<module>kernel-keymanager-softhsm</module>
		<module>kernel-templatemanager-velocity</module>
		<module>kernel-pdfgenerator-itext</module>
		<module>kernel-datamapper-orika</module>
		<module>kernel-qrcodegenerator-zxing</module>
		<module>kernel-cbeffutil-api</module>
		<module>kernel-fsadapter-ceph</module>
		<module>kernel-fsadapter-hdfs</module>
		<module>kernel-transliteration-icu4j</module>
		<module>kernel-applicanttype-api</module>
		<module>kernel-crypto-signature</module>
		<module>kernel-idobjectvalidator</module>
		<module>kernel-bioapi-provider</module>
		<module>kernel-uingenerator-service</module>
		<module>kernel-masterdata-service</module>
		<module>kernel-auditmanager-service</module>
		<module>kernel-otpmanager-service</module>
		<module>kernel-emailnotification-service</module>
		<module>kernel-smsnotification-service</module>
		<module>kernel-syncdata-service</module>
		<module>kernel-auth-service</module>
		<module>kernel-licensekeymanager-service</module>
		<module>kernel-applicanttype-service</module>
		<module>kernel-ridgenerator-service</module>
		<module>kernel-tokenidgenerator-service</module>
		<module>kernel-config-server</module>
		<module>kernel-signature-service</module>
		<module>kernel-cryptomanager-service</module>
		<module>kernel-keymanager-service</module>
                <module>kernel-vidgenerator-service</module>
		<!--<module>kernel-salt-generator</module>-->
    <!--<module>kernel-packetstatusupdater-api</module>-->
                <module>kernel-pridgenerator-service</module>
  </modules>

	<dependencies>
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>jul-to-slf4j</artifactId>
			<version>${jcl.to.slf4j.version}</version>
		</dependency>
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>jcl-over-slf4j</artifactId>
			<version>${jcl.to.slf4j.version}</version>
		</dependency>
	</dependencies>

	<build>
		<pluginManagement>
			<plugins>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-surefire-plugin</artifactId>
					<version>${maven.surefire.plugin.version}</version>
					<configuration>
					    <skipTests>false</skipTests>
						<skip>false</skip>
						<useFile>false</useFile>
					</configuration>
				</plugin>
				<plugin>
					<groupId>org.jacoco</groupId>
					<artifactId>jacoco-maven-plugin</artifactId>
					<version>${maven.jacoco.plugin.version}</version>
				</plugin>
				<plugin>
					<groupId>org.sonarsource.scanner.maven</groupId>
					<artifactId>sonar-maven-plugin</artifactId>
					<version>${maven.sonar.plugin.version}</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-javadoc-plugin</artifactId>
					<version>${maven.javadoc.version}</version>
				</plugin>
			</plugins>
		</pluginManagement>
		<plugins>
			<plugin>
				<groupId>org.jacoco</groupId>
				<artifactId>jacoco-maven-plugin</artifactId>
				<configuration>
					<append>true</append>
				</configuration>
				<executions>
					<execution>
						<id>agent-for-ut</id>
						<goals>
							<goal>prepare-agent</goal>
						</goals>
					</execution>
					<execution>
						<id>agent-for-it</id>
						<goals>
							<goal>prepare-agent-integration</goal>
						</goals>
					</execution>
					<execution>
						<id>jacoco-site</id>
						<phase>verify</phase>
						<goals>
							<goal>report</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-javadoc-plugin</artifactId>
				<configuration>
					<aggregate>true</aggregate>
				</configuration>
			</plugin>
		</plugins>
	</build>
</project>
