<?xml version="1.0" encoding="UTF-8"?>
<!--
  Copyright (C) 2011, 2013 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 Runtime aggregation build</name>

  <groupId>org.eclipse.rap</groupId>
  <artifactId>org.eclipse.rap.runtime.target-parent</artifactId>
  <version>2.1.0-SNAPSHOT</version>
  <packaging>pom</packaging>

  <properties>
    <tycho-version>0.16.0</tycho-version>
    <tycho-extras-version>${tycho-version}</tycho-extras-version>
    <signing-plugin-version>1.0.5</signing-plugin-version>
    <base-platform>4.3milestones/S-4.3M5-201301302000/</base-platform>
    <base-platform-repository>http://download.eclipse.org/eclipse/updates/${base-platform}</base-platform-repository>
    <base-platform-juno>4.2/R-4.2.1-201209141800/</base-platform-juno>
    <base-platform-repository-juno>http://download.eclipse.org/eclipse/updates/${base-platform-juno}</base-platform-repository-juno>
    <baseline-repository>http://download.eclipse.org/rt/rap/nightly/runtime/</baseline-repository>
  </properties>

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

  <modules>
    <module>../../features/org.eclipse.rap.equinox.juno.target.feature</module>
    <module>../../features/org.eclipse.rap.equinox.target.feature</module>
    <module>repository.juno</module>
    <module>repository.kepler</module>
  </modules>

  <repositories>
    <repository>
      <id>runtime</id>
      <layout>p2</layout>
      <url>${runtimeRepo}</url>
    </repository>
    <repository>
      <id>extra-dependencies-repository</id>
      <layout>p2</layout>
      <url>http://build.eclipse.org/rt/rap/base-platforms/1.5/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>
        <dependencies>
          <dependency>
            <groupId>org.eclipse.tycho.extras</groupId>
            <artifactId>tycho-buildtimestamp-jgit</artifactId>
            <version>${tycho-extras-version}</version>
          </dependency>
        </dependencies>
        <configuration>
          <timestampProvider>jgit</timestampProvider>
          <jgit.ignore>
            pom.xml
          </jgit.ignore>
          <format>yyyyMMdd-HHmm</format>
        </configuration>
      </plugin>

      <plugin>
        <groupId>org.eclipse.tycho</groupId>
        <artifactId>tycho-p2-plugin</artifactId>
        <version>${tycho-version}</version>
        <configuration>
          <baselineRepositories>
            <repository>
              <url>${baseline-repository}</url>
            </repository>
          </baselineRepositories>
        </configuration>
      </plugin>

      <plugin>
        <groupId>org.eclipse.dash.maven</groupId>
        <artifactId>eclipse-signing-maven-plugin</artifactId>
        <version>${signing-plugin-version}</version>
        <configuration>
          <signerInputDirectory>/home/data/httpd/download-staging.priv/rt/rap</signerInputDirectory>
        </configuration>
      </plugin>

    </plugins>
  </build>

</project>
