<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>
  <groupId>org.eclipse.emf.compare</groupId>
  <artifactId>org.eclipse.emf.compare.rcptt.test</artifactId>
  <version>4.0.0-SNAPSHOT</version>
  <packaging>rcpttTest</packaging>
    
  <pluginRepositories>
    <pluginRepository>
      <id>rcptt-releases</id>
      <name>RCPTT Maven repository</name>
      <url>https://repo.eclipse.org/content/repositories/rcptt-releases/</url>
    </pluginRepository>
  </pluginRepositories> 
  
  <properties>
    <rcptt-maven-version>2.0.0</rcptt-maven-version>
    <exec-maven-plugin-version>1.2.1</exec-maven-plugin-version>
    <testFailureIgnore>true</testFailureIgnore>
  </properties>
 
  <build>
   <plugins>
     <plugin>
      <artifactId>exec-maven-plugin</artifactId>
      <groupId>org.codehaus.mojo</groupId>
      <version>${exec-maven-plugin-version}</version>
      <executions>
        <execution><!-- Run our version calculation script -->
          <id>AUT Generation</id>
          <phase>generate-sources</phase>
          <goals>
            <goal>exec</goal>
          </goals>
          <configuration>
            <executable>bash</executable>
            <commandlineArgs>${basedir}/createAUT.sh ${profile-id} ${project.build.directory}</commandlineArgs>
          </configuration>
        </execution>
      </executions>
      </plugin>
    </plugins>
  </build>

  <profiles>
    <profile>
      <id>collaborative-modeling</id>
      <properties>
        <profile-id>collaborative-modeling</profile-id>
      </properties>
      <activation>
        <activeByDefault>true</activeByDefault>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.eclipse.rcptt</groupId>
            <artifactId>rcptt-maven-plugin</artifactId>
            <version>${rcptt-maven-version}</version>
            <extensions>true</extensions>
            <configuration>
              <aut>
                <explicit>${project.build.directory}/${profile-id}/eclipse</explicit>
                <vmArgs>
                  <vmArg>-Xmx2048m</vmArg>
                  <vmArg>-XX:MaxPermSize=512m</vmArg>
                </vmArgs>
              </aut>
              <testFailureIgnore>${testFailureIgnore}</testFailureIgnore>
              <suites>
                <suite>TestSuite.Full</suite>
              </suites>
              <runner>
                <explicit>${rcpttrunner}</explicit>
              </runner>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>collaborative-modeling-luna</id>
      <properties>
        <profile-id>collaborative-modeling-luna</profile-id>
      </properties>
      <activation>
        <activeByDefault>true</activeByDefault>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.eclipse.rcptt</groupId>
            <artifactId>rcptt-maven-plugin</artifactId>
            <version>${rcptt-maven-version}</version>
            <extensions>true</extensions>
            <configuration>
              <aut>
                <explicit>${project.build.directory}/${profile-id}/eclipse</explicit>
                <vmArgs>
                  <vmArg>-Xmx2048m</vmArg>
                  <vmArg>-XX:MaxPermSize=512m</vmArg>
                </vmArgs>
              </aut>
              <testFailureIgnore>${testFailureIgnore}</testFailureIgnore>
              <suites>
                <suite>TestSuite.Full</suite>
              </suites>
              <runner>
                <explicit>${rcpttrunner}</explicit>
              </runner>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
   <profile>
      <id>mars</id>
      <properties>
        <profile-id>mars</profile-id>
      </properties>
      <activation>
        <activeByDefault>true</activeByDefault>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.eclipse.rcptt</groupId>
            <artifactId>rcptt-maven-plugin</artifactId>
            <version>${rcptt-maven-version}</version>
            <extensions>true</extensions>
            <configuration>
              <aut>
                <explicit>${project.build.directory}/${profile-id}/eclipse</explicit>
                <vmArgs>
                  <vmArg>-Xmx2048m</vmArg>
                  <vmArg>-XX:MaxPermSize=512m</vmArg>
                </vmArgs>
              </aut>
              <testFailureIgnore>${testFailureIgnore}</testFailureIgnore>
              <suites>
                <suite>TestSuite.Full</suite>
              </suites>
              <runner>
                <explicit>${rcpttrunner}</explicit>
              </runner>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>luna</id>
      <properties>
        <profile-id>luna</profile-id>
      </properties>
      <activation>
        <activeByDefault>true</activeByDefault>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.eclipse.rcptt</groupId>
            <artifactId>rcptt-maven-plugin</artifactId>
            <version>${rcptt-maven-version}</version>
            <extensions>true</extensions>
            <configuration>
              <aut>
                <explicit>${project.build.directory}/${profile-id}/eclipse</explicit>
                <vmArgs>
                  <vmArg>-Xmx2048m</vmArg>
                  <vmArg>-XX:MaxPermSize=512m</vmArg>
                </vmArgs>
              </aut>
              <testFailureIgnore>${testFailureIgnore}</testFailureIgnore>
              <suites>
                <suite>TestSuite.Full</suite>
              </suites>
              <runner>
                <explicit>${rcpttrunner}</explicit>
              </runner>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>kepler</id>
      <properties>
        <profile-id>kepler</profile-id>
      </properties>
      <build>
        <plugins>
          <plugin>
            <groupId>org.eclipse.rcptt</groupId>
            <artifactId>rcptt-maven-plugin</artifactId>
            <version>${rcptt-maven-version}</version>
            <extensions>true</extensions>
            <configuration>
              <aut>
                <explicit>${project.build.directory}/${profile-id}/eclipse</explicit>
                <vmArgs>
                  <vmArg>-Xmx2048m</vmArg>
                  <vmArg>-XX:MaxPermSize=512m</vmArg>
                </vmArgs>
              </aut>
              <testFailureIgnore>${testFailureIgnore}</testFailureIgnore>
              <suites>
                <suite>TestSuite.Core</suite>
              </suites>
              <runner>
                <explicit>${rcpttrunner}</explicit>
              </runner>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>
</project>
