<?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>
  <parent>
    <artifactId>rcptt.runtime</artifactId>
    <groupId>org.eclipse.rcptt</groupId>
    <version>2.5.1-SNAPSHOT</version>
  </parent>

  <modules>
    <module>org.eclipse.rcptt.tesla.core.am</module>
    <module>org.eclipse.rcptt.tesla.canvas</module>
    <module>org.eclipse.rcptt.tesla.gef</module>
    <module>org.eclipse.rcptt.tesla.gef.aspects</module>
    <module>org.eclipse.rcptt.tesla.jobs.aspects</module>
    <module>org.eclipse.rcptt.tesla.gmf</module>
    <module>org.eclipse.rcptt.tesla.gmf.aspects</module>
    <module>org.eclipse.rcptt.tesla.jdt</module>
    <module>org.eclipse.rcptt.tesla.jdt.aspects</module>
    <module>org.eclipse.rcptt.tesla.jface.aspects</module>
    <module>org.eclipse.rcptt.tesla.jface.text</module>
    <module>org.eclipse.rcptt.tesla.jface.text.aspects</module>
    <module>org.eclipse.rcptt.tesla.jface.text.reconciler.aspects</module>
    <module>org.eclipse.rcptt.tesla.jface.databinding</module>
    <module>org.eclipse.rcptt.tesla.jface.databinding.aspects</module>
    <module>org.eclipse.rcptt.tesla.jface.databinding.observable.aspects</module>
    <module>org.eclipse.rcptt.tesla.jface.fragment</module>
    <module>org.eclipse.rcptt.tesla.recording.aspects.draw2d</module>
    <module>org.eclipse.rcptt.tesla.recording.aspects.forms</module>
    <module>org.eclipse.rcptt.tesla.recording.aspects.gef</module>
    <module>org.eclipse.rcptt.tesla.recording.aspects.gmf</module>
    <module>org.eclipse.rcptt.tesla.recording.aspects.jface</module>
    <module>org.eclipse.rcptt.tesla.recording.aspects.jface.text</module>
    <module>org.eclipse.rcptt.tesla.recording.aspects.swt</module>
    <module>org.eclipse.rcptt.tesla.recording.aspects.workbench</module>
    <module>org.eclipse.rcptt.tesla.recording.aspects.workbench.texteditor</module>
    <module>org.eclipse.rcptt.tesla.recording.draw2d</module>
    <module>org.eclipse.rcptt.tesla.recording.gef</module>
    <module>org.eclipse.rcptt.tesla.recording.gmf</module>
    <module>org.eclipse.rcptt.tesla.recording.swt</module>
    <module>org.eclipse.rcptt.tesla.recording.canvas</module>
    <module>org.eclipse.rcptt.tesla.recording.jface.text</module>
    <module>org.eclipse.rcptt.tesla.recording.workbench.texteditor</module>
    <module>org.eclipse.rcptt.tesla.swt.aspects</module>
    <module>org.eclipse.rcptt.tesla.swt.fragment</module>
    <module>org.eclipse.rcptt.tesla.swt</module>
    <module>org.eclipse.rcptt.tesla.ui.ide</module>
    <module>org.eclipse.rcptt.tesla.ui.ide.aspects</module>
    <module>org.eclipse.rcptt.tesla.workbench.texteditor</module>
    <module>org.eclipse.rcptt.tesla.workbench.texteditor.aspects</module>
    <module>org.eclipse.rcptt.tesla.variables</module>
    <module>org.eclipse.rcptt.tesla.properties.view</module>
  </modules>
  
  <profiles>
    <profile>
      <id>runtime3x</id>
      <modules>
	<module>org.eclipse.rcptt.tesla.runtime-feature</module>
	<module>org.eclipse.rcptt.tesla.swt.e3x</module>
	<module>org.eclipse.rcptt.tesla.workbench.aspects</module>
      </modules>
    </profile>
    <profile>
      <id>runtime4x</id>
      <modules>
	<module>org.eclipse.rcptt.tesla.runtime.e4x-feature</module>
	<module>org.eclipse.rcptt.tesla.swt.e4x</module>
	<module>org.eclipse.rcptt.tesla.workbench.aspects.e4x</module>
      </modules>
    </profile>
  </profiles>
  <groupId>org.eclipse.rcptt.tesla</groupId>
  <artifactId>tesla</artifactId>
  <packaging>pom</packaging>
</project>
