<?xml version="1.0" encoding="UTF-8"?>
<!--
    Copyright (c) 2009, 2019 Xored Software Inc and others.
    All rights reserved. This program and the accompanying materials
    are made available under the terms of the Eclipse Public License v1.0
    which accompanies this distribution, and is available at
    http://www.eclipse.org/legal/epl-v10.html

    Contributors:
    	Xored Software Inc - initial API and implementation and/or initial documentation
 -->

<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.rcptt.external.dependencies</groupId>
    <artifactId>bundles</artifactId>
    <version>2.4.2-SNAPSHOT</version>
  </parent>

  <artifactId>org.eclipse.rcptt.updates.helios</artifactId>
  <packaging>eclipse-plugin</packaging>

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-clean-plugin</artifactId>
        <configuration>
          <filesets>
            <fileset>
              <directory>dependencies</directory>
              <includes>
                <include>**/*</include>
              </includes>
              <followSymlinks>false</followSymlinks>
            </fileset>
          </filesets>
        </configuration>
      </plugin>


      <plugin>
	<groupId>org.eclipse.tycho.extras</groupId>
	<artifactId>tycho-p2-extras-plugin</artifactId>
	<executions>
	  <execution>
	    <phase>generate-resources</phase>
	    <goals>
	      <goal>mirror</goal>
	    </goals>
	  </execution>
	</executions>
	<configuration>
	  <source>
	    <repository>
        <id>helios</id>
	      <url>http://download.eclipse.org/releases/helios/</url>
	      <layout>p2</layout>
	    </repository>
	  </source>

	  <destination>${project.basedir}/dependencies</destination>
	  <followStrictOnly>true</followStrictOnly>
	  <includeOptional>false</includeOptional>
	  <includeNonGreedy>false</includeNonGreedy>
	  <latestVersionOnly>true</latestVersionOnly>
	  <mirrorMetadataOnly>false</mirrorMetadataOnly>
	  <compress>true</compress>
	  <append>false</append>
	  <includePacked>false</includePacked>

	  <ius>
	    <iu><id>org.eclipse.emf.codegen.ecore.ui.feature.group</id></iu>
            <iu><id>org.eclipse.emf.codegen.ecore.feature.group</id></iu>
            <iu><id>org.eclipse.emf.codegen.ui.feature.group</id></iu>
            <iu><id>org.eclipse.emf.codegen.feature.group</id></iu>
            <iu><id>org.eclipse.emf.common.ui.feature.group</id></iu>
            <iu><id>org.eclipse.emf.common.feature.group</id></iu>
            <iu><id>org.eclipse.emf.converter.feature.group</id></iu>
            <iu><id>org.eclipse.emf.databinding.edit.feature.group</id></iu>
            <iu><id>org.eclipse.emf.databinding.feature.group</id></iu>
            <iu><id>org.eclipse.emf.ecore.edit.feature.group</id></iu>
            <iu><id>org.eclipse.emf.ecore.editor.feature.group</id></iu>
            <iu><id>org.eclipse.emf.ecore.feature.group</id></iu>
            <iu><id>org.eclipse.emf.edit.ui.feature.group</id></iu>
            <iu><id>org.eclipse.emf.edit.feature.group</id></iu>
            <iu><id>org.eclipse.emf.mapping.ecore.editor.feature.group</id></iu>
            <iu><id>org.eclipse.emf.mapping.ecore.feature.group</id></iu>
            <iu><id>org.eclipse.emf.mapping.ui.feature.group</id></iu>
            <iu><id>org.eclipse.emf.mapping.feature.group</id></iu>
            <iu><id>org.eclipse.emf.query.feature.group</id></iu>
            <iu><id>org.eclipse.emf.transaction.feature.group</id></iu>
            <iu><id>org.eclipse.emf.validation.feature.group</id></iu>
            <iu><id>org.eclipse.emf.feature.group</id></iu>
	  </ius>
	</configuration>
      </plugin>
    </plugins>
  </build>
</project>
