<?xml version="1.0" encoding="UTF-8"?>
<!--
  Copyright (c) 2017 vogella GmbH 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:
     Lars Vogel <Lars.Vogel@vogella.com>  - initial 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/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>eclipse.platform.ui</groupId>
    <artifactId>eclipse.platform.ui</artifactId>
    <version>4.20.0-SNAPSHOT</version>
  </parent>
  <artifactId>eclipse.platform.ui.bundles</artifactId>
  <packaging>pom</packaging>

  <modules>
    <module>org.eclipse.core.commands</module>
    <module>org.eclipse.core.databinding</module>
    <module>org.eclipse.core.databinding.beans</module>
    <module>org.eclipse.core.databinding.observable</module>
    <module>org.eclipse.core.databinding.property</module>
    <module>org.eclipse.e4.core.commands</module>
    <module>org.eclipse.e4.emf.xpath</module>
    <module>org.eclipse.e4.ui.bindings</module>
    <module>org.eclipse.e4.ui.css.core</module>
    <module>org.eclipse.e4.ui.css.swt</module>
    <module>org.eclipse.e4.ui.css.swt.theme</module>
    <module>org.eclipse.e4.ui.di</module>
    <module>org.eclipse.e4.ui.dialogs</module>
    <module>org.eclipse.e4.ui.ide</module>
    <module>org.eclipse.e4.ui.model.workbench</module>
    <module>org.eclipse.e4.ui.progress</module>
    <module>org.eclipse.e4.ui.services</module>
    <module>org.eclipse.e4.ui.widgets</module>
    <module>org.eclipse.e4.ui.workbench</module>
    <module>org.eclipse.e4.ui.workbench.addons.swt</module>
    <module>org.eclipse.e4.ui.workbench.renderers.swt</module>
    <module>org.eclipse.e4.ui.workbench.renderers.swt.cocoa</module>
    <module>org.eclipse.e4.ui.workbench.swt</module>
    <module>org.eclipse.e4.ui.workbench3</module>
    <module>org.eclipse.jface</module>
    <module>org.eclipse.jface.databinding</module>
    <module>org.eclipse.jface.notifications</module>
    <module>org.eclipse.ui</module>
    <module>org.eclipse.ui.browser</module>
    <module>org.eclipse.ui.forms</module>
    <module>org.eclipse.ui.views</module>
    <module>org.eclipse.ui.views.log</module>
    <module>org.eclipse.ui.views.properties.tabbed</module>
    <module>org.eclipse.ui.workbench</module>
    <module>org.eclipse.ui.monitoring</module>
    <module>org.eclipse.ui.navigator</module>
    <module>org.eclipse.ui.themes</module>
    <module>org.eclipse.ui.ide</module>
    <module>org.eclipse.ui.ide.application</module>
    <module>org.eclipse.ui.win32</module>
    <module>org.eclipse.ui.cocoa</module>
    <module>org.eclipse.e4.ui.swt.gtk</module>
    <module>org.eclipse.e4.ui.swt.win32</module>
    <module>org.eclipse.ui.navigator.resources</module>
    <module>org.eclipse.urischeme</module>
  </modules>
</project>
