<?xml version="1.0" encoding="UTF-8"?>
<!--#======================================================================= -->
<!--# Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany). -->
<!--# 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: -->
<!--# Christophe Loetz (Loetz GmbH&Co.KG) - initial API and implementation -->
<!--#======================================================================= -->
<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.osbp.dependencies</groupId>
        <artifactId>org.eclipse.osbp.dependencies</artifactId>
        <version>0.9.0-SNAPSHOT</version>
    </parent>

    <artifactId>org.eclipse.osbp.dependencies.feature.misc.ui</artifactId>
    <packaging>eclipse-feature</packaging>

    <properties>
        <xtext.version>2.11.0</xtext.version>
    </properties>

    <repositories>
		<repository>
			<id>eclipse-bpel</id>
			<url>http://download.eclipse.org/bpel/site/1.0.5</url>
			<layout>p2</layout>
		</repository>        
        <repository>
            <id>ecliptical DS</id>
            <url>http://download.eclipticalsoftware.com/updates/</url>
            <layout>p2</layout>
        </repository>        
    </repositories>

    <dependencies>

		<!-- CQ: not needed, Eclipse bundle -->
		<!-- artifact: org.eclipse.bpel.wsil.model -->
		<!-- version: nn -->

		<!-- CQ: https://dev.eclipse.org/ipzilla/show_bug.cgi?id=15344 -->    
        <!-- artifact: com.google.guava -->
        <!-- version: 15.0.0.v201403281430 -->

		<!-- CQ: https://dev.eclipse.org/ipzilla/show_bug.cgi?id=12081 -->    
        <!-- artifact: com.vaadin.sass-compiler -->
        <!-- version: 0.9.12 -->

		<!-- CQ: not needed, Eclipse bundle -->
		<!-- artifact: org.eclipse.zest.core -->
		<!-- version: nn -->

		<!-- CQ: not needed, Eclipse bundle -->
		<!-- artifact: org.eclipse.zest.core -->
		<!-- version: nn -->

		<!-- CQ: not needed, Eclipse bundle -->
		<!-- artifact: org.eclipse.zest.layouts -->
		<!-- version: nn -->

		<!-- CQ: https://dev.eclipse.org/ipzilla/show_bug.cgi?id=12081 (0.9.12) -->
		<dependency>
			<groupId>com.vaadin</groupId>
			<artifactId>vaadin-sass-compiler</artifactId>
			<version>0.9.12</version>
		</dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.eclipse.tycho.extras</groupId>
                <artifactId>tycho-source-feature-plugin</artifactId>
                <version>${tychoExtrasVersion}</version>
                <executions>
                    <execution>
                        <id>source-feature</id>
                        <phase>package</phase>
                        <goals>
                            <goal>source-feature</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <labelSuffix> (source)</labelSuffix> 
                    <excludes>
                        <plugin id="com.vaadin.sass-compiler"/>
                        <plugin id="com.vaadin.theme-compiler"/>
                        <feature id="org.eclipse.m2e.feature" />
                        <feature id="org.eclipse.m2e.sdk.feature" />
                        <feature id="org.eclipse.m2e.logback.feature" />
                        <feature id="org.eclipse.wb.core.feature" />
                        <feature id="org.eclipse.wb.core.java.feature" />
                        <feature id="org.eclipse.bpmn2.modeler"/>
                        <feature id="org.eclipse.bpmn2.modeler.examples"/>
                        <feature id="org.eclipse.bpmn2.modeler.runtime.jboss"/>
						<feature id="org.eclipse.babel.tapiji.tools.java.feature"/>
						<plugin id="org.eclipse.jst.jsf.common" />
						<plugin id="org.eclipse.jst.jsp.core" />
                    </excludes>
                </configuration>
            </plugin>
            <plugin>
                <!-- workaround while bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=398250 
					is not fixed -->
                <groupId>org.eclipse.tycho</groupId>
                <artifactId>tycho-p2-plugin</artifactId>
                <version>${tycho-version}</version>
                <executions>
                    <execution>
                        <id>attached-p2-metadata</id>
                        <phase>package</phase>
                        <goals>
                            <goal>p2-metadata</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
	</build>

</project>
