<?xml version="1.0" encoding="UTF-8"?>
<!--
  Copyright (c) 2012, 2022 Hannes Wellmann.
  All rights reserved. This program and the accompanying materials
  are made available under the terms of the Eclipse Distribution License v1.0
  which accompanies this distribution, and is available at
  http://www.eclipse.org/org/documents/edl-v10.php

  Contributors:
     Igor Fedorenko - initial implementation
     Hannes Wellmann <wellmann.hannes1@gmx.net>  - Bug 579231 - Remove unnecessary pom.xml files
-->
<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>
    <artifactId>eclipse.pde.ui</artifactId>
    <groupId>org.eclipse.pde</groupId>
    <version>4.24.0-SNAPSHOT</version>
  </parent>
  <artifactId>eclipse.pde.ui.features</artifactId>
  <packaging>pom</packaging>

  <modules>
    <module>org.eclipse.pde-feature</module>
    <module>org.eclipse.pde.unittest.junit-feature</module>
  </modules>

  <build>
    <plugins>
      <plugin>
        <groupId>org.eclipse.tycho</groupId>
        <artifactId>tycho-source-plugin</artifactId>
        <version>${tycho.version}</version>
        <executions>
          <execution>
            <phase>package</phase>
            <id>feature-source</id>
            <goals>
              <goal>feature-source</goal>
            </goals>
            <configuration>
              <excludes>
                <plugin id="org.eclipse.pde" />
                <plugin id="org.eclipse.pde.doc.user" />
              </excludes>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.eclipse.tycho</groupId>
        <artifactId>tycho-p2-plugin</artifactId>
        <version>${tycho.version}</version>
        <executions>
          <execution>
            <id>attach-p2-metadata</id>
            <phase>package</phase>
            <goals>
              <goal>p2-metadata</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>
