<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>org.eobjects.datacleaner</groupId>
		<artifactId>DataCleaner-env</artifactId>
		<version>5.7.0</version>
	</parent>
	<artifactId>DataCleaner-env-spark</artifactId>

	<build>
		<plugins>
			<plugin>
				<artifactId>maven-assembly-plugin</artifactId>
				<configuration>
					<archive>
						<manifest>
							<mainClass>org.datacleaner.spark.Main</mainClass>
						</manifest>
					</archive>
					<descriptorRefs>
						<descriptorRef>jar-with-dependencies</descriptorRef>
					</descriptorRefs>
				</configuration>
				<executions>
					<execution>
						<id>make-assembly</id>
						<phase>package</phase>
						<goals>
							<goal>single</goal>
						</goals>
					</execution>
				</executions>
			</plugin>

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-enforcer-plugin</artifactId>
				<executions>
					<execution>
						<id>enforce-versions</id>
						<goals>
							<goal>enforce</goal>
						</goals>
						<configuration>
							<rules>
								<bannedDependencies>
									<excludes>
										<!-- Stuff that Spark bundles -->
										<exclude>org.apache.hadoop:*:*:*:compile</exclude>
										<exclude>org.apache.spark:*:*:*:compile</exclude>
										<exclude>com.fasterxml.jackson.core:*:*:*:compile</exclude>
										<exclude>org.apache.curator:*:*:*:compile</exclude>
										<exclude>org.scala-lang:*:*:*:compile</exclude>
										<exclude>org.scala-lang.modules:*:*:*:compile</exclude>
									</excludes>
								</bannedDependencies>
							</rules>
						</configuration>
					</execution>
				</executions>
			</plugin>
		</plugins>
	</build>

	<dependencies>
		<dependency>
			<groupId>org.apache.spark</groupId>
			<artifactId>spark-yarn_2.11</artifactId>
		</dependency>
		<dependency>
			<groupId>org.apache.hadoop</groupId>
			<artifactId>hadoop-client</artifactId>
			<scope>provided</scope>
			<exclusions>
				<exclusion>
					<artifactId>jackson-core-asl</artifactId>
					<groupId>org.codehaus.jackson</groupId>
				</exclusion>
				<exclusion>
					<artifactId>jackson-mapper-asl</artifactId>
					<groupId>org.codehaus.jackson</groupId>
				</exclusion>
				<exclusion>
					<artifactId>commons-logging</artifactId>
					<groupId>commons-logging</groupId>
				</exclusion>
				<exclusion>
					<groupId>commons-beanutils</groupId>
					<artifactId>commons-beanutils-core</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>org.eobjects.datacleaner</groupId>
			<artifactId>DataCleaner-api</artifactId>
			<version>${project.version}</version>
		</dependency>
		<dependency>
			<groupId>org.eobjects.datacleaner</groupId>
			<artifactId>DataCleaner-engine-core</artifactId>
			<version>${project.version}</version>
			<exclusions>
				<exclusion>
					<groupId>org.apache.metamodel</groupId>
					<artifactId>MetaModel-hbase</artifactId>
				</exclusion>
				<exclusion>
					<groupId>org.eobjects.metamodel-extras</groupId>
					<artifactId>MetaModel-extras-sas</artifactId>
				</exclusion>
				<exclusion>
					<groupId>org.eobjects.metamodel-extras</groupId>
					<artifactId>MetaModel-extras-dbase</artifactId>
				</exclusion>
				<exclusion>
					<groupId>org.eobjects.metamodel-extras</groupId>
					<artifactId>MetaModel-extras-access</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.fasterxml.jackson.core</groupId>
					<artifactId>jackson-annotations</artifactId>
				</exclusion>
				<exclusion>
					<groupId>com.fasterxml.jackson.module</groupId>
					<artifactId>jackson-module-jsonSchema</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>org.eobjects.datacleaner</groupId>
			<artifactId>DataCleaner-xml-config</artifactId>
			<version>${project.version}</version>
		</dependency>
		<dependency>
			<groupId>org.apache.metamodel</groupId>
			<artifactId>MetaModel-fixedwidth</artifactId>
		</dependency>
		<dependency>
			<groupId>org.apache.metamodel</groupId>
			<artifactId>MetaModel-core</artifactId>
		</dependency>
		<dependency>
			<groupId>org.eobjects.datacleaner</groupId>
			<artifactId>DataCleaner-standard-components</artifactId>
			<version>${project.version}</version>
			<exclusions>
				<exclusion>
					<groupId>org.scala-lang</groupId>
					<artifactId>scala-library</artifactId>
				</exclusion>
				<exclusion>
					<groupId>org.scala-lang.modules</groupId>
					<artifactId>scala-xml_2.11</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>org.apache.metamodel</groupId>
			<artifactId>MetaModel-hadoop</artifactId>
			<exclusions>
				<exclusion>
					<groupId>org.apache.hadoop</groupId>
					<artifactId>hadoop-common</artifactId>
				</exclusion>
				<exclusion>
					<groupId>org.apache.hadoop</groupId>
					<artifactId>hadoop-client</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>org.apache.metamodel</groupId>
			<artifactId>MetaModel-csv</artifactId>
		</dependency>
		<dependency>
			<groupId>org.apache.metamodel</groupId>
			<artifactId>MetaModel-json</artifactId>
			<exclusions>
				<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.fasterxml.jackson.core</groupId>
					<artifactId>jackson-annotations</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
	</dependencies>
</project>
