<?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>

	<parent>
		<groupId>org.fuin</groupId>
		<artifactId>pom</artifactId>
		<version>1.4.0</version>
	</parent>

	<groupId>org.fuin.esc</groupId>
	<artifactId>esc-parent</artifactId>
	<version>0.2.0</version>
	<packaging>pom</packaging>
	<name>esc-parent</name>
	<description>Defines a common event store Java interface and provides some adapters (like for Greg Young's event store) and implementations (like in-memory or file-based).</description>

	<scm>
		<url>https://github.com/fuinorg/event-store-commons/</url>
		<connection>scm:git:git://github.com/fuinorg/event-store-commons.git</connection>
		<developerConnection>scm:git:git@github.com:fuinorg/event-store-commons.git</developerConnection>
	</scm>

	<issueManagement>
		<system>GitHub Issues</system>
		<url>https://github.com/fuinorg/event-store-commons/issues</url>
	</issueManagement>

	<dependencyManagement>

		<dependencies>

			<dependency>
				<groupId>org.fuin.esc</groupId>
				<artifactId>esc-api</artifactId>
				<version>${project.version}</version>
			</dependency>

			<dependency>
				<groupId>org.fuin.esc</groupId>
				<artifactId>esc-spi</artifactId>
				<version>${project.version}</version>
			</dependency>

			<dependency>
				<groupId>org.fuin.esc</groupId>
				<artifactId>esc-mem</artifactId>
				<version>${project.version}</version>
			</dependency>

			<dependency>
				<groupId>org.fuin.esc</groupId>
				<artifactId>esc-eshttp</artifactId>
				<version>${project.version}</version>
			</dependency>

			<dependency>
				<groupId>org.fuin.esc</groupId>
				<artifactId>esc-jpa</artifactId>
				<version>${project.version}</version>
			</dependency>

			<dependency>
				<groupId>org.fuin.esc</groupId>
				<artifactId>esc-esjc</artifactId>
				<version>${project.version}</version>
			</dependency>

			<dependency>
				<groupId>org.fuin</groupId>
				<artifactId>utils4j</artifactId>
				<version>0.9.2</version>
			</dependency>

			<dependency>
				<groupId>org.fuin</groupId>
				<artifactId>objects4j</artifactId>
				<version>0.6.3</version>
			</dependency>

			<dependency>
				<groupId>org.jboss</groupId>
				<artifactId>jandex</artifactId>
				<version>2.0.3.Final</version>
			</dependency>

			<dependency>
				<groupId>javax.validation</groupId>
				<artifactId>validation-api</artifactId>
				<version>1.1.0.Final</version>
			</dependency>

			<dependency>
				<groupId>org.apache.commons</groupId>
				<artifactId>commons-lang3</artifactId>
				<version>3.4</version>
			</dependency>

			<dependency>
				<groupId>org.apache.commons</groupId>
				<artifactId>commons-io</artifactId>
				<version>1.3.2</version>
			</dependency>

			<dependency>
				<groupId>org.slf4j</groupId>
				<artifactId>slf4j-api</artifactId>
				<version>1.7.21</version>
			</dependency>

			<dependency>
				<groupId>com.migesok</groupId>
				<artifactId>jaxb-java-time-adapters</artifactId>
				<version>1.1.3</version>
			</dependency>

			<dependency>
				<groupId>javax.json</groupId>
				<artifactId>javax.json-api</artifactId>
				<version>1.0</version>
			</dependency>

			<dependency>
				<groupId>com.jayway.jsonpath</groupId>
				<artifactId>json-path</artifactId>
				<version>2.2.0</version>
			</dependency>

			<dependency>
				<groupId>com.google.code.gson</groupId>
				<artifactId>gson</artifactId>
				<version>2.7</version>
			</dependency>

			<dependency>
				<groupId>junit</groupId>
				<artifactId>junit</artifactId>
				<version>4.12</version>
			</dependency>

			<dependency>
				<groupId>org.assertj</groupId>
				<artifactId>assertj-core</artifactId>
				<version>3.5.2</version>
			</dependency>

			<dependency>
				<groupId>org.fuin</groupId>
				<artifactId>units4j</artifactId>
				<version>0.8.2</version>
			</dependency>

			<dependency>
				<groupId>org.hibernate</groupId>
				<artifactId>hibernate-validator</artifactId>
				<version>5.2.2.Final</version>
			</dependency>

			<dependency>
				<groupId>org.xmlunit</groupId>
				<artifactId>xmlunit-core</artifactId>
				<version>2.2.1</version>
			</dependency>

			<dependency>
				<groupId>nl.jqno.equalsverifier</groupId>
				<artifactId>equalsverifier</artifactId>
				<version>2.1.5</version>
			</dependency>

			<dependency>
				<groupId>commons-io</groupId>
				<artifactId>commons-io</artifactId>
				<version>2.5</version>
			</dependency>

			<dependency>
				<groupId>commons-codec</groupId>
				<artifactId>commons-codec</artifactId>
				<version>1.10</version>
			</dependency>

			<dependency>
				<groupId>org.glassfish</groupId>
				<artifactId>javax.json</artifactId>
				<version>1.0.4</version>
			</dependency>

			<dependency>
				<groupId>net.javacrumbs.json-unit</groupId>
				<artifactId>json-unit-fluent</artifactId>
				<version>1.15.0</version>
			</dependency>

			<dependency>
				<groupId>org.mockito</groupId>
				<artifactId>mockito-all</artifactId>
				<version>1.10.19</version>
			</dependency>

			<dependency>
				<groupId>ch.qos.logback</groupId>
				<artifactId>logback-classic</artifactId>
				<version>1.1.7</version>
			</dependency>

			<dependency>
				<groupId>org.apache.httpcomponents</groupId>
				<artifactId>httpasyncclient</artifactId>
				<version>4.1</version>
			</dependency>

			<dependency>
				<groupId>com.github.msemys</groupId>
				<artifactId>esjc</artifactId>
				<version>1.6.0</version>
			</dependency>

			<dependency>
				<groupId>info.cukes</groupId>
				<artifactId>cucumber-java</artifactId>
				<version>1.2.2</version>
			</dependency>

			<dependency>
				<groupId>info.cukes</groupId>
				<artifactId>cucumber-junit</artifactId>
				<version>1.2.2</version>
			</dependency>

			<dependency>
				<groupId>javax.transaction</groupId>
				<artifactId>jta</artifactId>
				<version>1.1</version>
			</dependency>

			<dependency>
				<groupId>org.jboss.logging</groupId>
				<artifactId>jboss-logging</artifactId>
				<version>3.3.0.Final</version>
			</dependency>

			<dependency>
				<groupId>org.hibernate</groupId>
				<artifactId>hibernate-entitymanager</artifactId>
				<version>5.0.6.Final</version>
			</dependency>

			<dependency>
				<groupId>hsqldb</groupId>
				<artifactId>hsqldb</artifactId>
				<version>1.8.0.10</version>
			</dependency>


		</dependencies>

	</dependencyManagement>

	<modules>
		<module>api</module>
		<module>spi</module>
		<module>mem</module>
		<module>jpa</module>
		<module>eshttp</module>
		<module>esjc</module>
		<module>test</module>
	</modules>

	<build>

		<plugins>

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<configuration>
					<source>1.8</source>
					<target>1.8</target>
				</configuration>
			</plugin>

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-javadoc-plugin</artifactId>
				<version>2.7</version>
				<executions>
					<execution>
						<id>attach-javadocs</id>
						<goals>
							<goal>jar</goal>
						</goals>
					</execution>
				</executions>
			</plugin>

			<plugin>
				<groupId>org.jacoco</groupId>
				<artifactId>jacoco-maven-plugin</artifactId>
				<version>0.7.5.201505241946</version>
				<executions>
					<execution>
						<id>pre-unit-test</id>
						<goals>
							<goal>prepare-agent</goal>
						</goals>
					</execution>
					<execution>
						<id>post-unit-test</id>
						<phase>test</phase>
						<goals>
							<goal>report</goal>
						</goals>
					</execution>
					<execution>
						<id>pre-integration-test</id>
						<phase>pre-integration-test</phase>
						<goals>
							<goal>prepare-agent</goal>
						</goals>
						<configuration>
							<destFile>target/jacoco.exec</destFile>
							<propertyName>failsafe.argLine</propertyName>
						</configuration>
					</execution>
					<execution>
						<id>post-integration-test</id>
						<phase>post-integration-test</phase>
						<goals>
							<goal>report</goal>
						</goals>
						<configuration>
							<dataFile>target/jacoco.exec</dataFile>
						</configuration>
					</execution>
				</executions>
			</plugin>

			<plugin>
				<groupId>org.eluder.coveralls</groupId>
				<artifactId>coveralls-maven-plugin</artifactId>
				<version>4.1.0</version>
				<configuration>
					<repoToken>${coveralls.event-store-commons}</repoToken>
				</configuration>
			</plugin>

		</plugins>

	</build>

</project>
