<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>

	<parent>
		<groupId>com.xlrit.gears.runtime</groupId>
		<artifactId>gears-runtime-root</artifactId>
		<version>1.9.0</version>
	</parent>
	<artifactId>gears-runtime-server</artifactId>
	<name>${project.groupId}:${project.artifactId}</name>
	<description>GEARS Runtime Server</description>

	<dependencies>
		<!-- GEARS -->
		<dependency>
			<groupId>com.xlrit.gears.runtime</groupId>
			<artifactId>gears-runtime-engine</artifactId>
		</dependency>
		<dependency>
			<groupId>com.xlrit.gears.runtime</groupId>
			<artifactId>gears-frontend</artifactId>
		</dependency>

		<!-- Spring -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-configuration-processor</artifactId>
			<optional>true</optional>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-actuator</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-oauth2-resource-server</artifactId>
		</dependency>

		<!-- GraphQL -->
		<dependency>
			<groupId>org.springframework.graphql</groupId>
			<artifactId>spring-graphql</artifactId>
		</dependency>
		<dependency>
			<groupId>com.graphql-java</groupId>
			<artifactId>graphql-java-extended-scalars</artifactId>
		</dependency>

		<!-- Flowable -->
		<dependency>
			<groupId>org.flowable</groupId>
			<artifactId>flowable-spring-boot-autoconfigure</artifactId>
			<version>${flowable.version}</version>
		</dependency>
		<dependency>
			<groupId>org.flowable</groupId>
			<artifactId>flowable-spring-boot-starter-process</artifactId>
			<version>${flowable.version}</version>
		</dependency>
		<dependency>
			<groupId>org.flowable</groupId>
			<artifactId>flowable-spring-boot-starter-app</artifactId>
			<version>${flowable.version}</version>
		</dependency>
		<dependency>
			<groupId>org.flowable</groupId>
			<artifactId>flowable-spring-configurator</artifactId>
			<version>${flowable.version}</version>
		</dependency>
		<!-- TODO alleen benodigde modules zoals flowable-spring-boot-starter-process
		<dependency>
			<groupId>org.flowable</groupId>
			<artifactId>flowable-spring-boot-starter</artifactId>
		</dependency>
		 -->

		<!-- Messaging
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-amqp</artifactId>
		</dependency>
		 -->

		<!-- Misc -->
		<dependency>
			<groupId>org.projectlombok</groupId>
			<artifactId>lombok</artifactId>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>com.auth0</groupId>
			<artifactId>java-jwt</artifactId>
			<version>3.8.3</version>
		</dependency>

		<!-- === Testing === -->

		<dependency>
			<groupId>com.xlrit.gears.runtime</groupId>
			<artifactId>gears-runtime-test</artifactId>
			<scope>test</scope>
		</dependency>
		<!--
		<dependency>
			<groupId>org.springframework.amqp</groupId>
			<artifactId>spring-rabbit-test</artifactId>
			<scope>test</scope>
		</dependency>
		-->
	</dependencies>

	<build>
		<resources>
			<resource>
				<directory>${basedir}/src/main/resources</directory>
				<filtering>false</filtering>
			</resource>
			<resource>
				<directory>${basedir}/src/main/resources</directory>
				<filtering>true</filtering>
				<includes>
					<include>**/application*.yaml</include>
				</includes>
			</resource>
		</resources>

		<plugins>
			<!-- see https://docs.spring.io/spring-boot/docs/2.4.5/maven-plugin/reference/htmlsingle/ -->
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
				<configuration>
					<classifier>boot</classifier>
					<attach>false</attach>
				</configuration>
			</plugin>
		</plugins>
	</build>

	<profiles>
		<profile>
			<id>devtools</id>
			<dependencies>
				<dependency>
					<groupId>org.springframework.boot</groupId>
					<artifactId>spring-boot-devtools</artifactId>
				</dependency>
			</dependencies>
		</profile>
	</profiles>
</project>
