<?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 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>5.1.0</version>
		<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
	</parent>

	<artifactId>hapi-fhir-elasticsearch-6</artifactId>

	<name>hapi-fhir-elasticsearch-6</name>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<maven.compiler.source>1.7</maven.compiler.source>
		<maven.compiler.target>1.7</maven.compiler.target>
	</properties>

	<dependencies>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.12</version>
			<scope>test</scope>
		</dependency>
		<!-- Elasticsearch -->
		<dependency>
			<groupId>org.elasticsearch.client</groupId>
			<artifactId>elasticsearch-rest-high-level-client</artifactId>
			<version>6.5.4</version>
			<exclusions>
				<!-- The following all need to be excluded to avoid conflicts with Hibernate-Search -->
				<exclusion>
					<groupId>com.fasterxml.jackson.core</groupId>
					<artifactId>jackson-core</artifactId>
				</exclusion>
				<exclusion>
					<groupId>com.fasterxml.jackson.dataformat</groupId>
					<artifactId>*</artifactId>
				</exclusion>
				<exclusion>
					<groupId>com.github.spullara.mustache.java</groupId>
					<artifactId>compiler</artifactId>
				</exclusion>
				<exclusion>
					<groupId>com.tdunning</groupId>
					<artifactId>t-digest</artifactId>
				</exclusion>
				<exclusion>
					<groupId>commons-codec</groupId>
					<artifactId>commons-codec</artifactId>
				</exclusion>
				<exclusion>
					<groupId>commons-logging</groupId>
					<artifactId>commons-logging</artifactId>
				</exclusion>
				<exclusion>
					<groupId>net.bytebuddy</groupId>
					<artifactId>byte-buddy</artifactId>
				</exclusion>
				<exclusion>
					<groupId>net.sf.jopt-simple</groupId>
					<artifactId>jopt-simple</artifactId>
				</exclusion>
				<exclusion>
					<groupId>org.apache.httpcomponents</groupId>
					<artifactId>*</artifactId>
				</exclusion>
				<exclusion>
					<groupId>org.apache.lucene</groupId>
					<artifactId>lucene-analyzers-common</artifactId>
				</exclusion>
				<exclusion>
					<groupId>org.apache.lucene</groupId>
					<artifactId>lucene-backward-codecs</artifactId>
				</exclusion>
				<exclusion>
					<groupId>org.apache.lucene</groupId>
					<artifactId>lucene-sandbox</artifactId>
				</exclusion>
				<exclusion>
					<groupId>org.elasticsearch</groupId>
					<artifactId>jna</artifactId>
				</exclusion>
				<exclusion>
					<groupId>org.hdrhistogram</groupId>
					<artifactId>HdrHistogram</artifactId>
				</exclusion>
				<exclusion>
					<groupId>org.yaml</groupId>
					<artifactId>snakeyaml</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
	</dependencies>

	<build>
		<plugins>
			<plugin>
				<artifactId>maven-shade-plugin</artifactId>
				<version>3.2.1</version>
				<executions>
					<execution>
						<phase>package</phase>
						<goals>
							<goal>shade</goal>
						</goals>
						<configuration>
							<shadedArtifactAttached>true</shadedArtifactAttached>
							<shadedClassifierName>shaded6</shadedClassifierName> <!-- Any name that makes sense -->
							<relocations>
								<relocation>
									<pattern>com.carrotsearch.hppc</pattern>
									<shadedPattern>com.shadehapi.carrotsearch.hppc</shadedPattern>
								</relocation>
								<relocation>
									<pattern>org.apache.logging.log4j</pattern>
									<shadedPattern>org.shadehapi.apache.logging.log4j</shadedPattern>
								</relocation>
								<relocation>
									<pattern>org.apache.lucene</pattern>
									<shadedPattern>org.shadehapi.apache.lucene</shadedPattern>
								</relocation>
								<relocation>
									<pattern>org.elasticsearch</pattern>
									<shadedPattern>org.shadehapi.elasticsearch</shadedPattern>
								</relocation>
								<reloaction>
									<pattern>org.joda</pattern>
									<shadedPattern>org.shadehapi.joda</shadedPattern>
								</reloaction>
							</relocations>
						</configuration>
					</execution>
				</executions>
			</plugin>
		</plugins>
	</build>
</project>
