<?xml version="1.0" encoding="UTF-8"?>
<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>spring-data-neo4j</artifactId>

	<name>Spring Data Neo4j</name>
	<description>Neo4j support for Spring Data</description>

	<parent>
		<groupId>org.springframework.data</groupId>
		<artifactId>spring-data-neo4j-parent</artifactId>
		<version>2.3.3.RELEASE</version>
		<relativePath>../pom.xml</relativePath>
	</parent>

	<properties>
		<validation>1.0.0.GA</validation>
	</properties>

	<dependencies>
		
		<!--  Spring -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-tx</artifactId>
			<version>${spring}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-context</artifactId>
			<version>${spring}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-beans</artifactId>
			<version>${spring}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-aspects</artifactId>
			<version>${spring}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-core</artifactId>
			<version>${spring}</version>
			<exclusions>
				<exclusion>
					<groupId>commons-logging</groupId>
					<artifactId>commons-logging</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-expression</artifactId>
			<version>${spring}</version>
		</dependency>

		<dependency>
			<groupId>org.aspectj</groupId>
			<artifactId>aspectjrt</artifactId>
			<version>${aspectj}</version>
		</dependency>

		<!--  Spring Data -->
		<dependency>
			<groupId>org.springframework.data</groupId>
			<artifactId>spring-data-commons</artifactId>
			<version>${springdata.commons}</version>
		</dependency>

		<dependency>
			<groupId>com.mysema.querydsl</groupId>
			<artifactId>querydsl-lucene3</artifactId>
			<version>${querydsl}</version>
			<optional>true</optional>
			<exclusions>
				<exclusion>
					<groupId>org.apache.lucene</groupId>
					<artifactId>lucene-core</artifactId>
				</exclusion>
			</exclusions>

		</dependency>

		<dependency>
			<groupId>com.mysema.querydsl</groupId>
			<artifactId>querydsl-apt</artifactId>
			<version>${querydsl}</version>
			<scope>provided</scope>
		</dependency>

		<dependency>
			<groupId>javax.annotation</groupId>
			<artifactId>jsr250-api</artifactId>
			<version>1.0</version>
			<optional>true</optional>
		</dependency>
		
		<dependency>
			<groupId>javax.el</groupId>
			<artifactId>el-api</artifactId>
			<version>${cdi}</version>
			<scope>test</scope>
		</dependency>
				
		<!-- JSR 303 Validation -->
		<dependency>
			<groupId>javax.validation</groupId>
			<artifactId>validation-api</artifactId>
			<version>${validation}</version>
			<optional>true</optional>
		</dependency>

		<dependency>
			<groupId>org.hibernate</groupId>
			<artifactId>hibernate-validator</artifactId>
			<version>4.2.0.Final</version>
			<scope>test</scope>
		</dependency>
		
		<dependency>
			<groupId>joda-time</groupId>
			<artifactId>joda-time</artifactId>
			<version>${jodatime}</version>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>org.neo4j</groupId>
			<artifactId>neo4j-cypher-dsl</artifactId>
			<version>${neo4j-cypher-dsl.version}</version>
		<exclusions>
				<exclusion>
					<groupId>org.neo4j</groupId>
					<artifactId>neo4j</artifactId>
				</exclusion>
			</exclusions>
		</dependency>

		<dependency>
			<groupId>org.neo4j</groupId>
			<artifactId>neo4j-spatial</artifactId>
			<version>${neo4j.spatial.version}</version>
			<optional>true</optional>
			<exclusions>
				<exclusion>
					<groupId>org.neo4j</groupId>
					<artifactId>neo4j</artifactId>
				</exclusion>
				<exclusion>
					<groupId>org.neo4j</groupId>
					<artifactId>graph-collections</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>org.neo4j</groupId>
			<artifactId>neo4j-graph-collections</artifactId>
			<version>${neo4j.graph-collections.version}</version>
			<optional>true</optional>
			<exclusions>
				<exclusion>
					<groupId>org.neo4j</groupId>
					<artifactId>neo4j</artifactId>
				</exclusion>
			</exclusions>
		</dependency>

		<dependency>
			<groupId>org.neo4j</groupId>
			<artifactId>server-api</artifactId>
			<version>${neo4j.version}</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>commons-configuration</groupId>
			<artifactId>commons-configuration</artifactId>
			<version>1.6</version>
			<scope>provided</scope>
		</dependency>


		<dependency>
			<groupId>com.tinkerpop.blueprints</groupId>
			<artifactId>blueprints-core</artifactId>
			<version>${blueprints.version}</version>
			<optional>true</optional>
		</dependency>
		<dependency>
			<groupId>com.tinkerpop.blueprints</groupId>
			<artifactId>blueprints-neo4j-graph</artifactId>
			<version>${blueprints.version}</version>
			<exclusions>
				<exclusion>
						<groupId>org.neo4j</groupId>
						<artifactId>neo4j-management</artifactId>
				</exclusion>
				<exclusion>
					<groupId>org.neo4j</groupId>
					<artifactId>neo4j</artifactId>
				</exclusion>
			</exclusions>
			<optional>true</optional>
		</dependency>

		<dependency>
			<groupId>com.tinkerpop.gremlin</groupId>
			<artifactId>gremlin-groovy</artifactId>
			<version>${gremlin.version}</version>
			<optional>true</optional>
		</dependency>

	</dependencies>
	
	<build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-jar-plugin</artifactId>
				<executions>
					<execution>
						<goals>
							<goal>test-jar</goal>
						</goals>
					</execution>
				</executions>
			</plugin>

			<plugin>
				<groupId>com.mysema.maven</groupId>
				<artifactId>apt-maven-plugin</artifactId>
				<version>${apt}</version>
				<dependencies>
					<dependency>
						<groupId>com.mysema.querydsl</groupId>
						<artifactId>querydsl-apt</artifactId>
						<version>${querydsl}</version>
					</dependency>
				</dependencies>
				<executions>
					<execution>
						<phase>generate-test-sources</phase>
						<goals>
							<goal>test-process</goal>
						</goals>
						<configuration>
							<outputDirectory>target/generated-test-sources</outputDirectory>
							<processor>org.springframework.data.neo4j.querydsl.SDNAnnotationProcessor</processor>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>build-helper-maven-plugin</artifactId>
				<version>1.7</version>
				<executions>
					<execution>
						<id>add-test-source</id>
						<!-- Why is it not working with the generate-test-sources phase and add-test-source goal? -->
						<phase>generate-sources</phase>
						<goals>
							<goal>add-source</goal>
						</goals>
						<configuration>
							<sources>
								<source>${project.build.directory}/generated-test-sources/querydsl</source>
							</sources>
						</configuration>
					</execution>
				</executions>
			</plugin>
		</plugins>
	</build>

</project>
