<?xml version="1.0" encoding="UTF-8"?>
<!--
    Copyright (c) 2009, 2019 Xored Software Inc and others.
    All rights reserved. This program and the accompanying materials
    are made available under the terms of the Eclipse Public License v2.0
    which accompanies this distribution, and is available at
    https://www.eclipse.org/legal/epl-v20.html
     
    Contributors:
    	Xored Software Inc - initial API and implementation and/or initial documentation
 -->

<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>
  <artifactId>rcptt-module-nebula</artifactId>
  <packaging>pom</packaging>

  <parent>
    <groupId>org.eclipse.rcptt</groupId>
    <artifactId>ide</artifactId>
    <version>2.5.2-SNAPSHOT</version>
    <relativePath>../../releng/ide/pom.xml</relativePath>
  </parent>

  <repositories combine.self="override">
    <repository>
      <id>nebula</id>
      <layout>p2</layout>
      <url>http://download.eclipse.org/nebula/releases/latest</url>
    </repository>
    <repository>
      <id>rcptt-runtime</id>
      <layout>p2</layout>
      <url>${rcpttRuntimeRepo}</url>
    </repository>
    <repository>
      <id>ajdt37</id>
      <layout>p2</layout>
      <url>${ajdt37repository}</url>
    </repository>
  </repositories>

  <modules>
    <module>plugins/org.eclipse.rcptt.tesla.nebula</module>
    <module>plugins/org.eclipse.rcptt.tesla.nebula.impl</module>
    <module>plugins/org.eclipse.rcptt.tesla.nebula.ecl</module>
    <module>plugins/org.eclipse.rcptt.tesla.nebula.ecl.impl</module>
    <module>plugins/org.eclipse.rcptt.tesla.recording.nebula</module>
    <module>plugins/org.eclipse.rcptt.tesla.recording.nebula.ecl</module>
    <module>features/org.eclipse.rcptt.module.nebula.runtime</module>
    <module>runtime-site</module>
    <module>plugins/org.eclipse.rcptt.module.nebula.updates</module>
    <module>features/org.eclipse.rcptt.module.nebula</module>
    <module>site</module>
  </modules>
</project>
