<?xml version="1.0" encoding="UTF-8"?>
<!--
    Copyright (c) 2016 CEA LIST.
   
    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:
     Arnault Lapitre (CEA LIST) arnault.lapitre@cea.fr
      - Initial API and 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>org.eclipse.efm</groupId>
		<artifactId>org.eclipse.efm.modeling.editor</artifactId>
		<version>0.0.1-SNAPSHOT</version>
	</parent>
	<artifactId>org.eclipse.efm.modeling.editor.sew</artifactId>
	<packaging>pom</packaging>
	<name>org.eclipse.efm-modeling Workflow Editor</name>
	<description>This module contains the different plugins relative to the XText Editor for efm-modeling-workflow.</description>

	<modules>
		<module>org.eclipse.efm.sew.ecore</module>
		<module>org.eclipse.efm.sew.xtext</module>
		<module>org.eclipse.efm.sew.xtext.ide</module>
		<module>org.eclipse.efm.sew.xtext.tests</module>
		<module>org.eclipse.efm.sew.xtext.ui</module>
		<module>org.eclipse.efm.sew.xtext.ui.tests</module>
	</modules>
</project>
