<?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/maven-v4_0_0.xsd">

	<parent>
		<groupId>com.springsource.dmserver</groupId>
		<artifactId>greenpages.parent</artifactId>
		<version>2.3.0.RELEASE</version>
		<relativePath>../parent</relativePath>
	</parent>

	<modelVersion>4.0.0</modelVersion>
	<groupId>com.springsource.dmserver</groupId>
	<artifactId>greenpages.jpa</artifactId>
	<name>greenpages.jpa</name>
	<packaging>jar</packaging>

	<dependencies>
		<dependency>
			<groupId>com.springsource.dmserver</groupId>
			<artifactId>greenpages.app</artifactId>
			<version>${project.version}</version>
		</dependency>
		<dependency>
			<groupId>org.junit</groupId>
			<artifactId>com.springsource.org.junit</artifactId>
		</dependency>
		<dependency>
		    <groupId>org.springframework</groupId>
		    <artifactId>org.springframework.test</artifactId>
		</dependency>
		<dependency>
		    <groupId>org.springframework</groupId>
		    <artifactId>org.springframework.instrument</artifactId>
		</dependency>
		<dependency>
		    <groupId>org.springframework</groupId>
		    <artifactId>org.springframework.aspects</artifactId>
		</dependency>
		<dependency>
			<groupId>org.apache.commons</groupId>
			<artifactId>com.springsource.org.apache.commons.dbcp</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>com.h2database</groupId>
			<artifactId>com.springsource.org.h2</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
		    <groupId>org.aspectj</groupId>
		    <artifactId>org.aspectj-library</artifactId>
			<type>libd</type>
		</dependency>
	</dependencies>

</project>
