<?xml version="1.0"?>
<!--

    Copyright (C) 2023 Das Land Schleswig-Holstein vertreten durch den
    Ministerpräsidenten des Landes Schleswig-Holstein
    Staatskanzlei
    Abteilung Digitalisierung und zentrales IT-Management der Landesregierung

    Lizenziert unter der EUPL, Version 1.2 oder - sobald
    diese von der Europäischen Kommission genehmigt wurden -
    Folgeversionen der EUPL ("Lizenz");
    Sie dürfen dieses Werk ausschließlich gemäß
    dieser Lizenz nutzen.
    Eine Kopie der Lizenz finden Sie hier:

    https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12

    Sofern nicht durch anwendbare Rechtsvorschriften
    gefordert oder in schriftlicher Form vereinbart, wird
    die unter der Lizenz verbreitete Software "so wie sie
    ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
    ausdrücklich oder stillschweigend - verbreitet.
    Die sprachspezifischen Genehmigungen und Beschränkungen
    unter der Lizenz sind dem Lizenztext zu entnehmen.

-->
<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.common</groupId>
		<artifactId>ozgcloud-common-parent</artifactId>
		<version>4.11.0</version>
	</parent>

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

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

	<properties>
		<operator-sdk.version>5.6.0</operator-sdk.version>

		<!-- tools -->
		<reflections.version>0.10.2</reflections.version>
		<validation-api.version>2.0.1.Final</validation-api.version>
		<!-- test -->
		<kubernetes-server-mock.version>6.13.5</kubernetes-server-mock.version>
		<io.javaoperatorsdk.version>0.9.7</io.javaoperatorsdk.version>
		
		<!-- plugin -->
		<cyclonedx-maven-plugin.version>2.7.11</cyclonedx-maven-plugin.version>
	</properties>

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

		<!-- 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>
		<dependency>
			<groupId>com.thedeanda</groupId>
			<artifactId>lorem</artifactId>
			<scope>test</scope>
		</dependency>
	</dependencies>

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

			<dependency>
				<groupId>org.reflections</groupId>
				<artifactId>reflections</artifactId>
				<version>${reflections.version}</version>
			</dependency>

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

			<!-- test -->
			<dependency>
				<groupId>io.fabric8</groupId>
				<artifactId>kubernetes-server-mock</artifactId>
				<version>${kubernetes-server-mock.version}</version>
				<scope>test</scope>
			</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>
				</plugin>

				<plugin>
					<groupId>io.github.pmckeown</groupId>
					<artifactId>dependency-track-maven-plugin</artifactId>
					<version>${dependency-track-maven-plugin.version}</version>
					<configuration>
						<dependencyTrackBaseUrl>https://dependency-track.ozg-sh.de</dependencyTrackBaseUrl>
						<failOnError>true</failOnError>
					</configuration>
				</plugin>
			</plugins>
		</pluginManagement>

		<plugins>
			<plugin>
				<groupId>org.cyclonedx</groupId>
				<artifactId>cyclonedx-maven-plugin</artifactId>
				<version>${cyclonedx-maven-plugin.version}</version>
				<executions>
					<execution>
						<phase>package</phase>
						<goals>
							<goal>makeAggregateBom</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
		</plugins>
	</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>