<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>
  <artifactId>algebricks-tests</artifactId>
  <name>algebricks-tests</name>

  <parent>
    <groupId>edu.uci.ics.hyracks</groupId>
    <artifactId>algebricks</artifactId>
    <version>0.2.5-SNAPSHOT</version>
  </parent>

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>2.0.2</version>
        <configuration>
          <source>1.7</source>
          <target>1.7</target>
          <fork>true</fork>
	  <encoding>UTF-8</encoding>
	</configuration>
      </plugin>
      <plugin>
        <artifactId>maven-antrun-plugin</artifactId>
        <executions>
          <execution>
            <phase>generate-sources</phase>
            <configuration>
              <tasks>
                <ant antfile="build-script.xml" target="build">
                  <property name="main.class" value="edu.uci.ics.hyracks.algebricks.tests.script.IdentityStreamingScript" />
                  <property name="script.classpath" refid="maven.compile.classpath" />
                  <property name="jvm.params" value="" />
                  <property name="program.params" value="" />
                  <property name="source" value="${basedir}/src/main/scripts/run" />
                  <property name="target.dir" value="${basedir}/target/testscripts" />
                  <property name="target" value="idscript" />
                </ant>
              </tasks>
            </configuration>
            <goals>
              <goal>run</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
    <pluginManagement>
    	<plugins>
    		<!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
    		<plugin>
    			<groupId>org.eclipse.m2e</groupId>
    			<artifactId>lifecycle-mapping</artifactId>
    			<version>1.0.0</version>
    			<configuration>
    				<lifecycleMappingMetadata>
    					<pluginExecutions>
    						<pluginExecution>
    							<pluginExecutionFilter>
    								<groupId>
    									org.apache.maven.plugins
    								</groupId>
    								<artifactId>
    									maven-antrun-plugin
    								</artifactId>
    								<versionRange>[1.3,)</versionRange>
    								<goals>
    									<goal>run</goal>
    								</goals>
    							</pluginExecutionFilter>
    							<action>
    								<ignore />
    							</action>
    						</pluginExecution>
    					</pluginExecutions>
    				</lifecycleMappingMetadata>
    			</configuration>
    		</plugin>
    	</plugins>
    </pluginManagement>
  </build>
  <dependencies>
  <dependency>
  	<groupId>edu.uci.ics.hyracks</groupId>
  	<artifactId>algebricks-compiler</artifactId>
  	<version>0.2.5-SNAPSHOT</version>
  </dependency>
  <dependency>
  	<groupId>junit</groupId>
  	<artifactId>junit</artifactId>
  	<version>4.8.1</version>
  	<scope>test</scope>
  </dependency>
  <dependency>
  	<groupId>edu.uci.ics.hyracks</groupId>
  	<artifactId>hyracks-control-cc</artifactId>
  	<version>0.2.5-SNAPSHOT</version>
  </dependency>
  <dependency>
  	<groupId>edu.uci.ics.hyracks</groupId>
  	<artifactId>hyracks-control-nc</artifactId>
  	<version>0.2.5-SNAPSHOT</version>
  </dependency>
  <dependency>
  	<groupId>edu.uci.ics.hyracks</groupId>
  	<artifactId>hyracks-data-std</artifactId>
  	<version>0.2.5-SNAPSHOT</version>
  </dependency>
  </dependencies>
</project>
