<?xml version="1.0" encoding="UTF-8"?>
<project
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
  xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>org.eclipse.e4.releng</groupId>
    <artifactId>eclipse-parent</artifactId>
    <version>1.0.0-SNAPSHOT</version>
  </parent>


  <groupId>org.eclipse.e4.releng</groupId>
  <artifactId>org.eclipse.e4.releng.update</artifactId>
  <version>1.0.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>
                </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>

