<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<parent>
		<groupId>de.ozgcloud.api-lib</groupId>
		<artifactId>api-lib-parent</artifactId>
		<version>0.4.1</version>
	</parent>

	<artifactId>api-lib-core</artifactId>

	<properties>
		<lombok.version>1.18.30</lombok.version>
		<mapstruct.version>1.5.5.Final</mapstruct.version>
		<!-- plugins -->
		<maven-surefire-plugin.version>3.2.2</maven-surefire-plugin.version>
		<maven-failsafe-plugin.version>3.2.2</maven-failsafe-plugin.version>
		<jacoco.plugin.version>0.8.11</jacoco.plugin.version>
	</properties>

	<dependencies>
		<!--ozg cloud project -->
		<dependency>
			<groupId>de.ozgcloud.common</groupId>
			<artifactId>ozgcloud-common-lib</artifactId>
		</dependency>

		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-context</artifactId>
		</dependency>

		<dependency>
			<groupId>de.ozgcloud.vorgang</groupId>
			<artifactId>vorgang-manager-interface</artifactId>
			<version>${vorgang-manager.version}</version>
		</dependency>
		<dependency>
			<groupId>de.ozgcloud.vorgang</groupId>
			<artifactId>vorgang-manager-utils</artifactId>
			<version>${vorgang-manager.version}</version>
		</dependency>
		
<!--		<dependency>-->
<!--			<groupId>de.ozgcloud.user</groupId>-->
<!--			<artifactId>user-manager-interface</artifactId>-->
<!--			<version>${user-manager.version}</version>-->
<!--		</dependency>-->

		<!--spring -->
		<dependency>
			<groupId>net.devh</groupId>
			<artifactId>grpc-client-spring-boot-autoconfigure</artifactId>
			<version>2.14.0.RELEASE</version>
		</dependency>

		<dependency>
			<groupId>org.mapstruct</groupId>
			<artifactId>mapstruct</artifactId>
		</dependency>

		<!-- test -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
		</dependency>
		<dependency>
			<groupId>org.junit.jupiter</groupId>
			<artifactId>junit-jupiter</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.assertj</groupId>
			<artifactId>assertj-core</artifactId>
		</dependency>
		<dependency>
			<groupId>org.mockito</groupId>
			<artifactId>mockito-core</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.mockito</groupId>
			<artifactId>mockito-junit-jupiter</artifactId>
			<scope>test</scope>
		</dependency>

		<!--dev-tools -->
		<dependency>
			<groupId>org.projectlombok</groupId>
			<artifactId>lombok</artifactId>
			<scope>compile</scope>
			<optional>true</optional>
		</dependency>
	</dependencies>

	<build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.10.1</version>
				<configuration>
					<fork>true</fork>
					<annotationProcessorPaths>
						<path>
							<groupId>org.projectlombok</groupId>
							<artifactId>lombok</artifactId>
							<version>${lombok.version}</version>
						</path>
						<path>
							<groupId>org.mapstruct</groupId>
							<artifactId>mapstruct-processor</artifactId>
							<version>${mapstruct.version}</version>
						</path>
						<!-- other annotation processors -->
					</annotationProcessorPaths>

					<showWarnings>true</showWarnings>
					<compilerArgs>
						<compilerArg>
							-Amapstruct.defaultComponentModel=default
						</compilerArg>
						<compilerArg>
							-Amapstruct.unmappedTargetPolicy=WARN
						</compilerArg>
					</compilerArgs>
				</configuration>
			</plugin>

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-jar-plugin</artifactId>
				<version>${maven-jar-plugin.version}</version>
				<executions>
					<execution>
						<goals>
							<goal>test-jar</goal>
						</goals>
					</execution>
				</executions>
			</plugin>

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-plugin</artifactId>
				<version>${maven-surefire-plugin.version}</version>
				<configuration>
					<argLine>
						${surefire.jacoco.args}
					</argLine>
				</configuration>
			</plugin>

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-failsafe-plugin</artifactId>
				<version>${maven-failsafe-plugin.version}</version>
				<configuration>
					<argLine>
						${surefire.jacoco.args}
					</argLine>
					<classesDirectory>${project.build.outputDirectory}</classesDirectory>
				</configuration>
				<executions>
					<execution>
						<goals>
							<goal>integration-test</goal>
							<goal>verify</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
		</plugins>
	</build>
</project>