<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>evolver-basics-spring</artifactId>
	<version>8.2.2-alpha.3</version>
	<packaging>jar</packaging>

	<name>evolver-basics-spring</name>
	<url>https://evolver.fi</url>

	<licenses>
		<license>
			<name>All rights reserved</name>
			<url>https://github.com/Avarko/evolver-public-documents/blob/main/licences/all-rights-reserved.txt</url>
			<distribution>repo</distribution>
		</license>
	</licenses>

	<organization>
		<name>Evolver Business Solutions Oy</name>
		<url>https://evolver.fi/</url>
	</organization>

	<developers>
		<developer>
			<name>Evolver Admin</name>
			<email>devadmin@evolver.fi</email>
			<organization>Evolver Business Solutions Oy</organization>
			<organizationUrl>https://evolver.fi</organizationUrl>
		</developer>
	</developers>

	<parent>
		<groupId>fi.evolver</groupId>
		<artifactId>evolver-base</artifactId>
		<version>5.0.1</version>
		<relativePath />
	</parent>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<apache.poi.version>5.5.1</apache.poi.version>
		<aws-java-sdk-v2.version>2.44.10</aws-java-sdk-v2.version>
		<spring.boot.version>4.0.6</spring.boot.version>
		<springdoc.openapi.version>3.0.3</springdoc.openapi.version>
		<skipFrontendBuild>false</skipFrontendBuild>
	</properties>

	<scm>
		<url>https://github.com/Avarko/${project.artifactId}</url>
		<connection>scm:git:git@github.com:Avarko/${project.artifactId}</connection>
		<tag>v8.2.2-alpha.3</tag>
	</scm>

	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-dependencies</artifactId>
				<version>${spring.boot.version}</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
		</dependencies>
	</dependencyManagement>

	<dependencies>
		<!-- Spring dependencies -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-webmvc</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-data-jpa</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-mail</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-validation</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.security</groupId>
			<artifactId>spring-security-core</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.security</groupId>
			<artifactId>spring-security-web</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-actuator</artifactId>
		</dependency>
		<dependency>
			<groupId>io.micrometer</groupId>
			<artifactId>micrometer-registry-azure-monitor</artifactId>
			<optional>true</optional>
		</dependency>
		<dependency>
			<groupId>io.micrometer</groupId>
			<artifactId>micrometer-registry-cloudwatch2</artifactId>
			<optional>true</optional>
		</dependency>

		<dependency>
			<groupId>org.springdoc</groupId>
			<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
			<version>${springdoc.openapi.version}</version>
		</dependency>

		<!-- Evolver dependencies -->
		<dependency>
			<groupId>fi.evolver</groupId>
			<artifactId>evolver-utils</artifactId>
			<version>5.0.1</version>
		</dependency>

		<!-- AWS dependencies -->
		<dependency>
			<groupId>software.amazon.awssdk</groupId>
			<artifactId>ssm</artifactId>
			<version>${aws-java-sdk-v2.version}</version>
		</dependency>
		<dependency>
			<groupId>software.amazon.awssdk</groupId>
			<artifactId>sqs</artifactId>
			<version>${aws-java-sdk-v2.version}</version>
		</dependency>
		<dependency>
			<groupId>software.amazon.awssdk</groupId>
			<artifactId>sns</artifactId>
			<version>${aws-java-sdk-v2.version}</version>
		</dependency>
		<dependency>
			<groupId>software.amazon.awssdk</groupId>
			<artifactId>sts</artifactId>
			<version>${aws-java-sdk-v2.version}</version>
		</dependency>
		<dependency>
			<groupId>software.amazon.awssdk</groupId>
			<artifactId>kinesis</artifactId>
			<version>${aws-java-sdk-v2.version}</version>
		</dependency>
		<dependency>
			<groupId>software.amazon.awssdk</groupId>
			<artifactId>s3</artifactId>
			<version>${aws-java-sdk-v2.version}</version>
		</dependency>
		<dependency>
			<groupId>com.amazonaws</groupId>
			<artifactId>amazon-sqs-java-extended-client-lib</artifactId>
			<version>2.1.2</version>
		</dependency>

		<!-- Jackson V3 dependencies -->
		<dependency>
			<groupId>tools.jackson.core</groupId>
			<artifactId>jackson-core</artifactId>
		</dependency>
		<dependency>
			<groupId>tools.jackson.core</groupId>
			<artifactId>jackson-databind</artifactId>
		</dependency>

		<!-- Other dependencies -->
		<dependency>
			<groupId>com.auth0</groupId>
			<artifactId>java-jwt</artifactId>
			<version>4.5.1</version>
		</dependency>
		<dependency>
			<groupId>commons-codec</groupId>
			<artifactId>commons-codec</artifactId>
		</dependency>
		<dependency>
			<groupId>io.micrometer</groupId>
			<artifactId>micrometer-core</artifactId>
		</dependency>
		<dependency>
			<groupId>org.apache.poi</groupId>
			<artifactId>poi</artifactId>
			<version>${apache.poi.version}</version>
		</dependency>
		<dependency>
			<groupId>org.apache.poi</groupId>
			<artifactId>poi-ooxml</artifactId>
			<version>${apache.poi.version}</version>
		</dependency>

		<!-- Test dependencies -->
		<dependency>
			<groupId>org.junit.jupiter</groupId>
			<artifactId>junit-jupiter</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.postgresql</groupId>
			<artifactId>postgresql</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.testcontainers</groupId>
			<artifactId>testcontainers-junit-jupiter</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.testcontainers</groupId>
			<artifactId>testcontainers-postgresql</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.testcontainers</groupId>
			<artifactId>testcontainers</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-flyway</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.flywaydb</groupId>
			<artifactId>flyway-database-postgresql</artifactId>
			<scope>test</scope>
		</dependency>
	</dependencies>

	<build>
		<testResources>
			<testResource>
				<directory>src/test/resources</directory>
				<filtering>true</filtering>
				<includes>
					<include>application.yml</include>
					<include>openapi/open-api-spec.json</include>
				</includes>
			</testResource>
			<testResource>
				<directory>src/test/resources</directory>
				<filtering>false</filtering>
				<excludes>
					<exclude>application.yml</exclude>
					<exclude>openapi/open-api-spec.json</exclude>
				</excludes>
			</testResource>
		</testResources>

		<plugins>
			<plugin>
				<groupId>io.github.git-commit-id</groupId>
				<artifactId>git-commit-id-maven-plugin</artifactId>
			</plugin>
			<plugin>
				<groupId>com.github.eirslett</groupId>
				<artifactId>frontend-maven-plugin</artifactId>
				<version>1.15.1</version>
				<configuration>
					<workingDirectory>src/main/typescript</workingDirectory>
					<installDirectory>target</installDirectory>
					<skip>${skipFrontendBuild}</skip>
				</configuration>
				<executions>
					<execution>
						<id>install node and npm</id>
						<goals>
							<goal>install-node-and-npm</goal>
						</goals>
						<configuration>
							<nodeVersion>v24.15.0</nodeVersion>
							<npmVersion>11.12.1</npmVersion>
						</configuration>
					</execution>
					<execution>
						<id>npm ci</id>
						<goals>
							<goal>npm</goal>
						</goals>
						<configuration>
							<arguments>ci</arguments>
						</configuration>
					</execution>
					<execution>
						<id>build admin-components</id>
						<goals>
							<goal>npm</goal>
						</goals>
						<configuration>
							<arguments>run build --workspace admin-components</arguments>
						</configuration>
					</execution>
					<execution>
						<id>build admin-ui</id>
						<goals>
							<goal>npm</goal>
						</goals>
						<configuration>
							<arguments>run build --workspace admin-ui</arguments>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-gpg-plugin</artifactId>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-javadoc-plugin</artifactId>
			</plugin>
			<plugin>
				<groupId>org.sonatype.central</groupId>
				<artifactId>central-publishing-maven-plugin</artifactId>
			</plugin>
		</plugins>
	</build>

</project>
