﻿<?xml version="1.0" encoding="utf-8"?>
<!--
    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 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>tests</artifactId>
  <packaging>rcpttTest</packaging>
  <parent>
    <groupId>org.eclipse.rcptt.tests</groupId>
    <artifactId>base</artifactId>
    <version>2.2.0-SNAPSHOT</version>
    <relativePath>./pom-base.xml</relativePath>
  </parent>
  <properties>
    <rcpttRepo>http://download.eclipse.org/rcptt/nightly/2.2.0/latest/repository</rcpttRepo>
  </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>${rcpttPath}</explicit>
            <args>
              <arg>-nosplash</arg>
              <arg>-consoleLog</arg>
            </args>
          </aut>
          <runner>
            <version>${runner-version}</version>
          </runner>
          <skipTags>
            <tag>skipExecution</tag>
          </skipTags>
          <testOptions>
            <execTimeout>18000</execTimeout>
          </testOptions>
        </configuration>
      </plugin>
    </plugins>
  </build>
  <profiles>
    <profile>
      <id>linux</id>
      <activation>
        <os>
          <family>unix</family>
        </os>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>${rcptt-maven-group}</groupId>
            <artifactId>${rcptt-maven-plugin}</artifactId>
            <version>${rcptt-maven-version}</version>
            <extensions>true</extensions>
            <configuration>
              <skipTags combine.children="append">
                <tag>skipLinux</tag>
              </skipTags>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <activation>
        <property>
          <name>explicitRunner</name>
        </property>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>${rcptt-maven-group}</groupId>
            <artifactId>${rcptt-maven-plugin}</artifactId>
            <version>${rcptt-maven-version}</version>
            <extensions>true</extensions>
            <configuration>
              <runner>
                <explicit>${explicitRunner}</explicit>
              </runner>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>
</project>
