<?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>de.adorsys.multibanking</groupId>
		<artifactId>multibanking-examples</artifactId>
		<version>3.0.13</version>
	</parent>

	<artifactId>multibanking-service-example</artifactId>
	<packaging>jar</packaging>

	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
			<exclusions>
				<exclusion>
					<groupId>org.apache.logging.log4j</groupId>
					<artifactId>log4j-to-lsf4j</artifactId>
				</exclusion>
				<exclusion>
					<groupId>org.apache.logging.log4j</groupId>
					<artifactId>log4j-to-slf4j</artifactId>
				</exclusion>
				<exclusion>
					<groupId>ch.qos.logback</groupId>
					<artifactId>logback-classic</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>log4j-over-slf4j</artifactId>
		</dependency>

		<!-- Multibanking Rest -->
		<dependency>
			<groupId>de.adorsys.multibanking</groupId>
			<artifactId>multibanking-rest</artifactId>
			<version>${project.version}</version>
		</dependency>

		<!-- STS -->
		<dependency>
			<groupId>de.adorsys.sts</groupId>
			<artifactId>sts-spring</artifactId>
			<version>${de.adorsys.sts.version}</version>
		</dependency>
		<dependency>
			<groupId>de.adorsys.sts</groupId>
			<artifactId>sts-persistence-docusafe</artifactId>
			<version>${de.adorsys.sts.version}</version>
		</dependency>

		<!-- Docusafe Connection -->
		<dependency>
			<groupId>de.adorsys.cryptoutils</groupId>
			<artifactId>storeconnectionfactory</artifactId>
			<version>${crypt.version}</version>
		</dependency>

		<dependency>
			<groupId>de.adorsys.multibanking</groupId>
			<artifactId>onlinebanking-mock</artifactId>
			<version>${project.version}</version>
		</dependency>

        <!-- smartanalytics -->
		<dependency>
            <groupId>de.adorsys.smartanalytics</groupId>
            <artifactId>smartanalytics-api</artifactId>
		</dependency>

		<!-- Persistence -->
		<dependency>
			<groupId>de.adorsys</groupId>
			<artifactId>docusafe-business</artifactId>
			<version>${docusafe.version}</version>
		</dependency>

		<!-- Lombok -->
		<dependency>
			<groupId>org.projectlombok</groupId>
			<artifactId>lombok</artifactId>
		</dependency>

		<!-- jackson buggy 2.8.x version https://github.com/FasterXML/jackson-databind/issues/1595 
			<dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> 
			</dependency> -->
		<!-- module to support JSR-310 (Java 8 Date & Time API) data types. <dependency> 
			<groupId>com.fasterxml.jackson.datatype</groupId> <artifactId>jackson-datatype-jsr310</artifactId> 
			</dependency> <dependency> <groupId>com.fasterxml.jackson.module</groupId> 
			<artifactId>jackson-module-parameter-names</artifactId> </dependency> -->

		<!-- monitoring -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-actuator</artifactId>
		</dependency>

		<!-- rest -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-hateoas</artifactId>
		</dependency>
		<!-- <dependency> <groupId>com.fasterxml.jackson.datatype</groupId> <artifactId>jackson-datatype-jsr310</artifactId> 
			</dependency> <dependency> <groupId>com.fasterxml.jackson.dataformat</groupId> 
			<artifactId>jackson-dataformat-yaml</artifactId> </dependency> -->

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-configuration-processor</artifactId>
			<optional>true</optional>
		</dependency>

		<!-- Security -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-security</artifactId>
		</dependency>

		<!-- Distributed Lock -->
		<dependency>
			<groupId>de.adorsys.lock-persistence</groupId>
			<artifactId>lock-persistence-core</artifactId>
			<version>0.2.0</version>
		</dependency>

		<!-- swagger -->
		<dependency>
			<groupId>io.springfox</groupId>
			<artifactId>springfox-swagger2</artifactId>
		</dependency>
		<dependency>
			<groupId>io.springfox</groupId>
			<artifactId>springfox-swagger-ui</artifactId>
		</dependency>


		<!-- test dependencies -->
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.springframework.security</groupId>
			<artifactId>spring-security-test</artifactId>
			<scope>test</scope>
		</dependency>
		<!-- <dependency> <groupId>de.adorsys.multibanking</groupId> <artifactId>onlinebanking-xls-loader</artifactId> 
			<version>${project.version}</version> <scope>test</scope> </dependency> -->

	</dependencies>

	<build>
		<finalName>${project.artifactId}</finalName>

		<resources>
			<resource>
				<directory>src/main/resources</directory>
				<filtering>false</filtering>
			</resource>
			<resource>
				<directory>src/main/resources</directory>
				<filtering>true</filtering>
				<includes>
					<include>**/application.yml</include>
					<include>**/application.properties</include>
				</includes>
			</resource>
		</resources>

		<plugins>
			<plugin>
				<!--https://docs.spring.io/spring-boot/docs/current/reference/html/production-ready-endpoints.html#production-ready-application-info-automatic-expansion -->
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-resources-plugin</artifactId>
				<configuration>
					<delimiters>
						<delimiter>#</delimiter>
					</delimiters>
					<useDefaultDelimiters>false</useDefaultDelimiters>
				</configuration>
			</plugin>

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-project-info-reports-plugin</artifactId>
				<version>2.7</version>
			</plugin>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
				<version>${spring-boot.version}</version>
				<configuration>
					<includeSystemScope>true</includeSystemScope>
					<jvmArguments>
						-Dinfo.project.version=2.2.3
					</jvmArguments>
				</configuration>
				<executions>
					<execution>
						<goals>
							<goal>repackage</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<!-- -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=10022 -->

			<!-- Maven Release Build fails if javadoc comments are invalid. http://stackoverflow.com/questions/15886209/maven-is-not-working-in-java-8-when-javadoc-tags-are-incomplete -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-javadoc-plugin</artifactId>
				<version>2.9.1</version>
				<configuration>
					<charset>${project.build.sourceEncoding}</charset>
					<encoding>${project.build.sourceEncoding}</encoding>
					<docencoding>${project.build.sourceEncoding}</docencoding>
					<additionalparam>-Xdoclint:none</additionalparam>
				</configuration>
			</plugin>

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
			</plugin>

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-jar-plugin</artifactId>
				<version>2.6</version>
				<configuration>
					<archive>
						<manifest>
							<addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
							<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
						</manifest>
						<manifestEntries>
							<Implementation-Version>${project.version}_${maven.build.timestamp}</Implementation-Version>
							<Project-buildArtifact>${project.artifactId}</Project-buildArtifact>
							<Project-buildVersion>${project.version}</Project-buildVersion>
							<Project-buildTimestamp>${maven.build.timestamp}</Project-buildTimestamp>
							<Project-buildNumber>${buildNumber}</Project-buildNumber>
							<Project-buildScmBranch>${scmBranch}</Project-buildScmBranch>
						</manifestEntries>
					</archive>
				</configuration>
			</plugin>

			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>buildnumber-maven-plugin</artifactId>
				<version>1.3</version>
				<executions>
					<execution>
						<phase>validate</phase>
						<goals>
							<goal>create</goal>
						</goals>
					</execution>
				</executions>
				<configuration>
					<!-- Die commit id bei "git log -abbrev-commit" ist ebenfalls 7 Zeichen. -->
					<shortRevisionLength>7</shortRevisionLength>
				</configuration>
			</plugin>
		</plugins>
	</build>

</project>
