<?xml version="1.0" encoding="UTF-8"?>
<!--
   Copyright (C) 2009, Igor Fedorenko <igor@ifedorenko.com>
   Copyright (C) 2011, Chris Aniszczyk <caniszczyk@gmail.com>
   Copyright (C) 2011-2012, Matthias Sohn <matthias.sohn@sap.com>

   All rights reserved. This program and the accompanying materials
   are made available under the terms of the Eclipse Public License 2.0
   which accompanies this distribution, and is available at
   https://www.eclipse.org/legal/epl-2.0/

   SPDX-License-Identifier: EPL-2.0
-->

<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/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <parent>
    <groupId>org.eclipse.egit</groupId>
    <artifactId>egit-parent</artifactId>
    <version>6.4.0.202210260700-m2</version>
  </parent>

  <artifactId>org.eclipse.egit.repository</artifactId>
  <packaging>eclipse-repository</packaging>

  <name>EGit P2 Repository</name>
  <properties>
    <p2MirrorsURL>https://www.eclipse.org/downloads/download.php?file=${PUBLISH_FOLDER}&amp;format=xml</p2MirrorsURL>
    <p2StatsURL>https://download.eclipse.org/stats/egit/${project.artifactId}</p2StatsURL>
    <!-- At the moment, this list of features needs to be maintained manually. -->
    <statsTrackedArtifacts>org.eclipse.jgit.feature,org.eclipse.jgit.source.feature,org.eclipse.jgit.pgm.feature,org.eclipse.jgit.pgm.source.feature,org.eclipse.jgit.http.apache.feature,org.eclipse.jgit.ssh.apache.feature,org.eclipse.egit.feature,org.eclipse.egit.gitflow.feature,org.eclipse.egit.source.feature</statsTrackedArtifacts>
  </properties>

  <build>
    <plugins>
      <plugin>
        <groupId>org.eclipse.tycho.extras</groupId>
        <artifactId>tycho-eclipserun-plugin</artifactId>
        <version>${tycho-version}</version>
        <executions>
         <execution>
          <id>add-repo-properties</id>
          <goals>
           <goal>eclipse-run</goal>
          </goals>
          <phase>package</phase>
          <configuration>
           <executionEnvironment>JavaSE-11</executionEnvironment>
           <appArgLine>-application org.eclipse.wtp.releng.tools.addRepoProperties</appArgLine>
           <!-- See <http://wiki.eclipse.org/Equinox/p2/p2.mirrorsURL>. -->
           <!-- See <http://wiki.eclipse.org/Equinox_p2_download_stats>. -->
           <argLine>-DartifactRepoDirectory=${project.build.directory}/repository -Dp2MirrorsURL=${p2MirrorsURL} -Dp2StatsURI=${p2StatsURL} -DstatsTrackedArtifacts=${statsTrackedArtifacts} -DstatsArtifactsSuffix=-${project.version}</argLine>
           <dependencies>
            <dependency>
             <artifactId>org.eclipse.wtp.releng.tools.feature</artifactId>
             <type>eclipse-feature</type>
            </dependency>
           </dependencies>
           <repositories>
            <repository>
             <url>https://download.eclipse.org/webtools/downloads/drops/R3.23.0/R-3.23.0-20210822084517/repositoryunittests/</url>
             <layout>p2</layout>
            </repository>
            <repository>
             <url>https://download.eclipse.org/releases/2021-09/202109151000/</url>
             <layout>p2</layout>
            </repository>
           </repositories>
          </configuration>
         </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>
