<?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>

  <parent>
    <groupId>org.eclipse.rap</groupId>
    <artifactId>org.eclipse.rap.runtime-parent</artifactId>
    <version>2.2.0-SNAPSHOT</version>
  </parent>

  <artifactId>org.eclipse.rap.kepler.runtime-aggregation-repository</artifactId>
  <packaging>eclipse-repository</packaging>

  <repositories>
    <repository>
      <id>base-platform-repository</id>
      <layout>p2</layout>
      <url>${base-platform-kepler-repository}</url>
    </repository>
    <repository>
      <id>base-platform-repository-with-ICU-bundle</id>
      <layout>p2</layout>
      <!-- This repository is required in order to pull in the base ICU bundle -->
      <url>http://build.eclipse.org/rt/rap/base-platforms/2.1/SR1/runtime-base</url>
    </repository>
  </repositories>

  <build>
    <plugins>
      <plugin>
        <groupId>org.eclipse.tycho</groupId>
        <artifactId>tycho-p2-repository-plugin</artifactId>
        <version>${tycho-version}</version>
        <configuration>
          <repositoryName>RAP Runtime</repositoryName>
          <includeAllDependencies>false</includeAllDependencies>
          <compress>true</compress>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.eclipse.tycho.extras</groupId>
        <artifactId>tycho-p2-extras-plugin</artifactId>
        <version>${tycho-version}</version>
        <executions>
          <execution>
            <phase>prepare-package</phase>
              <goals>
                <goal>mirror</goal>
              </goals>
          </execution>
        </executions>
        <configuration>
          <source>
            <repository>
              <url>${base-platform-kepler-repository}</url>
              <layout>p2</layout>
            </repository>
          </source>
          <ius>
            <iu>
              <id>a.jre.javase</id>
            </iu>
          </ius>
          <includeOptional>false</includeOptional>
          <includeNonGreedy>false</includeNonGreedy>
          <latestVersionOnly>true</latestVersionOnly>
          <mirrorMetadataOnly>true</mirrorMetadataOnly>
        </configuration>
      </plugin>      
    </plugins>
  </build>

</project>
