<?xml version="1.0" encoding="UTF-8"?>
<!--
  Copyright (C) 2011, EclipseSource 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:
     EclipseSource - initial implementation
-->
<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>

  <name>RAP Incubator build</name>

  <groupId>org.eclipse.rap.incubator</groupId>
  <artifactId>org.eclipse.rap.incubator-parent</artifactId>
  <version>1.5.0-SNAPSHOT</version>
  <packaging>pom</packaging>

  <prerequisites>
    <maven>3.0</maven>
  </prerequisites>

  <properties>
    <tycho-version>0.13.0</tycho-version>
    <junit-version>3.8.2</junit-version>
    <mockito-version>1.8.4</mockito-version>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <base-platform>4.2/R-4.2.2-201302041200</base-platform>
  </properties>

  <modules>
    <module>incubator-repository</module>
    <module>../../common/org.eclipse.rap.rwt.excanvas</module>
    <module>../org.eclipse.rap.incubator.supplemental.fileupload.feature</module>
    <module>../../supplemental/fileupload/org.eclipse.rap.rwt.supplemental.filedialog</module>
    <module>../../supplemental/fileupload/org.eclipse.rap.rwt.supplemental.fileupload</module>
    <module>../../supplemental/fileupload/org.eclipse.rap.rwt.supplemental.fileupload.test</module>
    <module>../org.eclipse.rap.incubator.ports.gef.feature</module>    
    <module>../../ports/gef/org.eclipse.draw2d</module>
    <module>../../ports/gef/org.eclipse.draw2d.rap</module>
    <module>../../ports/gef/org.eclipse.gef</module>
    <module>../../ports/gef/org.eclipse.rap.gef.demo</module>
    <module>../../ports/gef/org.eclipse.zest.core</module>
    <module>../../ports/gef/org.eclipse.zest.layouts</module>
    <module>../org.eclipse.rap.incubator.visualization.feature</module>
    <module>../../visualization/org.eclipse.rap.rwt.visualization.google</module>
    <module>../../visualization/org.eclipse.rap.rwt.visualization.google.demo</module>
    <module>../../visualization/org.eclipse.rap.rwt.visualization.jit</module>
    <module>../../visualization/org.eclipse.rap.rwt.visualization.jit.demo</module>
  </modules>

  <repositories>
    <repository>
      <id>base-platform-repository</id>
      <layout>p2</layout>
      <url>http://download.eclipse.org/eclipse/updates/${base-platform}</url>
    </repository>
    <repository>
      <id>rap-repository</id>
      <layout>p2</layout>
      <url>http://download.eclipse.org/rt/rap/nightly/runtime</url>
    </repository>
    <repository>
      <id>orbit-repository</id>
      <layout>p2</layout>
      <url>http://download.eclipse.org/tools/orbit/downloads/drops/R20130517111416/repository</url>
    </repository>
    <repository>
      <id>extra-dependencies-repository</id>
      <layout>p2</layout>
      <url>http://build.eclipse.org/rt/rap/base-platforms/2.1/extra-dependencies</url>
    </repository> 
  </repositories>

  <pluginRepositories>
    <pluginRepository>
      <id>maven.eclipse.org</id>
      <url>http://maven.eclipse.org/nexus/content/repositories/milestone-indigo</url>
    </pluginRepository>
  </pluginRepositories>

  <build>
    <plugins>

      <plugin>
        <groupId>org.eclipse.tycho</groupId>
        <artifactId>tycho-maven-plugin</artifactId>
        <version>${tycho-version}</version>
        <extensions>true</extensions>
      </plugin>

      <plugin>
        <groupId>org.eclipse.tycho</groupId>
        <artifactId>tycho-packaging-plugin</artifactId>
        <version>${tycho-version}</version>
        <configuration>
          <format>yyyyMMdd-HHmm</format>
        </configuration>
      </plugin>

      <plugin>
        <groupId>org.eclipse.tycho</groupId>
        <artifactId>tycho-source-plugin</artifactId>
        <version>${tycho-version}</version>
        <executions>
          <execution>
            <id>plugin-source</id>
            <goals>
              <goal>plugin-source</goal>
            </goals>
          </execution>
        </executions>
      </plugin>

      <plugin>
        <groupId>org.eclipse.tycho</groupId>
        <artifactId>tycho-surefire-plugin</artifactId>
        <version>${tycho-version}</version>
        <configuration>
          <includes>
            <include>**/*_Test.java</include>
          </includes>
          <runOrder>random</runOrder>
          <useUIHarness>false</useUIHarness>
        </configuration>
      </plugin>
    </plugins>
  </build>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>${junit-version}</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.mockito</groupId>
      <artifactId>mockito-core</artifactId>
      <version>${mockito-version}</version>
      <scope>test</scope>
    </dependency>
  </dependencies>

</project>
