<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>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>3.1.7</version>
		<relativePath />
	</parent>

	<groupId>de.ozgcloud</groupId>
	<artifactId>ozgcloud-operator-parent</artifactId>
	<version>2.1.0</version>
	<packaging>pom</packaging>

	<name>OzgCloud Operator Parent</name>
	<description>OzgCloud Operator Parent</description>
	
	<modules>
		<module>ozgcloud-keycloak-operator</module>
		<module>ozgcloud-elasticsearch-operator</module>
	</modules>

	<properties>
		<spring-boot.version>3.1.7</spring-boot.version>
		<operator-sdk.version>5.4.1</operator-sdk.version>

		<!-- tools -->
		<commons-beanutils.version>1.9.4</commons-beanutils.version>
		<lombok.version>1.18.28</lombok.version>
		<mapstruct.version>1.5.5.Final</mapstruct.version>
		<keycloak-adapter.version>20.0.5</keycloak-adapter.version>
		<reflections.version>0.10.2</reflections.version>
		<validation-api.version>2.0.1.Final</validation-api.version>
		<lorem.version>2.2</lorem.version>

		<!-- test -->
		<junit-jupiter.version>5.9.3</junit-jupiter.version>
		<kubernetes-server-mock.version>6.9.2</kubernetes-server-mock.version>
		<io.javaoperatorsdk.version>0.9.5</io.javaoperatorsdk.version>
		
		<!-- plugin -->
		<license-maven-plugin.version>4.1</license-maven-plugin.version>
		<ozgcloud-license.version>1.6.0</ozgcloud-license.version>
	</properties>

	<dependencies>
		<!-- spring -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter</artifactId>
		</dependency>
		<dependency>
			<groupId>io.javaoperatorsdk</groupId>
			<artifactId>operator-framework-spring-boot-starter</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-actuator</artifactId>
		</dependency>

		<!-- tools -->
		<dependency>
			<groupId>org.projectlombok</groupId>
			<artifactId>lombok</artifactId>
		</dependency>
		<dependency>
			<groupId>commons-beanutils</groupId>
			<artifactId>commons-beanutils</artifactId>
		</dependency>
		<dependency>
		    <groupId>com.thedeanda</groupId>
		    <artifactId>lorem</artifactId>
		</dependency>
		

		<!-- test -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<exclusions>
				<exclusion>
					<groupId>org.junit.vintage</groupId>
					<artifactId>junit-vintage-engine</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>org.junit.jupiter</groupId>
			<artifactId>junit-jupiter-engine</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.junit.jupiter</groupId>
			<artifactId>junit-jupiter-params</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>io.fabric8</groupId>
			<artifactId>kubernetes-server-mock</artifactId>
			<scope>test</scope>
		</dependency>
	</dependencies>

	<dependencyManagement>
		<dependencies>
			<!-- own projects -->
			<dependency>
				<groupId>de.ozgcloud.common</groupId>
				<artifactId>ozgcloud-common-license</artifactId>
				<version>${ozgcloud-license.version}</version>
			</dependency>

			<!-- spring -->
			<dependency>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-starter</artifactId>
				<version>${spring-boot.version}</version>
			</dependency>
			<dependency>
				<groupId>io.javaoperatorsdk</groupId>
				<artifactId>operator-framework-spring-boot-starter</artifactId>
				<version>${operator-sdk.version}</version>
			</dependency>

			<!-- keycloak -->
			<dependency>
				<groupId>org.keycloak</groupId>
				<artifactId>keycloak-admin-client</artifactId>
				<version>${keycloak-adapter.version}</version>
			</dependency>

			<!-- tools -->
			<dependency>
				<groupId>org.projectlombok</groupId>
				<artifactId>lombok</artifactId>
				<version>${lombok.version}</version>
			</dependency>
			<dependency>
				<groupId>org.mapstruct</groupId>
				<artifactId>mapstruct</artifactId>
				<version>${mapstruct.version}</version>
			</dependency>
			<dependency>
				<groupId>org.reflections</groupId>
				<artifactId>reflections</artifactId>
				<version>${reflections.version}</version>
			</dependency>
			<dependency>
				<groupId>commons-beanutils</groupId>
				<artifactId>commons-beanutils</artifactId>
				<version>${commons-beanutils.version}</version>
			</dependency>
			<dependency>
			    <groupId>com.thedeanda</groupId>
			    <artifactId>lorem</artifactId>
			    <version>${lorem.version}</version>
			</dependency>

			<!-- javax -->
			<dependency>
				<groupId>javax.validation</groupId>
				<artifactId>validation-api</artifactId>
				<version>${validation-api.version}</version>
			</dependency>

			<!-- test -->
			<dependency>
				<groupId>org.junit.jupiter</groupId>
				<artifactId>junit-jupiter-engine</artifactId>
				<version>${junit-jupiter.version}</version>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>org.junit.jupiter</groupId>
				<artifactId>junit-jupiter-params</artifactId>
				<version>${junit-jupiter.version}</version>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>io.fabric8</groupId>
				<artifactId>kubernetes-server-mock</artifactId>
				<version>${kubernetes-server-mock.version}</version>
			</dependency>
			<dependency>
			    <groupId>io.javaoperatorsdk</groupId>
			    <artifactId>jenvtest-fabric8-client-support</artifactId>
			    <version>${io.javaoperatorsdk.version}</version>
			    <scope>test</scope>
			</dependency>
			<dependency>
			    <groupId>io.javaoperatorsdk</groupId>
			    <artifactId>jenvtest</artifactId>
			    <version>${io.javaoperatorsdk.version}</version>
			    <scope>test</scope>
			</dependency>
		</dependencies>
	</dependencyManagement>

	<build>
		<pluginManagement>
			<plugins>
				<plugin>
					<groupId>com.mycila</groupId>
					<artifactId>license-maven-plugin</artifactId>
					<version>${license-maven-plugin.version}</version>
					<configuration>
						<mapping>
							<ts>SLASHSTAR_STYLE</ts>
							<config>SCRIPT_STYLE</config>
						</mapping>
						<licenseSets>
							<licenseSet>
								<header>license/eupl_v1_2_de/header.txt</header>
								<excludes>
									<exclude>**/README</exclude>
									<exclude>src/test/resources/**</exclude>
									<exclude>src/main/resources/**</exclude>
								</excludes>
							</licenseSet>
						</licenseSets>
					</configuration>
					<dependencies>
						<dependency>
							<groupId>de.ozgcloud.common</groupId>
							<artifactId>ozgcloud-common-license</artifactId>
							<version>${ozgcloud-license.version}</version>
						</dependency>
					</dependencies>
				</plugin>
			</plugins>
		</pluginManagement>
	</build>

	<distributionManagement>
		<repository>
			<id>ozg-nexus</id>
			<name>ozg-releases</name>
			<url>https://nexus.ozg-sh.de/repository/ozg-releases/</url>
		</repository>
		<snapshotRepository>
			<id>ozg-snapshots-nexus</id>
			<name>ozg-snapshots</name>
			<url>https://nexus.ozg-sh.de/repository/ozg-snapshots/</url>
		</snapshotRepository>
	</distributionManagement>

</project>