<!--
 * Copyright (c) 2011 PetalsLink
 *  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:
 *      Mickael istria (PetalsLink)
-->
<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>
	<groupId>org.eclipse.gmf-tooling</groupId>
	<artifactId>gwt-plugins</artifactId>
	<packaging>pom</packaging>

	<parent>
		<groupId>org.eclipse.gmf-tooling</groupId>
		<artifactId>parent</artifactId>
		<version>3.0.0-SNAPSHOT</version>
		<relativePath>../</relativePath>
	</parent>

	<modules>
		<!-- plugins -->
		<module>org.eclipse.gmf.codegen.gwt</module>
		<module>org.eclipse.gmf.codegen.gwt.client</module>
		<module>org.eclipse.gmf.codegen.gwt.ui</module>
	</modules>

</project>
