<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>
  <artifactId>viatra-query-language</artifactId>
  <name>VIATRA Query Language</name>
  <description>Maven module for VIATRA Query Language and Generic API</description>
	<dependencies>
		<dependency>
			<groupId>org.eclipse.viatra</groupId>
			<artifactId>viatra-query-runtime</artifactId>
			<version>${project.version}</version>
		</dependency>
		<dependency>
			<groupId>org.eclipse.viatra</groupId>
			<artifactId>org.eclipse.viatra.query.patternlanguage</artifactId>
			<version>${project.version}</version>
			<exclusions>
		        <exclusion>
        		    <groupId>*</groupId>
		            <artifactId>*</artifactId>
			    </exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>org.eclipse.viatra</groupId>
			<artifactId>org.eclipse.viatra.query.patternlanguage.emf</artifactId>
			<version>${project.version}</version>
			<exclusions>
		        <exclusion>
        		    <groupId>*</groupId>
		            <artifactId>*</artifactId>
			    </exclusion>
			</exclusions>
		</dependency>
		<dependency>
    	    <groupId>org.eclipse.xtext</groupId>
            <artifactId>org.eclipse.xtext.xtext</artifactId>
            <version>${xtend.compiler.version}</version>
        </dependency>
		<dependency>
    	    <groupId>org.eclipse.xtext</groupId>
            <artifactId>org.eclipse.xtext.xbase</artifactId>
            <version>${xtend.compiler.version}</version>
        </dependency>
        <dependency>
    	    <groupId>com.google.inject</groupId>
    	    <artifactId>guice</artifactId>
    	    <version>3.0</version>
        </dependency>
        <dependency>
    	    <groupId>com.google.inject.extensions</groupId>
    	    <artifactId>guice-multibindings</artifactId>
    	    <version>3.0</version>
        </dependency>        
	</dependencies>
	<parent>
        <artifactId>org.eclipse.viatra.parent.core</artifactId>
        <groupId>org.eclipse.viatra</groupId>
        <version>1.3.1-SNAPSHOT</version>
        <relativePath>../../releng/org.eclipse.viatra.parent.core/pom.xml</relativePath>
    </parent>
</project>