<?xml version="1.0" encoding="UTF-8"?>
<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.e4.releng</groupId>
    <artifactId>eclipse-parent</artifactId>
    <version>0.14.0-SNAPSHOT</version>
  </parent>


  <groupId>org.eclipse.e4.releng</groupId>
  <artifactId>org.eclipse.e4.releng.update</artifactId>
  <version>0.14.0-SNAPSHOT</version>
  <packaging>pom</packaging>

<build>
    <plugins>
        <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>
                    <!-- source repositories to mirror from -->
                    <repository>
                        <url>file://${buildDirectory}/org.eclipse.e4.tools/build/org.eclipse.e4.core.tools.update/target/repository</url>
                        <layout>p2</layout>
                        <!-- supported layouts are "p2-metadata", "p2-artifacts", and "p2" (for joint repositories; default) -->
                    </repository>
                    <repository>
                        <url>file://${buildDirectory}/org.eclipse.e4.search/build/org.eclipse.e4.search.update/target/repository</url>
                        <layout>p2</layout>
                        <!-- supported layouts are "p2-metadata", "p2-artifacts", and "p2" (for joint repositories; default) -->
                    </repository>
                    <repository>
                        <url>file://${buildDirectory}/org.eclipse.e4.languages/build/org.eclipse.e4.languages.update/target/repository</url>
                        <layout>p2</layout>
                        <!-- supported layouts are "p2-metadata", "p2-artifacts", and "p2" (for joint repositories; default) -->
                    </repository>
                    <repository>
                        <url>file://${buildDirectory}/org.eclipse.e4.resources/build/org.eclipse.e4.resources.update/target/repository</url>
                        <layout>p2</layout>
                        <!-- supported layouts are "p2-metadata", "p2-artifacts", and "p2" (for joint repositories; default) -->
                    </repository>
                    <repository>
                        <url>file://${buildDirectory}/org.eclipse.e4.databinding/build/org.eclipse.e4.databinding.update/target/repository</url>
                        <layout>p2</layout>
                        <!-- supported layouts are "p2-metadata", "p2-artifacts", and "p2" (for joint repositories; default) -->
                    </repository>
                </source>
 
                <!-- starting from here all configuration parameters are optional -->
                <!-- they are only shown here with default values for documentation purpose -->
 
                <!-- List of IUs to mirror. If omitted, allIUs will be mirrored. -->
                <!-- Omitted IU version element means latest version of the IU -->
                <!--ius>
                    <iu>
                        <id>org.eclipse.rcp.feature.group</id>
                    </iu>
                </ius-->
                <!-- The destination directory to mirror to. -->
                <destination>${buildDirectory}/repository</destination>
                <!-- Whether only strict dependencies should be followed. -->
                <!-- "strict" means perfect version match -->
                <followStrictOnly>false</followStrictOnly>
                <!-- Whether or not to follow optional requirements. -->
                <includeOptional>false</includeOptional>
                <!-- Whether or not to follow non-greedy requirements. -->
                <includeNonGreedy>false</includeNonGreedy>
                <!-- Filter properties. E.g. filter only one platform -->
                <!-- Whether to filter the resulting set of IUs to only -->
                <!-- include the latest version of each IU -->
                <latestVersionOnly>true</latestVersionOnly>
                <!-- don't mirror artifacts, only metadata -->
                <mirrorMetadataOnly>false</mirrorMetadataOnly>
                <!-- whether to compress the content.xml/artifacts.xml -->
                <compress>true</compress>
                <!-- whether to append to the target repository content -->
                <append>true</append>
            </configuration>
        </plugin>
    </plugins>
</build>

</project>
