<?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.rmf</groupId>
		<artifactId>org.eclipse.rmf.releng</artifactId>
		<version>0.13.0-SNAPSHOT</version>
		<relativePath>../org.eclipse.rmf.releng/pom.xml</relativePath>
	</parent>
	<artifactId>org.eclipse.rmf.releng.repository</artifactId>
	<packaging>eclipse-repository</packaging>
		
  <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>
  </pluginRepositories>
  <build>
    <plugins>
      <plugin>
        <groupId>org.jboss.tools.tycho-plugins</groupId>
        <artifactId>repository-utils</artifactId>
        <version>0.22.0</version>
        <executions>
          <execution>
            <id>generate-facade</id>
            <phase>package</phase>
            <goals>
              <goal>generate-repository-facade</goal>
            </goals>
            <configuration>
              <siteTemplateFolder>siteTemplate/</siteTemplateFolder>
              <!-- Symbols are used while expanding index.html template -->
              <symbols>
                <update.site.name>RMF p2 Repository</update.site.name>
                <update.site.description>Use this URL in Eclipse to install RMF</update.site.description>
                <update.site.version>${project.version}</update.site.version>
                <target.eclipse.version>4.4.2 (Luna) or newer</target.eclipse.version>
              </symbols>
              <!--  
              <associateSites>
                <site>http://download.eclipse.org/sphinx/updates/releases/0.9.x</site>
                <site>http://download.eclipse.org/incquery/updates/release</site>
              </associateSites>
              -->
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
  
</project>