<?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.15.0-SNAPSHOT</version>
  </parent>


  <groupId>org.eclipse.e4.releng</groupId>
  <artifactId>org.eclipse.e4.releng.update</artifactId>
  <version>0.15.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>
                    <repository>
                        <url>file://${buildDirectory}/org.eclipse.e4.ui/build/org.eclipse.e4.ui.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>
