<?xml version="1.0" encoding="UTF-8"?>
<!--
   Copyright (c) 2012 BSI Business Systems Integration AG.
   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:
     Stephan Leicht Vogt - initial implementation
-->

<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.scout.sdk</groupId>
    <artifactId>org.eclipse.scout.sdk.parent</artifactId>
    <version>3.10.1-SNAPSHOT</version>
    <relativePath>../org.eclipse.scout.sdk.parent</relativePath>
  </parent>

  <groupId>org.eclipse.scout.sdk.feature</groupId>
  <artifactId>org.eclipse.scout.sdk.test</artifactId>
  <packaging>eclipse-feature</packaging>

  <name>Eclipse Scout SDK Test Feature</name>

  <build>
	<pluginManagement>
	  <plugins>
		<plugin>
		  <groupId>org.eclipse.tycho</groupId>
	      <artifactId>tycho-packaging-plugin</artifactId>
		  <version>${tycho.version}</version>
		  <configuration>
		    <strictBinIncludes>false</strictBinIncludes>
			<format>yyyyMMdd-HHmm</format>
			<timestampProvider>default</timestampProvider>
		  </configuration>
	  	</plugin>
	  </plugins>
	</pluginManagement>
    <plugins>
      <plugin>
        <groupId>org.eclipse.tycho.extras</groupId>
        <artifactId>tycho-source-feature-plugin</artifactId>
        <executions>
          <execution>
            <phase>package</phase>
            <id>source-feature</id>
            <goals>
              <goal>source-feature</goal>
            </goals>
<!--             <configuration> -->
<!--               <excludes> -->
<!--                 <plugin id="org.eclipse.scout.sdk.feature.about" /> -->
<!--               </excludes> -->
<!--             </configuration> -->
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.eclipse.tycho</groupId>
        <artifactId>tycho-p2-plugin</artifactId>
        <executions>
          <execution>
            <id>attached-p2-metadata</id>
            <phase>package</phase>
            <goals>
              <goal>p2-metadata</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>
