<?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>

	<artifactId>biosdk-services</artifactId>
	<groupId>io.mosip.biosdk</groupId>
	<version>1.2.0.1-B2</version>
	<name>biosdk-services</name>

    <licenses>
          <license>
                <name>MPL 2.0</name>
                <url>https://www.mozilla.org/en-US/MPL/2.0/</url>
          </license>
    </licenses>

    <scm>
            <connection>scm:git:git://github.com/mosip/biosdk-services.git</connection>
            <developerConnection>scm:git:ssh://github.com:mosip/biosdk-services.git</developerConnection>
            <url>https://github.com/mosip/biosdk-services</url>
            <tag>HEAD</tag>
    </scm> 

    <developers>
                <developer>
                  <name>Mosip</name>
                  <email>mosip.emailnotifier@gmail.com</email>
                  <organization>io.mosip</organization>
                  <organizationUrl>https://mosip.io</organizationUrl>
                </developer>
    </developers>

	<description>Sample implementation of biometrics SDK services</description>
	<url>https://github.com/mosip/mosip-ref-impl</url>

	<properties>
		<java.version>11</java.version>
      	<!-- maven -->
		<maven.compiler.source>11</maven.compiler.source>
        <maven.compiler.target>11</maven.compiler.target>
		<!-- Core -->
		<spring.boot.version>2.0.2.RELEASE</spring.boot.version>
		<spring-cloud-config.version>2.0.2.RELEASE</spring-cloud-config.version>
		<maven.surefire.plugin.version>2.22.0</maven.surefire.plugin.version>
		<maven.jacoco.plugin.version>0.8.5</maven.jacoco.plugin.version>
		<maven.sonar.plugin.version>3.7.0.1746</maven.sonar.plugin.version>

		<!-- Lombok -->
		<lombok.version>1.18.8</lombok.version>

		<!-- Swagger -->
		<swagger.version>2.9.2</swagger.version>


		<!-- Mosip kernel -->
		<kernel.biometrics.api.version>1.2.0.1-B2</kernel.biometrics.api.version>
		<kernel.logger.logback.version>1.2.0.1-B1</kernel.logger.logback.version>
		<kernel.core.version>1.2.0.1-B1</kernel.core.version>
		<!-- Spring -->
		<spring.boot.version>2.0.2.RELEASE</spring.boot.version>
	</properties>

	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-dependencies</artifactId>
				<version>${spring.boot.version}</version>
				<type>pom</type>
				<scope>import</scope>
				<exclusions>
					<exclusion>
						<groupId>org.springframework.boot</groupId>
						<artifactId>spring-boot-starter-json</artifactId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>com.fasterxml.jackson.core</groupId>
				<artifactId>jackson-databind</artifactId>
				<version>2.11.0</version>
			</dependency>
			<dependency>
				<groupId>com.fasterxml.jackson.core</groupId>
				<artifactId>jackson-core</artifactId>
				<version>2.11.0</version>
			</dependency>
		</dependencies>
	</dependencyManagement>


	<dependencies>
		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-starter-config</artifactId>
			<version>${spring-cloud-config.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-devtools</artifactId>
			<scope>runtime</scope>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
			<version>${spring.boot.version}</version>
			<exclusions>
				<exclusion>
					<groupId>org.springframework.boot</groupId>
					<artifactId>spring-boot-starter-json</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-security</artifactId>
			<version>${spring.boot.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-actuator</artifactId>
			<version>${spring.boot.version}</version>
		</dependency>
		<dependency>
			<groupId>io.springfox</groupId>
			<artifactId>springfox-swagger2</artifactId>
			<version>${swagger.version}</version>
			<scope>compile</scope>
		</dependency>
		<dependency>
			<groupId>io.springfox</groupId>
			<artifactId>springfox-swagger-ui</artifactId>
			<version>${swagger.version}</version>
			<scope>compile</scope>
		</dependency>
		<dependency>
			<groupId>io.mosip.kernel</groupId>
			<artifactId>kernel-biometrics-api</artifactId>
			<version>${kernel.biometrics.api.version}</version>
		</dependency>
		<dependency>
			<groupId>io.mosip.kernel</groupId>
			<artifactId>kernel-logger-logback</artifactId>
			<version>${kernel.logger.logback.version}</version>
		</dependency>
		<dependency>
			<groupId>io.mosip.kernel</groupId>
			<artifactId>kernel-core</artifactId>
			<version>${kernel.core.version}</version>
		</dependency>
		<dependency>
			<groupId>org.projectlombok</groupId>
			<artifactId>lombok</artifactId>
			<version>${lombok.version}</version>
			<scope>compile</scope>
		</dependency>
		<dependency>
			<groupId>com.googlecode.json-simple</groupId>
			<artifactId>json-simple</artifactId>
			<version>1.1.1</version>
		</dependency>
		<dependency>
			<groupId>com.google.code.gson</groupId>
			<artifactId>gson</artifactId>
			<version>2.8.6</version>
		</dependency>
		
	</dependencies>

	<build>
		<plugins>
			<plugin>
                  <groupId>org.apache.maven.plugins</groupId>
                  <artifactId>maven-gpg-plugin</artifactId>
                  <version>1.5</version>
                  <executions>
                        <execution>
                          <id>sign-artifacts</id>
                          <phase>verify</phase>
                          <goals>
                                <goal>sign</goal>
                          </goals>
		          <configuration>
                		<gpgArguments>
                    			<arg>--pinentry-mode</arg>
                    			<arg>loopback</arg>
                		</gpgArguments>
            		 </configuration>
                        </execution>
                  </executions>
                </plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-plugin</artifactId>
				<version>${maven.surefire.plugin.version}</version>
				<configuration>
					<skipTests>${skipTests}</skipTests>
					<skip>false</skip>
					<argLine>
						${argLine} --add-opens
						java.xml/jdk.xml.internal=ALL-UNNAMED
						--illegal-access=permit
					</argLine>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.jacoco</groupId>
				<artifactId>jacoco-maven-plugin</artifactId>
				<version>${maven.jacoco.plugin.version}</version>
				<executions>
					<execution>
						<goals>
							<goal>prepare-agent</goal>
						</goals>
					</execution>
					<execution>
						<id>report</id>
						<phase>prepare-package</phase>
						<goals>
							<goal>report</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				 <groupId>org.apache.maven.plugins</groupId>
			   <artifactId>maven-compiler-plugin</artifactId>
			   <version>3.8.0</version>
			   <configuration>
			      <source>${maven.compiler.source}</source>
			      <target>${maven.compiler.target}</target>
			   </configuration>
			</plugin>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
				<version>${spring.boot.version}</version>
				<configuration>
					<layout>ZIP</layout>
					<executable>true</executable>
					<jvmArguments>
					      <source>${maven.compiler.source}</source>
					      <target>${maven.compiler.target}</target>
					</jvmArguments>
				</configuration>
				
				<executions>
					<execution>
						<goals>
							<goal>build-info</goal>
							<goal>repackage</goal>
						</goals>
					</execution>
				</executions>
				
			</plugin>
		</plugins>
	</build>
	<profiles>
		<profile>
			<id>sonar</id>
			<properties>
				<sonar.sources>.</sonar.sources>
				<sonar.inclusions>src/main/java/**,src/main/resources/**</sonar.inclusions>
				<sonar.exclusions>${sonar.coverage.exclusions}</sonar.exclusions>
				<sonar.host.url>https://sonarcloud.io</sonar.host.url>
			</properties>
			<activation>
				<activeByDefault>false</activeByDefault>
			</activation>
			<build>
				<plugins>
					<plugin>
						<groupId>org.sonarsource.scanner.maven</groupId>
						<artifactId>sonar-maven-plugin</artifactId>
						<version>${maven.sonar.plugin.version}</version>
						<executions>
							<execution>
								<phase>verify</phase>
								<goals>
									<goal>sonar</goal>
								</goals>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>
	</profiles>
</project>
