<?xml version="1.0" encoding="UTF-8"?>
<!--
  Copyright (c) 2012, 2013 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@gmail.com> - Bug 421291, 427127 
-->
<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.4.0-SNAPSHOT</version>
    <relativePath>../eclipse-platform-parent</relativePath>
  </parent>

  <groupId>eclipse.platform.ui</groupId>
  <artifactId>eclipse.platform.ui</artifactId>
  <version>4.4.0-SNAPSHOT</version>
  <packaging>pom</packaging>

   <properties>
     <tycho.scmUrl>scm:git:git://git.eclipse.org/gitroot/platform/eclipse.platform.ui.git</tycho.scmUrl>
  </properties>

  <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>

  <modules>
    <!--
    requires org.eclipse.ui.presentations.PresentationUtil which is not available from anywhere
    it used to come from  org.eclipse.ui.workbench in 3.8, but it's not in 3.103 any more.
    <module>bundles/org.eclipse.ui.presentations.r21</module>
     -->

    <module>examples/org.eclipse.jface.examples.databinding</module>
    <module>examples/org.eclipse.ui.examples.contributions</module>
    <module>examples/org.eclipse.ui.examples.fieldassist</module>
    <module>examples/org.eclipse.ui.examples.multipageeditor</module>
    <module>examples/org.eclipse.ui.examples.propertysheet</module>
    <module>examples/org.eclipse.ui.examples.readmetool</module>
    <module>examples/org.eclipse.ui.examples.undo</module>
    <module>examples/org.eclipse.ui.examples.views.properties.tabbed.article</module>
    <!--
    <module>examples/org.eclipse.e4.demo.contacts</module>
    <module>examples/org.eclipse.e4.demo.e4photo</module>
    <module>examples/org.eclipse.e4.examples.services</module>
    <module>examples/org.eclipse.e4.ui.examples.css</module>
    <module>examples/org.eclipse.e4.ui.examples.css.rcp</module>
    <module>examples/org.eclipse.jface.snippets</module>
    <module>examples/org.eclipse.ui.examples.job</module>
    <module>examples/org.eclipse.ui.examples.navigator</module>
    <module>examples/org.eclipse.ui.examples.rcp.browser</module>
    <module>examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague</module>
    <module>examples/org.eclipse.ui.examples.views.properties.tabbed.logic</module>
    <module>examples/org.eclipse.ui.forms.examples</module>
    <module>examples/org.eclipse.ui.examples.rcp.mail</module>
     -->

    <module>bundles/org.eclipse.core.commands</module>
    <module>bundles/org.eclipse.core.databinding</module>
    <module>bundles/org.eclipse.core.databinding.beans</module>
    <module>bundles/org.eclipse.core.databinding.observable</module>
    <module>bundles/org.eclipse.core.databinding.property</module>
    <module>bundles/org.eclipse.e4.core.commands</module>
    <module>bundles/org.eclipse.e4.emf.xpath</module>
    <module>bundles/org.eclipse.e4.ui.bindings</module>
    <module>bundles/org.eclipse.e4.ui.css.core</module>
    <module>bundles/org.eclipse.e4.ui.css.swt</module>
    <module>bundles/org.eclipse.e4.ui.css.swt.theme</module>
    <module>bundles/org.eclipse.e4.ui.di</module>
    <module>bundles/org.eclipse.e4.ui.model.workbench</module>
    <module>bundles/org.eclipse.e4.ui.progress</module>
    <module>bundles/org.eclipse.e4.ui.services</module>
    <module>bundles/org.eclipse.e4.ui.widgets</module>
    <module>bundles/org.eclipse.e4.ui.workbench</module>
    <module>bundles/org.eclipse.e4.ui.workbench.addons.swt</module>
    <module>bundles/org.eclipse.e4.ui.workbench.renderers.swt</module>
    <module>bundles/org.eclipse.e4.ui.workbench.renderers.swt.cocoa</module>
    <module>bundles/org.eclipse.e4.ui.workbench.swt</module>
    <module>bundles/org.eclipse.e4.ui.workbench3</module>
    <module>bundles/org.eclipse.jface</module>
    <module>bundles/org.eclipse.jface.databinding</module>
    <module>bundles/org.eclipse.ui</module>
    <module>bundles/org.eclipse.ui.browser</module>
    <module>bundles/org.eclipse.ui.forms</module>
    <module>bundles/org.eclipse.ui.views</module>
    <module>bundles/org.eclipse.ui.views.properties.tabbed</module>
    <module>bundles/org.eclipse.ui.workbench</module>
    <module>bundles/org.eclipse.ui.navigator</module>
    <module>bundles/org.eclipse.ui.themes</module>
    <module>features/org.eclipse.e4.rcp</module>
    <module>bundles/org.eclipse.ui.ide</module>
    <module>bundles/org.eclipse.ui.ide.application</module>
    <module>bundles/org.eclipse.ui.win32</module>
    <module>bundles/org.eclipse.ui.cocoa</module>
    <module>bundles/org.eclipse.ui.navigator.resources</module>
    <module>bundles/org.eclipse.ui.workbench.compatibility</module>

    <module>tests</module>

  </modules>

</project>
