<?xml version="1.0" encoding="UTF-8"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
			xmlns="http://maven.apache.org/POM/4.0.0"
			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>

	<parent>
		<groupId>ca.uhn.hapi.fhir</groupId>
		<artifactId>hapi-deployable-pom</artifactId>
		<version>7.2.1</version>

		<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
	</parent>

	<artifactId>hapi-fhir-storage-cr</artifactId>
	<packaging>jar</packaging>

	<name>HAPI FHIR - Clinical Reasoning</name>

	<properties>
		<org.antlr-version>4.10.1</org.antlr-version>
		<spring-security-core.version>5.7.8</spring-security-core.version>
	</properties>


	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>org.antlr</groupId>
				<artifactId>antlr4</artifactId>
				<version>${org.antlr-version}</version>
			</dependency>
			<dependency>
				<groupId>org.antlr</groupId>
				<artifactId>antlr4-runtime</artifactId>
				<version>${org.antlr-version}</version>
			</dependency>
			<dependency>
				<groupId>ca.uhn.hapi.fhir</groupId>
				<artifactId>hapi-fhir-validation</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>ca.uhn.hapi.fhir</groupId>
				<artifactId>hapi-fhir-structures-r4b</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>ca.uhn.hapi.fhir</groupId>
				<artifactId>hapi-fhir-structures-r5</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>ca.uhn.hapi.fhir</groupId>
				<artifactId>hapi-fhir-structures-r4</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>ca.uhn.hapi.fhir</groupId>
				<artifactId>hapi-fhir-structures-dstu3</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>ca.uhn.hapi.fhir</groupId>
				<artifactId>hapi-fhir-base</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>com.icegreen</groupId>
				<artifactId>greenmail</artifactId>
				<version>1.6.4</version>
				<scope>compile</scope>
				<!-- Excluded in favor of jakarta.activation:jakarta.activation-api -->
				<exclusions>
					<exclusion>
						<groupId>com.sun.activation</groupId>
						<artifactId>jakarta.activation</artifactId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>org.simplejavamail</groupId>
				<artifactId>simple-java-mail</artifactId>
				<version>6.6.1</version>
				<!-- Excluded in favor of jakarta.activation:jakarta.activation-api -->
				<exclusions>
					<exclusion>
						<groupId>com.sun.activation</groupId>
						<artifactId>jakarta.activation</artifactId>
					</exclusion>
				</exclusions>
			</dependency>
		</dependencies>
	</dependencyManagement>

	<dependencies>
		<dependency>
			<groupId>com.fasterxml.jackson.module</groupId>
			<artifactId>jackson-module-jakarta-xmlbind-annotations</artifactId>
		</dependency>

		<dependency>
			<groupId>ca.uhn.hapi.fhir</groupId>
			<artifactId>hapi-fhir-converter</artifactId>
			<version>${project.version}</version>
		</dependency>
		<dependency>
			<groupId>org.opencds.cqf.fhir</groupId>
			<artifactId>cqf-fhir-cr</artifactId>
			<version>${clinical-reasoning.version}</version>
		</dependency>
		<dependency>
			<groupId>org.opencds.cqf.fhir</groupId>
			<artifactId>cqf-fhir-jackson</artifactId>
			<version>${clinical-reasoning.version}</version>
			<type>pom</type>
		</dependency>
		<dependency>
			<groupId>ca.uhn.hapi.fhir</groupId>
			<artifactId>hapi-fhir-storage</artifactId>
			<version>${project.version}</version>
			<exclusions>
				<exclusion>
					<groupId>com.sun.activation</groupId>
					<artifactId>jakarta.activation</artifactId>
				</exclusion>
			</exclusions>
		</dependency>

		<dependency>
			<groupId>org.apache.poi</groupId>
			<artifactId>poi</artifactId>
		</dependency>

		<!-- This is needed for the threaded execution -->
		<dependency>
			<groupId>org.springframework.security</groupId>
			<artifactId>spring-security-core</artifactId>
			<version>${spring-security-core.version}</version>
		</dependency>

		<!-- This is needed for the CqlExceptionHandlingInterceptor -->
		<dependency>
			<groupId>jakarta.servlet</groupId>
			<artifactId>jakarta.servlet-api</artifactId>
		</dependency>

		<dependency>
			<groupId>jakarta.xml.bind</groupId>
			<artifactId>jakarta.xml.bind-api</artifactId>
		</dependency>

		<!-- test -->
		<dependency>
			<groupId>org.testcontainers</groupId>
			<artifactId>junit-jupiter</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.mockito</groupId>
			<artifactId>mockito-core</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-test</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>io.specto</groupId>
			<artifactId>hoverfly-java-junit5</artifactId>
			<version>0.14.4</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>ca.uhn.hapi.fhir</groupId>
			<artifactId>hapi-fhir-test-utilities</artifactId>
			<version>${project.version}</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>ca.uhn.hapi.fhir</groupId>
			<artifactId>hapi-fhir-storage-test-utilities</artifactId>
			<version>${project.version}</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>ca.uhn.hapi.fhir</groupId>
			<artifactId>hapi-fhir-jpaserver-test-utilities</artifactId>
			<version>${project.version}</version>
			<scope>test</scope>
		</dependency>
    </dependencies>
	<profiles>
		<profile>
			<id>CI</id>
			<build>
				<pluginManagement>
					<plugins>
						<plugin>
							<groupId>org.apache.maven.plugins</groupId>
							<artifactId>maven-enforcer-plugin</artifactId>
							<executions>
								<execution>
									<id>enforce-no-snapshot-cr-dependencies</id>
									<goals>
										<goal>enforce</goal>
									</goals>
									<phase>verify</phase>
									<configuration>
										<rules>
											<requireReleaseDeps>
												<message>No Clinical Reasoning Snapshots Allowed!</message>
												<excludes>
													<exclude>*:*</exclude>
												</excludes>
												<includes>
													<include>org.opencds.cqf:*</include>
													<include>org.opencds.cqf.cql:*</include>
													<include>org.opencds.cqf.fhir:*</include>
													<include>info.cqframework:*</include>
												</includes>
											</requireReleaseDeps>
										</rules>
									</configuration>
								</execution>
							</executions>
						</plugin>
					</plugins>
				</pluginManagement>
			</build>
		</profile>
	</profiles>
</project>
