<?xml version="1.0" encoding="UTF-8"?>
<!--
   Copyright (c) 2019 École Polytechnique de Montréal

   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
-->
<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>
    <artifactId>org.eclipse.tracecompass.incubator.rcp-parent</artifactId>
    <groupId>org.eclipse.tracecompass.incubator</groupId>
    <version>0.0.1-SNAPSHOT</version>
  </parent>

  <artifactId>org.eclipse.tracecompass.incubator.rcp</artifactId>
  <packaging>eclipse-feature</packaging>

  <name>Trace Compass Incubator RCP Feature</name>

  <build>
    <plugins>
      <plugin>
        <groupId>org.eclipse.tycho.extras</groupId>
        <artifactId>tycho-source-feature-plugin</artifactId>
        <executions>
          <execution>
            <id>source-feature</id>
            <phase>package</phase>
            <goals>
              <goal>source-feature</goal>
            </goals>
            <configuration>
              <excludes>
                <plugin id="javax.ws.rs"/>
                <plugin id="org.eclipse.lsp4j"/>
                <plugin id="org.eclipse.lsp4j.jsonrpc"/>
                <plugin id="org.eclipse.xtext.xbase.lib"/>
                <plugin id="org.apache.commons.lang"/>
                <plugin id="org.eclipse.ease.ui.scripts"/>
                <plugin id="org.eclipse.ease"/>
                <plugin id="org.eclipse.ease.classloader"/>
                <plugin id="org.eclipse.ease.ui"/>
                <feature id="org.eclipse.ease.lang.javascript.feature"/>
                <plugin id="org.mozilla.javascript"/>
                <plugin id="org.eclipse.wst.jsdt.ui"/>
                <plugin id="org.eclipse.wst.jsdt.debug.ui"/>
                <plugin id="org.eclipse.wst.jsdt.core"/>
                <plugin id="com.google.javascript"/>
                <plugin id="com.google.protobuf"/>
                <plugin id="org.eclipse.wst.jsdt.debug.core"/>
                <plugin id="org.eclipse.wst.jsdt.manipulation"/>
                <feature id="org.eclipse.ease.lang.python.py4j.feature"/>
                <feature id="org.eclipse.ease.lang.python.feature"/>
                <plugin id="py4j-java"/>
                <plugin id="py4j-python"/>
                <plugin id="py4j-java"/>
              </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>
