<?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.target-parent</artifactId>
    <version>2.1.0-SNAPSHOT</version>
  </parent>

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

  <repositories>
    <repository>
      <id>base-platform-repository-juno</id>
      <layout>p2</layout>
      <url>${base-platform-repository-juno}</url>
    </repository>
    <repository>
      <id>base-platform-repository-with-ICU-bundle-juno</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/1.5/SR1_RC4/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-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>
