<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/maven-v4_0_0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>org.scray</groupId>
	<artifactId>scray-parent</artifactId>
	<version>1.1.3</version>
	<inceptionYear>2014</inceptionYear>
	<packaging>pom</packaging>
	<name>Scray</name>
	<description>Lambda Architecture Framework for Big Data, NoSQL and SQL-Stores</description>
	<url>http://scray.org</url>

	<licenses>
		<license>
			<name>Apache License, Version 2.0</name>
			<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
			<distribution>repo</distribution>
			<comments>A business-friendly OSS license</comments>
		</license>
	</licenses>

	<developers>
		<developer>
			<name>Christian Zirpins</name>
			<organization>Scray</organization>
			<organizationUrl>https://github.com/scray</organizationUrl>
		</developer>
		<developer>
			<name>Andreas Petter</name>
			<organization>Scray</organization>
			<organizationUrl>https://github.com/scray</organizationUrl>
		</developer>
		<developer>
			<name>Johannes Strassner</name>
			<email>j.strassner@seeburger.de</email>
			<organization>Scray</organization>
			<organizationUrl>https://github.com/scray</organizationUrl>
		</developer>
		<developer>
			<name>Stefan Obermeier</name>
			<email>st.obermeier@seeburger.de</email>
			<organization>Scray</organization>
			<organizationUrl>https://github.com/scray</organizationUrl>
		</developer>
	</developers>

	<scm>
		<url>https://github.com/scray</url>
		<connection>scm:git:git://github.com/scray/scray.git</connection>
		<developerConnection>scm:git:https://github.com/scray/scray.git</developerConnection>
		<tag>scray-parent-1.1.3</tag>
	</scm>

	<properties>
		<maven.compiler.source>1.8</maven.compiler.source>
		<maven.compiler.target>1.8</maven.compiler.target>
		<encoding>UTF-8</encoding>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<scala.tools.version>2.11</scala.tools.version>
		<scala.version>2.11.12</scala.version>
		<scala.suffix>2.11</scala.suffix>
		
		<dependency.locations.enabled>false</dependency.locations.enabled>

		<!-- finagle 6.12 might be needed for scray stateless services because 
			storehaus-memcached depends on it - need to test -->
		<!-- <finagle.version>6.12.2</finagle.version> -->
		<!-- finagle 6.15 fixes a bug with AbstractMethod error for DefaultServer 
			in bdq-scray-sil -->
		<finagle.version>6.15.0</finagle.version>

		<libthrift.version>0.9.1</libthrift.version>
		<parboiled.version>2.1.2</parboiled.version>
		<snappy-java.version>1.1.1.6</snappy-java.version>
		<parboiled.version>2.0.1</parboiled.version>

		<scoverage.plugin.version>1.3.0</scoverage.plugin.version>
	</properties>

	<modules>
		<module>scray-querying</module>
		<module>scray-cassandra</module>
		<module>scray-jdbc</module>
		<module>scray-hdfs</module>
		<module>scray-service</module>
		<module>scray-common</module>
		<module>scray-client-jdbc</module>
		<module>scray-loader</module>
	</modules>

	<distributionManagement>
		<snapshotRepository>
			<id>ossrh</id>
			<url>https://oss.sonatype.org/content/repositories/snapshots</url>
		</snapshotRepository>
		<repository>
			<id>ossrh</id>
			<url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
		</repository>
	</distributionManagement>

	<dependencies>
		<dependency>
			<groupId>org.scala-lang</groupId>
			<artifactId>scala-library</artifactId>
		</dependency>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.4</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.scalatest</groupId>
			<artifactId>scalatest_${scala.suffix}</artifactId>
			<version>2.2.2</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.mockito</groupId>
			<artifactId>mockito-core</artifactId>
			<version>1.10.8</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>com.typesafe.scala-logging</groupId>
			<artifactId>scala-logging_${scala.suffix}</artifactId>
			<version>3.5.0</version>
		</dependency>
		<dependency>
			<groupId>ch.qos.logback</groupId>
			<artifactId>logback-classic</artifactId>
			<version>1.2.0</version>
		</dependency>
	</dependencies>

	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>com.twitter</groupId>
				<artifactId>util-core_${scala.suffix}</artifactId>
				<version>6.43.0</version>
			</dependency>
			<dependency>
				<groupId>com.google.code.findbugs</groupId>
				<artifactId>jsr305</artifactId>
				<version>1.3.9</version>
			</dependency>
			<dependency>
				<groupId>org.scala-lang</groupId>
				<artifactId>scala-library</artifactId>
				<version>${scala.version}</version>
			</dependency>
			<dependency>
				<groupId>org.scala-lang</groupId>
				<artifactId>scala-reflect</artifactId>
				<version>${scala.version}</version>
			</dependency>
			<dependency>
				<groupId>com.esotericsoftware</groupId>
				<artifactId>kryo</artifactId>
				<version>3.0.3</version>
			</dependency>
			<dependency>
				<groupId>com.google.guava</groupId>
				<artifactId>guava</artifactId>
				<version>16.0.1</version>
			</dependency>
			<dependency>
				<groupId>com.datastax.cassandra</groupId>
				<artifactId>cassandra-driver-core</artifactId>
				<version>3.1.0</version>
			</dependency>
		</dependencies>
	</dependencyManagement>

	<build>
		<sourceDirectory>src/main/scala</sourceDirectory>
		<testSourceDirectory>src/test/scala</testSourceDirectory>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-eclipse-plugin</artifactId>
				<version>2.9</version>
				<configuration>
					<downloadSources>true</downloadSources>
					<downloadJavadocs>true</downloadJavadocs>
					<buildcommands>
						<buildcommand>ch.epfl.lamp.sdt.core.scalabuilder</buildcommand>
					</buildcommands>
					<additionalProjectnatures>
						<projectnature>ch.epfl.lamp.sdt.core.scalanature</projectnature>
					</additionalProjectnatures>
					<classpathContainers>
						<classpathContainer>org.eclipse.jdt.launching.JRE_CONTAINER</classpathContainer>
						<classpathContainer>ch.epfl.lamp.sdt.launching.SCALA_CONTAINER</classpathContainer>
					</classpathContainers>
					<sourceIncludes>
						<sourceInclude>**/*.scala</sourceInclude>
					</sourceIncludes>
				</configuration>
			</plugin>

			<plugin>
				<groupId>org.scalastyle</groupId>
				<artifactId>scalastyle-maven-plugin</artifactId>
				<version>0.5.0</version>
				<configuration>
					<verbose>false</verbose>
					<failOnViolation>false</failOnViolation>
					<includeTestSourceDirectory>false</includeTestSourceDirectory>
					<failOnWarning>false</failOnWarning>
					<sourceDirectory>${basedir}/src/main/scala</sourceDirectory>
					<testSourceDirectory>${basedir}/src/test/scala</testSourceDirectory>
					<configLocation>${basedir}/scalastyle_config.xml</configLocation>
					<!-- <outputFile>${project.basedir}/target/scalastyle-output.xml</outputFile> -->
					<outputEncoding>UTF-8</outputEncoding>
				</configuration>
				<executions>
					<execution>
						<goals>
							<goal>check</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-plugin</artifactId>
				<version>2.7</version>
				<configuration>
					<skipTests>true</skipTests>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.scalatest</groupId>
				<artifactId>scalatest-maven-plugin</artifactId>
				<version>1.0</version>
				<configuration>
					<reportsDirectory>${project.build.directory}/surefire-reports</reportsDirectory>
					<junitxml>.</junitxml>
					<filereports>WDF TestSuite.txt</filereports>
					<tagsToExclude>CassandraUp,SilUp</tagsToExclude>
				</configuration>
				<executions>
					<execution>
						<id>test</id>
						<goals>
							<goal>test</goal>
						</goals>
					</execution>
				</executions>
			</plugin>

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-release-plugin</artifactId>
				<version>2.5.3</version>
				<configuration>
					<useReleaseProfile>false</useReleaseProfile>
					<pushChanges>false</pushChanges>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-site-plugin</artifactId>
				<version>3.7.1</version>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-project-info-reports-plugin</artifactId>
				<version>2.9</version>
			</plugin>
		</plugins>
	</build>
	<reporting>
		<plugins>
			<plugin>
				<groupId>org.scoverage</groupId>
				<artifactId>scoverage-maven-plugin</artifactId>
				<version>${scoverage.plugin.version}</version>
				<configuration>
					<aggregate>true</aggregate>
				</configuration>
				<reportSets>
					<reportSet>
						<reports>
							<report>report</report>
						</reports>
					</reportSet>
				</reportSets>
			</plugin>
		</plugins>
	</reporting>

	<repositories>
		<repository>
			<id>scala-tools.org</id>
			<name>Scala-Tools Maven2 Repository</name>
			<url>http://scala-tools.org/repo-releases</url>
		</repository>
		<repository>
			<id>conjars.org</id>
			<name>Conjars Repository</name>
			<url>http://conjars.org/repo</url>
		</repository>
		<repository>
			<id>twttr.com</id>
			<name>Twitter Maven</name>
			<url>http://maven.twttr.com</url>
		</repository>
		<repository>
			<id>typesafe.com</id>
			<name>Typesafe Repository</name>
			<url>http://repo.typesafe.com/typesafe/releases/</url>
		</repository>
		<!-- <repository> <id>websudos.co.uk</id> <name>Websudos Repository</name> 
			<url>http://maven.websudos.co.uk/ext-release-local</url> </repository> -->
		<repository>
			<id>sonatype.org</id>
			<name>Sonatype Repo</name>
			<url>https://repository.sonatype.org/</url>
		</repository>
	</repositories>

	<pluginRepositories>
		<pluginRepository>
			<id>scala-tools.org</id>
			<name>Scala-Tools Maven2 Repository</name>
			<url>http://scala-tools.org/repo-releases</url>
		</pluginRepository>
	</pluginRepositories>

	<profiles>
		<profile>
			<id>release</id>
			<build>
				<plugins>
					<plugin>
						<groupId>net.alchim31.maven</groupId>
						<artifactId>scala-maven-plugin</artifactId>
						<version>3.2.1</version>
						<executions>
							<execution>
								<id>attach-javadocs</id>
								<goals>
									<goal>compile</goal>
									<goal>testCompile</goal>
									<goal>doc-jar</goal>
								</goals>
							</execution>
						</executions>
						<configuration>
							<scalaVersion>${scala.version}</scalaVersion>
							<args>
								<arg>-unchecked</arg>
								<arg>-deprecation</arg>
								<arg>-explaintypes</arg>
								<arg>-Xlog-implicits</arg>
							</args>
						</configuration>
					</plugin>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-source-plugin</artifactId>
						<version>2.2.1</version>
						<executions>
							<execution>
								<id>attach-sources</id>
								<goals>
									<goal>jar-no-fork</goal>
								</goals>
							</execution>
						</executions>
					</plugin>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-gpg-plugin</artifactId>
						<version>1.5</version>
						<executions>
							<execution>
								<id>sign-artifacts</id>
								<phase>verify</phase>
								<goals>
									<goal>sign</goal>
								</goals>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>
		<profile>
			<id>default</id>
			<activation>
				<activeByDefault>true</activeByDefault>
			</activation>
			<build>
				<plugins>
					<plugin>
						<groupId>net.alchim31.maven</groupId>
						<artifactId>scala-maven-plugin</artifactId>
						<version>3.2.1</version>
						<executions>
							<execution>
								<goals>
									<goal>compile</goal>
									<goal>testCompile</goal>
								</goals>
							</execution>
						</executions>
						<configuration>
							<scalaVersion>${scala.version}</scalaVersion>
						</configuration>
					</plugin>
				</plugins>
			</build>
		</profile>
	</profiles>

</project>
