<!-- ~ Copyright 2010-2011 Ning, Inc. ~ ~ Ning licenses this file to you 
	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. -->

<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">
	<parent>
		<groupId>org.sonatype.oss</groupId>
		<artifactId>oss-parent</artifactId>
		<version>5</version>
	</parent>
	<modelVersion>4.0.0</modelVersion>
	<groupId>com.ning.billing</groupId>
	<artifactId>killbill</artifactId>
	<packaging>pom</packaging>
	<version>0.1.12-SNAPSHOT</version>
	<name>killbill</name>
	<description>Library for managing recurring subscriptions and the associated billing</description>
	<url>http://github.com/ning/killbill</url>
	<licenses>
		<license>
			<name>Apache License 2.0</name>
			<url>http://www.apache.org/licenses/LICENSE-2.0.html</url>
			<distribution>repo</distribution>
		</license>
	</licenses>
	<scm>
		<connection>scm:git:git://github.com/ning/killbill.git</connection>
		<developerConnection>scm:git:git@github.com:ning/killbill.git</developerConnection>
		<url>http://github.com/ning/killbill/tree/master</url>
	</scm>
	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
	</properties>
	<modules>
		<module>account</module>
		<module>analytics</module>
		<module>api</module>
		<module>beatrix</module>
		<module>catalog</module>
		<module>entitlement</module>
		<module>invoice</module>
		<module>junction</module>
		<module>overdue</module>
		<module>payment</module>
		<module>util</module>
		<module>jaxrs</module>
		<module>server</module>
	</modules>
	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>javax.ws.rs</groupId>
				<artifactId>jsr311-api</artifactId>
				<version>1.1.1</version>
			</dependency>
			<dependency>
				<groupId>com.ning.billing</groupId>
				<artifactId>killbill-beatrix</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>com.ning.billing</groupId>
				<artifactId>killbill-beatrix</artifactId>
				<version>${project.version}</version>
				<type>test-jar</type>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>com.ning.billing</groupId>
				<artifactId>killbill-analytics</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>com.ning.billing</groupId>
				<artifactId>killbill-jaxrs</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>com.ning.billing</groupId>
				<artifactId>killbill-api</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>com.ning.billing</groupId>
				<artifactId>killbill-api</artifactId>
				<version>${project.version}</version>
				<type>test-jar</type>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>com.ning.billing</groupId>
				<artifactId>killbill-server</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>com.ning.billing</groupId>
				<artifactId>killbill-account</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>com.ning.billing</groupId>
				<artifactId>killbill-account</artifactId>
				<version>${project.version}</version>
				<type>test-jar</type>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>com.ning.billing</groupId>
				<artifactId>killbill-junction</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>com.ning.billing</groupId>
				<artifactId>killbill-junction</artifactId>
				<version>${project.version}</version>
				<type>test-jar</type>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>com.ning.billing</groupId>
				<artifactId>killbill-entitlement</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>com.ning.billing</groupId>
				<artifactId>killbill-entitlement</artifactId>
				<version>${project.version}</version>
				<type>test-jar</type>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>com.ning.billing</groupId>
				<artifactId>killbill-payment</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>com.ning.billing</groupId>
				<artifactId>killbill-payment</artifactId>
				<version>${project.version}</version>
				<type>test-jar</type>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>com.ning.billing</groupId>
				<artifactId>killbill-catalog</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>com.ning.billing</groupId>
				<artifactId>killbill-catalog</artifactId>
				<version>${project.version}</version>
				<type>test-jar</type>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>com.ning.billing</groupId>
				<artifactId>killbill-invoice</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>com.ning.billing</groupId>
				<artifactId>killbill-invoice</artifactId>
				<version>${project.version}</version>
				<type>test-jar</type>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>com.ning.billing</groupId>
				<artifactId>killbill-util</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>com.ning.billing</groupId>
				<artifactId>killbill-overdue</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>com.ning.billing</groupId>
				<artifactId>killbill-overdue</artifactId>
				<version>${project.version}</version>
				<type>test-jar</type>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>com.ning.billing</groupId>
				<artifactId>killbill-util</artifactId>
				<version>${project.version}</version>
				<type>test-jar</type>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>org.codehaus.jackson</groupId>
				<artifactId>jackson-core-asl</artifactId>
				<version>1.9.5</version>
			</dependency>
			<dependency>
				<groupId>org.codehaus.jackson</groupId>
				<artifactId>jackson-jaxrs</artifactId>
				<version>1.9.5</version>
			</dependency>
			<dependency>
				<groupId>org.codehaus.jackson</groupId>
				<artifactId>jackson-mapper-asl</artifactId>
				<version>1.9.5</version>
			</dependency>
			<dependency>
				<groupId>com.jolbox</groupId>
				<artifactId>bonecp</artifactId>
				<version>0.7.1.RELEASE</version>
				<exclusions>
					<exclusion>
						<groupId>com.google.guava</groupId>
						<artifactId>guava</artifactId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>com.google.guava</groupId>
				<artifactId>guava</artifactId>
				<version>10.0.1</version>
				<scope>provided</scope>
			</dependency>
			<dependency>
				<groupId>com.google.inject</groupId>
				<artifactId>guice</artifactId>
				<version>3.0</version>
				<scope>provided</scope>
			</dependency>
			<dependency>
				<groupId>com.google.inject.extensions</groupId>
				<artifactId>guice-multibindings</artifactId>
				<version>3.0</version>
				<scope>provided</scope>
			</dependency>
			<dependency>
				<groupId>com.mogwee</groupId>
				<artifactId>mogwee-executors</artifactId>
				<version>1.2.0</version>
			</dependency>
			<dependency>
				<groupId>mysql</groupId>
				<artifactId>mysql-connector-mxj</artifactId>
				<version>5.0.12</version>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>mysql</groupId>
				<artifactId>mysql-connector-mxj-db-files</artifactId>
				<version>5.0.12</version>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>org.apache.commons</groupId>
				<artifactId>commons-email</artifactId>
				<version>1.2</version>
			</dependency>
			<dependency>
				<groupId>org.apache.directory.studio</groupId>
				<artifactId>org.apache.commons.io</artifactId>
				<version>2.1</version>
			</dependency>
			<dependency>
				<groupId>commons-io</groupId>
				<artifactId>commons-io</artifactId>
				<version>2.0</version>
			</dependency>
			<dependency>
				<groupId>commons-lang</groupId>
				<artifactId>commons-lang</artifactId>
				<version>2.6</version>
			</dependency>
			<dependency>
				<groupId>commons-collections</groupId>
				<artifactId>commons-collections</artifactId>
				<version>3.2.1</version>
			</dependency>
			<dependency>
				<groupId>joda-time</groupId>
				<artifactId>joda-time</artifactId>
				<version>2.0</version>
			</dependency>
			<dependency>
				<!-- For dependencies resolution -->
				<groupId>log4j</groupId>
				<artifactId>log4j</artifactId>
				<version>1.2.16</version>
			</dependency>
			<dependency>
				<groupId>mysql</groupId>
				<artifactId>mysql-connector-java</artifactId>
				<version>5.1.17</version>
				<scope>runtime</scope>
			</dependency>
			<dependency>
				<groupId>org.antlr</groupId>
				<artifactId>stringtemplate</artifactId>
				<version>3.2.1</version>
				<scope>runtime</scope>
			</dependency>
			<dependency>
				<groupId>org.jdbi</groupId>
				<artifactId>jdbi</artifactId>
				<version>2.32</version>
			</dependency>
			<dependency>
				<groupId>org.skife.config</groupId>
				<artifactId>config-magic</artifactId>
				<version>0.13</version>
			</dependency>
			<dependency>
				<groupId>org.slf4j</groupId>
				<artifactId>slf4j-api</artifactId>
				<version>1.6.4</version>
			</dependency>
			<dependency>
				<groupId>org.slf4j</groupId>
				<artifactId>jcl-over-slf4j</artifactId>
				<version>1.6.4</version>
			</dependency>
			<dependency>
				<groupId>org.slf4j</groupId>
				<artifactId>jul-to-slf4j</artifactId>
				<version>1.6.4</version>
			</dependency>
			<dependency>
				<groupId>org.slf4j</groupId>
				<artifactId>slf4j-log4j12</artifactId>
				<version>1.6.4</version>
			</dependency>
			<dependency>
				<groupId>org.testng</groupId>
				<artifactId>testng</artifactId>
				<version>6.3.1</version>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>com.samskivert</groupId>
				<artifactId>jmustache</artifactId>
				<version>1.5</version>
			</dependency>
			<dependency>
				<groupId>com.jayway.awaitility</groupId>
				<artifactId>awaitility</artifactId>
				<version>1.3.3</version>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>org.mockito</groupId>
				<artifactId>mockito-all</artifactId>
				<version>1.9.0</version>
				<scope>test</scope>
			</dependency>
		</dependencies>
	</dependencyManagement>
	<build>
		<plugins>
			<plugin>
				<groupId>com.ning.maven.plugins</groupId>
				<artifactId>maven-dependency-versions-check-plugin</artifactId>
				<version>2.0.2</version>
				<configuration>
					<failBuildInCaseOfConflict>true</failBuildInCaseOfConflict>
				</configuration>
				<executions>
					<execution>
						<phase>none</phase>
						<goals>
							<goal>check</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>com.ning.maven.plugins</groupId>
				<artifactId>maven-duplicate-finder-plugin</artifactId>
				<version>1.0.2</version>
				<configuration>
					<failBuildInCaseOfConflict>false</failBuildInCaseOfConflict>
					<!-- That's for Jetty -->
					<ignoredResources>
						<ignoredResource>about.html</ignoredResource>
					</ignoredResources>
				</configuration>
				<executions>
					<execution>
						<phase>verify</phase>
						<goals>
							<goal>check</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>2.3.2</version>
				<configuration>
					<source>1.6</source>
					<target>1.6</target>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-jar-plugin</artifactId>
				<version>2.2</version>
				<executions>
					<execution>
						<goals>
							<goal>test-jar</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-dependency-plugin</artifactId>
				<version>2.3</version>
				<executions>
					<execution>
						<id>analyze</id>
						<goals>
							<goal>analyze-only</goal>
						</goals>
						<configuration>
							<ignoreNonCompile>true</ignoreNonCompile>
							<failOnWarning>false</failOnWarning>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.rat</groupId>
				<artifactId>apache-rat-plugin</artifactId>
				<version>0.7</version>
				<executions>
					<execution>
						<phase>verify</phase>
						<goals>
							<goal>check</goal>
						</goals>
						<configuration>
							<useEclipseDefaultExcludes>true</useEclipseDefaultExcludes>
							<useIdeaDefaultExcludes>true</useIdeaDefaultExcludes>
							<useMavenDefaultExcludes>true</useMavenDefaultExcludes>
							<excludes>
								<!-- For some reason, useIdeaDefaultExcludes doesn't pick up .idea 
									directory -->
								<exclude>.idea/**</exclude>
								<exclude>**/.project</exclude>
								<exclude>.git/**</exclude>
								<exclude>.gitignore</exclude>
								<exclude>**/.classpath</exclude>
								<exclude>ignore/**</exclude>
								<exclude>API.txt</exclude>
								<exclude>RELEASE.sh</exclude>
								<exclude>deploy.sh</exclude>
								<exclude>run.sh</exclude>
								<exclude>run-local.sh</exclude>
								<exclude>release-script</exclude>
								<exclude>doc/**</exclude>
								<exclude>src/site/**</exclude>
								<exclude>*.log</exclude>
								<exclude>README.*</exclude>
								<exclude>TODO</exclude>
								<exclude>logs/**</exclude>
								<exclude>**/*.xsd</exclude>
								<exclude>**/*.xml</exclude>
								<exclude>**/*.stg</exclude>
								<exclude>**/*.sql</exclude>
								<exclude>**/*.properties</exclude>
								<exclude>**/*.dont-let-git-remove-this-directory</exclude>
								<exclude>**/test-output/**</exclude>
								<exclude>**/bin/**</exclude>
								<exclude>**/target/**</exclude>
								<exclude>**/.settings/**</exclude>
								<exclude>.travis.yml</exclude>
								<exclude>bin/**</exclude>
								<!-- exclude mustache template files -->
								<exclude>**/*.mustache</exclude>
							</excludes>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-release-plugin</artifactId>
				<version>2.2.1</version>
				<configuration>
					<mavenExecutorId>forked-path</mavenExecutorId>
				</configuration>
				<dependencies>
					<dependency>
						<groupId>org.apache.maven.scm</groupId>
						<artifactId>maven-scm-provider-gitexe</artifactId>
						<version>1.4</version>
					</dependency>
					<dependency>
						<groupId>org.codehaus.plexus</groupId>
						<artifactId>plexus-utils</artifactId>
						<version>1.5.9</version>
					</dependency>
				</dependencies>
			</plugin>
			<plugin>
				<!-- TODO: fix for http://jira.codehaus.org/browse/MSITE-286? -->
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-site-plugin</artifactId>
				<version>3.0</version>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-plugin</artifactId>
				<version>2.11</version>
				<configuration>
					<useManifestOnlyJar>false</useManifestOnlyJar>
					<groups>fast,slow</groups>
					<systemPropertyVariables>
						<log4j.configuration>file:${project.basedir}/src/test/resources/log4j.xml</log4j.configuration>
					</systemPropertyVariables>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-war-plugin</artifactId>
				<version>2.1.1</version>
				<configuration>
					<attachClasses>true</attachClasses>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-source-plugin</artifactId>
				<version>2.1.2</version>
				<executions>
					<execution>
						<id>attach-sources</id>
						<phase>verify</phase>
						<goals>
							<goal>jar</goal>
							<goal>test-jar</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
		</plugins>
	</build>
	<profiles>
		<profile>
			<id>localtest</id>
			<build>
				<plugins>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-surefire-plugin</artifactId>
						<version>2.11</version>
						<configuration>
							<groups>fast,slow</groups>
							<useManifestOnlyJar>false</useManifestOnlyJar>
							<systemPropertyVariables>
								<log4j.configuration>file:${project.basedir}/src/test/resources/log4j.xml</log4j.configuration>
								<com.ning.billing.dbi.test.useLocalDb>true</com.ning.billing.dbi.test.useLocalDb>
								<com.ning.billing.dbi.jdbc.url>jdbc:mysql://127.0.0.1:3306/killbill</com.ning.billing.dbi.jdbc.url>
								<file.encoding>UTF-8</file.encoding>
								<user.timezone>GMT</user.timezone>
							</systemPropertyVariables>
						</configuration>
					</plugin>
				</plugins>
			</build>
		</profile>
		<profile>
			<id>travis</id>
			<build>
				<plugins>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-surefire-plugin</artifactId>
						<version>2.11</version>
						<configuration>
							<groups>fast</groups>
							<systemPropertyVariables>
								<file.encoding>UTF-8</file.encoding>
								<user.timezone>GMT</user.timezone>
							</systemPropertyVariables>
						</configuration>
					</plugin>
				</plugins>
			</build>
		</profile>
		<profile>
			<id>test-stress</id>
			<build>
				<plugins>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-surefire-plugin</artifactId>
						<version>2.11</version>
						<configuration>
							<groups>stress</groups>
						</configuration>
					</plugin>
				</plugins>
			</build>
		</profile>
		<profile>
			<id>sonatype-oss-release</id>
			<build>
				<plugins>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-gpg-plugin</artifactId>
						<version>1.4</version>
						<executions>
							<execution>
								<id>sign-artifacts</id>
								<phase>verify</phase>
								<goals>
									<goal>sign</goal>
								</goals>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>
	</profiles>
	<reporting>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-changelog-plugin</artifactId>
				<version>2.2</version>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-javadoc-plugin</artifactId>
				<version>2.8</version>
				<configuration>
					<source>1.6</source>
					<encoding>UTF-8</encoding>
					<maxmemory>1g</maxmemory>
					<links>
						<link>http://commons.apache.org/lang/api/</link>
						<link>http://download.oracle.com/javase/6/docs/api/</link>
					</links>
					<linksource>true</linksource>
				</configuration>
				<reportSets>
					<reportSet>
						<id>html</id>
						<reports>
							<report>javadoc</report>
						</reports>
					</reportSet>
				</reportSets>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-jxr-plugin</artifactId>
				<version>2.3</version>
				<configuration>
					<linkJavadoc>true</linkJavadoc>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-report-plugin</artifactId>
				<version>2.6</version>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-project-info-reports-plugin</artifactId>
				<version>2.4</version>
			</plugin>
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>cobertura-maven-plugin</artifactId>
				<version>2.5.1</version>
			</plugin>
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>findbugs-maven-plugin</artifactId>
				<version>2.3.2</version>
				<configuration>
					<threshold>Low</threshold>
					<effort>Max</effort>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>taglist-maven-plugin</artifactId>
				<version>2.4</version>
				<configuration>
					<tagListOptions>
						<tagClasses>
							<tagClass>
								<displayName>Todo Work</displayName>
								<tags>
									<tag>
										<matchString>todo</matchString>
										<matchType>ignoreCase</matchType>
									</tag>
									<tag>
										<matchString>FIXME</matchString>
										<matchType>exact</matchType>
									</tag>
								</tags>
							</tagClass>
						</tagClasses>
					</tagListOptions>
				</configuration>
			</plugin>
		</plugins>
	</reporting>
	<issueManagement>
		<system>Github</system>
		<url>http://github.com/ning/killbill</url>
	</issueManagement>
</project>
