<?xml version="1.0" encoding="UTF-8"?>
<!--
    Copyright (c) 2011 Obeo.
    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:
        Obeo - initial creator
 -->
<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/maven-v4_0_0.xsd">
	<modelVersion>4.0.0</modelVersion>

	<parent>
		<groupId>org.eclipse.emf</groupId>
		<artifactId>org.eclipse.emf.eef.releng.parent</artifactId>
		<relativePath>../../releng/org.eclipse.emf.eef.releng.parent</relativePath>
		<version>1.5.2-SNAPSHOT</version>
	</parent>

	<groupId>org.eclipse.emf</groupId>
	<artifactId>org.eclipse.emf.eef.codegen.extended.widgets.richtext</artifactId>
	<version>1.5.2-SNAPSHOT</version>
	<packaging>eclipse-plugin</packaging>

	<name>EEF RichText Codegen Plug-in</name>

<build>
     <plugins>
       <plugin>
         <groupId>org.eclipse.acceleo</groupId>
         <artifactId>org.eclipse.acceleo.maven</artifactId>
         <version>3.5.0-SNAPSHOT</version>
         <executions>
           <execution>
           <phase>compile</phase>
           <goals>
              <goal>acceleo-compile</goal>
            </goals>
         </execution>
         </executions>
         <configuration>
           <useBinaryResources>false</useBinaryResources>
           <usePlatformResourcePath>true</usePlatformResourcePath>
           <acceleoProject>
             <root>${project.basedir}</root>
             <entries>
               <entry>
                 <input>src</input>
                 <output>target/classes</output>
               </entry>
             </entries>
	           <jars>
	             <jar>org.eclipse.emf:org.eclipse.emf.eef.codegen</jar>
	           </jars>
           </acceleoProject>
           <packagesToRegister>
             <packageToRegister>org.eclipse.emf.ecore.EcorePackage</packageToRegister>
             <packageToRegister>org.eclipse.emf.eef.components.ComponentsPackage</packageToRegister>
             <packageToRegister>org.eclipse.emf.eef.mapping.MappingPackage</packageToRegister>
             <packageToRegister>org.eclipse.emf.eef.views.ViewsPackage</packageToRegister>
             <packageToRegister>org.eclipse.emf.eef.EEFGen.EEFGenPackage</packageToRegister>
             <packageToRegister>org.eclipse.emf.eef.mapping.filters.FiltersPackage</packageToRegister>
             <packageToRegister>org.eclipse.emf.eef.mapping.navigation.NavigationPackage</packageToRegister>
             <packageToRegister>org.eclipse.emf.eef.extended.editor.EditorPackage</packageToRegister>
             <packageToRegister>org.eclipse.emf.codegen.ecore.genmodel.GenModelPackage</packageToRegister>
           </packagesToRegister>
           <uriHandler>org.eclipse.acceleo.maven.AcceleoURIHandler</uriHandler>
         </configuration>
       </plugin>
     </plugins>
   </build>
</project>
