<?xml version="1.0" encoding="UTF-8" ?>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->
<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.apache</groupId>
		<artifactId>apache</artifactId>
		<version>13</version>
	</parent>

	<groupId>org.apache.blur</groupId>
	<artifactId>blur</artifactId>
	<version>0.2.3-incubating</version>
	<packaging>pom</packaging>

	<name>Blur</name>
	<description>Blur is a search platform capable of searching massive amounts of data in a cloud computing environment.</description>
	<url>http://incubator.apache.org/blur/</url>
	<inceptionYear>2012</inceptionYear>

	<distributionManagement>
		<site>
			<id>${project.artifactId}</id>
			<url>http://incubator.apache.org/blur</url>
		</site>
		<downloadUrl>http://www.apache.org/dist/incubator/blur</downloadUrl>
	</distributionManagement>

	<developers>
		<developer>
			<id>twilliams</id>
			<name>Tim Williams</name>
			<email>twilliams@apache.org</email>
			<roles>
				<role>mentor</role>
				<role>committer</role>
			</roles>
		</developer>
		<developer>
			<id>phunt</id>
			<name>Patrick Hunt</name>
			<email>phunt@apache.org</email>
			<roles>
				<role>mentor</role>
				<role>committer</role>
			</roles>
		</developer>
		<developer>
			<id>cutting</id>
			<name>Doug Cutting</name>
			<email>cutting@apache.org</email>
			<roles>
				<role>mentor</role>
				<role>committer</role>
			</roles>
		</developer>
		<developer>
			<id>amccurry</id>
			<name>Aaron McCurry</name>
			<email>amccurry@apache.org</email>
			<roles>
				<role>committer</role>
			</roles>
		</developer>
		<developer>
			<id>sleberkn</id>
			<name>Scott Leberknight</name>
			<email>sleberkn@apache.org</email>
			<roles>
				<role>committer</role>
			</roles>
		</developer>
		<developer>
			<id>rgimmy</id>
			<name>Ryan Gimmy</name>
			<email>rgimmy@apache.org</email>
			<roles>
				<role>committer</role>
			</roles>
		</developer>
		<developer>
			<id>gagz</id>
			<name>Gagan Juneja</name>
			<email>gagz@apache.org</email>
			<roles>
				<role>committer</role>
			</roles>
		</developer>
		<developer>
			<id></id>
			<name>Rahul Challapalli</name>
			<email>@apache.org</email>
			<roles>
				<role>committer</role>
			</roles>
		</developer>
		<developer>
			<id></id>
			<name>Chris Rohr</name>
			<email>crohr@apache.org</email>
			<roles>
				<role>committer</role>
			</roles>
		</developer>
	</developers>

	<contributors>
	</contributors>

	<issueManagement>
		<system>JIRA</system>
		<url>https://issues.apache.org/jira/browse/BLUR</url>
	</issueManagement>

	<mailingLists>
		<mailingList>
			<name>User</name>
			<subscribe>blur-user-subscribe@incubator.apache.org</subscribe>
			<unsubscribe>blur-user-unsubscribe@incubator.apache.org</unsubscribe>
			<post>blur-user@incubator.apache.org</post>
			<archive>http://mail-archives.apache.org/mod_mbox/incubator-blur-user/</archive>
			<otherArchives>
				<otherArchive>http://markmail.org/browse/org.apache.incubator.blur-user</otherArchive>
			</otherArchives>
		</mailingList>
		<mailingList>
			<name>Dev</name>
			<subscribe>blur-dev-subscribe@incubator.apache.org</subscribe>
			<unsubscribe>blur-dev-unsubscribe@incubator.apache.org</unsubscribe>
			<post>blur-dev@incubator.apache.org</post>
			<archive>http://mail-archives.apache.org/mod_mbox/incubator-blur-dev/</archive>
			<otherArchives>
				<otherArchive>http://markmail.org/browse/org.apache.incubator.blur-dev</otherArchive>
			</otherArchives>
		</mailingList>
		<mailingList>
			<name>Commits</name>
			<subscribe>blur-commits-subscribe@incubator.apache.org</subscribe>
			<unsubscribe>blur-commits-unsubscribe@incubator.apache.org</unsubscribe>
			<post>blur-commits@incubator.apache.org</post>
			<archive>http://mail-archives.apache.org/mod_mbox/incubator-blur-commits/</archive>
			<otherArchives>
				<otherArchive>http://markmail.org/browse/org.apache.incubator.blur-commits</otherArchive>
			</otherArchives>
		</mailingList>
	</mailingLists>

	<scm>
		<connection>scm:git:http://git-wip-us.apache.org/repos/asf/incubator-blur.git</connection>
		<developerConnection>scm:git:https://git-wip-us.apache.org/repos/asf/incubator-blur.git</developerConnection>
		<!--tag>HEAD</tag -->
		<url>https://git-wip-us.apache.org/repos/asf?p=incubator-blur.git;a=summary</url>
	</scm>

	<properties>
        <commons-logging.version>1.1.3</commons-logging.version>
        <commons-lang.version>2.4</commons-lang.version>
		<zookeeper.version>3.4.5</zookeeper.version>
		<log4j.version>1.2.15</log4j.version>
		<jersey.version>1.14</jersey.version>
		<lucene.version>4.3.0</lucene.version>
		<junit.version>4.9</junit.version>
		<slf4j.version>1.6.1</slf4j.version>
		<commons-cli.version>1.2</commons-cli.version>
		<concurrentlinkedhashmap-lru.version>1.3.2</concurrentlinkedhashmap-lru.version>
		<jline.version>2.10</jline.version>
		<guava.version>14.0</guava.version>
		<metrics.version>2.2.0</metrics.version>
		<metrics-ganglia.version>2.2.0</metrics-ganglia.version>
		<metrics-graphite.version>2.2.0</metrics-graphite.version>
		<mockito.version>1.9.0</mockito.version>
		<json.version>20090211</json.version>
		<mrunit.version>0.9.0-incubating</mrunit.version>
		<httpclient.version>4.1.3</httpclient.version>
		<servlet-api.version>2.5</servlet-api.version>
	</properties>

	<dependencies>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>${junit.version}</version>
			<scope>test</scope>
		</dependency>
	</dependencies>

	<repositories>
		<repository>
			<id>libdir</id>
			<url>file://${basedir}/../lib</url>
		</repository>
		<repository>
			<id>cloudera</id>
			<url>https://repository.cloudera.com/artifactory/cloudera-repos/</url>
		</repository>
	</repositories>

	<build>
		<plugins>
			<plugin>
				<groupId>org.apache.rat</groupId>
				<artifactId>apache-rat-plugin</artifactId>
				<version>0.10</version>
				<configuration>
					<excludes>
						<exclude>LICENSE</exclude>
						<exclude>CHANGES.txt</exclude>
						<exclude>DISCLAIMER</exclude>
						<exclude>NOTICE</exclude>
						<exclude>README</exclude>
						<exclude>**/README.textile</exclude>
						<exclude>**/README.md</exclude>
						<exclude>**/.classpath</exclude>
						<exclude>**/.project</exclude>
						<exclude>**/.settings/**</exclude>
						<exclude>**/.idea/**</exclude>
						<exclude>**/*.iml</exclude>
						<exclude>**/target/**</exclude>
                        <exclude>**/build/**</exclude>
                        <exclude>**/.codio</exclude>

						<!-- These javascript libs are added at build time but are not included in the src -->
						<exclude>**/src/main/webapp/libs/**</exclude>
						<exclude>**/node_modules/**</exclude>

						<!-- Generated CSS files -->
						<exclude>**/src/main/webapp/public/css/**</exclude>

						<!-- JS Libraries that could not be included through bower -->
						<exclude>**/src/main/webapp/js/utils/*</exclude>
						<exclude>**/src/main/webapp/public/js/modernizr.js</exclude>

						<!-- Files used for building the UI -->
						<exclude>**/src/main/webapp/node_modules/**</exclude>
						<exclude>**/src/main/webapp/.sass-cache/**</exclude>
						<exclude>**/src/main/webapp/.tmp/**</exclude>
						<exclude>**/.editorconfig</exclude>
						<exclude>**/.jshintrc</exclude>
						<exclude>**/package.json</exclude>
						<exclude>**/src/main/scripts/grunt.sh</exclude>
						<exclude>**/src/main/webapp/coverage/**</exclude>

						<!-- Legacy blur console -->
						<exclude>contrib/blur-console-v1/**</exclude>

						<!-- Contains a list of english words that are used for load testing, adding a header
						would make the simple parsers more complex -->
						<exclude>**/src/main/resources/org/apache/blur/thrift/util/words.txt</exclude>

						<!-- These javascript libs are accounted for in the
						LICENSE file in root of the project -->
						<exclude>**/src/main/webapp/js/d3.v2.js</exclude>
						<exclude>**/src/main/webapp/js/d3.v2.min.js</exclude>

						<!-- License and Notice files for Blur -->
						<exclude>**/src/main/resources*/license-notes.txt</exclude>
						<exclude>**/src/main/resources*/NOTICE-bin.base.txt</exclude>
						<exclude>**/src/main/resources*/NOTICE-bin.txt</exclude>
						<exclude>**/src/main/resources*/notices/*.src</exclude>

						<!-- Default configuration files used by Blur -->
						<exclude>**/src/main/scripts/conf/controllers</exclude>
                                                <exclude>**/src/main/scripts/conf/consoles</exclude>
						<exclude>**/src/main/scripts/conf/default_zoo.cfg</exclude>
						<exclude>**/src/main/scripts/conf/shards</exclude>
						<exclude>**/src/main/scripts/conf/zookeepers</exclude>

						<!-- Generate by Thrift -->
						<exclude>**/src/main/scripts/interface/gen-html/Blur.html</exclude>
						<exclude>**/src/main/scripts/interface/gen-html/index.html</exclude>

						<!-- Used to create empty directories in git -->
                        <exclude>**/.empty</exclude>
					</excludes>
				</configuration>
				<executions>
					<execution>
						<phase>package</phase>
						<goals>
							<goal>check</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
		</plugins>

		<pluginManagement>
			<plugins>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-surefire-plugin</artifactId>
					<configuration>
						<argLine>-XX:+UseConcMarkSweepGC -Xmx1g -Xms1g</argLine>
						<forkCount>2</forkCount>
						<forkMode>always</forkMode>
						<reuseForks>false</reuseForks>
						<systemPropertyVariables>
							<blur.tmp.dir>${project.build.directory}/target/tmp</blur.tmp.dir>
						</systemPropertyVariables>
					</configuration>
				</plugin>
				<!-- Ignore/Execute plugin execution -->
				<plugin>
					<artifactId>maven-assembly-plugin</artifactId>
					<configuration>
						<descriptors>
							<descriptor>src/assemble/bin.xml</descriptor>
						</descriptors>
					</configuration>
				</plugin>
				<plugin>
					<groupId>org.eclipse.m2e</groupId>
					<artifactId>lifecycle-mapping</artifactId>
					<version>1.0.0</version>
					<configuration>
						<lifecycleMappingMetadata>
							<pluginExecutions>
								<!-- copy-dependency plugin -->
								<pluginExecution>
									<pluginExecutionFilter>
										<groupId>org.apache.maven.plugins</groupId>
										<artifactId>maven-dependency-plugin</artifactId>
										<versionRange>[1.0.0,)</versionRange>
										<goals>
											<goal>copy-dependencies</goal>
										</goals>
									</pluginExecutionFilter>
									<action>
										<ignore />
									</action>
								</pluginExecution>
							</pluginExecutions>
						</lifecycleMappingMetadata>
					</configuration>
				</plugin>
				<plugin>
					<groupId>org.jasig.maven</groupId>
					<artifactId>maven-notice-plugin</artifactId>
					<configuration>
						<noticeTemplate>./resources/NOTICE.template</noticeTemplate>
						<licenseMapping>
							<param>./resources/license-mappings.xml</param>
						</licenseMapping>
					</configuration>
				</plugin>
			</plugins>
		</pluginManagement>
	</build>

	<reporting>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-javadoc-plugin</artifactId>
				<configuration>
					<!--stylesheetfile>${basedir}/src/main/javadoc/stylesheet.css</stylesheetfile -->
					<show>public</show>
				</configuration>
			</plugin>
		</plugins>
	</reporting>

	<profiles>
		<profile>
			<id>hadoop1</id>
			<activation>
				<property>
					<name>hadoop1</name>
				</property>
			</activation>
			<properties>
				<hadoop.version>1.2.1</hadoop.version>
			</properties>
			<modules>
                                <module>blur-console</module>
				<module>blur-core</module>
				<module>blur-thrift</module>
				<module>blur-query</module>
				<module>blur-store</module>
				<module>blur-mapred-hadoop1</module>
				<module>blur-util</module>
				<module>blur-gui</module>
				<module>blur-shell</module>
				<module>distribution</module>
			</modules>
		</profile>
		<profile>
			<id>hadoop2-mr1</id>
			<activation>
				<property>
					<name>hadoop2-mr1</name>
				</property>
			</activation>
			<properties>
				<hadoop.version>2.3.0-mr1-cdh5.0.2</hadoop.version>
			</properties>
			<modules>
                                <module>blur-console</module>
				<module>blur-core</module>
				<module>blur-thrift</module>
				<module>blur-query</module>
				<module>blur-store</module>
				<module>blur-mapred-hadoop1</module>
				<module>blur-util</module>
				<module>blur-gui</module>
				<module>blur-shell</module>
				<module>distribution</module>
			</modules>
		</profile>
		<profile>
			<id>hadoop2</id>
			<activation>
				<property>
					<name>hadoop2</name>
				</property>
			</activation>
			<properties>
				<hadoop.version>2.2.0</hadoop.version>
			</properties>
			<modules>
                                <module>blur-console</module>
				<module>blur-core</module>
				<module>blur-thrift</module>
				<module>blur-query</module>
				<module>blur-store</module>
				<module>blur-mapred-hadoop2</module>
				<module>blur-util</module>
				<module>blur-gui</module>
				<module>blur-shell</module>
				<module>distribution</module>
			</modules>
		</profile>
	</profiles>
</project>
