<?xml version="1.0" encoding="UTF-8"?>
<!--
 ! Copyright 2009-2013 by The Regents of the University of California
 ! Licensed 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 from
 ! 
 !     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/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>edu.uci.ics.asterix</groupId>
  <artifactId>asterix</artifactId>
  <version>0.8.6</version>
  <packaging>pom</packaging>
  
  <properties>
    <algebricks.version>0.2.12</algebricks.version>
    <hyracks.version>0.2.12</hyracks.version>
    <jvm.extraargs />
    <runSlowAQLTests>false</runSlowAQLTests>

    <!-- Definition of tests in various categories which may be excluded -->
    <optimizer.tests>**/optimizer/**/*Test.java</optimizer.tests>
    <metadata.tests>**/metadata/*Test.java</metadata.tests>
    <execution.tests>**/ExecutionTest.java</execution.tests>
    <invalid.tests>**/DmlTest.java</invalid.tests>
    <global.test.includes>**/*TestSuite.java,**/*Test.java,${execution.tests}</global.test.includes>
    <global.test.excludes>${optimizer.tests},${metadata.tests},${invalid.tests}</global.test.excludes>
  </properties>

	<build>
	  <plugins>
	    <plugin>
	      <groupId>org.apache.maven.plugins</groupId>
	      <artifactId>maven-release-plugin</artifactId>
	      <version>2.1</version>
	      <configuration>
                <goals>package source:jar javadoc:jar deploy:deploy</goals>
	      </configuration>
	    </plugin>
	    <plugin>
	      <groupId>org.apache.maven.plugins</groupId>
	      <artifactId>maven-surefire-plugin</artifactId>
	      <version>2.16</version>
	      <configuration>
		<failIfNoTests>false</failIfNoTests>
		<systemPropertyVariables>
                  <skipFredSlowTests>true</skipFredSlowTests>
		</systemPropertyVariables>
		<forkCount>1</forkCount>
                <reuseForks>false</reuseForks>
		<argLine>-enableassertions -Xmx${test.heap.size}m
		-Dfile.encoding=UTF-8
		-Djava.util.logging.config.file=${user.home}/logging.properties
		-DrunSlowAQLTests=${runSlowAQLTests}
		-Xdebug
		-Xrunjdwp:transport=dt_socket,server=y,address=8000,suspend=n</argLine>
		<includes>
		  <include>${global.test.includes},${test.includes}</include>
		</includes>
                <excludes>
                  <exclude>${global.test.excludes},${test.excludes}</exclude>
                </excludes>
	      </configuration>
	    </plugin>
	  </plugins>
	</build>

	<scm>
		<connection>scm:git:https://code.google.com/p/asterixdb/</connection>
		<developerConnection>scm:git:ssh://fulliautomatix.ics.uci.edu:29418/asterixdb</developerConnection>
	</scm>

	<distributionManagement>
		<repository>
			<id>asterix-releases</id>
			<url>http://obelix.ics.uci.edu/nexus/content/repositories/asterix-releases/</url>
		</repository>
		<snapshotRepository>
			<id>asterix-snapshots</id>
			<url>http://obelix.ics.uci.edu/nexus/content/repositories/asterix-snapshots/</url>
		</snapshotRepository>
	</distributionManagement>

    <profiles>
      <profile>
        <id>slow-aql-tests</id>
        <properties>
          <runSlowAQLTests>true</runSlowAQLTests>
        </properties>
      </profile>
      <profile>
        <id>optimizer-tests</id>
        <properties>
          <optimizer.tests />
        </properties>
      </profile>
      <profile>
        <id>metadata-tests</id>
        <properties>
          <metadata.tests />
        </properties>
      </profile>
      <profile>
        <id>execution-tests</id>
        <properties>
          <execution.tests />
        </properties>
      </profile>
      <profile>
        <id>invalid-tests</id>
        <properties>
          <invalid.tests />
        </properties>
      </profile>
        <profile>
          <id>32bitvm</id>
          <activation>
            <property>
              <name>sun.arch.data.model</name>
              <value>32</value>
            </property>
          </activation>
          <properties>
            <test.heap.size>2048</test.heap.size>
          </properties>
        </profile>

        <profile>
          <id>64bitvm</id>
          <activation>
            <property>
              <name>sun.arch.data.model</name>
              <value>64</value>
            </property>
          </activation>
          <properties>
            <test.heap.size>3072</test.heap.size>
          </properties>
        </profile>

    </profiles>

	<modules>
		<module>asterix-common</module>
		<module>asterix-algebra</module>
		<module>asterix-app</module>
		<module>asterix-tools</module>
		<module>asterix-transactions</module>
		<module>asterix-runtime</module>
		<module>asterix-om</module>
		<module>asterix-aql</module>
        <module>asterix-external-data</module>
        <module>asterix-examples</module>
        <module>asterix-metadata</module>
        <module>asterix-test-framework</module>
        <module>asterix-maven-plugins</module>
        <module>asterix-server</module>
        <module>asterix-installer</module>
        <module>asterix-events</module>
        <module>asterix-doc</module>
        <module>asterix-fuzzyjoin</module>
        </modules>

	<repositories>
		<repository>
			<releases>
				<enabled>true</enabled>
				<updatePolicy>always</updatePolicy>
				<checksumPolicy>warn</checksumPolicy>
			</releases>
			<snapshots>
				<enabled>true</enabled>
				<updatePolicy>always</updatePolicy>
				<checksumPolicy>fail</checksumPolicy>
			</snapshots>
			<id>asterix-public</id>
			<url>http://obelix.ics.uci.edu/nexus/content/groups/asterix-public/</url>
		</repository>
		<repository>
			<releases>
				<enabled>true</enabled>
				<updatePolicy>always</updatePolicy>
				<checksumPolicy>warn</checksumPolicy>
			</releases>
			<snapshots>
				<enabled>true</enabled>
				<updatePolicy>always</updatePolicy>
				<checksumPolicy>fail</checksumPolicy>
			</snapshots>
			<id>third-party</id>
			<url>http://obelix.ics.uci.edu/nexus/content/repositories/third-party/</url>
		</repository>
		<repository>
			<releases>
				<enabled>true</enabled>
				<updatePolicy>always</updatePolicy>
				<checksumPolicy>warn</checksumPolicy>
			</releases>
			<id>algebricks-releases</id>
			<url>http://obelix.ics.uci.edu/nexus/content/repositories/algebricks-releases/</url>
		</repository>
		<repository>
			<snapshots>
				<enabled>true</enabled>
				<updatePolicy>always</updatePolicy>
				<checksumPolicy>fail</checksumPolicy>
			</snapshots>
			<id>algebricks-snapshots</id>
			<url>http://obelix.ics.uci.edu/nexus/content/repositories/algebricks-snapshots/</url>
		</repository>
	</repositories>
        <dependencyManagement>
    	<dependencies>
          <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.8.1</version>
          </dependency>
    		<dependency>
    			<groupId>edu.uci.ics.hyracks</groupId>
    			<artifactId>algebricks-compiler</artifactId>
    			<version>${algebricks.version}</version>
    		</dependency>
    		<dependency>
    			<groupId>edu.uci.ics.hyracks</groupId>
    			<artifactId>hyracks-api</artifactId>
    			<version>${hyracks.version}</version>
    		</dependency>
    		<dependency>
    			<groupId>edu.uci.ics.hyracks</groupId>
    			<artifactId>hyracks-dataflow-std</artifactId>
    			<version>${hyracks.version}</version>
    		</dependency>
    		<dependency>
    			<groupId>edu.uci.ics.hyracks</groupId>
    			<artifactId>hyracks-control-cc</artifactId>
    			<version>${hyracks.version}</version>
    		</dependency>
    		<dependency>
    			<groupId>edu.uci.ics.hyracks</groupId>
    			<artifactId>hyracks-control-nc</artifactId>
    			<version>${hyracks.version}</version>
    		</dependency>
    		<dependency>
    			<groupId>edu.uci.ics.hyracks</groupId>
    			<artifactId>hyracks-server</artifactId>
    			<version>${hyracks.version}</version>
    		</dependency>
    		<dependency>
    			<groupId>edu.uci.ics.hyracks</groupId>
    			<artifactId>hyracks-cli</artifactId>
    			<version>${hyracks.version}</version>
    		</dependency>
    		<dependency>
    			<groupId>edu.uci.ics.hyracks</groupId>
    			<artifactId>hyracks-dataflow-hadoop</artifactId>
    			<version>${hyracks.version}</version>
    		</dependency>
    		<dependency>
    			<groupId>edu.uci.ics.hyracks</groupId>
    			<artifactId>hyracks-storage-am-btree</artifactId>
    			<version>${hyracks.version}</version>
    		</dependency>
    		<dependency>
    			<groupId>edu.uci.ics.hyracks</groupId>
    			<artifactId>hyracks-storage-am-rtree</artifactId>
    			<version>${hyracks.version}</version>
    		</dependency>
    		<dependency>
    			<groupId>edu.uci.ics.hyracks</groupId>
    			<artifactId>
    				hyracks-storage-am-invertedindex
    			</artifactId>
    			<version>${hyracks.version}</version>
    		</dependency>
    		<dependency>
    			<groupId>edu.uci.ics.hyracks</groupId>
    			<artifactId>hyracks-storage-am-common</artifactId>
    			<version>${hyracks.version}</version>
    		</dependency>
		    <dependency>
                <groupId>edu.uci.ics.hyracks</groupId>
                <artifactId>hyracks-client</artifactId>
                <version>${hyracks.version}</version>
            </dependency>
		<dependency>
			<groupId>edu.uci.ics.hyracks</groupId>
			<artifactId>hyracks-storage-am-lsm-common</artifactId>
			<version>${hyracks.version}</version>
		</dependency>
		<dependency>
			<groupId>edu.uci.ics.hyracks</groupId>
			<artifactId>hyracks-storage-am-lsm-btree</artifactId>
			<version>${hyracks.version}</version>
		</dependency>
		<dependency>
			<groupId>edu.uci.ics.hyracks</groupId>
			<artifactId>hyracks-storage-am-lsm-rtree</artifactId>
			<version>${hyracks.version}</version>
		</dependency>
		<dependency>
			<groupId>edu.uci.ics.hyracks</groupId>
			<artifactId>hyracks-storage-am-lsm-invertedindex</artifactId>
			<version>${hyracks.version}</version>
		</dependency>
		<dependency>
			<groupId>org.json</groupId>
			<artifactId>json</artifactId>
			<version>20090211</version>
			<type>jar</type>
		</dependency>
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>servlet-api</artifactId>
			<version>2.5</version>
			<type>jar</type>
		</dependency>
    	</dependencies>
    </dependencyManagement>
</project>
