<?xml version="1.0" encoding="utf-8"?>
<!--
    Copyright (c) 2009, 2019 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 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>

	<artifactId>q7tests_self_aut</artifactId>
	<packaging>rcpttTest</packaging>

	<parent>
		<groupId>com.xored.q7</groupId>
		<artifactId>q7tests-base</artifactId>
		<version>2.5.0-SNAPSHOT</version>
		<relativePath>./pom-base.xml</relativePath>
	</parent>

	<properties>
		<runner-version>1.3.12-SNAPSHOT</runner-version>
	</properties>

	<build>
		<plugins>
			<plugin>
				<groupId>${rcptt-maven-group}</groupId>
				<artifactId>${rcptt-maven-plugin}</artifactId>
				<version>${rcptt-maven-version}</version>
				<extensions>true</extensions>
				<configuration>
				  <aut>
                    <explicit>${basedir}/../modules/repository/target/products/com.xored.q7.professional.product-[classifier].zip</explicit>
					<args>
                      <arg>-licenseUrl</arg>
                      <arg>http://192.168.2.64:9999</arg>
					</args>
					<vmArgs>
					  <vmArg>-Xmx768m</vmArg>
					  <vmArg>-XX:MaxPermSize=256m</vmArg>
					</vmArgs>
				  </aut>

					<runner>
						<version>${runner-version}</version>
                        <clientId>komaz</clientId>
                        <clientSecret>05fe7461c607c33229772d402505601016a7d0ea</clientSecret>
                        <organization>xored</organization>
					</runner>

					<testOptions>
						<execTimeout>9000</execTimeout>
						<autStartupTimeout>300</autStartupTimeout>
						<launchingKillAutOnConnectError>true</launchingKillAutOnConnectError>
						<restartAUTOnFailure>true</restartAUTOnFailure>
					</testOptions>

					<suites>
						<suite>SetupAUTContextTests</suite>
					</suites>
				</configuration>
			</plugin>
		</plugins>
	</build>

	<pluginRepositories>
		<pluginRepository>
			<snapshots>
				<updatePolicy>always</updatePolicy>
			</snapshots>
			<id>xored</id>
			<name>Xored Maven repository</name>
			<url>http://maven.xored.com/nexus/content/repositories/ci4rcptt-snapshots/</url>
		</pluginRepository>
	</pluginRepositories>

	<repositories>
		<repository>
			<id>xored</id>
			<name>Xored Maven repository</name>
			<url>http://maven.xored.com/nexus/content/repositories/releases/</url>
		</repository>
		<repository>
			<id>thirdparty</id>
			<name>Maven repo with eclipses</name>
			<url>http://maven.xored.com/nexus/content/repositories/thirdparty/</url>
		</repository>

	</repositories>

</project>
