<?xml version="1.0" encoding="UTF-8"?>
<!--
  Copyright (C) 2014, 2019 EclipseSource and others.
  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

  Contributors:
     EclipseSource - 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>

  <name>RAP Runtime Build</name>

  <groupId>org.eclipse.rap</groupId>
  <artifactId>org.eclipse.rap.runtime-build</artifactId>
  <packaging>pom</packaging>
  <version>3.8.0-SNAPSHOT</version>

  <modules>
    <!-- Runtime projects -->
    <module>bundles/org.eclipse.rap.filedialog</module>
    <module>bundles/org.eclipse.rap.fileupload</module>
    <module>bundles/org.eclipse.rap.jface.databinding</module>
    <module>bundles/org.eclipse.rap.jface</module>
    <module>bundles/org.eclipse.rap.nebula.jface.gridviewer</module>
    <module>bundles/org.eclipse.rap.nebula.widgets.grid</module>
    <module>bundles/org.eclipse.rap.nebula.widgets.richtext</module>
    <module>bundles/org.eclipse.rap.rwt</module>
    <module>bundles/org.eclipse.rap.rwt.osgi</module>
    <module>bundles/org.eclipse.rap.ui.cheatsheets</module>
    <module>bundles/org.eclipse.rap.ui.forms</module>
    <module>bundles/org.eclipse.rap.ui</module>
    <module>bundles/org.eclipse.rap.ui.views</module>
    <module>bundles/org.eclipse.rap.ui.workbench</module>
    <module>bundles/org.eclipse.rap.e4</module>
    <module>bundles/org.eclipse.e4.core.commands</module>
    <module>bundles/org.eclipse.e4.ui.bindings</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.swt</module>
    <module>bundles/org.eclipse.e4.ui.workbench</module>
    <!-- Examples projects -->
    <module>examples/org.eclipse.rap.demo.controls</module>
    <module>examples/org.eclipse.rap.demo.databinding</module>
    <module>examples/org.eclipse.rap.demo</module>
    <module>examples/org.eclipse.rap.design.example</module>
    <module>examples/org.eclipse.rap.examples</module>
    <module>examples/org.eclipse.rap.examples.pages</module>
    <module>examples/org.eclipse.rap.filedialog.demo.examples</module>
    <module>examples/org.eclipse.rap.nebula.widgets.grid.demo.examples</module>
    <module>examples/org.eclipse.rap.nebula.widgets.richtext.demo.examples</module>
    <module>examples/org.eclipse.rap.e4.demo</module>
    <!-- Test projects -->
    <module>tests/org.eclipse.rap.filedialog.test</module>
    <module>tests/org.eclipse.rap.fileupload.test</module>
    <module>tests/org.eclipse.rap.nebula.widgets.grid.test</module>
    <module>tests/org.eclipse.rap.nebula.widgets.richtext.test</module>
    <module>tests/org.eclipse.rap.rwt.cluster.testfixture</module>
    <module>tests/org.eclipse.rap.rwt.cluster.testfixture.test</module>
    <module>tests/org.eclipse.rap.rwt.cluster.test</module>
    <module>tests/org.eclipse.rap.rwt.osgi.test</module>
    <module>tests/org.eclipse.rap.rwt.testfixture</module>
    <module>tests/org.eclipse.rap.rwt.test</module>
    <module>tests/org.eclipse.rap.rwt.themes.test</module>
    <module>tests/org.eclipse.rap.ui.forms.test</module>
    <!-- Packaging projects -->
    <module>features/org.eclipse.rap.equinox.target.feature</module>
    <module>features/org.eclipse.rap.examples.feature</module>
    <module>features/org.eclipse.rap.feature</module>
    <module>features/org.eclipse.rap.sdk.feature</module>
    <module>features/org.eclipse.rap.e4.equinox.target.feature</module>
    <module>features/org.eclipse.rap.e4.examples.feature</module>
    <module>features/org.eclipse.rap.e4.feature</module>
    <module>features/org.eclipse.rap.e4.sdk.feature</module>
    <!-- Repository projects -->
    <module>releng/org.eclipse.rap.build/repository</module>
    <module>releng/org.eclipse.rap.build/repository.e4</module>
    <!-- Builder projects -->
    <module>releng/org.eclipse.rap.clientbuilder</module>
  </modules>

</project>
