<?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>
    <relativePath>../../pom.xml</relativePath>
    <groupId>org.eclipse.capra</groupId>
    <artifactId>parent</artifactId>
    <version>0.7.0-SNAPSHOT</version>
  </parent>
  <groupId>org.eclipse.capra</groupId>
  <artifactId>org.eclipse.capra.p2</artifactId>
  <version>0.7.0-SNAPSHOT</version>
  <packaging>eclipse-repository</packaging>
  <name>Capra update site</name>

  <pluginRepositories>
    <pluginRepository>
      <id>jboss-public-repository-group</id>
      <name>JBoss Public Repository Group</name>
      <url>http://repository.jboss.org/nexus/content/groups/public/</url>
    </pluginRepository>

    <pluginRepository>
      <id>jboss-snapshots-repository</id>
      <name>JBoss Snapshots Repository</name>
      <url>https://repository.jboss.org/nexus/content/repositories/snapshots/</url>
    </pluginRepository>
  </pluginRepositories>

  <build>
    <plugins>
      <plugin>
        <groupId>org.eclipse.tycho</groupId>
        <artifactId>tycho-p2-repository-plugin</artifactId>
        <version>${tycho-version}</version>
      </plugin>

      <!-- Generate HTML version of update site -->
      <!-- Also add additional repositories. Note that this
           information could be entered in category.xml but Tycho
           ignores it currently. See
           https://bugs.eclipse.org/bugs/show_bug.cgi?id=453708 -->
      <plugin>
        <groupId>org.jboss.tools.tycho-plugins</groupId>
        <artifactId>repository-utils</artifactId>
        <version>${org.jboss.tools.tycho-plugins.version}</version>

        <executions>
          <execution>
            <id>generate-facade</id>
            <phase>package</phase>

            <goals>
              <goal>generate-repository-facade</goal>
            </goals>

            <configuration>
              <siteTemplateFolder>siteTemplate</siteTemplateFolder>

              <symbols>
                <update.site.name>${project.parent.name}</update.site.name>
              </symbols>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>
