<!--
  ~ Smart Data Lake - Build your data lake the smart way.
  ~
  ~ Copyright © 2019-2020 ELCA Informatique SA (<https://www.elca.ch>)
  ~
  ~ This program is free software: you can redistribute it and/or modify
  ~ it under the terms of the GNU General Public License as published by
  ~ the Free Software Foundation, either version 3 of the License, or
  ~ (at your option) any later version.
  ~
  ~ This program is distributed in the hope that it will be useful,
  ~ but WITHOUT ANY WARRANTY; without even the implied warranty of
  ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  ~ GNU General Public License for more details.
  ~
  ~ You should have received a copy of the GNU General Public License
  ~ along with this program. If not, see <http://www.gnu.org/licenses/>.
  -->
<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>

	<groupId>io.smartdatalake</groupId>
	<artifactId>sdl-parent</artifactId>
	<version>1.3.2</version>
	<packaging>pom</packaging>

	<modules>
		<module>sdl-core</module>
		<module>sdl-kafka</module>
		<module>sdl-splunk</module>
		<module>sdl-jms</module>
		<module>sdl-deltalake</module>
		<module>sdl-snowflake</module>
		<module>sdl-azure</module>
	</modules>

	<licenses>
		<license>
			<name>GNU General Public License (GPL) version 3</name>
			<url>https://www.gnu.org/licenses/gpl-3.0.html</url>
		</license>
	</licenses>

	<!-- Used for license header by maven-license-plugin -->
	<name>Smart Data Lake</name>
	<description>Build your data lake the smart way.</description>
	<url>http://www.smartdatalake.io</url>
	<inceptionYear>2019</inceptionYear>
	<organization>
		<name>ELCA Informatique SA</name>
		<url>https://www.elca.ch</url>
	</organization>

	<developers>
		<developer>
			<name>Smart Data Lake</name>
			<email>smartdatalake@elca.ch</email>
			<organization>ELCA Informatik AG</organization>
			<organizationUrl>http://www.elca.ch</organizationUrl>
		</developer>
	</developers>

	<profiles>
		<profile>
			<id>fat-jar</id>
			<properties>
				<scala.deps.scope>provided</scala.deps.scope>
				<spark.deps.scope>provided</spark.deps.scope>
				<flume.deps.scope>provided</flume.deps.scope>
				<hadoop.deps.scope>provided</hadoop.deps.scope>
				<hive.deps.scope>provided</hive.deps.scope>
				<orc.deps.scope>provided</orc.deps.scope>
				<parquet.deps.scope>provided</parquet.deps.scope>
			</properties>
			<build>
				<plugins>
					<!-- Builds executable fat-jar that includes all dependencies -->
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-shade-plugin</artifactId>
					</plugin>
				</plugins>
			</build>
		</profile>
		<profile>
			<id>fat-jar-with-spark</id>
			<build>
				<plugins>
					<!-- Builds executable fat-jar that includes all dependencies -->
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-shade-plugin</artifactId>
					</plugin>
				</plugins>
			</build>
		</profile>
		<profile>
			<id>scala-2.12</id>
			<properties>
				<scala.minor.version>2.12</scala.minor.version>
				<scala.version>${scala.minor.version}.12</scala.version>
			</properties>
		</profile>
		<profile>
			<id>scala-2.11</id>
			<properties>
				<scala.minor.version>2.11</scala.minor.version>
				<scala.version>${scala.minor.version}.12</scala.version>
			</properties>
		</profile>
		<profile>
			<id>release-sonatype</id>
			<distributionManagement>
				<snapshotRepository>
					<id>ossrh</id>
					<name>Central Repository OSSRH</name>
					<url>https://oss.sonatype.org/content/repositories/snapshots</url>
				</snapshotRepository>
				<repository>
					<id>ossrh</id>
					<name>Central Repository OSSRH</name>
					<url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
				</repository>
			</distributionManagement>
			<build>
				<plugins>
					<!-- create scala-doc -->
					<plugin>
						<groupId>net.alchim31.maven</groupId>
						<artifactId>scala-maven-plugin</artifactId>
						<version>4.3.1</version>
						<executions>
							<execution>
								<id>scala-doc</id>
								<goals>
									<goal>doc-jar</goal>
								</goals>
								<configuration>
									<args>
										<arg>-no-link-warnings</arg>
									</args>
								</configuration>
							</execution>
						</executions>
					</plugin>
					<!-- sign artifacts with gpg -->
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-gpg-plugin</artifactId>
						<version>1.6</version>
						<executions>
							<execution>
								<id>sign-artifacts</id>
								<phase>verify</phase>
								<goals>
									<goal>sign</goal>
								</goals>
								<configuration>
									<!-- Prevent `gpg` from using pinentry programs -->
									<gpgArguments>
										<arg>--pinentry-mode</arg>
										<arg>loopback</arg>
									</gpgArguments>
								</configuration>
							</execution>
						</executions>
					</plugin>
					<!-- deploy to sonatype / maven central -->
					<plugin>
						<groupId>org.sonatype.plugins</groupId>
						<artifactId>nexus-staging-maven-plugin</artifactId>
						<version>1.6.7</version>
						<extensions>true</extensions>
						<configuration>
							<serverId>ossrh</serverId>
							<nexusUrl>https://oss.sonatype.org/</nexusUrl>
							<autoReleaseAfterClose>false</autoReleaseAfterClose>
							<stagingProgressTimeoutMinutes>30</stagingProgressTimeoutMinutes>
						</configuration>
					</plugin>
				</plugins>
			</build>
		</profile>
	</profiles>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<license.header.file>src/license/gplv3-header.txt</license.header.file>

		<maven.compiler.source>1.8</maven.compiler.source>
		<maven.compiler.target>1.8</maven.compiler.target>
		<maven.compiler.release>8</maven.compiler.release>

		<scala.deps.scope>compile</scala.deps.scope>
		<spark.deps.scope>compile</spark.deps.scope>
		<hadoop.deps.scope>compile</hadoop.deps.scope>

		<flume.deps.scope>compile</flume.deps.scope>
		<hive.deps.scope>compile</hive.deps.scope>
		<orc.deps.scope>compile</orc.deps.scope>
		<parquet.deps.scope>compile</parquet.deps.scope>
		<parquet.test.deps.scope>test</parquet.test.deps.scope>

		<spark.version>2.4.8</spark.version>
		<spark.minor.version>2.4</spark.minor.version>
		<spark-extensions.version>1.2.8</spark-extensions.version>

		<!-- SPARK-PARENT start: properties copied from spark-parent pom version 2.4.7 for spark-parent import in dependencyManagement -->
		<!-- attention - manually adapted are: zookeeper, scala.version, scala.binary.version -->
		<slf4j.version>1.7.16</slf4j.version>
		<log4j.version>1.2.17</log4j.version>
		<!-- hadoop version must match the hadoop version included by spark-core -->
		<!-- could be better to use cloudera version of hadoop because they backported many bugfixes from later versions -->
		<!--hadoop.version>2.6.0-cdh5.16.1</hadoop.version-->
		<hadoop.version>2.6.5</hadoop.version>
		<protobuf.version>2.5.0</protobuf.version>
		<yarn.version>${hadoop.version}</yarn.version>
		<flume.version>1.6.0</flume.version>
		<zookeeper.version>3.4.13</zookeeper.version><!--Overrides version 3.4.6 in spark core/hadoop in order to support kafka tests-->
		<curator.version>2.6.0</curator.version>
		<hive.group>org.spark-project.hive</hive.group>
		<!--  Version used in Maven Hive dependency  -->
		<hive.version>1.2.1.spark2</hive.version>
		<!--  Version used for internal directory structure  -->
		<hive.version.short>1.2.1</hive.version.short>
		<derby.version>10.12.1.1</derby.version>
		<parquet.version>1.10.1</parquet.version>
		<orc.version>1.5.5</orc.version>
		<orc.classifier>nohive</orc.classifier>
		<hive.parquet.version>1.6.0</hive.parquet.version>
		<jetty.version>9.3.24.v20180605</jetty.version>
		<javaxservlet.version>3.1.0</javaxservlet.version>
		<chill.version>0.9.3</chill.version>
		<ivy.version>2.4.0</ivy.version>
		<oro.version>2.0.8</oro.version>
		<codahale.metrics.version>3.1.5</codahale.metrics.version>
		<avro.version>1.8.2</avro.version>
		<avro.mapred.classifier>hadoop2</avro.mapred.classifier>
		<aws.kinesis.client.version>1.8.10</aws.kinesis.client.version>
		<!--  Should be consistent with Kinesis client dependency  -->
		<aws.java.sdk.version>1.11.271</aws.java.sdk.version>
		<!--  the producer is used in tests  -->
		<aws.kinesis.producer.version>0.12.8</aws.kinesis.producer.version>
		<!--   org.apache.httpcomponents/httpclient -->
		<commons.httpclient.version>4.5.6</commons.httpclient.version>
		<commons.httpcore.version>4.4.10</commons.httpcore.version>
		<!--   commons-httpclient/commons-httpclient -->
		<httpclient.classic.version>3.1</httpclient.classic.version>
		<commons.math3.version>3.4.1</commons.math3.version>
		<!--  managed up from 3.2.1 for SPARK-11652  -->
		<commons.collections.version>3.2.2</commons.collections.version>
		<scala.binary.version>${scala.minor.version}</scala.binary.version>
		<codehaus.jackson.version>1.9.13</codehaus.jackson.version>
		<fasterxml.jackson.version>2.6.7</fasterxml.jackson.version>
		<fasterxml.jackson-module-scala.version>2.6.7.1</fasterxml.jackson-module-scala.version>
		<fasterxml.jackson.databind.version>2.6.7.1</fasterxml.jackson.databind.version>
		<snappy.version>1.1.7.3</snappy.version>
		<netlib.java.version>1.1.2</netlib.java.version>
		<calcite.version>1.2.0-incubating</calcite.version>
		<commons-codec.version>1.10</commons-codec.version>
		<commons-io.version>2.4</commons-io.version>
		<!--  org.apache.commons/commons-lang/ -->
		<commons-lang2.version>2.6</commons-lang2.version>
		<!--  org.apache.commons/commons-lang3/ -->
		<commons-lang3.version>3.5</commons-lang3.version>
		<datanucleus-core.version>3.2.10</datanucleus-core.version>
		<janino.version>3.0.9</janino.version>
		<jersey.version>2.22.2</jersey.version>
		<joda.version>2.9.3</joda.version>
		<jodd.version>3.5.2</jodd.version>
		<jsr305.version>1.3.9</jsr305.version>
		<libthrift.version>0.9.3</libthrift.version>
		<antlr4.version>4.7</antlr4.version>
		<jpam.version>1.1</jpam.version>
		<selenium.version>2.52.0</selenium.version>
		<!--
            Managed up from older version from Avro; sync with jackson-module-paranamer dependency version
             -->
		<paranamer.version>2.8</paranamer.version>
		<maven-antrun.version>1.8</maven-antrun.version>
		<commons-crypto.version>1.0.0</commons-crypto.version>
		<!--
            If you are changing Arrow version specification, please check ./python/pyspark/sql/utils.py,
            ./python/run-tests.py and ./python/setup.py too.
             -->
		<arrow.version>0.10.0</arrow.version>
		<!-- SPARK-PARENT finished -->


		<!-- other dependency versions -->
		<scopt.version>4.0.1</scopt.version>
		<databricks.spark-xml.version>0.13.0</databricks.spark-xml.version>
		<spark.excel.version>0.13.5</spark.excel.version>
		<ucanaccess.version>5.0.1</ucanaccess.version>
		<hsqldb.version>2.5.2</hsqldb.version>
		<!-- when changing config version, remember to update it in DatabricksSmartDataLakeBuilder main method -->
		<typesafe.config.version>1.4.1</typesafe.config.version>
		<kxbmap.configs.version>0.6.1</kxbmap.configs.version>
		<monix.version>3.1.0</monix.version>
		<scala-arm.version>2.0</scala-arm.version>
		<splunk.version>1.6.5.0</splunk.version>
		<sshj.version>0.21.1</sshj.version>
		<kafka.version>2.4.1</kafka.version>
		<snowflake.version>2.8.4</snowflake.version>
		<keycloak.version>4.5.0.Final</keycloak.version>
		<deltaTable.version>0.6.1</deltaTable.version>
		<poi.version>4.1.2</poi.version>

		<scalatest.test.version>3.0.8</scalatest.test.version>
		<sshd.test.version>2.3.0</sshd.test.version>

	</properties>

	<scm>
		<connection>scm:git:git://github.com/smart-data-lake/smart-data-lake.git</connection>
		<developerConnection>scm:git:ssh://github.com/smart-data-lake/smart-data-lake.git</developerConnection>
		<url>http://github.com/smart-data-lake/smart-data-lake/tree/master</url>
	</scm>

	<repositories>
		<repository>
			<id>maven central</id>
			<name>Maven Central Repository</name>
			<url>https://repo1.maven.org/maven2/</url>
		</repository>
		<repository>
			<id>confluent</id>
			<name>Confluent Schema Repository</name>
			<url>https://packages.confluent.io/maven/</url>
		</repository>
		<!-- smartdatalake snapshots -->
		<repository>
			<id>ossrh</id>
			<name>ossrh snapshots</name>
			<url>https://oss.sonatype.org/content/repositories/snapshots/</url>
			<releases><enabled>false</enabled></releases>
			<snapshots><enabled>true</enabled></snapshots>
		</repository>
	</repositories>

	<build>

		<pluginManagement>
			<plugins>

				<!-- add scala sources, if we have also java sources using sourceDirectory / testSourceDirectory tag -->
				<plugin>
					<groupId>org.codehaus.mojo</groupId>
					<artifactId>build-helper-maven-plugin</artifactId>
					<version>3.2.0</version>
					<executions>
						<execution>
							<id>add-source</id>
							<phase>generate-sources</phase>
							<goals>
								<goal>add-source</goal>
							</goals>
							<configuration>
								<sources>
									<source>src/main/scala</source>
								</sources>
							</configuration>
						</execution>
						<execution>
							<id>add-test-source</id>
							<phase>generate-test-sources</phase>
							<goals>
								<goal>add-test-source</goal>
							</goals>
							<configuration>
								<sources>
									<source>src/test/scala</source>
								</sources>
							</configuration>
						</execution>
					</executions>
				</plugin>

				<!-- Compiles Scala sources. -->
				<plugin>
					<groupId>net.alchim31.maven</groupId>
					<artifactId>scala-maven-plugin</artifactId>
					<version>4.3.1</version>
					<executions>
						<execution>
							<goals>
								<goal>compile</goal>
								<goal>testCompile</goal>
							</goals>
						</execution>
					</executions>
					<configuration>
						<scalaCompatVersion>${scala.minor.version}</scalaCompatVersion>
						<checkMultipleScalaVersions>true</checkMultipleScalaVersions>
						<failOnMultipleScalaVersions>true</failOnMultipleScalaVersions>
						<recompileMode>incremental</recompileMode>
						<args>
							<arg>-unchecked</arg>
							<arg>-deprecation</arg>
							<arg>-feature</arg>
							<arg>-explaintypes</arg>
							<arg>-target:jvm-1.8</arg>
						</args>
						<jvmArgs>
							<jvmArg>-Xms64m</jvmArg>
							<jvmArg>-Xmx1024m</jvmArg>
						</jvmArgs>
					</configuration>
				</plugin>

				<!-- rewrite pom for compiling with different scala version profiles -->
				<plugin>
					<groupId>org.spurint.maven.plugins</groupId>
					<artifactId>scala-cross-maven-plugin</artifactId>
					<version>0.2.1</version>
					<executions>
						<execution>
							<id>rewrite-pom</id>
							<goals>
								<goal>rewrite-pom</goal>
							</goals>
						</execution>
					</executions>
				</plugin>

				<!-- Copies files in resources folders to target folder. -->
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-resources-plugin</artifactId>
					<version>3.1.0</version>
				</plugin>

				<!-- Checks whether source files have the specified license header. -->
				<plugin>
					<groupId>com.mycila</groupId>
					<artifactId>license-maven-plugin</artifactId>
					<version>3.0</version>
					<configuration>
						<header>${basedir}/${license.header.file}</header>
						<properties>
							<copyright.name>${project.organization.name}</copyright.name>
							<copyright.contact>${project.organization.url}</copyright.contact>
						</properties>
						<includes>
							<include>src/**</include>
						</includes>
						<excludes>
							<exclude>**/*.accdb</exclude>
							<exclude>**/*.mdb</exclude>
							<exclude>**/*.csv</exclude>
							<exclude>**/*.keytab</exclude>
							<exclude>**/*.pkcs12</exclude>
						</excludes>
						<mapping>
							<scala>SLASHSTAR_STYLE</scala>
							<conf>SCRIPT_STYLE</conf>
						</mapping>
						<failIfMissing>false</failIfMissing>
					</configuration>
					<dependencies>
						<dependency>
							<groupId>com.mycila</groupId>
							<artifactId>license-maven-plugin-git</artifactId>
							<version>3.0</version>
						</dependency>
					</dependencies>
					<executions>
						<execution>
							<goals>
								<goal>check</goal>
							</goals>
						</execution>
					</executions>
				</plugin>

				<!-- Creates the jar without dependencies -->
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-jar-plugin</artifactId>
					<version>3.1.2</version>
					<configuration>
						<archive>
							<manifest>
								<addClasspath>true</addClasspath>
								<mainClass>io.smartdatalake.app.LocalSmartDataLakeBuilder</mainClass>
							</manifest>
							<manifestEntries>
								<Implementation-Version>${project.version}</Implementation-Version>
							</manifestEntries>
						</archive>
						<excludes>
							<exclude>log4j.properties</exclude> <!-- Logging configuration should be left to user. -->
							<exclude>${project.artifactId}*.jar</exclude> <!-- avoid "Error assembling JAR" because of already existing artifact jar -->
						</excludes>
					</configuration>
				</plugin>

				<!-- Creates a JAR file with the source files of the project. -->
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-source-plugin</artifactId>
					<version>3.1.0</version>
					<executions>
						<execution>
							<id>attach-sources</id>
							<goals>
								<goal>jar-no-fork</goal>
							</goals>
						</execution>
					</executions>
					<configuration>
						<excludes>
							<exclude>log4j.properties</exclude> <!-- Logging configuration source should not be distributed. -->
						</excludes>
					</configuration>
				</plugin>

				<!-- Builds executable fat-jar that includes all dependencies -->
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-shade-plugin</artifactId>
					<version>3.2.4</version>
					<executions>
						<execution>
							<phase>package</phase>
							<goals>
								<goal>shade</goal>
							</goals>
							<configuration>
								<filters>
									<filter>
										<artifact>*:*</artifact>
										<excludes>
											<exclude>META-INF/*.SF</exclude>
											<exclude>META-INF/*.DSA</exclude>
											<exclude>META-INF/*.RSA</exclude>
											<!-- handle some duplicate warnings: these files are not needed -->
											<exclude>META-INF/DEPENDENCIES</exclude>
											<exclude>META-INF/LICENSE</exclude>
											<exclude>META-INF/LICENSE.txt</exclude>
											<exclude>META-INF/NOTICE</exclude>
											<exclude>META-INF/NOTICE.txt</exclude>
											<exclude>META-INF/ASL2.0</exclude>
											<exclude>META-INF/NOTICE</exclude>
											<exclude>META-INF/MANIFEST.MF</exclude>
											<exclude>META-INF/maven/**/*</exclude>
											<exclude>META-INF/README.txt</exclude>
											<exclude>LICENSE</exclude>
											<exclude>LICENSE.txt</exclude>
											<exclude>NOTICE.txt</exclude>
											<!-- shading doesnt respect Java Modularisation (>JDK9) -->
											<exclude>module-info.class</exclude>
										</excludes>
									</filter>
								</filters>
								<shadedArtifactAttached>true</shadedArtifactAttached>
								<shadedClassifierName>jar-with-dependencies</shadedClassifierName>
								<artifactSet>
									<includes>
										<include>*:*</include>
									</includes>
								</artifactSet>
								<transformers>
									<transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
										<resource>reference.conf</resource>
									</transformer>
									<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
									</transformer>
									<transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer">
									</transformer>
								</transformers>
								<!-- the following archiv tag might show as error in IntelliJ, but it's ok for maven and works! -->
								<archive>
									<compress>false</compress>
									<manifest>
										<mainClass>io.smartdatalake.app.LocalSmartDataLakeBuilder</mainClass>
									</manifest>
									<manifestEntries>
										<Implementation-Version>${project.version}</Implementation-Version>
									</manifestEntries>
								</archive>
							</configuration>
						</execution>
					</executions>
				</plugin>

				<!-- Executes units tests with scalatest  -->
				<plugin>
					<groupId>org.scalatest</groupId>
					<artifactId>scalatest-maven-plugin</artifactId>
					<version>2.0.0</version>
					<configuration>
						<reportsDirectory>
							${project.build.directory}/scalatest-reports
						</reportsDirectory>
						<junitxml>.</junitxml>
						<filereports>
							${project.artifactId}.txt
						</filereports>
						<stdout>WT</stdout>  <!-- without color, show reminder of failed and canceled tests with short stack traces, see: http://www.scalatest.org/user_guide/using_scalatest_with_sbt-->
						<environmentVariables>
							<SPARK_LOCAL_IP>127.0.0.1</SPARK_LOCAL_IP> <!-- Suppresses Spark IP discovery during tests (when executed with mvn test) -->
						</environmentVariables>
					</configuration>
					<executions>
						<execution>
							<goals>
								<goal>test</goal>
							</goals>
						</execution>
					</executions>
				</plugin>

				<!-- Checks for declared but unused and undeclared but used dependencies in the verify stage -->
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-dependency-plugin</artifactId>
					<version>3.1.1</version>
					<configuration>
						<failOnWarning>false</failOnWarning>
						<ignoreNonCompile>true</ignoreNonCompile>
						<ignoredUsedUndeclaredDependencies>
							<dependency>org.scalacheck:scalacheck_${scala.minor.version}</dependency>
						</ignoredUsedUndeclaredDependencies>
					</configuration>
					<executions>
						<execution>
							<goals>
								<goal>analyze-only</goal>
							</goals>
						</execution>
					</executions>
				</plugin>

				<!-- check for dependency version conflicts -->
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-enforcer-plugin</artifactId>
					<version>3.0.0-M3</version>
					<configuration>
						<rules>
							<requireMavenVersion>
								<version>2.0.6</version>
							</requireMavenVersion>
							<requireJavaVersion>
								<version>1.8</version>
							</requireJavaVersion>
							<dependencyConvergence/>
							<requireProperty>
								<property>scala.minor.version</property>
								<message>You must setscala.minor.version property by activating profile scala-2.11 or scala-2.12!</message>
							</requireProperty>
						</rules>
					</configuration>
				</plugin>

			</plugins>
		</pluginManagement>

		<plugins>

			<!-- Allows handling of version numbers -->
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>versions-maven-plugin</artifactId>
				<version>2.7</version>
			</plugin>

			<!-- disable executing surefire tests as we use scalatest -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-plugin</artifactId>
				<version>2.12.4</version>
				<configuration>
					<skip>true</skip>
				</configuration>
			</plugin>

		</plugins>

	</build>

	<!-- cleanup version of conflicting transitive dependencies reported by mvn enforcer:enforce -->
	<dependencyManagement>
		<dependencies>
			<!--
			  Copy of SPARK-PARENT pom dependency management to cleanup spark dependencies.
			  Import of spark-parent doesnt work, as it is no longer possible to change version by modifying properties.
			  Profile hadoop-3.2 doesn't work anymore like this.
			-->
			<dependency>
				<groupId>org.apache.spark</groupId>
				<artifactId>spark-tags_${scala.binary.version}</artifactId>
				<version>${spark.version}</version>
			</dependency>
			<dependency>
				<groupId>com.twitter</groupId>
				<artifactId>chill_${scala.binary.version}</artifactId>
				<version>${chill.version}</version>
			</dependency>
			<dependency>
				<groupId>com.twitter</groupId>
				<artifactId>chill-java</artifactId>
				<version>${chill.version}</version>
			</dependency>
			<dependency>
				<groupId>org.spark-project.spark</groupId>
				<artifactId>unused</artifactId>
				<version>1.0.0</version>
				<scope>${spark.deps.scope}</scope>
			</dependency>
			<!-- This artifact is a shaded version of ASM 6.x. The POM that was used to produce this
                 is at https://github.com/apache/geronimo-xbean/tree/trunk/xbean-asm6-shaded
                 For context on why we shade ASM, see SPARK-782 and SPARK-6152. -->
			<dependency>
				<groupId>org.apache.xbean</groupId>
				<artifactId>xbean-asm6-shaded</artifactId>
				<version>4.8</version>
				<scope>${spark.deps.scope}</scope>
			</dependency>
			<!-- Shaded deps marked as provided. These are promoted to compile scope
                 in the modules where we want the shaded classes to appear in the
                 associated jar. -->
			<dependency>
				<groupId>org.eclipse.jetty</groupId>
				<artifactId>jetty-http</artifactId>
				<version>${jetty.version}</version>
				<scope>provided</scope>
			</dependency>
			<dependency>
				<groupId>org.eclipse.jetty</groupId>
				<artifactId>jetty-continuation</artifactId>
				<version>${jetty.version}</version>
				<scope>provided</scope>
			</dependency>
			<dependency>
				<groupId>org.eclipse.jetty</groupId>
				<artifactId>jetty-servlet</artifactId>
				<version>${jetty.version}</version>
				<scope>provided</scope>
			</dependency>
			<dependency>
				<groupId>org.eclipse.jetty</groupId>
				<artifactId>jetty-servlets</artifactId>
				<version>${jetty.version}</version>
				<scope>provided</scope>
			</dependency>
			<dependency>
				<groupId>org.eclipse.jetty</groupId>
				<artifactId>jetty-proxy</artifactId>
				<version>${jetty.version}</version>
				<scope>provided</scope>
			</dependency>
			<dependency>
				<groupId>org.eclipse.jetty</groupId>
				<artifactId>jetty-client</artifactId>
				<version>${jetty.version}</version>
				<scope>provided</scope>
			</dependency>
			<dependency>
				<groupId>org.eclipse.jetty</groupId>
				<artifactId>jetty-util</artifactId>
				<version>${jetty.version}</version>
				<scope>provided</scope>
			</dependency>
			<dependency>
				<groupId>org.eclipse.jetty</groupId>
				<artifactId>jetty-security</artifactId>
				<version>${jetty.version}</version>
				<scope>provided</scope>
			</dependency>
			<dependency>
				<groupId>org.eclipse.jetty</groupId>
				<artifactId>jetty-plus</artifactId>
				<version>${jetty.version}</version>
				<scope>provided</scope>
			</dependency>
			<dependency>
				<groupId>org.eclipse.jetty</groupId>
				<artifactId>jetty-server</artifactId>
				<version>${jetty.version}</version>
				<scope>provided</scope>
			</dependency>
			<dependency>
				<groupId>com.google.guava</groupId>
				<artifactId>guava</artifactId>
				<version>14.0.1</version>
				<scope>${spark.deps.scope}</scope>
			</dependency>
			<dependency>
				<groupId>org.jpmml</groupId>
				<artifactId>pmml-model</artifactId>
				<version>1.2.15</version>
				<scope>provided</scope>
				<exclusions>
					<exclusion>
						<groupId>org.jpmml</groupId>
						<artifactId>pmml-agent</artifactId>
					</exclusion>
				</exclusions>
			</dependency>
			<!-- End of shaded deps -->
			<dependency>
				<groupId>org.apache.commons</groupId>
				<artifactId>commons-lang3</artifactId>
				<version>${commons-lang3.version}</version>
			</dependency>
			<dependency>
				<groupId>commons-lang</groupId>
				<artifactId>commons-lang</artifactId>
				<version>${commons-lang2.version}</version>
			</dependency>
			<dependency>
				<groupId>commons-io</groupId>
				<artifactId>commons-io</artifactId>
				<version>${commons-io.version}</version>
			</dependency>
			<dependency>
				<groupId>commons-codec</groupId>
				<artifactId>commons-codec</artifactId>
				<version>${commons-codec.version}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.commons</groupId>
				<artifactId>commons-math3</artifactId>
				<version>${commons.math3.version}</version>
			</dependency>
			<dependency>
				<groupId>commons-collections</groupId>
				<artifactId>commons-collections</artifactId>
				<version>${commons.collections.version}</version>
			</dependency>
			<dependency>
				<groupId>commons-beanutils</groupId>
				<artifactId>commons-beanutils</artifactId>
				<version>1.9.4</version>
			</dependency>
			<dependency>
				<groupId>org.apache.ivy</groupId>
				<artifactId>ivy</artifactId>
				<version>${ivy.version}</version>
			</dependency>
			<dependency>
				<groupId>com.google.code.findbugs</groupId>
				<artifactId>jsr305</artifactId>
				<version>${jsr305.version}</version>
			</dependency>
			<dependency>
				<groupId>commons-httpclient</groupId>
				<artifactId>commons-httpclient</artifactId>
				<version>${httpclient.classic.version}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.httpcomponents</groupId>
				<artifactId>httpclient</artifactId>
				<version>${commons.httpclient.version}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.httpcomponents</groupId>
				<artifactId>httpmime</artifactId>
				<version>${commons.httpclient.version}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.httpcomponents</groupId>
				<artifactId>httpcore</artifactId>
				<version>${commons.httpcore.version}</version>
			</dependency>
			<dependency>
				<groupId>org.fusesource.leveldbjni</groupId>
				<artifactId>leveldbjni-all</artifactId>
				<version>1.8</version>
			</dependency>
			<dependency>
				<groupId>org.slf4j</groupId>
				<artifactId>slf4j-api</artifactId>
				<version>${slf4j.version}</version>
				<scope>${hadoop.deps.scope}</scope>
			</dependency>
			<dependency>
				<groupId>org.slf4j</groupId>
				<artifactId>slf4j-log4j12</artifactId>
				<version>${slf4j.version}</version>
				<scope>${hadoop.deps.scope}</scope>
			</dependency>
			<dependency>
				<groupId>org.slf4j</groupId>
				<artifactId>jul-to-slf4j</artifactId>
				<version>${slf4j.version}</version>
			</dependency>
			<dependency>
				<groupId>org.slf4j</groupId>
				<artifactId>jcl-over-slf4j</artifactId>
				<version>${slf4j.version}</version>
				<!-- runtime scope is appropriate, but causes SBT build problems -->
			</dependency>
			<dependency>
				<groupId>log4j</groupId>
				<artifactId>log4j</artifactId>
				<version>${log4j.version}</version>
				<scope>${hadoop.deps.scope}</scope>
			</dependency>
			<dependency>
				<groupId>com.ning</groupId>
				<artifactId>compress-lzf</artifactId>
				<version>1.0.3</version>
			</dependency>
			<dependency>
				<groupId>org.xerial.snappy</groupId>
				<artifactId>snappy-java</artifactId>
				<version>${snappy.version}</version>
			</dependency>
			<dependency>
				<groupId>org.lz4</groupId>
				<artifactId>lz4-java</artifactId>
				<version>1.4.0</version>
			</dependency>
			<dependency>
				<groupId>com.github.luben</groupId>
				<artifactId>zstd-jni</artifactId>
				<version>1.3.2-2</version>
			</dependency>
			<dependency>
				<groupId>com.clearspring.analytics</groupId>
				<artifactId>stream</artifactId>
				<version>2.7.0</version>
				<exclusions>
					<!-- Only HyperLogLogPlus is used, which doesn't depend on fastutil -->
					<exclusion>
						<groupId>it.unimi.dsi</groupId>
						<artifactId>fastutil</artifactId>
					</exclusion>
				</exclusions>
			</dependency>
			<!-- In theory we need not directly depend on protobuf since Spark does not directly
                 use it. However, when building with Hadoop/YARN 2.2 Maven doesn't correctly bump
                 the protobuf version up from the one Mesos gives. For now we include this variable
                 to explicitly bump the version when building with YARN. It would be nice to figure
                 out why Maven can't resolve this correctly (like SBT does). -->
			<dependency>
				<groupId>com.google.protobuf</groupId>
				<artifactId>protobuf-java</artifactId>
				<version>${protobuf.version}</version>
				<scope>${hadoop.deps.scope}</scope>
			</dependency>
			<dependency>
				<groupId>org.roaringbitmap</groupId>
				<artifactId>RoaringBitmap</artifactId>
				<version>0.7.45</version>
			</dependency>
			<dependency>
				<groupId>commons-net</groupId>
				<artifactId>commons-net</artifactId>
				<version>3.1</version>
			</dependency>
			<dependency>
				<groupId>io.netty</groupId>
				<artifactId>netty-all</artifactId>
				<version>4.1.47.Final</version>
			</dependency>
			<dependency>
				<groupId>io.netty</groupId>
				<artifactId>netty</artifactId>
				<version>3.9.9.Final</version>
			</dependency>
			<dependency>
				<groupId>org.apache.derby</groupId>
				<artifactId>derby</artifactId>
				<version>${derby.version}</version>
			</dependency>
			<dependency>
				<groupId>io.dropwizard.metrics</groupId>
				<artifactId>metrics-core</artifactId>
				<version>${codahale.metrics.version}</version>
			</dependency>
			<dependency>
				<groupId>io.dropwizard.metrics</groupId>
				<artifactId>metrics-jvm</artifactId>
				<version>${codahale.metrics.version}</version>
			</dependency>
			<dependency>
				<groupId>io.dropwizard.metrics</groupId>
				<artifactId>metrics-json</artifactId>
				<version>${codahale.metrics.version}</version>
			</dependency>
			<dependency>
				<groupId>io.dropwizard.metrics</groupId>
				<artifactId>metrics-ganglia</artifactId>
				<version>${codahale.metrics.version}</version>
			</dependency>
			<dependency>
				<groupId>io.dropwizard.metrics</groupId>
				<artifactId>metrics-graphite</artifactId>
				<version>${codahale.metrics.version}</version>
			</dependency>
			<dependency>
				<groupId>com.fasterxml.jackson.core</groupId>
				<artifactId>jackson-core</artifactId>
				<version>${fasterxml.jackson.version}</version>
			</dependency>
			<dependency>
				<groupId>com.fasterxml.jackson.core</groupId>
				<artifactId>jackson-databind</artifactId>
				<version>${fasterxml.jackson.databind.version}</version>
			</dependency>
			<dependency>
				<groupId>com.fasterxml.jackson.core</groupId>
				<artifactId>jackson-annotations</artifactId>
				<version>${fasterxml.jackson.version}</version>
			</dependency>
			<!-- Guava is excluded because of SPARK-6149.  The Guava version referenced in this module is
                 15.0, which causes runtime incompatibility issues. -->
			<dependency>
				<groupId>com.fasterxml.jackson.module</groupId>
				<artifactId>jackson-module-scala_${scala.binary.version}</artifactId>
				<version>${fasterxml.jackson-module-scala.version}</version>
				<exclusions>
					<exclusion>
						<groupId>com.google.guava</groupId>
						<artifactId>guava</artifactId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>com.fasterxml.jackson.module</groupId>
				<artifactId>jackson-module-jaxb-annotations</artifactId>
				<version>${fasterxml.jackson.version}</version>
			</dependency>
			<dependency>
				<groupId>org.glassfish.jersey.core</groupId>
				<artifactId>jersey-server</artifactId>
				<version>${jersey.version}</version>
			</dependency>
			<dependency>
				<groupId>org.glassfish.jersey.core</groupId>
				<artifactId>jersey-common</artifactId>
				<version>${jersey.version}</version>
			</dependency>
			<dependency>
				<groupId>org.glassfish.jersey.core</groupId>
				<artifactId>jersey-client</artifactId>
				<version>${jersey.version}</version>
			</dependency>
			<dependency>
				<groupId>org.glassfish.jersey.containers</groupId>
				<artifactId>jersey-container-servlet</artifactId>
				<version>${jersey.version}</version>
			</dependency>
			<dependency>
				<groupId>org.glassfish.jersey.containers</groupId>
				<artifactId>jersey-container-servlet-core</artifactId>
				<version>${jersey.version}</version>
			</dependency>
			<dependency>
				<groupId>org.glassfish.jersey</groupId>
				<artifactId>jersey-client</artifactId>
				<version>${jersey.version}</version>
			</dependency>
			<dependency>
				<groupId>javax.ws.rs</groupId>
				<artifactId>javax.ws.rs-api</artifactId>
				<version>2.0.1</version>
			</dependency>
			<dependency>
				<groupId>org.scalanlp</groupId>
				<artifactId>breeze_${scala.binary.version}</artifactId>
				<version>0.13.2</version>
				<exclusions>
					<!-- This is included as a compile-scoped dependency by jtransforms, which is
                         a dependency of breeze. -->
					<exclusion>
						<groupId>junit</groupId>
						<artifactId>junit</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.apache.commons</groupId>
						<artifactId>commons-math3</artifactId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>org.json4s</groupId>
				<artifactId>json4s-jackson_${scala.binary.version}</artifactId>
				<version>3.5.3</version>
				<exclusions>
					<exclusion>
						<groupId>com.fasterxml.jackson.core</groupId>
						<artifactId>*</artifactId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>org.scala-lang.modules</groupId>
				<artifactId>scala-xml_${scala.binary.version}</artifactId>
				<version>1.2.0</version>
				<scope>${scala.deps.scope}</scope>
			</dependency>
			<dependency>
				<groupId>org.scala-lang</groupId>
				<artifactId>scala-compiler</artifactId>
				<version>${scala.version}</version>
				<scope>${scala.deps.scope}</scope>
			</dependency>
			<dependency>
				<groupId>org.scala-lang</groupId>
				<artifactId>scala-reflect</artifactId>
				<version>${scala.version}</version>
				<scope>${scala.deps.scope}</scope>
			</dependency>
			<dependency>
				<groupId>org.scala-lang</groupId>
				<artifactId>scala-library</artifactId>
				<version>${scala.version}</version>
				<scope>${scala.deps.scope}</scope>
			</dependency>
			<dependency>
				<groupId>org.scala-lang</groupId>
				<artifactId>scala-actors</artifactId>
				<version>${scala.version}</version>
				<scope>${scala.deps.scope}</scope>
			</dependency>
			<dependency>
				<groupId>org.scala-lang.modules</groupId>
				<artifactId>scala-parser-combinators_${scala.binary.version}</artifactId>
				<version>1.1.0</version>
				<scope>${scala.deps.scope}</scope>
			</dependency>
			<!-- SPARK-16770 affecting Scala 2.11.x -->
			<dependency>
				<groupId>jline</groupId>
				<artifactId>jline</artifactId>
				<version>2.14.6</version>
			</dependency>
			<dependency>
				<groupId>org.apache.curator</groupId>
				<artifactId>curator-recipes</artifactId>
				<version>${curator.version}</version>
				<scope>${hadoop.deps.scope}</scope>
				<exclusions>
					<exclusion>
						<groupId>org.jboss.netty</groupId>
						<artifactId>netty</artifactId>
					</exclusion>
					<exclusion>
						<groupId>jline</groupId>
						<artifactId>jline</artifactId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>org.apache.curator</groupId>
				<artifactId>curator-client</artifactId>
				<version>${curator.version}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.curator</groupId>
				<artifactId>curator-framework</artifactId>
				<version>${curator.version}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.hadoop</groupId>
				<artifactId>hadoop-client</artifactId>
				<version>${hadoop.version}</version>
				<scope>${hadoop.deps.scope}</scope>
				<exclusions>
					<exclusion>
						<groupId>asm</groupId>
						<artifactId>asm</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.codehaus.jackson</groupId>
						<artifactId>jackson-mapper-asl</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.ow2.asm</groupId>
						<artifactId>asm</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.jboss.netty</groupId>
						<artifactId>netty</artifactId>
					</exclusion>
					<exclusion>
						<!-- BeanUtils >= 1.9.0 no longer splits out -core; exclude it -->
						<groupId>commons-beanutils</groupId>
						<artifactId>commons-beanutils-core</artifactId>
					</exclusion>
					<exclusion>
						<groupId>commons-logging</groupId>
						<artifactId>commons-logging</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.mockito</groupId>
						<artifactId>mockito-all</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.mortbay.jetty</groupId>
						<artifactId>servlet-api-2.5</artifactId>
					</exclusion>
					<exclusion>
						<groupId>javax.servlet</groupId>
						<artifactId>servlet-api</artifactId>
					</exclusion>
					<exclusion>
						<groupId>junit</groupId>
						<artifactId>junit</artifactId>
					</exclusion>
					<exclusion>
						<groupId>com.sun.jersey</groupId>
						<artifactId>*</artifactId>
					</exclusion>
					<exclusion>
						<groupId>com.sun.jersey.jersey-test-framework</groupId>
						<artifactId>*</artifactId>
					</exclusion>
					<exclusion>
						<groupId>com.sun.jersey.contribs</groupId>
						<artifactId>*</artifactId>
					</exclusion>
					<exclusion>
						<groupId>net.java.dev.jets3t</groupId>
						<artifactId>jets3t</artifactId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>org.apache.avro</groupId>
				<artifactId>avro</artifactId>
				<version>${avro.version}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.avro</groupId>
				<artifactId>avro-ipc</artifactId>
				<version>${avro.version}</version>
				<exclusions>
					<exclusion>
						<groupId>io.netty</groupId>
						<artifactId>netty</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.mortbay.jetty</groupId>
						<artifactId>jetty</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.mortbay.jetty</groupId>
						<artifactId>jetty-util</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.mortbay.jetty</groupId>
						<artifactId>servlet-api</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.apache.velocity</groupId>
						<artifactId>velocity</artifactId>
					</exclusion>
				</exclusions>
			</dependency>
			<!-- avro-mapred for some reason depends on avro-ipc's test jar, so undo that. -->
			<dependency>
				<groupId>org.apache.avro</groupId>
				<artifactId>avro-ipc</artifactId>
				<classifier>tests</classifier>
				<version>${avro.version}</version>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>org.apache.avro</groupId>
				<artifactId>avro-mapred</artifactId>
				<version>${avro.version}</version>
				<classifier>${avro.mapred.classifier}</classifier>
				<scope>${hive.deps.scope}</scope>
				<exclusions>
					<exclusion>
						<groupId>io.netty</groupId>
						<artifactId>netty</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.mortbay.jetty</groupId>
						<artifactId>jetty</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.mortbay.jetty</groupId>
						<artifactId>jetty-util</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.mortbay.jetty</groupId>
						<artifactId>servlet-api</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.apache.velocity</groupId>
						<artifactId>velocity</artifactId>
					</exclusion>
				</exclusions>
			</dependency>
			<!-- See SPARK-23654 for info on this dependency;
            It is used to keep javax.activation at v1.1.1 after dropping
            jets3t as a dependency.
             -->
			<dependency>
				<groupId>javax.activation</groupId>
				<artifactId>activation</artifactId>
				<version>1.1.1</version>
				<scope>${hadoop.deps.scope}</scope>
			</dependency>
			<dependency>
				<groupId>org.apache.hadoop</groupId>
				<artifactId>hadoop-yarn-api</artifactId>
				<version>${yarn.version}</version>
				<scope>${hadoop.deps.scope}</scope>
				<exclusions>
					<exclusion>
						<groupId>javax.servlet</groupId>
						<artifactId>servlet-api</artifactId>
					</exclusion>
					<exclusion>
						<groupId>asm</groupId>
						<artifactId>asm</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.ow2.asm</groupId>
						<artifactId>asm</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.jboss.netty</groupId>
						<artifactId>netty</artifactId>
					</exclusion>
					<exclusion>
						<groupId>commons-logging</groupId>
						<artifactId>commons-logging</artifactId>
					</exclusion>
					<exclusion>
						<groupId>com.sun.jersey</groupId>
						<artifactId>*</artifactId>
					</exclusion>
					<exclusion>
						<groupId>com.sun.jersey.jersey-test-framework</groupId>
						<artifactId>*</artifactId>
					</exclusion>
					<exclusion>
						<groupId>com.sun.jersey.contribs</groupId>
						<artifactId>*</artifactId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>org.apache.hadoop</groupId>
				<artifactId>hadoop-yarn-common</artifactId>
				<version>${yarn.version}</version>
				<scope>${hadoop.deps.scope}</scope>
				<exclusions>
					<exclusion>
						<groupId>asm</groupId>
						<artifactId>asm</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.ow2.asm</groupId>
						<artifactId>asm</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.jboss.netty</groupId>
						<artifactId>netty</artifactId>
					</exclusion>
					<exclusion>
						<groupId>javax.servlet</groupId>
						<artifactId>servlet-api</artifactId>
					</exclusion>
					<exclusion>
						<groupId>commons-logging</groupId>
						<artifactId>commons-logging</artifactId>
					</exclusion>
					<exclusion>
						<groupId>com.sun.jersey</groupId>
						<artifactId>*</artifactId>
					</exclusion>
					<exclusion>
						<groupId>com.sun.jersey.jersey-test-framework</groupId>
						<artifactId>*</artifactId>
					</exclusion>
					<exclusion>
						<groupId>com.sun.jersey.contribs</groupId>
						<artifactId>*</artifactId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>org.apache.hadoop</groupId>
				<artifactId>hadoop-yarn-server-web-proxy</artifactId>
				<version>${yarn.version}</version>
				<scope>${hadoop.deps.scope}</scope>
				<exclusions>
					<exclusion>
						<groupId>asm</groupId>
						<artifactId>asm</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.ow2.asm</groupId>
						<artifactId>asm</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.jboss.netty</groupId>
						<artifactId>netty</artifactId>
					</exclusion>
					<exclusion>
						<groupId>javax.servlet</groupId>
						<artifactId>servlet-api</artifactId>
					</exclusion>
					<exclusion>
						<groupId>commons-logging</groupId>
						<artifactId>commons-logging</artifactId>
					</exclusion>
					<exclusion>
						<groupId>com.sun.jersey</groupId>
						<artifactId>*</artifactId>
					</exclusion>
					<exclusion>
						<groupId>com.sun.jersey.jersey-test-framework</groupId>
						<artifactId>*</artifactId>
					</exclusion>
					<exclusion>
						<groupId>com.sun.jersey.contribs</groupId>
						<artifactId>*</artifactId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>org.apache.hadoop</groupId>
				<artifactId>hadoop-yarn-client</artifactId>
				<version>${yarn.version}</version>
				<scope>${hadoop.deps.scope}</scope>
				<exclusions>
					<exclusion>
						<groupId>asm</groupId>
						<artifactId>asm</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.ow2.asm</groupId>
						<artifactId>asm</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.jboss.netty</groupId>
						<artifactId>netty</artifactId>
					</exclusion>
					<exclusion>
						<groupId>javax.servlet</groupId>
						<artifactId>servlet-api</artifactId>
					</exclusion>
					<exclusion>
						<groupId>commons-logging</groupId>
						<artifactId>commons-logging</artifactId>
					</exclusion>
					<exclusion>
						<groupId>com.sun.jersey</groupId>
						<artifactId>*</artifactId>
					</exclusion>
					<exclusion>
						<groupId>com.sun.jersey.jersey-test-framework</groupId>
						<artifactId>*</artifactId>
					</exclusion>
					<exclusion>
						<groupId>com.sun.jersey.contribs</groupId>
						<artifactId>*</artifactId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>org.apache.zookeeper</groupId>
				<artifactId>zookeeper</artifactId>
				<version>${zookeeper.version}</version>
				<scope>${hadoop.deps.scope}</scope>
				<exclusions>
					<exclusion>
						<groupId>org.jboss.netty</groupId>
						<artifactId>netty</artifactId>
					</exclusion>
					<exclusion>
						<groupId>jline</groupId>
						<artifactId>jline</artifactId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>org.codehaus.jackson</groupId>
				<artifactId>jackson-core-asl</artifactId>
				<version>${codehaus.jackson.version}</version>
				<scope>${hadoop.deps.scope}</scope>
			</dependency>
			<dependency>
				<groupId>org.codehaus.jackson</groupId>
				<artifactId>jackson-mapper-asl</artifactId>
				<version>${codehaus.jackson.version}</version>
				<scope>${hadoop.deps.scope}</scope>
			</dependency>
			<dependency>
				<groupId>org.codehaus.jackson</groupId>
				<artifactId>jackson-xc</artifactId>
				<version>${codehaus.jackson.version}</version>
			</dependency>
			<dependency>
				<groupId>org.codehaus.jackson</groupId>
				<artifactId>jackson-jaxrs</artifactId>
				<version>${codehaus.jackson.version}</version>
			</dependency>
			<dependency>
				<groupId>${hive.group}</groupId>
				<artifactId>hive-beeline</artifactId>
				<version>${hive.version}</version>
				<scope>${hive.deps.scope}</scope>
				<exclusions>
					<exclusion>
						<groupId>${hive.group}</groupId>
						<artifactId>hive-common</artifactId>
					</exclusion>
					<exclusion>
						<groupId>${hive.group}</groupId>
						<artifactId>hive-exec</artifactId>
					</exclusion>
					<exclusion>
						<groupId>${hive.group}</groupId>
						<artifactId>hive-jdbc</artifactId>
					</exclusion>
					<exclusion>
						<groupId>${hive.group}</groupId>
						<artifactId>hive-metastore</artifactId>
					</exclusion>
					<exclusion>
						<groupId>${hive.group}</groupId>
						<artifactId>hive-service</artifactId>
					</exclusion>
					<exclusion>
						<groupId>${hive.group}</groupId>
						<artifactId>hive-shims</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.apache.thrift</groupId>
						<artifactId>libthrift</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.slf4j</groupId>
						<artifactId>slf4j-api</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.slf4j</groupId>
						<artifactId>slf4j-log4j12</artifactId>
					</exclusion>
					<exclusion>
						<groupId>log4j</groupId>
						<artifactId>log4j</artifactId>
					</exclusion>
					<exclusion>
						<groupId>commons-logging</groupId>
						<artifactId>commons-logging</artifactId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>${hive.group}</groupId>
				<artifactId>hive-cli</artifactId>
				<version>${hive.version}</version>
				<scope>${hive.deps.scope}</scope>
				<exclusions>
					<exclusion>
						<groupId>${hive.group}</groupId>
						<artifactId>hive-common</artifactId>
					</exclusion>
					<exclusion>
						<groupId>${hive.group}</groupId>
						<artifactId>hive-exec</artifactId>
					</exclusion>
					<exclusion>
						<groupId>${hive.group}</groupId>
						<artifactId>hive-jdbc</artifactId>
					</exclusion>
					<exclusion>
						<groupId>${hive.group}</groupId>
						<artifactId>hive-metastore</artifactId>
					</exclusion>
					<exclusion>
						<groupId>${hive.group}</groupId>
						<artifactId>hive-serde</artifactId>
					</exclusion>
					<exclusion>
						<groupId>${hive.group}</groupId>
						<artifactId>hive-service</artifactId>
					</exclusion>
					<exclusion>
						<groupId>${hive.group}</groupId>
						<artifactId>hive-shims</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.apache.thrift</groupId>
						<artifactId>libthrift</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.slf4j</groupId>
						<artifactId>slf4j-api</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.slf4j</groupId>
						<artifactId>slf4j-log4j12</artifactId>
					</exclusion>
					<exclusion>
						<groupId>log4j</groupId>
						<artifactId>log4j</artifactId>
					</exclusion>
					<exclusion>
						<groupId>commons-logging</groupId>
						<artifactId>commons-logging</artifactId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>${hive.group}</groupId>
				<artifactId>hive-common</artifactId>
				<version>${hive.version}</version>
				<scope>${hive.deps.scope}</scope>
				<exclusions>
					<exclusion>
						<groupId>${hive.group}</groupId>
						<artifactId>hive-shims</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.apache.ant</groupId>
						<artifactId>ant</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.apache.zookeeper</groupId>
						<artifactId>zookeeper</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.slf4j</groupId>
						<artifactId>slf4j-api</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.slf4j</groupId>
						<artifactId>slf4j-log4j12</artifactId>
					</exclusion>
					<exclusion>
						<groupId>log4j</groupId>
						<artifactId>log4j</artifactId>
					</exclusion>
					<exclusion>
						<groupId>commons-logging</groupId>
						<artifactId>commons-logging</artifactId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>${hive.group}</groupId>
				<artifactId>hive-exec</artifactId>
				<!--
                        <classifier>core</classifier>
                -->
				<version>${hive.version}</version>
				<scope>${hive.deps.scope}</scope>
				<exclusions>

					<!-- pull this in when needed; the explicit definition culls the surplis-->
					<exclusion>
						<groupId>${hive.group}</groupId>
						<artifactId>hive-metastore</artifactId>
					</exclusion>
					<exclusion>
						<groupId>${hive.group}</groupId>
						<artifactId>hive-shims</artifactId>
					</exclusion>
					<exclusion>
						<groupId>${hive.group}</groupId>
						<artifactId>hive-ant</artifactId>
					</exclusion>
					<!-- break the loop -->
					<exclusion>
						<groupId>${hive.group}</groupId>
						<artifactId>spark-client</artifactId>
					</exclusion>

					<!-- excluded dependencies & transitive.
                     Some may be needed to be explicitly included-->
					<exclusion>
						<groupId>ant</groupId>
						<artifactId>ant</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.apache.ant</groupId>
						<artifactId>ant</artifactId>
					</exclusion>
					<exclusion>
						<groupId>com.esotericsoftware.kryo</groupId>
						<artifactId>kryo</artifactId>
					</exclusion>
					<exclusion>
						<groupId>commons-codec</groupId>
						<artifactId>commons-codec</artifactId>
					</exclusion>
					<exclusion>
						<groupId>commons-httpclient</groupId>
						<artifactId>commons-httpclient</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.apache.avro</groupId>
						<artifactId>avro-mapred</artifactId>
					</exclusion>
					<!--  this is needed and must be explicitly included later-->
					<exclusion>
						<groupId>org.apache.calcite</groupId>
						<artifactId>calcite-core</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.apache.curator</groupId>
						<artifactId>apache-curator</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.apache.curator</groupId>
						<artifactId>curator-client</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.apache.curator</groupId>
						<artifactId>curator-framework</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.apache.thrift</groupId>
						<artifactId>libthrift</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.apache.thrift</groupId>
						<artifactId>libfb303</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.apache.zookeeper</groupId>
						<artifactId>zookeeper</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.slf4j</groupId>
						<artifactId>slf4j-api</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.slf4j</groupId>
						<artifactId>slf4j-log4j12</artifactId>
					</exclusion>
					<exclusion>
						<groupId>log4j</groupId>
						<artifactId>log4j</artifactId>
					</exclusion>
					<exclusion>
						<groupId>commons-logging</groupId>
						<artifactId>commons-logging</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.codehaus.groovy</groupId>
						<artifactId>groovy-all</artifactId>
					</exclusion>
					<exclusion>
						<groupId>jline</groupId>
						<artifactId>jline</artifactId>
					</exclusion>
					<!-- Cat X license now; see SPARK-18262 -->
					<exclusion>
						<groupId>org.json</groupId>
						<artifactId>json</artifactId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>${hive.group}</groupId>
				<artifactId>hive-jdbc</artifactId>
				<version>${hive.version}</version>
				<exclusions>
					<exclusion>
						<groupId>${hive.group}</groupId>
						<artifactId>hive-common</artifactId>
					</exclusion>
					<exclusion>
						<groupId>${hive.group}</groupId>
						<artifactId>hive-common</artifactId>
					</exclusion>
					<exclusion>
						<groupId>${hive.group}</groupId>
						<artifactId>hive-metastore</artifactId>
					</exclusion>
					<exclusion>
						<groupId>${hive.group}</groupId>
						<artifactId>hive-serde</artifactId>
					</exclusion>
					<exclusion>
						<groupId>${hive.group}</groupId>
						<artifactId>hive-service</artifactId>
					</exclusion>
					<exclusion>
						<groupId>${hive.group}</groupId>
						<artifactId>hive-shims</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.apache.curator</groupId>
						<artifactId>curator-framework</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.apache.thrift</groupId>
						<artifactId>libthrift</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.apache.thrift</groupId>
						<artifactId>libfb303</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.apache.zookeeper</groupId>
						<artifactId>zookeeper</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.slf4j</groupId>
						<artifactId>slf4j-api</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.slf4j</groupId>
						<artifactId>slf4j-log4j12</artifactId>
					</exclusion>
					<exclusion>
						<groupId>log4j</groupId>
						<artifactId>log4j</artifactId>
					</exclusion>
					<exclusion>
						<groupId>commons-logging</groupId>
						<artifactId>commons-logging</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.codehaus.groovy</groupId>
						<artifactId>groovy-all</artifactId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>${hive.group}</groupId>
				<artifactId>hive-metastore</artifactId>
				<version>${hive.version}</version>
				<scope>${hive.deps.scope}</scope>
				<exclusions>
					<exclusion>
						<groupId>${hive.group}</groupId>
						<artifactId>hive-serde</artifactId>
					</exclusion>
					<exclusion>
						<groupId>${hive.group}</groupId>
						<artifactId>hive-shims</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.apache.thrift</groupId>
						<artifactId>libfb303</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.apache.thrift</groupId>
						<artifactId>libthrift</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.mortbay.jetty</groupId>
						<artifactId>servlet-api</artifactId>
					</exclusion>
					<exclusion>
						<groupId>com.google.guava</groupId>
						<artifactId>guava</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.slf4j</groupId>
						<artifactId>slf4j-api</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.slf4j</groupId>
						<artifactId>slf4j-log4j12</artifactId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>${hive.group}</groupId>
				<artifactId>hive-serde</artifactId>
				<version>${hive.version}</version>
				<scope>${hive.deps.scope}</scope>
				<exclusions>
					<exclusion>
						<groupId>${hive.group}</groupId>
						<artifactId>hive-common</artifactId>
					</exclusion>
					<exclusion>
						<groupId>${hive.group}</groupId>
						<artifactId>hive-shims</artifactId>
					</exclusion>
					<exclusion>
						<groupId>commons-codec</groupId>
						<artifactId>commons-codec</artifactId>
					</exclusion>
					<exclusion>
						<groupId>com.google.code.findbugs</groupId>
						<artifactId>jsr305</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.apache.avro</groupId>
						<artifactId>avro</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.apache.thrift</groupId>
						<artifactId>libthrift</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.apache.thrift</groupId>
						<artifactId>libfb303</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.slf4j</groupId>
						<artifactId>slf4j-api</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.slf4j</groupId>
						<artifactId>slf4j-log4j12</artifactId>
					</exclusion>
					<exclusion>
						<groupId>log4j</groupId>
						<artifactId>log4j</artifactId>
					</exclusion>
					<exclusion>
						<groupId>commons-logging</groupId>
						<artifactId>commons-logging</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.codehaus.groovy</groupId>
						<artifactId>groovy-all</artifactId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>net.sf.jpam</groupId>
				<artifactId>jpam</artifactId>
				<scope>${hive.deps.scope}</scope>
				<version>${jpam.version}</version>
				<exclusions>
					<exclusion>
						<groupId>javax.servlet</groupId>
						<artifactId>servlet-api</artifactId>
					</exclusion>
				</exclusions>
			</dependency>
			<!-- hive shims pulls in hive 0.23 and a transitive dependency of the Hadoop version
              Hive was built against. This dependency cuts out the YARN/hadoop dependency, which
              is needed by Hive to submit work to a YARN cluster.-->
			<dependency>
				<groupId>${hive.group}</groupId>
				<artifactId>hive-shims</artifactId>
				<version>${hive.version}</version>
				<scope>${hive.deps.scope}</scope>
				<exclusions>
					<exclusion>
						<groupId>com.google.guava</groupId>
						<artifactId>guava</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.apache.hadoop</groupId>
						<artifactId>hadoop-yarn-server-resourcemanager</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.apache.curator</groupId>
						<artifactId>curator-framework</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.apache.thrift</groupId>
						<artifactId>libthrift</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.apache.zookeeper</groupId>
						<artifactId>zookeeper</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.slf4j</groupId>
						<artifactId>slf4j-api</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.slf4j</groupId>
						<artifactId>slf4j-log4j12</artifactId>
					</exclusion>
					<exclusion>
						<groupId>log4j</groupId>
						<artifactId>log4j</artifactId>
					</exclusion>
					<exclusion>
						<groupId>commons-logging</groupId>
						<artifactId>commons-logging</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.codehaus.groovy</groupId>
						<artifactId>groovy-all</artifactId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>org.apache.orc</groupId>
				<artifactId>orc-core</artifactId>
				<version>${orc.version}</version>
				<scope>${orc.deps.scope}</scope>
				<exclusions>
					<exclusion>
						<groupId>javax.xml.bind</groupId>
						<artifactId>jaxb-api</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.apache.hadoop</groupId>
						<artifactId>hadoop-common</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.apache.hadoop</groupId>
						<artifactId>hadoop-hdfs</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.apache.hive</groupId>
						<artifactId>hive-storage-api</artifactId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>org.apache.orc</groupId>
				<artifactId>orc-mapreduce</artifactId>
				<version>${orc.version}</version>
				<scope>${orc.deps.scope}</scope>
				<exclusions>
					<exclusion>
						<groupId>org.apache.hadoop</groupId>
						<artifactId>hadoop-common</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.apache.hadoop</groupId>
						<artifactId>hadoop-mapreduce-client-core</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.apache.orc</groupId>
						<artifactId>orc-core</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.apache.hive</groupId>
						<artifactId>hive-storage-api</artifactId>
					</exclusion>
					<exclusion>
						<groupId> com.esotericsoftware</groupId>
						<artifactId>kryo-shaded</artifactId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>org.apache.parquet</groupId>
				<artifactId>parquet-column</artifactId>
				<version>${parquet.version}</version>
				<scope>${parquet.deps.scope}</scope>
			</dependency>
			<dependency>
				<groupId>org.apache.parquet</groupId>
				<artifactId>parquet-hadoop</artifactId>
				<version>${parquet.version}</version>
				<scope>${parquet.deps.scope}</scope>
				<exclusions>
					<exclusion>
						<groupId>commons-pool</groupId>
						<artifactId>commons-pool</artifactId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>org.apache.parquet</groupId>
				<artifactId>parquet-avro</artifactId>
				<version>${parquet.version}</version>
				<scope>${parquet.test.deps.scope}</scope>
			</dependency>
			<dependency>
				<groupId>com.twitter</groupId>
				<artifactId>parquet-hadoop-bundle</artifactId>
				<version>${hive.parquet.version}</version>
				<scope>compile</scope>
			</dependency>
			<dependency>
				<groupId>org.apache.flume</groupId>
				<artifactId>flume-ng-core</artifactId>
				<version>${flume.version}</version>
				<scope>${flume.deps.scope}</scope>
				<exclusions>
					<exclusion>
						<groupId>io.netty</groupId>
						<artifactId>netty</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.apache.flume</groupId>
						<artifactId>flume-ng-auth</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.apache.thrift</groupId>
						<artifactId>libthrift</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.mortbay.jetty</groupId>
						<artifactId>servlet-api</artifactId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>org.apache.flume</groupId>
				<artifactId>flume-ng-sdk</artifactId>
				<version>${flume.version}</version>
				<scope>${flume.deps.scope}</scope>
				<exclusions>
					<exclusion>
						<groupId>io.netty</groupId>
						<artifactId>netty</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.apache.thrift</groupId>
						<artifactId>libthrift</artifactId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>org.apache.calcite</groupId>
				<artifactId>calcite-core</artifactId>
				<version>${calcite.version}</version>
				<exclusions>
					<exclusion>
						<groupId>com.fasterxml.jackson.core</groupId>
						<artifactId>jackson-annotations</artifactId>
					</exclusion>
					<exclusion>
						<groupId>com.fasterxml.jackson.core</groupId>
						<artifactId>jackson-core</artifactId>
					</exclusion>
					<exclusion>
						<groupId>com.fasterxml.jackson.core</groupId>
						<artifactId>jackson-databind</artifactId>
					</exclusion>
					<exclusion>
						<groupId>com.google.guava</groupId>
						<artifactId>guava</artifactId>
					</exclusion>
					<exclusion>
						<groupId>com.google.code.findbugs</groupId>
						<artifactId>jsr305</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.codehaus.janino</groupId>
						<artifactId>janino</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.codehaus.janino</groupId>
						<artifactId>commons-compiler</artifactId>
					</exclusion>
					<!-- hsqldb interferes with the use of derby as the default db
                      in hive's use of datanucleus.
                    -->
					<exclusion>
						<groupId>org.hsqldb</groupId>
						<artifactId>hsqldb</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.pentaho</groupId>
						<artifactId>pentaho-aggdesigner-algorithm</artifactId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>org.apache.calcite</groupId>
				<artifactId>calcite-avatica</artifactId>
				<version>${calcite.version}</version>
				<exclusions>
					<exclusion>
						<groupId>com.fasterxml.jackson.core</groupId>
						<artifactId>jackson-annotations</artifactId>
					</exclusion>
					<exclusion>
						<groupId>com.fasterxml.jackson.core</groupId>
						<artifactId>jackson-core</artifactId>
					</exclusion>
					<exclusion>
						<groupId>com.fasterxml.jackson.core</groupId>
						<artifactId>jackson-databind</artifactId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>org.codehaus.janino</groupId>
				<artifactId>janino</artifactId>
				<version>${janino.version}</version>
			</dependency>
			<dependency>
				<groupId>org.codehaus.janino</groupId>
				<artifactId>commons-compiler</artifactId>
				<version>${janino.version}</version>
			</dependency>
			<dependency>
				<groupId>joda-time</groupId>
				<artifactId>joda-time</artifactId>
				<version>${joda.version}</version>
			</dependency>
			<dependency>
				<groupId>org.jodd</groupId>
				<artifactId>jodd-core</artifactId>
				<version>${jodd.version}</version>
			</dependency>
			<dependency>
				<groupId>org.datanucleus</groupId>
				<artifactId>datanucleus-core</artifactId>
				<version>${datanucleus-core.version}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.thrift</groupId>
				<artifactId>libthrift</artifactId>
				<version>${libthrift.version}</version>
				<exclusions>
					<exclusion>
						<groupId>org.slf4j</groupId>
						<artifactId>slf4j-api</artifactId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>org.apache.thrift</groupId>
				<artifactId>libfb303</artifactId>
				<version>${libthrift.version}</version>
				<exclusions>
					<exclusion>
						<groupId>org.slf4j</groupId>
						<artifactId>slf4j-api</artifactId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>org.antlr</groupId>
				<artifactId>antlr4-runtime</artifactId>
				<version>${antlr4.version}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.commons</groupId>
				<artifactId>commons-crypto</artifactId>
				<version>${commons-crypto.version}</version>
				<exclusions>
					<exclusion>
						<groupId>net.java.dev.jna</groupId>
						<artifactId>jna</artifactId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>com.thoughtworks.paranamer</groupId>
				<artifactId>paranamer</artifactId>
				<version>${paranamer.version}</version>
				<scope>runtime</scope>
			</dependency>
			<dependency>
				<groupId>org.apache.arrow</groupId>
				<artifactId>arrow-vector</artifactId>
				<version>${arrow.version}</version>
				<exclusions>
					<exclusion>
						<groupId>com.fasterxml.jackson.core</groupId>
						<artifactId>jackson-annotations</artifactId>
					</exclusion>
					<exclusion>
						<groupId>com.fasterxml.jackson.core</groupId>
						<artifactId>jackson-databind</artifactId>
					</exclusion>
					<exclusion>
						<groupId>io.netty</groupId>
						<artifactId>netty-buffer</artifactId>
					</exclusion>
					<exclusion>
						<groupId>io.netty</groupId>
						<artifactId>netty-common</artifactId>
					</exclusion>
					<exclusion>
						<groupId>io.netty</groupId>
						<artifactId>netty-handler</artifactId>
					</exclusion>
				</exclusions>
			</dependency>

			<!-- sdl dependency management -->
			<dependency>
				<groupId>commons-logging</groupId>
				<artifactId>commons-logging</artifactId>
				<version>1.1.3</version>
			</dependency>
			<dependency>
				<groupId>org.apache.spark</groupId>
				<artifactId>spark-core_${scala.minor.version}</artifactId>
				<version>${spark.version}</version>
				<scope>${spark.deps.scope}</scope>
			</dependency>
			<dependency>
				<groupId>org.apache.spark</groupId>
				<artifactId>spark-sql_${scala.minor.version}</artifactId>
				<version>${spark.version}</version>
				<scope>${spark.deps.scope}</scope>
			</dependency>
			<dependency>
				<groupId>org.apache.spark</groupId>
				<artifactId>spark-catalyst_${scala.minor.version}</artifactId>
				<version>${spark.version}</version>
				<scope>${spark.deps.scope}</scope>
			</dependency>
			<dependency>
				<groupId>org.apache.spark</groupId>
				<artifactId>spark-hive_${scala.minor.version}</artifactId>
				<version>${spark.version}</version>
				<scope>${spark.deps.scope}</scope>
			</dependency>
			<dependency>
				<groupId>org.apache.commons</groupId>
				<artifactId>commons-compress</artifactId>
				<version>1.21</version>
			</dependency>
			<dependency>
				<groupId>com.typesafe</groupId>
				<artifactId>config</artifactId>
				<version>${typesafe.config.version}</version>
			</dependency>
			<dependency>
				<groupId>com.github.kxbmap</groupId>
				<artifactId>configs_${scala.minor.version}</artifactId>
				<version>${kxbmap.configs.version}</version>
			</dependency>
			<dependency>
				<groupId>io.swagger</groupId>
				<artifactId>swagger-annotations</artifactId>
				<version>1.5.22</version>
			</dependency>
			<dependency>
				<groupId>org.antlr</groupId>
				<artifactId>ST4</artifactId>
				<version>4.0.4</version>
			</dependency>
			<dependency>
				<groupId>org.antlr</groupId>
				<artifactId>antlr-runtime</artifactId>
				<version>3.4</version>
			</dependency>
			<dependency>
				<groupId>org.apache.poi</groupId>
				<artifactId>poi</artifactId>
				<version>${poi.version}</version>
				<scope>runtime</scope>
			</dependency>
			<dependency>
				<groupId>org.apache.poi</groupId>
				<artifactId>poi-ooxml</artifactId>
				<version>${poi.version}</version>
				<scope>runtime</scope>
			</dependency>
			<dependency>
				<groupId>org.tukaani</groupId>
				<artifactId>xz</artifactId>
				<version>1.5</version>
			</dependency>
			<dependency>
				<groupId>io.smartdatalake</groupId>
				<artifactId>spark-extensions_${scala.minor.version}</artifactId>
				<version>${spark-extensions.version}</version>
			</dependency>

			<!-- TEST dependencies -->
			<dependency>
				<groupId>org.scalatest</groupId>
				<artifactId>scalatest_${scala.minor.version}</artifactId>
				<version>${scalatest.test.version}</version>
				<scope>test</scope>
				<exclusions>
					<exclusion>
						<groupId>org.scala-lang.modules</groupId>
						<artifactId>scala-xml_${scala.minor.version}</artifactId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>org.scalactic</groupId>
				<artifactId>scalactic_${scala.minor.version}</artifactId>
				<version>${scalatest.test.version}</version>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>org.scalacheck</groupId>
				<artifactId>scalacheck_${scala.minor.version}</artifactId>
				<version>1.14.3</version>
				<scope>test</scope>
			</dependency>
		</dependencies>
	</dependencyManagement>
</project>
