<!--
 * 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>features</artifactId>
	<packaging>pom</packaging>

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

	<modules>
		<!-- features -->
		<module>org.eclipse.gmf.doc-feature</module>
		<!-- module>org.eclipse.gmf.europa-feature</module> 
		<module>org.eclipse.gmf.platform-feature</module-->
		<module>org.eclipse.gmf.sdk.experimental.source-feature</module>
		<module>org.eclipse.gmf.sdk.experimental-feature</module>
		<module>org.eclipse.gmf.sdk-feature</module>
		<module>org.eclipse.gmf.tooling.source-feature</module>
		<module>org.eclipse.gmf.tooling-feature</module>
		<module>org.eclipse.gmf.tooling.runtime.source-feature</module>
		<module>org.eclipse.gmf.tooling.runtime-feature</module>
		<module>org.eclipse.gmf.tooling.simplemap-feature</module>
		<module>org.eclipse.gmf.tooling.codegen.xtend2-feature</module>
		
		<!-- module>org.eclipse.gmf.xpand-feature</module -->
		<module>org.eclipse.gmf.examples-feature</module>
		<module>org.eclipse.gmf.examples.pde-feature</module>

		<!-- tests, should be a separate build against newly built repo, to test 
			also created repo (whole distribution) -->
		<!-- module>org.eclipse.gmf.tests.experimental-feature</module -->
		<!-- module>org.eclipse.gmf.tests-feature</module -->
	</modules>

</project>
