<!--
    Copyright (c) 2009, 2016 Xored Software Inc and others.
    All rights reserved. This program and the accompanying materials
    are made available under the terms of the Eclipse Public License v1.0
    which accompanies this distribution, and is available at
    http://www.eclipse.org/legal/epl-v10.html
     
    Contributors:
    	Xored Software Inc - initial API and implementation and/or initial documentation
 -->
<project>
  <modelVersion>4.0.0</modelVersion>
  <groupId>q7.recording</groupId> 
  <artifactId>q7.recording.tests</artifactId>
  <version>2.4.0-SNAPSHOT</version>
  <packaging>pom</packaging>
  
  <pluginRepositories>
    <pluginRepository>
      <id>q7-releases</id>
      <name>Xored Q7 Maven repository</name>
      <url>http://maven.xored.com/nexus/content/repositories/q7-releases/</url>
    </pluginRepository>
    <pluginRepository>
      <id>q7-snapshots</id>
      <name>Xored Q7 Maven repository</name>
      <url>http://maven.xored.com/nexus/content/repositories/q7-snapshots</url>
      <snapshots>
        <updatePolicy>always</updatePolicy>
      </snapshots>
    </pluginRepository>
  </pluginRepositories>
  
  <properties>
    <q7-maven-version>1.2.18-SNAPSHOT</q7-maven-version>
    <q7-runner-version>1.2.23-SNAPSHOT</q7-runner-version>
    <q7-AUT-location>http://build.xored.com/artifact/Q7-Q7D12/MODPROD/build-latest/modules_products/org.eclipse.rcptt.professional.product-[classifier].zip</q7-AUT-location>
  </properties> 
  
  
</project>
