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

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

Copyright (c) 2011-2013 the original author or authors.

Willie Wheeler (willie.wheeler@gmail.com)

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

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/xsd/maven-4.0.0.xsd">
	
	<modelVersion>4.0.0</modelVersion>
	<groupId>com.springinpractice</groupId>
	<artifactId>com.springinpractice.ch11</artifactId>
	<version>1.0-RELEASE</version>
	<packaging>pom</packaging>
	<name>Zkybase POM</name>
	
	<modules>
		<module>domain</module>
		<module>service</module>
		<module>client</module>
		<module>maven</module>
	</modules>
	
	<properties>
		<aspectj.version>1.6.12</aspectj.version>
		<jackson.version>1.9.3</jackson.version>
		<spring.version>3.1.2.RELEASE</spring.version>
		<spring.data.neo4j.version>2.0.0.RELEASE</spring.data.neo4j.version>
		<spring.security.version>3.1.0.RELEASE</spring.security.version>
		<spring.social.version>1.1.0.BUILD-SNAPSHOT</spring.social.version>
		<tiles.version>2.2.2</tiles.version>
		
		<!-- 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>
	
	<repositories>
		<repository>
			<id>spring-release</id>
			<name>Spring Maven Release Repository</name>
			<url>http://maven.springframework.org/milestone</url>
		</repository>
		<repository>
			<id>spring-milestone</id>
			<name>Spring Maven Milestone Repository</name>
			<url>http://maven.springframework.org/milestone</url>
		</repository>
		<repository>
			<id>spring-snapshot</id>
			<name>Spring Maven Snapshot Repository</name>
			<url>http://maven.springframework.org/snapshot</url>
		</repository>
		
		<!-- JBoss/Hibernate dependencies -->
		<!--
		<repository>
			<id>jboss</id>
			<name>Public JBoss Repository Group</name>
			<url>https://repository.jboss.org/nexus/content/groups/public</url>
		</repository>
		-->
	</repositories>
	
	<dependencyManagement>
		<dependencies>
			
			<!-- Java -->
			<dependency>
				<groupId>javax.inject</groupId>
				<artifactId>javax.inject</artifactId>
				<version>1</version>
			</dependency>
			<dependency>
				<groupId>javax.servlet</groupId>
				<artifactId>servlet-api</artifactId>
				<version>2.5</version>
	<!-- 			<scope>provided</scope> -->
			</dependency>
			<dependency>
				<groupId>javax.servlet</groupId>
				<artifactId>jsp-api</artifactId>
				<!-- 2.1?? -->
				<version>2.0</version>
	<!-- 			<scope>provided</scope> -->
			</dependency>
			<dependency>
				<groupId>javax.servlet</groupId>
				<artifactId>jstl</artifactId>
				<version>1.2</version>
			</dependency>
			
			<!-- Spring -->
			<dependency>
				<groupId>org.springframework</groupId>
				<artifactId>spring-aop</artifactId>
				<version>${spring.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework</groupId>
				<artifactId>spring-aspects</artifactId>
				<version>${spring.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework</groupId>
				<artifactId>spring-beans</artifactId>
				<version>${spring.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework</groupId>
				<artifactId>spring-context</artifactId>
				<version>${spring.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework</groupId>
				<artifactId>spring-context-support</artifactId>
				<version>${spring.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework</groupId>
				<artifactId>spring-core</artifactId>
				<version>${spring.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework</groupId>
				<artifactId>spring-jdbc</artifactId>
				<version>${spring.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework</groupId>
				<artifactId>spring-oxm</artifactId>
				<version>${spring.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework</groupId>
				<artifactId>spring-test</artifactId>
				<version>${spring.version}</version>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>org.springframework</groupId>
				<artifactId>spring-tx</artifactId>
				<version>${spring.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework</groupId>
				<artifactId>spring-web</artifactId>
				<version>${spring.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework</groupId>
				<artifactId>spring-webmvc</artifactId>
				<version>${spring.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework.data</groupId>
				<artifactId>spring-data-neo4j</artifactId>
				<version>${spring.data.neo4j.version}</version>
				<exclusions>
					<exclusion>
						<groupId>org.springframework</groupId>
						<artifactId>spring-jdbc</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.springframework</groupId>
						<artifactId>spring-orm</artifactId>
					</exclusion>
				</exclusions>
			</dependency>
			
			<!-- Spring Security -->
			<dependency>
				<groupId>org.springframework.security</groupId>
				<artifactId>spring-security-config</artifactId>
				<version>${spring.security.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework.security</groupId>
				<artifactId>spring-security-core</artifactId>
				<version>${spring.security.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework.security</groupId>
				<artifactId>spring-security-taglibs</artifactId>
				<version>${spring.security.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework.security</groupId>
				<artifactId>spring-security-web</artifactId>
				<version>${spring.security.version}</version>
			</dependency>
			
			<!-- Spring Social -->
			<dependency>
				<groupId>org.springframework.social</groupId>
				<artifactId>spring-social-core</artifactId>
				<version>${spring.social.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework.social</groupId>
				<artifactId>spring-social-web</artifactId>
				<version>${spring.social.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework.social</groupId>
				<artifactId>spring-social-github</artifactId>
				<version>1.0.0.BUILD-SNAPSHOT</version>
			</dependency>
			
			<!-- JDBC/MySQL -->
			<dependency>
				<groupId>commons-dbcp</groupId>
				<artifactId>commons-dbcp</artifactId>
				<version>1.4</version>
				<scope>runtime</scope>
			</dependency>
			<dependency>
				<groupId>mysql</groupId>
				<artifactId>mysql-connector-java</artifactId>
				<version>5.1.18</version>
				<scope>runtime</scope>
			</dependency>

			<!-- Neo4j -->
			<dependency>
				<groupId>org.neo4j</groupId>
				<artifactId>neo4j</artifactId>
<!-- 				<version>1.5</version> -->
				<version>1.6.1</version>
			</dependency>
			
			<!-- Test -->
			<dependency>
				<groupId>junit</groupId>
				<artifactId>junit</artifactId>
				<version>4.10</version>
				<scope>test</scope>
			</dependency>
			
			<!-- Other -->
			<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>
			<!--
			<dependency>
				<groupId>org.aspectj</groupId>
				<artifactId>aspectjrt</artifactId>
				<version>${aspectj.version}</version>
			</dependency>
			<dependency>
				<groupId>org.aspectj</groupId>
				<artifactId>aspectjtools</artifactId>
				<version>${aspectj.version}</version>
			</dependency>
			-->
			<dependency>
				<groupId>org.codehaus.jackson</groupId>
				<artifactId>jackson-mapper-asl</artifactId>
				<version>${jackson.version}</version>
			</dependency>
			
			<!-- Supports use of JAXB2 annotations -->
			<dependency>
				<groupId>org.codehaus.jackson</groupId>
				<artifactId>jackson-xc</artifactId>
				<version>${jackson.version}</version>
			</dependency>
			
			<!-- For Spring Social -->
			<dependency>
				<groupId>org.apache.httpcomponents</groupId>
				<artifactId>httpclient</artifactId>
				<version>4.1.2</version>
			</dependency>
			
			<dependency>
				<groupId>org.hibernate</groupId>
				<artifactId>hibernate-validator</artifactId>
				<version>4.2.0.Final</version>
			</dependency>
			<dependency>
				<groupId>org.mockito</groupId>
				<artifactId>mockito-all</artifactId>
				<version>1.8.5</version>
			</dependency>
		</dependencies>
	</dependencyManagement>
	
	<build>
		<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>
			</plugins>
		</pluginManagement>
	</build>
</project>
