<?xml version="1.0" encoding="UTF-8"?>
<project
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
	xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
	<modelVersion>4.0.0</modelVersion>
	<parent>
        <artifactId>org.eclipse.viatra.parent.incubation</artifactId>
        <groupId>org.eclipse.viatra</groupId>
        <version>0.13.1-SNAPSHOT</version>
        <relativePath>../../../releng/org.eclipse.viatra.parent.incubation/pom.xml</relativePath>
    </parent>
	<artifactId>org.eclipse.viatra.query.tooling.ui.retevis</artifactId>
	<packaging>eclipse-plugin</packaging>
	<build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-clean-plugin</artifactId>
				<version>2.5</version>
				<executions>
					<execution>
						<phase>clean</phase>
						<goals>
							<goal>clean</goal>
						</goals>
						<configuration>
							<filesets>
								<fileset>
									<directory>src-gen</directory>
                                                        		<excludes>
                                                                		<exclude>.gitignore</exclude>
                                                        		</excludes>
								</fileset>
							</filesets>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.eclipse.viatra</groupId>
				<artifactId>viatra-maven-plugin</artifactId>
				<version>${viatra.main.version}</version>
				<executions>
					<execution>
						<goals>
							<goal>generate</goal>
						</goals>
					</execution>
				</executions>
				<configuration>
					<outputDirectory>src-gen</outputDirectory>
					<metamodels>
						<metamodel>
							<packageClass>org.eclipse.viatra.query.runtime.rete.recipes.RecipesPackage</packageClass>
						</metamodel>
					</metamodels>
				</configuration>
				<dependencies>
					<dependency>
						<groupId>org.eclipse.viatra</groupId>
						<artifactId>org.eclipse.viatra.query.runtime.rete.recipes</artifactId>
						<version>${viatra.main.version}</version>
					</dependency>
				</dependencies>
			</plugin>
		</plugins>
	</build>
</project>
