<?xml version="1.0" encoding="UTF-8"?>

<!--
========================================================================================================================
pom.xml

Copyright (c) 2013 Manning Publications Co.

Willie Wheeler (willie.wheeler@gmail.com)

Book: http://manning.com/wheeler/
Blog: http://springinpractice.com/
Code: https://github.com/springinpractice
========================================================================================================================
-->
<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>
	
	<groupId>com.springinpractice</groupId>
	<artifactId>com.springinpractice.top</artifactId>
	<version>1.0-RELEASE</version>
	<packaging>pom</packaging>
	
	<name>Spring in Practice Top POM</name>
	<description>Top POM for deriving all of the other POMs.</description>
	<url>http://springinpractice.com/</url>
	
	<properties>
		<aspectj.version>1.6.8.RELEASE</aspectj.version>
		<hamcrest.version>1.1</hamcrest.version>
		<jackson.version>1.9.9</jackson.version>
		<javamail.version>1.4.5</javamail.version>
		<jta.version>1.1</jta.version>
		<junit.version>4.10</junit.version>
		<mockito.version>1.9.0</mockito.version>
		<slf4j.version>1.6.4</slf4j.version>
		<spring.version>3.1.2.RELEASE</spring.version>
		<spring.amqp.version>1.0.0.RELEASE</spring.amqp.version>
<!-- 		<spring.data.commons.version>1.3.0.RELEASE</spring.data.commons.version> -->
		<spring.data.commons.version>1.4.0.RC1</spring.data.commons.version>
<!-- 		<spring.data.jpa.version>1.1.1.RELEASE</spring.data.jpa.version> -->
		<spring.data.jpa.version>1.2.0.RC1</spring.data.jpa.version>
		
		<!-- Ran into issue downloading 1.0.3, so upgrading to 1.1.0 -->
<!-- 		<spring.data.mongodb.version>1.0.3.RELEASE</spring.data.mongodb.version> -->
		<spring.data.mongodb.version>1.1.0.RELEASE</spring.data.mongodb.version>
		
		<spring.data.rest.webmvc.version>1.0.0.RC3</spring.data.rest.webmvc.version>
		<spring.integration.version>2.1.3.RELEASE</spring.integration.version>
		<spring.security.version>3.0.3.RELEASE</spring.security.version>
		<surefire.version>2.12</surefire.version>
		<tiles.version>2.2.2</tiles.version>
<!-- 		<tiles.version>3.0.1</tiles.version> -->
		<validation.version>1.0.0.GA</validation.version>
		
		<!-- Prevent chirping about platform-dependent builds. -->
		<!-- See http://docs.codehaus.org/display/MAVENUSER/POM+Element+for+Source+File+Encoding -->
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
	</properties>
	
	<modules>
		<module>hibernate</module>
		<module>jpa</module>
		<module>web</module>
		<module>api</module>
		<module>skin</module>
	</modules>
	
	
	<!-- =========================================================================================================== -->
	<!-- Dependencies                                                                                                -->
	<!-- =========================================================================================================== -->
	
	<!-- Manage dependency versions and scopes centrally -->
	<dependencyManagement>
		<dependencies>
			
			<!-- JavaEE dependencies -->
			<dependency>
				<groupId>javax.annotation</groupId>
				<artifactId>com.springsource.javax.annotation</artifactId>
				<version>1.0.0</version>
			</dependency>
			<dependency>
				<groupId>javax.inject</groupId>
				<artifactId>com.springsource.javax.inject</artifactId>
				<version>1.0.0</version>
			</dependency>
			<dependency>
				<groupId>javax.mail</groupId>
				<artifactId>mail</artifactId>
				<version>${javamail.version}</version>
				<scope>provided</scope>
			</dependency>
			<dependency>
				<groupId>javax.persistence</groupId>
				<artifactId>com.springsource.javax.persistence</artifactId>
				<version>2.0.0</version>
			</dependency>
			<dependency>
				<groupId>javax.servlet</groupId>
				<artifactId>com.springsource.javax.servlet</artifactId>
				<version>2.5.0</version>
<!-- 				<scope>provided</scope> -->
			</dependency>
			<dependency>
				<groupId>javax.servlet</groupId>
				<artifactId>com.springsource.javax.servlet.jsp</artifactId>
				<version>2.1.0</version>
<!-- 				<scope>provided</scope> -->
			</dependency>
			<dependency>
				<groupId>javax.servlet</groupId>
				<artifactId>com.springsource.javax.servlet.jsp.jstl</artifactId>
				<version>1.2.0</version>
			</dependency>
			<dependency>
				<groupId>javax.transaction</groupId>
				<artifactId>jta</artifactId>
				<version>${jta.version}</version>
				<scope>runtime</scope>
			</dependency>
			<dependency>
				<groupId>javax.validation</groupId>
				<artifactId>validation-api</artifactId>
				<version>${validation.version}</version>
			</dependency>
			
			<!-- Apache dependencies -->
			<dependency>
				<groupId>org.apache.commons</groupId>
				<artifactId>com.springsource.org.apache.commons.codec</artifactId>
				<version>1.4.0</version>
			</dependency>
			<dependency>
				<groupId>org.apache.commons</groupId>
				<artifactId>com.springsource.org.apache.commons.dbcp</artifactId>
				<version>1.2.2.osgi</version>
				<scope>runtime</scope>
			</dependency>
			<dependency>
				<groupId>org.apache.commons</groupId>
				<artifactId>com.springsource.org.apache.commons.fileupload</artifactId>
				<version>1.2.1</version>
			</dependency>
			<dependency>
				<groupId>org.apache.commons</groupId>
				<artifactId>com.springsource.org.apache.commons.httpclient</artifactId>
				<version>3.1.0</version>
			</dependency>
			<dependency>
				<groupId>org.apache.commons</groupId>
				<artifactId>com.springsource.org.apache.commons.io</artifactId>
				<version>1.4.0</version>
			</dependency>
			<dependency>
				<groupId>org.apache.commons</groupId>
				<artifactId>com.springsource.org.apache.commons.lang</artifactId>
				<version>2.4.0</version>
			</dependency>
			<dependency>
				<groupId>org.apache.commons</groupId>
				<artifactId>commons-lang3</artifactId>
				<version>3.1</version>
			</dependency>
			<dependency>
				<groupId>org.apache.commons</groupId>
				<artifactId>com.springsource.org.apache.commons.logging</artifactId>
				<version>1.1.1</version>
			</dependency>
			<dependency>
				<groupId>org.apache.velocity</groupId>
				<artifactId>com.springsource.org.apache.velocity</artifactId>
				<version>1.6.2</version>
			</dependency>
			
			<!-- Spring dependencies -->
			<dependency>
				<groupId>org.springframework</groupId>
				<artifactId>org.springframework.core</artifactId>
				<version>${spring.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework</groupId>
				<artifactId>org.springframework.aspects</artifactId>
				<version>${spring.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework</groupId>
				<artifactId>org.springframework.beans</artifactId>
				<version>${spring.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework</groupId>
				<artifactId>org.springframework.context</artifactId>
				<version>${spring.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework</groupId>
				<artifactId>org.springframework.context.support</artifactId>
				<version>${spring.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework</groupId>
				<artifactId>org.springframework.jdbc</artifactId>
				<version>${spring.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework</groupId>
				<artifactId>org.springframework.orm</artifactId>
				<version>${spring.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework</groupId>
				<artifactId>org.springframework.oxm</artifactId>
				<version>${spring.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework</groupId>
				<artifactId>org.springframework.transaction</artifactId>
				<version>${spring.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework</groupId>
				<artifactId>org.springframework.web</artifactId>
				<version>${spring.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework</groupId>
				<artifactId>org.springframework.web.servlet</artifactId>
				<version>${spring.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework.data</groupId>
				<artifactId>spring-data-commons-core</artifactId>
				<version>${spring.data.commons.version}</version>
				<exclusions>
					<exclusion>
						<groupId>org.springframework</groupId>
						<artifactId>spring-beans</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.springframework</groupId>
						<artifactId>spring-core</artifactId>
					</exclusion>
					<exclusion>
						<groupId>junit</groupId>
						<artifactId>junit-dep</artifactId>
					</exclusion>
				</exclusions>
	        </dependency>
			<dependency>
				<groupId>org.springframework.data</groupId>
				<artifactId>spring-data-jpa</artifactId>
				<version>${spring.data.jpa.version}</version>
				<exclusions>
					<exclusion>
						<groupId>org.springframework</groupId>
						<artifactId>spring-beans</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.springframework</groupId>
						<artifactId>spring-core</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.springframework</groupId>
						<artifactId>spring-orm</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.springframework</groupId>
						<artifactId>spring-tx</artifactId>
					</exclusion>
					<exclusion>
						<groupId>junit</groupId>
						<artifactId>junit-dep</artifactId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>org.springframework.data</groupId>
				<artifactId>spring-data-rest-webmvc</artifactId>
				<version>${spring.data.rest.webmvc.version}</version>
			</dependency> 
			<dependency>
				<groupId>org.springframework.data</groupId>
				<artifactId>spring-data-mongodb</artifactId>
				<version>${spring.data.mongodb.version}</version>
			</dependency>
			
			<!-- Spring Integration dependencies -->
			<dependency>
				<groupId>org.springframework.integration</groupId>
				<artifactId>spring-integration-core</artifactId>
				<version>${spring.integration.version}</version>
				<exclusions>
					<exclusion>
						<groupId>org.springframework</groupId>
						<artifactId>spring-aop</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.springframework</groupId>
						<artifactId>spring-context</artifactId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>org.springframework.integration</groupId>
				<artifactId>spring-integration-amqp</artifactId>
				<version>${spring.integration.version}</version>
				<exclusions>
					<exclusion>
						<groupId>org.springframework</groupId>
						<artifactId>spring-tx</artifactId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>org.springframework.integration</groupId>
				<artifactId>spring-integration-http</artifactId>
				<version>${spring.integration.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework.integration</groupId>
				<artifactId>spring-integration-mail</artifactId>
				<version>${spring.integration.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework.integration</groupId>
				<artifactId>spring-integration-xml</artifactId>
				<version>${spring.integration.version}</version>
				<exclusions>
					<exclusion>
						<groupId>org.springframework</groupId>
						<artifactId>spring-context</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.springframework</groupId>
						<artifactId>spring-oxm</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.springframework.ws</groupId>
						<artifactId>spring-xml</artifactId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>org.springframework.integration</groupId>
				<artifactId>spring-integration-xmpp</artifactId>
				<version>${spring.integration.version}</version>
			</dependency>
<!-- 			<dependency> -->
<!-- 				<groupId>org.springframework.integration</groupId> -->
<!-- 				<artifactId>spring-integration-ws</artifactId> -->
<!-- 				<version>${spring.integration.version}</version> -->
<!-- 			</dependency> -->

			<!-- Spring AMQP -->
			<dependency>
				<groupId>org.springframework.amqp</groupId>
				<artifactId>spring-rabbit</artifactId>
				<version>${spring.amqp.version}</version>
				<exclusions>
					<exclusion>
						<groupId>org.springframework</groupId>
						<artifactId>spring-core</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.springframework</groupId>
						<artifactId>spring-tx</artifactId>
					</exclusion>
				</exclusions>
			</dependency>
		
			<!-- Spring Security dependencies -->
			<dependency>
				<groupId>org.springframework.security</groupId>
				<artifactId>org.springframework.security.acls</artifactId>
				<version>${spring.security.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework.security</groupId>
				<artifactId>org.springframework.security.config</artifactId>
				<version>${spring.security.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework.security</groupId>
				<artifactId>org.springframework.security.core</artifactId>
				<version>${spring.security.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework.security</groupId>
				<artifactId>org.springframework.security.taglibs</artifactId>
				<version>${spring.security.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework.security</groupId>
				<artifactId>org.springframework.security.web</artifactId>
				<version>${spring.security.version}</version>
			</dependency>
			
			<!-- Spring Web Services dependencies -->
			<dependency>
				<groupId>org.springframework.ws</groupId>
				<artifactId>org.springframework.ws</artifactId>
				<version>1.5.9.A</version>
				<exclusions>
					<exclusion>
						<groupId>org.springframework.ws</groupId>
						<artifactId>org.springframework.oxm</artifactId>
					</exclusion>
				</exclusions>
			</dependency>

			<!-- AspectJ dependencies -->
			<dependency>
				<groupId>org.aspectj</groupId>
				<artifactId>com.springsource.org.aspectj.runtime</artifactId>
				<version>${aspectj.version}</version>
			</dependency>
			<dependency>
				<groupId>org.aspectj</groupId>
				<artifactId>com.springsource.org.aspectj.weaver</artifactId>
				<version>${aspectj.version}</version>
			</dependency>
			
			<!-- Core includes Hibernate Annotations and Hibernate EntityManager -->
			<dependency>
				<groupId>org.hibernate</groupId>
				<artifactId>hibernate-core</artifactId>
				<version>3.6.8.Final</version>
			</dependency>
			
			<!-- EntityManager has HibernatePersistence provider -->
			<dependency>
				<groupId>org.hibernate</groupId>
				<artifactId>hibernate-entitymanager</artifactId>
				<version>3.6.8.Final</version>
			</dependency>
			
			<dependency>
				<groupId>org.hibernate</groupId>
				<artifactId>hibernate-search</artifactId>
				<version>3.4.1.Final</version>
			</dependency>
			<dependency>
				<groupId>org.hibernate</groupId>
				<artifactId>hibernate-validator</artifactId>
				<version>4.2.0.Final</version>
			</dependency>
			
			<!-- Data dependencies -->
			<dependency>
				<groupId>com.mysql.jdbc</groupId>
				<artifactId>com.springsource.com.mysql.jdbc</artifactId>
				<version>5.1.6</version>
				<scope>runtime</scope>
			</dependency>
			
			<!-- Logging dependencies -->
			<dependency>
				<groupId>org.slf4j</groupId>
				<artifactId>slf4j-api</artifactId>
				<version>${slf4j.version}</version>
			</dependency>
			<dependency>
				<groupId>org.slf4j</groupId>
				<artifactId>slf4j-log4j12</artifactId>
				<version>${slf4j.version}</version>
				<scope>runtime</scope>
			</dependency>
			
			<!-- Test dependencies -->
			<dependency>
				<groupId>org.springframework</groupId>
				<artifactId>org.springframework.test</artifactId>
				<version>${spring.version}</version>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>junit</groupId>
				<artifactId>junit</artifactId>
				<version>${junit.version}</version>
				<scope>test</scope>
				<exclusions>
					<exclusion>
						<groupId>org.hamcrest</groupId>
						<artifactId>hamcrest-core</artifactId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>org.mockito</groupId>
				<artifactId>mockito-core</artifactId>
				<version>${mockito.version}</version>
				<scope>test</scope>
				<exclusions>
					<exclusion>
						<groupId>org.hamcrest</groupId>
						<artifactId>hamcrest-core</artifactId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>org.hamcrest</groupId>
				<artifactId>hamcrest-core</artifactId>
				<version>${hamcrest.version}</version>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>org.hamcrest</groupId>
				<artifactId>hamcrest-library</artifactId>
				<version>${hamcrest.version}</version>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>org.hsqldb</groupId>
				<artifactId>com.springsource.org.hsqldb</artifactId>
				<version>1.8.0.10</version>
				<scope>test</scope>
			</dependency>
			
			<!-- Tiles -->
			<dependency>
				<groupId>org.apache.tiles</groupId>
				<artifactId>tiles-core</artifactId>
				<version>${tiles.version}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.tiles</groupId>
				<artifactId>tiles-el</artifactId>
				<version>${tiles.version}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.tiles</groupId>
				<artifactId>tiles-jsp</artifactId>
				<version>${tiles.version}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.tiles</groupId>
				<artifactId>tiles-servlet</artifactId>
				<version>${tiles.version}</version>
			</dependency>
			
			<!-- Other dependencies -->
			<dependency>
				<groupId>com.opensymphony.sitemesh</groupId>
				<artifactId>com.springsource.com.opensymphony.sitemesh</artifactId>
				<version>2.4.1</version>
			</dependency>
			<dependency>
				<groupId>com.sun.syndication</groupId>
				<artifactId>com.springsource.com.sun.syndication</artifactId>
				<version>1.0.0</version>
			</dependency>
			<dependency>
				<groupId>net.sourceforge.ehcache</groupId>
				<artifactId>com.springsource.net.sf.ehcache</artifactId>
				<version>1.6.2</version>
			</dependency>
			<dependency>
				<groupId>org.codehaus.jackson</groupId>
				<artifactId>jackson-mapper-asl</artifactId>
				<version>${jackson.version}</version>
			</dependency>
			<dependency>
				<groupId>org.joda</groupId>
				<artifactId>com.springsource.org.joda.time</artifactId>
				<version>1.6.0</version>
			</dependency>
			
			<!-- This one comes out of repo1 -->
			<dependency>
				<groupId>net.tanesha.recaptcha4j</groupId>
				<artifactId>recaptcha4j</artifactId>
				<version>0.0.7</version>
			</dependency>
			
			<!-- This comes from the sourceforge repo -->
			<dependency>
				<groupId>net.sourceforge.htmlcleaner</groupId>
				<artifactId>htmlcleaner</artifactId>
				<version>2.1</version>
			</dependency> 
			
			<!-- For Hibernate -->
			<dependency>
				<groupId>cglib</groupId>
				<artifactId>cglib-nodep</artifactId>
				<version>2.2.2</version>
				<scope>runtime</scope>
			</dependency>
			<dependency>
				<groupId>javassist</groupId>
				<artifactId>javassist</artifactId>
				<version>3.12.1.GA</version>
				<scope>runtime</scope>
			</dependency>
		</dependencies>
	</dependencyManagement>
	
	<!-- Declare the actual dependencies -->
	<dependencies>
		
		<!-- JavaEE dependencies -->
		<dependency>
			<groupId>javax.inject</groupId>
			<artifactId>com.springsource.javax.inject</artifactId>
		</dependency>
		
		<!-- Apache dependencies -->
		<dependency>
			<groupId>org.apache.commons</groupId>
			<artifactId>com.springsource.org.apache.commons.logging</artifactId>
		</dependency>
		<dependency>
			<groupId>org.apache.commons</groupId>
			<artifactId>com.springsource.org.apache.commons.lang</artifactId>
		</dependency>
		<dependency>
			<groupId>org.apache.commons</groupId>
			<artifactId>commons-lang3</artifactId>
			<version>3.1</version>
		</dependency>
		
		<!-- Spring dependencies -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>org.springframework.core</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>org.springframework.aspects</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>org.springframework.beans</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>org.springframework.context</artifactId>
		</dependency>
		
		<!-- Hibernate dependencies -->
		<dependency>
			<groupId>org.hibernate</groupId>
			<artifactId>hibernate-validator</artifactId>
		</dependency>
		
		<!-- Logging dependencies -->
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-api</artifactId>
		</dependency>
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-log4j12</artifactId>
			<scope>runtime</scope>
		</dependency>
		
		<!-- Test dependencies -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>org.springframework.test</artifactId>
		</dependency>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
		</dependency>
		<dependency>
			<groupId>org.mockito</groupId>
			<artifactId>mockito-core</artifactId>
		</dependency>
		<dependency>
			<groupId>org.hamcrest</groupId>
			<artifactId>hamcrest-core</artifactId>
		</dependency>
		<dependency>
			<groupId>org.hamcrest</groupId>
			<artifactId>hamcrest-library</artifactId>
		</dependency>
	</dependencies>
	
	
	<!-- =========================================================================================================== -->
	<!-- Build                                                                                                       -->
	<!-- =========================================================================================================== -->
	
	<build>
	
		<!-- Manage plug-in versions and configuration centrally -->
		<pluginManagement>
			<plugins>				
				<plugin>
					<artifactId>maven-compiler-plugin</artifactId>
					<version>2.5.1</version>
					<configuration>
					
						<!-- Note: Moved these out of compilerArguments -->
						<source>1.6</source>
						<target>1.6</target>
						
						<compilerArguments>
							<verbose />
						</compilerArguments>
					</configuration>
				</plugin>
				
				<!-- Add integration test directories -->
				<plugin>
					<groupId>org.codehaus.mojo</groupId>
					<artifactId>build-helper-maven-plugin</artifactId>
					<version>1.5</version>
					<executions>
						<execution>
							<id>add-it-source</id>
							<goals>
								<goal>add-test-source</goal>
							</goals>
							<configuration>
								<sources>
									<source>src/it/java</source>
								</sources>
							</configuration>
						</execution>
						<execution>
							<id>add-it-resource</id>
							<goals>
								<goal>add-test-resource</goal>
							</goals>
							<configuration>
								<resources>
									<resource>
										<directory>src/it/resources</directory>
									</resource>
								</resources>
							</configuration>
						</execution>
					</executions>
				</plugin>
				
				<plugin>
					<artifactId>maven-surefire-plugin</artifactId>
					<version>${surefire.version}</version>
					<configuration>
						<includes>
							<include>**/*Tests.java</include>
						</includes>
						
						<!-- NOTE: No longer using the junitArtifactName below because we're no longer using the
						     SpringSource Enterprise Bundle Repository. Just using Maven Central instead. -->
						
						<!-- Required because SpringSource EBR renames testing artifact. -->
						<!-- See https://issuetracker.springsource.com/browse/EBR-220 -->
<!-- 						<junitArtifactName>org.junit:com.springsource.org.junit</junitArtifactName> -->
					</configuration>
				</plugin>
				
				<!-- Support integration testing -->
				<plugin>
					<artifactId>maven-failsafe-plugin</artifactId>
					<version>2.5</version>
					<configuration>
						
						<!-- NOTE: No longer using the junitArtifactName below because we're no longer using the
						     SpringSource Enterprise Bundle Repository. Just using Maven Central instead. -->
						     
						<!-- This entry is required because of renamed testing artifact -->
						<!-- See https://issuetracker.springsource.com/browse/EBR-220 -->
<!--						<junitArtifactName>org.junit:com.springsource.org.junit</junitArtifactName>-->
						
						<additionalClasspathElements>
							<additionalClasspathElement>${sip.conf.dir}/sip${chapter.number}/it-classes</additionalClasspathElement>
						</additionalClasspathElements>
					</configuration>
					<executions>
						<execution>
							<id>integration-test</id>
							<goals>
								<goal>integration-test</goal>
							</goals>
						</execution>
						<execution>
							<id>verify</id>
							<goals>
								<goal>verify</goal>
							</goals>
						</execution>
					</executions>
				</plugin>
				
				<!-- This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
				<plugin>
					<groupId>org.eclipse.m2e</groupId>
					<artifactId>lifecycle-mapping</artifactId>
					<version>1.0.0</version>
					<configuration>
						<lifecycleMappingMetadata>
							<pluginExecutions>
								<pluginExecution>
									<pluginExecutionFilter>
										<groupId>org.codehaus.mojo</groupId>
										<artifactId>build-helper-maven-plugin</artifactId>
										<versionRange>[1.5,)</versionRange>
										<goals>
											<goal>add-test-resource</goal>
										</goals>
									</pluginExecutionFilter>
									<action>
										<ignore />
									</action>
								</pluginExecution>
							</pluginExecutions>
						</lifecycleMappingMetadata>
					</configuration>
				</plugin>
				
				<plugin>
					<groupId>org.mortbay.jetty</groupId>
					<artifactId>maven-jetty-plugin</artifactId>
					<version>6.1.21</version>
					<configuration>
						<scanIntervalSeconds>10</scanIntervalSeconds>
						<webAppConfig>
							<contextPath>/sip</contextPath>
							<extraClasspath>${sip.conf.dir}/sip${chapter.number}/classes</extraClasspath>
						</webAppConfig>
					</configuration>
				</plugin>
			</plugins>
		</pluginManagement>
		
		<!-- Declare the actual plug-ins -->
		<plugins>
			<plugin>
				<artifactId>maven-compiler-plugin</artifactId>
			</plugin>
			<plugin>
				<artifactId>maven-surefire-plugin</artifactId>
			</plugin>
		</plugins>
	</build>
	
	
	<!-- =========================================================================================================== -->
	<!-- Repositories                                                                                                -->
	<!-- =========================================================================================================== -->
	
	<repositories>
	
		<!-- SpringSource EBR repos -->
		<repository>
			<id>com.springsource.repository.bundles.release</id>
			<name>SpringSource Enterprise Bundle Repository - SpringSource Bundle Releases</name>
			<url>http://repository.springsource.com/maven/bundles/release</url>
		</repository>
		<repository>
			<id>com.springsource.repository.bundles.external</id>
			<name>SpringSource Enterprise Bundle Repository - External Bundle Releases</name>
			<url>http://repository.springsource.com/maven/bundles/external</url>
		</repository>
		
		<!-- Spring repos (spring-* dependencies; e.g., Spring Integration) -->
		<repository>
			<id>spring-release</id>
			<name>Spring Maven Release Repository</name>
			<url>http://repo.springsource.org/libs-release</url>
		</repository> 
		<repository>
			<id>spring-milestone</id>
			<name>Spring Maven Milestone Repository</name>
			<url>http://repo.springsource.org/libs-milestone</url>
		</repository>
		<repository>
			<id>spring-snapshot</id>
			<name>Spring Maven Snapshot Repository</name>
			<url>http://repo.springsource.org/libs-snapshot</url>
		</repository>
		
		<!-- JBoss/Hibernate dependencies (more up-to-date than SpringSource EBR) -->
		<repository>
			<id>jboss</id>
			<name>Public JBoss Repository Group</name>
			<url>https://repository.jboss.org/nexus/content/groups/public</url>
		</repository>
		
		<!-- htmlcleaner dependency (chapter 9) -->
		<repository>
			<id>sourceforce</id>
			<url>http://maven.xwiki.org/externals/</url>
		</repository>
    </repositories>
</project>
