<?xml version="1.0" encoding="UTF-8"?>
<!--
  Copyright (c) 2012, 2018 Eclipse Foundation and others.
  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
     Lars Vogel <Lars.Vogel@vogella.com> - Ongoing maintenance
     Lucas Bullen <lbullen@redhat.com> - Bug 529467 - Move genericeditor.extension tests to own project
-->
<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</groupId>
    <artifactId>eclipse-platform-parent</artifactId>
    <version>4.24.0-SNAPSHOT</version>
    <relativePath>../eclipse-platform-parent</relativePath>
  </parent>

  <groupId>org.eclipse.pde</groupId>
  <artifactId>eclipse.pde.ui</artifactId>
  <packaging>pom</packaging>

  <properties>
    <tycho.scmUrl>scm:git:https://git.eclipse.org/r/pde/eclipse.pde.ui.git</tycho.scmUrl>
  </properties>

  <!--
    To build individual bundles, we specify a repository where to find parent pom,
    in case it is not in local maven cache already
    and that parent pom also has fuller individual-bundle profile
    defined that is combined with this one. -->
  <profiles>
    <profile>
      <id>build-individual-bundles</id>
      <repositories>
        <repository>
          <releases>
            <enabled>true</enabled>
          </releases>
          <snapshots>
            <enabled>true</enabled>
          </snapshots>
          <id>eclipse-hosted</id>
          <url>https://repo.eclipse.org/content/repositories/eclipse/</url>
        </repository>
      </repositories>
    </profile>
  </profiles>

  <modules>
    <module>apitools</module>
    <module>ds/org.eclipse.pde.ds.core</module>
    <module>ds/org.eclipse.pde.ds.tests</module>
    <module>ds/org.eclipse.pde.ds.ui</module>
    <module>ds/org.eclipse.pde.ds.lib</module>
    <module>ds/org.eclipse.pde.ds1_2.lib</module>
    <module>ds/org.eclipse.pde.ds.annotations</module>
    <module>ua/org.eclipse.pde.ua.core</module>
    <module>ua/org.eclipse.pde.ua.tests</module>
    <module>ua/org.eclipse.pde.ua.ui</module>
    <module>ui/org.eclipse.pde</module>
    <module>ui/org.eclipse.pde.core</module>
    <module>ui/org.eclipse.pde.junit.runtime</module>
    <module>ui/org.eclipse.pde.junit.runtime.tests</module>
    <module>ui/org.eclipse.pde.launching</module>
    <module>ui/org.eclipse.pde.runtime</module>
    <module>ui/org.eclipse.pde.ui</module>
    <module>ui/org.eclipse.pde.ui.templates</module>
    <module>ui/org.eclipse.pde.ui.tests</module>
    <module>ui/org.eclipse.pde.ui.tests.smartimport</module>
    <module>ui/org.eclipse.pde.spy.core</module>
    <module>ui/org.eclipse.pde.spy.bundle</module>
    <module>ui/org.eclipse.pde.spy.css</module>
    <module>ui/org.eclipse.pde.spy.model</module> 
    <module>ui/org.eclipse.pde.spy.context</module> 
    <module>ui/org.eclipse.pde.spy.preferences</module> 
    <module>ui/org.eclipse.tools.layout.spy</module>
    <module>ui/org.eclipse.pde.ui.templates.tests</module>
    <module>ui/org.eclipse.ui.trace</module>
    <module>ui/org.eclipse.pde.genericeditor.extension</module>
    <module>ui/org.eclipse.pde.genericeditor.extension.tests</module>
    <module>ui/org.eclipse.pde.unittest.junit</module>
    <module>features/org.eclipse.pde-feature</module>
    <module>features/org.eclipse.pde.unittest.junit-feature</module>
  </modules>
</project>
