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

    <!-- project coordinates -->
    <groupId>cc.renken</groupId>
    <artifactId>pipeio</artifactId>
    <version>2.0.0</version>
    <packaging>pom</packaging>

	<modules>
    	<module>async</module>
    	<module>sync</module>
    	<module>core</module>
    	<module>sink-tcp</module>
    	<module>sink-rs232</module>
    	<module>sink-file</module>
	</modules>

	<name>${project.groupId}:${project.artifactId}</name>
	<description>A netty.io like library that allows to easily setup network protocols.</description>
	<url>https://gitlab.com/funsheep/pipeio</url>

	<licenses>
		<license>
			<name>Mozilla Public License Version 2.0</name>
			<url>https://www.mozilla.org/media/MPL/2.0/index.txt</url>
		</license>
	</licenses>
	<issueManagement>
		<url>https://gitlab.com/funsheep/pipeio/issues</url>
		<system>Gitlab</system>
	</issueManagement>
	<scm>
		<connection>scm:git:git://gitlab.com/funsheep/pipeio.git</connection>
		<developerConnection>scm:git:https://gitlab.com/funsheep/pipeio.git</developerConnection>
		<url>https://gitlab.com/funsheep/pipeio/tree/develop</url>
	</scm>
	<developers>
		<developer>
			<name>Hendrik Renken</name>
			<email>hendrik@renken.cc</email>
			<organization>cc.renken</organization>
			<organizationUrl>https://gitlab.com/funsheep/</organizationUrl>
		</developer>
	</developers>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
		<project.encoding>UTF-8</project.encoding>
		<!-- java doc generating is now more strictly. This can cause errors while 
			building -->
		<!-- With the following parameter this strictly checks are turned off. 
			See the following links -->
		<!-- http://blog.joda.org/2014/02/turning-off-doclint-in-jdk-8-javadoc.html -->
		<!-- http://stackoverflow.com/questions/24615547/cant-build-hadoop-2-4-1-with-java8 -->
		<additionalparam>-Xdoclint:none</additionalparam>
		<maven.compiler.source>1.8</maven.compiler.source>
		<maven.compiler.target>1.8</maven.compiler.target>
		<java.version>1.8</java.version>

		<!-- the property maven.build.timestamp is not expanded by resource filtering -->
		<!-- the two following properties represent a workaround -->
		<!-- a self defined property providing the build time -->
		<!-- see https://issues.apache.org/jira/browse/MRESOURCES-99 -->
		<!-- http://stackoverflow.com/questions/802677/adding-the-current-date-with-maven2-filtering -->
		<maven.build.timestamp.format>yyyy-MM-dd HH:mm:ss</maven.build.timestamp.format>
		<current.timestamp>${maven.build.timestamp}</current.timestamp>
	</properties>

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

		<dependency>
			<groupId>com.lmax</groupId>
			<artifactId>disruptor</artifactId>
			<version>3.2.0</version>
		</dependency>

		<dependency>
			<groupId>org.apache.logging.log4j</groupId>
			<artifactId>log4j-slf4j-impl</artifactId>
			<version>2.8.2</version>
		</dependency>
		<dependency>
			<groupId>org.apache.logging.log4j</groupId>
			<artifactId>log4j-api</artifactId>
			<version>2.8.2</version>
		</dependency>

		<dependency>
			<groupId>org.apache.logging.log4j</groupId>
			<artifactId>log4j-core</artifactId>
			<version>2.8.2</version>
		</dependency>

		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.11</version>
			<scope>test</scope>
		</dependency>

	</dependencies>

	<build>
		<resources>
			<!-- the resource VERSION file stores build information -->
			<!-- these information are set during the build -->
			<!-- the file is created by the spring archetpe ci1413 -->
			<resource>
				<directory>src/main/templates</directory>
				<filtering>true</filtering>
				<includes>
					<include>VERSION</include>
				</includes>
			</resource>
			<!-- Through adding the resource above the original src/main/resources 
				needs to be added here -->
			<resource>
				<directory>src/main/resources</directory>
				<filtering>false</filtering>
			</resource>
		</resources>
		<plugins>
			<plugin>
				<groupId>external.atlassian.jgitflow</groupId>
				<artifactId>jgitflow-maven-plugin</artifactId>
				<version>1.0-m5.1</version>
				<configuration>
					<!-- see goals wiki page for configuration options -->
					<noReleaseBuild>true</noReleaseBuild>
					<noHotfixBuild>true</noHotfixBuild>
					<noFeatureBuild>true</noFeatureBuild>
					<noTag>true</noTag>
				</configuration>
			</plugin>
			<plugin>
				<groupId>com.github.koraktor</groupId>
				<artifactId>mavanagaiata</artifactId>
				<version>0.7.2</version>
				<configuration>
					<!-- Through this property the build doesn't fail if there is no .git 
						folder -->
					<!-- see https://github.com/koraktor/mavanagaiata/pull/22 -->
					<!-- https://github.com/koraktor/mavanagaiata/issues/39 -->
					<skipNoGit>true</skipNoGit>
				</configuration>
				<executions>
					<execution>
						<phase>validate</phase>
						<goals>
							<goal>commit</goal>
							<goal>branch</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-javadoc-plugin</artifactId>
				<version>2.10.3</version>
				<executions>
					<execution>
						<id>attach-javadocs</id>
						<goals>
							<goal>jar</goal>
						</goals>
						<configuration>
							<additionalparam>-Xdoclint:none</additionalparam>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-source-plugin</artifactId>
				<version>3.0.0</version>
				<executions>
					<execution>
						<id>attach-sources</id>
						<phase>verify</phase>
						<goals>
							<goal>jar-no-fork</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-jar-plugin</artifactId>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-gpg-plugin</artifactId>
				<version>1.6</version>
				<executions>
					<execution>
						<id>sign-artifacts</id>
						<phase>verify</phase>
						<goals>
							<goal>sign</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.sonatype.plugins</groupId>
				<artifactId>nexus-staging-maven-plugin</artifactId>
				<version>1.6.8</version>
				<extensions>true</extensions>
				<configuration>
					<serverId>ossrh</serverId>
					<nexusUrl>https://oss.sonatype.org/</nexusUrl>
					<autoReleaseAfterClose>true</autoReleaseAfterClose>
				</configuration>
			</plugin>

		</plugins>
	</build>

	<distributionManagement>
		<snapshotRepository>
			<id>ossrh</id>
			<url>https://oss.sonatype.org/content/repositories/snapshots</url>
		</snapshotRepository>
		<repository>
			<id>ossrh</id>
			<url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
		</repository>
	</distributionManagement>

</project>