<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.budhash.cliche</groupId>
	<artifactId>cliche-shell</artifactId>
	<packaging>jar</packaging>
	<version>0.9.3</version>
	<name>cliche shell</name>
	<description>simple command-line shell for java applications</description>
	<url>https://github.com/budhash/cliche</url>
	<inceptionYear>2015</inceptionYear>
	<parent>
		<groupId>org.sonatype.oss</groupId>
		<artifactId>oss-parent</artifactId>
		<version>7</version>
	</parent>

	<licenses>
		<license>
			<name>MIT License</name>
			<url>http://www.opensource.org/licenses/mit-license.php</url>
			<distribution>repo</distribution>
		</license>
	</licenses>
	<organization>
		<name>budhash.com</name>
		<url>https://github.com/budhash</url>
	</organization>
	<developers>
		<developer>
			<id>1</id>
			<name>Budhaditya</name>
			<organization>budhash</organization>
			<roles>
				<role>Developer</role>
			</roles>
			<timezone>-7</timezone>
		</developer>
	</developers>
	<scm>
		<connection>scm:git:https://github.com/budhash/cliche.git</connection>
		<developerConnection>scm:git:https://github.com/budhash/cliche.git</developerConnection>
		<url>https://github.com/budhash/cliche</url>
		<tag>cliche-shell-0.9.3</tag>
	</scm>
	<issueManagement>
		<url>https://github.com/budhash/cliche/issues</url>
		<system>GitHub Issues</system>
	</issueManagement>
	<ciManagement>
		<system>travis</system>
		<url>https://travis-ci.org/budhash/cliche</url>
	</ciManagement>

	<distributionManagement>
		<downloadUrl>https://oss.sonatype.org/content/groups/public</downloadUrl>
		<repository>
			<id>sonatype-nexus-staging</id>
			<url>https://oss.sonatype.org/service/local/staging/deploy/maven2</url>
		</repository>
		<snapshotRepository>
			<id>sonatype-nexus-snapshots</id>
			<url>https://oss.sonatype.org/content/repositories/snapshots</url>
		</snapshotRepository>
	</distributionManagement>
	<repositories>
		<!-- You should keep it empty in your project. @see http://www.sonatype.com/people/2009/02/why-putting-repositories-in-your-poms-is-a-bad-idea/ -->
		<repository>
			<id>oss.sonatype.org</id>
			<url>https://oss.sonatype.org/content/groups/public</url>
		</repository>
	</repositories>
	<pluginRepositories>
		<!-- You should keep it empty in your project. @see http://www.sonatype.com/people/2009/02/why-putting-repositories-in-your-poms-is-a-bad-idea/ -->
		<pluginRepository>
			<id>oss.sonatype.org</id>
			<url>https://oss.sonatype.org/content/groups/public</url>
		</pluginRepository>
	</pluginRepositories>

	<prerequisites>
		<maven>3.0</maven>
	</prerequisites>

	<properties>
		<!-- How to detect if you're running the latest version of the configured
			dependencies: mvn -N versions:display-property-updates OR mvn -N versions:display-plugin-updates -->
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
		<maven.build.timestamp.format>yyyy-MM-dd HH:mm</maven.build.timestamp.format>
		<project.scm.id>github-budhash</project.scm.id>
		<java.source.version>1.7</java.source.version>
		<java.target.version>1.7</java.target.version>

		<!-- dependency versions -->
		<!-- unit test -->
		<junit.version>4.12</junit.version>
		<testng.version>6.9.4</testng.version>
		<hamcrest.version>1.3</hamcrest.version>
		<mockito.version>2.0.8-beta</mockito.version>
		<assertj.version>3.0.0</assertj.version>

		<!-- logging -->
		<slf4j.version>1.7.12</slf4j.version>
		<log4j.version>1.2.17</log4j.version>
		<logback.version>1.1.3</logback.version>

		<!-- apache commons -->
		<commons.lang3.version>3.4</commons.lang3.version>
		<commons.math3.version>3.5</commons.math3.version>
		<commons.codec.version>1.10</commons.codec.version>
		<commons.io.version>2.4</commons.io.version>
		<commons.configuration.version>1.9</commons.configuration.version><!--
			reverting to 1.9 as a bug in 1.10 prevents cloning :-/ -->
		<commons.jexl.version>2.1.1</commons.jexl.version>
		<!-- google libs -->

		<!-- other helpful libraries -->
		<groovy.all.version>2.4.3</groovy.all.version>
		<jodatime.version>2.7</jodatime.version>
		<guava.version>18.0</guava.version>
		<guice.version>4.0</guice.version>
		<javax.servlet.version>3.1.0</javax.servlet.version>
		<bouncycastle.version>1.52</bouncycastle.version>
		<supercsv.version>2.3.1</supercsv.version>
		<lambdaj.version>2.3.3</lambdaj.version>
		<projectlombok.version>1.16.4</projectlombok.version>
		<gson.version>2.3.1</gson.version>
		<xmlapis.version>1.4.01</xmlapis.version>
		<jackson.version>2.6.0-rc1</jackson.version>
		<feign.version>8.3.0</feign.version>
		<apache.httpclient.version>4.4.1</apache.httpclient.version>

		<!-- persistance and orm -->
		<hsqldb.version>2.3.2</hsqldb.version>
		<ojdbc6.version>12.1.0.1</ojdbc6.version>
		<mysql.version>5.1.35</mysql.version>
		<orientdb.commons.version>2.0-M1</orientdb.commons.version>
		<orientdb.core.version>2.1-rc2</orientdb.core.version>
		<jdbi.version>2.62</jdbi.version>
		<hikaricp.version>2.3.8</hikaricp.version>

		<!-- aspects -->
		<aspectjrt.version>1.8.5</aspectjrt.version>
		<jcabi.aspects.version>0.22</jcabi.aspects.version>
		<javax.validation.version>1.1.0.Final</javax.validation.version>
		<hibernate.validator.version>5.2.0.CR1</hibernate.validator.version>
		<javax.el.version>3.0.1-b04</javax.el.version>

	</properties>

	<profiles>

		<profile>
			<!-- The profile deploys all artifacts to oss.sonatype.org repository
				and skips default deployment plugin. -->
			<id>sonatype</id>
			<build>
				<pluginManagement>
					<plugins>
						<plugin>
							<artifactId>maven-deploy-plugin</artifactId>
							<configuration>
								<skip>true</skip>
							</configuration>
						</plugin>
					</plugins>
				</pluginManagement>
				<plugins>
					<plugin>
						<artifactId>maven-source-plugin</artifactId>
						<executions>
							<execution>
								<id>generate-sources</id>
								<goals>
									<goal>jar</goal>
								</goals>
							</execution>
						</executions>
					</plugin>
					<plugin>
						<!-- Generate -javadoc.jar artifact, required by Maven Central. -->
						<artifactId>maven-javadoc-plugin</artifactId>
						<executions>
							<execution>
								<id>generate-javadoc</id>
								<phase>package</phase>
								<goals>
									<goal>jar</goal>
								</goals>
							</execution>
						</executions>
					</plugin>
					<plugin>
						<!-- @see http://www.sonatype.com/books/nexus-book/reference/staging-sect-deployment.html -->
						<groupId>org.sonatype.plugins</groupId>
						<artifactId>nexus-staging-maven-plugin</artifactId>
						<version>1.6.5</version>
						<extensions>true</extensions>
						<configuration>
							<serverId>sonatype-nexus-staging</serverId>
							<nexusUrl>https://oss.sonatype.org/</nexusUrl>
							<description>${project.version}</description>
						</configuration>
						<executions>
							<execution>
								<id>deploy-to-sonatype</id>
								<phase>deploy</phase>
								<goals>
									<goal>deploy</goal>
									<goal>release</goal>
								</goals>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>

		<profile>
			<!-- Qulice-maven-plugin is a compound static analysis tool that aggregates
				Checkstyle, PMD, FindBugs, CodeNarc (for Groovy code) and a few other analyzers.
				Qulice also configures them correctly to enable the most important rules.
				@see http://www.qulice.com/qulice-maven-plugin/ -->
			<id>qulice</id>
			<build>
				<plugins>
					<plugin>
						<groupId>com.qulice</groupId>
						<artifactId>qulice-maven-plugin</artifactId>
						<executions>
							<execution>
								<id>code-check</id>
								<phase>verify</phase>
								<goals>
									<goal>check</goal>
								</goals>
								<configuration>
									<license>file:${basedir}/LICENSE.txt</license>
								</configuration>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>

		<profile>
			<!-- The profile builds site for production environment. -->
			<id>site</id>
			<build>
				<plugins>
					<plugin>
						<!-- Checks the quality of Maven project documentation @see http://maven.apache.org/plugins/maven-docck-plugin/index.html -->
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-docck-plugin</artifactId>
						<version>1.0</version>
						<executions>
							<execution>
								<id>code-check</id>
								<!-- It doesn't work as expected: https://jira.codehaus.org/browse/MDOCCK-27 -->
								<phase>never-verify</phase>
								<goals>
									<goal>check</goal>
								</goals>
							</execution>
						</executions>
					</plugin>
					<plugin>
						<artifactId>maven-site-plugin</artifactId>
						<version>3.4</version>
						<configuration>
							<generateSitemap>true</generateSitemap>
							<reportPlugins>
								<plugin>
									<artifactId>maven-project-info-reports-plugin</artifactId>
									<version>2.7</version>
									<configuration>
										<dependencyDetailsEnabled>false</dependencyDetailsEnabled>
										<dependencyLocationsEnabled>false</dependencyLocationsEnabled>
									</configuration>
									<reportSets>
										<reportSet>
											<reports>
												<report>index</report>
												<report>project-team</report>
												<report>license</report>
												<report>cim</report>
												<report>dependencies</report>
												<report>issue-tracking</report>
												<report>mailing-list</report>
												<report>plugins</report>
												<report>scm</report>
												<report>summary</report>
											</reports>
										</reportSet>
									</reportSets>
								</plugin>
								<plugin>
									<artifactId>maven-jxr-plugin</artifactId>
									<version>2.4</version>
									<configuration>
										<aggregate>true</aggregate>
									</configuration>
								</plugin>
								<plugin>
									<artifactId>maven-surefire-report-plugin</artifactId>
									<version>2.17</version>
									<reportSets>
										<reportSet>
											<reports>
												<report>report-only</report>
											</reports>
										</reportSet>
									</reportSets>
								</plugin>
								<plugin>
									<!-- Shows reports about recent versions of plugins and deps. @see
										http://mojo.codehaus.org/versions-maven-plugin/ -->
									<groupId>org.codehaus.mojo</groupId>
									<artifactId>versions-maven-plugin</artifactId>
									<version>2.1</version>
									<reportSets>
										<reportSet>
											<reports>
												<report>dependency-updates-report</report>
												<report>plugin-updates-report</report>
											</reports>
										</reportSet>
									</reportSets>
								</plugin>
								<plugin>
									<!-- API documentation builder. It will produce documentation which
										is then to be used in site:site. It will be located at target/site/apidocs. -->
									<artifactId>maven-javadoc-plugin</artifactId>
									<configuration>
										<failOnError>true</failOnError>
										<quiet>true</quiet>
										<links>
											<link>http://download.oracle.com/javaee/7/api/</link>
											<link>http://sonatype.github.com/sonatype-aether/apidocs/</link>
											<link>http://hamcrest.org/JavaHamcrest/javadoc/1.3/</link>
											<link>http://docs.mockito.googlecode.com/hg/latest/</link>
										</links>
										<detectLinks>true</detectLinks>
										<tags>
											<!-- Here we instruct plugin to use custom tag @link http://maven.apache.org/plugins/maven-javadoc-plugin/examples/tag-configuration.html -->
											<tag>
												<name>todo</name>
												<placement>a</placement>
												<head>To do:</head>
											</tag>
											<tag>
												<name>checkstyle</name>
												<placement>a</placement>
												<head>Suppressed Checkstyle violations:</head>
											</tag>
										</tags>
									</configuration>
									<reportSets>
										<reportSet>
											<id>versioned-html</id>
											<reports>
												<report>javadoc</report>
											</reports>
											<configuration>
												<windowtitle>${project.name} ${project.version} API</windowtitle>
												<doctitle>${project.name} ${project.version} API</doctitle>
												<sourcepath>src/main/java</sourcepath>
												<destDir>apidocs-${project.version}</destDir>
											</configuration>
										</reportSet>
										<reportSet>
											<id>versioned-test</id>
											<reports>
												<report>test-javadoc</report>
											</reports>
											<configuration>
												<testWindowtitle>${project.name} ${project.version} Mock API</testWindowtitle>
												<testDoctitle>${project.name} ${project.version} Mock API</testDoctitle>
												<sourcepath>src/mock/java</sourcepath>
												<destDir>testapidocs-${project.version}</destDir>
											</configuration>
										</reportSet>
									</reportSets>
								</plugin>
								<plugin>
									<groupId>org.codehaus.mojo</groupId>
									<artifactId>cobertura-maven-plugin</artifactId>
									<!-- This is the latest version that works. Version 2.6 causes problems
										in combination with AJC compilation -->
									<version>2.5.2</version>
								</plugin>
								<plugin>
									<artifactId>maven-plugin-plugin</artifactId>
									<version>3.3</version>
								</plugin>
								<plugin>
									<groupId>org.codehaus.mojo</groupId>
									<artifactId>taglist-maven-plugin</artifactId>
									<version>2.4</version>
									<configuration>
										<tagListOptions>
											<tagClasses>
												<tagClass>
													<displayName>Todo</displayName>
													<tags>
														<tag>
															<matchString>todo</matchString>
															<matchType>ignoreCase</matchType>
														</tag>
														<tag>
															<matchString>tbd</matchString>
															<matchType>ignoreCase</matchType>
														</tag>
														<tag>
															<matchString>FIXME</matchString>
															<matchType>ignoreCase</matchType>
														</tag>
													</tags>
												</tagClass>
											</tagClasses>
										</tagListOptions>
									</configuration>
								</plugin>
							</reportPlugins>
						</configuration>
						<executions>
							<execution>
								<id>attach-descriptor</id>
								<goals>
									<goal>attach-descriptor</goal>
								</goals>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>
		<profile>
			<!-- This profile configures site deployment to github pages. See http://pages.github.com/
				http://github.github.com/maven-plugins/site-plugin/site-mojo.html -->
			<id>gh-pages</id>
			<activation>
				<file>
					<exists>${basedir}/src/site/resources/CNAME</exists>
				</file>
			</activation>
			<properties>
				<github.global.server>github</github.global.server>
			</properties>
			<build>
				<plugins>
					<plugin>
						<artifactId>maven-site-plugin</artifactId>
						<configuration>
							<skipDeploy>true</skipDeploy>
						</configuration>
					</plugin>
					<plugin>
						<groupId>com.github.github</groupId>
						<artifactId>site-maven-plugin</artifactId>
						<configuration>
							<message>site for ${project.version}</message>
							<path>${site.path}</path>
							<merge>true</merge>
						</configuration>
						<executions>
							<execution>
								<phase>site-deploy</phase>
								<goals>
									<goal>site</goal>
								</goals>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>
		<profile>
			<!-- Sign artifacts before installation with GPG. To enable this profile
				you should have "gpg.keyname" property defined. -->
			<id>sign-gpg</id>
			<activation>
				<property>
					<name>gpg.keyname</name>
				</property>
			</activation>
			<build>
				<plugins>
					<plugin>
						<!-- To GPG-sign the artifact before deployment to foreign repository.
							GPG keys have to be provided in CI environment, and published beforehand.
							@link http://www.sonatype.com/people/2010/01/how-to-generate-pgp-signatures-with-maven/ -->
						<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>
				</plugins>
			</build>
		</profile>

		<profile>
			<!-- For every Java package it creates a VERSION.txt file in "src/main/resources"
				directory. This is done in order to help with identification of currently
				used version of a package. -->
			<id>versionalize-packages</id>
			<activation>
				<file>
					<exists>${basedir}/src/main/java</exists>
				</file>
			</activation>
			<build>
				<plugins>
					<plugin>
						<groupId>com.jcabi</groupId>
						<artifactId>jcabi-maven-plugin</artifactId>
						<version>0.9.3</version>
						<executions>
							<execution>
								<id>versionalize-packages</id>
								<goals>
									<goal>versionalize</goal>
								</goals>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>

		<profile>
			<!-- Enable AOP AspectJ aspects. The profile is activated when you have
				a directory src/main/aspect (even if it's empty). The profile will apply
				all aspects from that folder to your classes and test classes, and also will
				apply com.jcabi:jcabi-aspects. It will also add JSR-303 API to the classpath. -->
			<id>aspectj</id>
			<activation>
				<file>
					<exists>${basedir}/src/main/aspect</exists>
				</file>
			</activation>
			<dependencies>
				<dependency>
					<groupId>com.jcabi</groupId>
					<artifactId>jcabi-aspects</artifactId>
					<scope>provided</scope>
				</dependency>
				<dependency>
					<groupId>org.aspectj</groupId>
					<artifactId>aspectjrt</artifactId>
					<scope>provided</scope>
				</dependency>
				<dependency>
					<groupId>javax.validation</groupId>
					<artifactId>validation-api</artifactId>
					<scope>compile</scope>
				</dependency>
				<dependency>
					<groupId>org.hibernate</groupId>
					<artifactId>hibernate-validator</artifactId>
					<scope>provided</scope>
				</dependency>
				<dependency>
					<groupId>javax.el</groupId>
					<artifactId>javax.el-api</artifactId>
					<scope>provided</scope>
				</dependency>
			</dependencies>
			<build>
				<plugins>
					<plugin>
						<groupId>com.jcabi</groupId>
						<artifactId>jcabi-maven-plugin</artifactId>
						<executions>
							<execution>
								<id>ajc-compile</id>
								<phase>process-classes</phase>
								<goals>
									<goal>ajc</goal>
								</goals>
								<configuration>
									<tempDirectory>${project.build.directory}/jcabi-ajc</tempDirectory>
									<classesDirectory>${project.build.outputDirectory}</classesDirectory>
									<aspectsDirectories>
										<directory>${project.basedir}/src/main/aspect</directory>
									</aspectsDirectories>
								</configuration>
							</execution>
							<execution>
								<id>ajc-test-compile</id>
								<phase>process-test-classes</phase>
								<goals>
									<goal>ajc</goal>
								</goals>
								<configuration>
									<tempDirectory>${project.build.directory}/jcabi-ajc-test</tempDirectory>
									<classesDirectory>${project.build.testOutputDirectory}</classesDirectory>
									<aspectsDirectories>
										<directory>${project.basedir}/src/main/aspect</directory>
										<directory>${project.basedir}/src/test/aspect</directory>
									</aspectsDirectories>
									<scopes>
										<scope>compile</scope>
										<scope>provided</scope>
										<scope>system</scope>
										<scope>runtime</scope>
										<scope>test</scope>
									</scopes>
								</configuration>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>

		<profile>
			<!-- Compile Groovy sources from src/main/groovy and src/test/groovy directories. -->
			<id>groovy</id>
			<activation>
				<file>
					<exists>${basedir}/src/main/groovy</exists>
				</file>
			</activation>
			<dependencies>
				<dependency>
					<groupId>org.codehaus.groovy</groupId>
					<artifactId>groovy-all</artifactId>
				</dependency>
			</dependencies>
			<build>
				<plugins>
					<plugin>
						<groupId>org.codehaus.gmaven</groupId>
						<artifactId>gmaven-plugin</artifactId>
						<version>1.5</version>
						<configuration>
							<verbose>true</verbose>
							<stacktrace>true</stacktrace>
							<providerSelection>2.0</providerSelection>
						</configuration>
						<executions>
							<execution>
								<id>groovy-compile</id>
								<goals>
									<goal>compile</goal>
									<goal>testCompile</goal>
								</goals>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>

		<profile>
			<id>enable-test</id>
			<activation>
				<file>
					<exists>${basedir}/src/test/java</exists>
				</file>
			</activation>
			<dependencies>
				<dependency>
					<groupId>junit</groupId>
					<artifactId>junit</artifactId>
					<scope>test</scope>
				</dependency>
				<dependency>
					<groupId>org.hamcrest</groupId>
					<artifactId>hamcrest-core</artifactId>
					<scope>test</scope>
				</dependency>
				<dependency>
					<groupId>org.hamcrest</groupId>
					<artifactId>hamcrest-library</artifactId>
					<scope>test</scope>
				</dependency>
			</dependencies>
		</profile>
	</profiles>

	<dependencyManagement>
		<dependencies>
			<!-- unit test -->
			<dependency>
				<!-- Junit @see http://junit.org/ -->
				<groupId>junit</groupId>
				<artifactId>junit</artifactId>
				<version>${junit.version}</version>
				<exclusions>
					<exclusion>
						<groupId>org.hamcrest</groupId>
						<artifactId>hamcrest-core</artifactId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<!-- TestNG @see http://testng.org/doc/documentation-main.html -->
				<groupId>org.testng</groupId>
				<artifactId>testng</artifactId>
				<version>${testng.version}</version>
			</dependency>
			<dependency>
				<!-- Hamcrest @see https://github.com/hamcrest -->
				<groupId>org.hamcrest</groupId>
				<artifactId>hamcrest-core</artifactId>
				<version>${hamcrest.version}</version>
			</dependency>
			<dependency>
				<groupId>org.hamcrest</groupId>
				<artifactId>hamcrest-library</artifactId>
				<version>${hamcrest.version}</version>
			</dependency>
			<dependency>
				<!-- Mockito @see http://mockito.org/ -->
				<groupId>org.mockito</groupId>
				<artifactId>mockito-core</artifactId>
				<version>${mockito.version}</version>
				<exclusions>
					<exclusion>
						<groupId>org.hamcrest</groupId>
						<artifactId>hamcrest-core</artifactId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<!-- AssertJ @see http://joel-costigliola.github.io/assertj/ -->
				<groupId>org.assertj</groupId>
				<artifactId>assertj-core</artifactId>
				<version>${assertj.version}</version>
			</dependency>

			<!-- logging -->
			<dependency>
				<groupId>org.slf4j</groupId>
				<artifactId>slf4j-api</artifactId>
				<!--<artifactId>slf4j-simple</artifactId> -->
				<version>${slf4j.version}</version>
			</dependency>
			<dependency>
				<groupId>org.slf4j</groupId>
				<artifactId>jcl-over-slf4j</artifactId>
				<version>${slf4j.version}</version>
			</dependency>
			<dependency>
				<groupId>org.slf4j</groupId>
				<artifactId>log4j-over-slf4j</artifactId>
				<version>${slf4j.version}</version>
			</dependency>
			<dependency>
				<groupId>org.slf4j</groupId>
				<artifactId>jul-to-slf4j</artifactId>
				<version>${slf4j.version}</version>
			</dependency>
			<dependency>
				<!-- Binding for NOP, silently discarding all logging. -->
				<groupId>org.slf4j</groupId>
				<artifactId>slf4j-nop</artifactId>
				<version>${slf4j.version}</version>
			</dependency>
			<dependency>
				<!-- Binding for System.out -->
				<groupId>org.slf4j</groupId>
				<artifactId>slf4j-simple</artifactId>
				<version>${slf4jVersion}</version>
			</dependency>
			<dependency>
				<groupId>ch.qos.logback</groupId>
				<artifactId>logback-classic</artifactId>
				<version>${logback.version}</version>
			</dependency>

			<!-- di -->
			<dependency>
				<!-- Dependency Injection @see https://github.com/google/guice/ -->
				<groupId>com.google.inject</groupId>
				<artifactId>guice</artifactId>
				<version>${guice.version}</version>
			</dependency>
			<dependency>
				<!-- Netflix's Guava enhancements @see https://github.com/Netflix/governator/wiki -->
				<groupId>com.netflix.governator</groupId>
				<artifactId>governator</artifactId>
				<version>1.3.3</version>
			</dependency>

			<!-- other useful libs -->
			<dependency>
				<!-- Commons Lang3 @see http://commons.apache.org/lang/ -->
				<groupId>org.apache.commons</groupId>
				<artifactId>commons-lang3</artifactId>
				<version>${commons.lang3.version}</version>
			</dependency>
			<dependency>
				<!-- Commons Math3 @see http://commons.apache.org/proper/commons-math/ -->
				<groupId>org.apache.commons</groupId>
				<artifactId>commons-math3</artifactId>
				<version>${commons.math3.version}</version>
			</dependency>
			<dependency>
				<!-- Base64 and other codecs @see http://commons.apache.org/codec/ -->
				<groupId>commons-codec</groupId>
				<artifactId>commons-codec</artifactId>
				<version>${commons.codec.version}</version>
			</dependency>
			<dependency>
				<!-- For file/stream manipulations @see http://commons.apache.org/io/ -->
				<groupId>commons-io</groupId>
				<artifactId>commons-io</artifactId>
				<version>${commons.io.version}</version>
			</dependency>
			<dependency>
				<!-- For configurations / properties @see http://commons.apache.org/configuration/ -->
				<groupId>commons-configuration</groupId>
				<artifactId>commons-configuration</artifactId>
				<version>${commons.configuration.version}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.commons</groupId>
				<artifactId>commons-jexl</artifactId>
				<version>${commons.jexl.version}</version>
			</dependency>
			<dependency>
				<!-- Groovy @see http://groovy.codehaus.org/ -->
				<groupId>org.codehaus.groovy</groupId>
				<artifactId>groovy-all</artifactId>
				<version>${groovy.all.version}</version>
			</dependency>
			<dependency>
				<!-- Java date and time @see http://www.joda.org/joda-time/ -->
				<groupId>joda-time</groupId>
				<artifactId>joda-time</artifactId>
				<version>${jodatime.version}</version>
			</dependency>
			<dependency>
				<!-- Google Guava @see https://code.google.com/p/guava-libraries/ -->
				<groupId>com.google.guava</groupId>
				<artifactId>guava</artifactId>
				<version>${guava.version}</version>
			</dependency>
			<dependency>
				<!-- Servlet API -->
				<groupId>javax.servlet</groupId>
				<artifactId>servlet-api</artifactId>
				<version>${javax.servlet.version}</version>
				<scope>provided</scope>
			</dependency>
			<dependency>
				<!-- Crypto APIs @see https://www.bouncycastle.org/java.html -->
				<groupId>org.bouncycastle</groupId>
				<artifactId>bcprov-jdk15on</artifactId>
				<version>${bouncycastle.version}</version>
			</dependency>
			<dependency>
				<groupId>org.bouncycastle</groupId>
				<artifactId>bcpkix-jdk15on</artifactId>
				<version>${bouncycastle.version}</version>
			</dependency>
			<dependency>
				<!-- CSV Manipulation @see https://github.com/google/gson -->
				<groupId>net.sf.supercsv</groupId>
				<artifactId>super-csv</artifactId>
				<version>${super.csv.version}</version>
			</dependency>
			<dependency>
				<groupId>net.sf.supercsv</groupId>
				<artifactId>super-csv-dozer</artifactId>
				<version>${super.csv.version}</version>
			</dependency>
			<dependency>
				<!-- Compile-time annotations. @see http://projectlombok.org/features/index.html -->
				<groupId>org.projectlombok</groupId>
				<artifactId>lombok</artifactId>
				<version>${projectlombok.version}</version>
				<scope>provided</scope>
			</dependency>
			<dependency>
				<!-- LambdaJ @see https://code.google.com/p/lambdaj/ -->
				<groupId>com.googlecode.lambdaj</groupId>
				<artifactId>lambdaj</artifactId>
				<version>${lambdaj.version}</version>
			</dependency>
			<dependency>
				<!-- JSON handling @see https://github.com/google/gson -->
				<groupId>com.google.code.gson</groupId>
				<artifactId>gson</artifactId>
				<version>${gson.version}</version>
			</dependency>
			<dependency>
				<groupId>com.fasterxml.jackson.core</groupId>
				<artifactId>jackson-databind</artifactId>
				<version>${jackson.version}</version>
			</dependency>
			<dependency>
				<!-- XML APIs. -->
				<groupId>xml-apis</groupId>
				<artifactId>xml-apis</artifactId>
				<!-- 1.4.01 is the latest version, don't upgrade it unless you explicitly
					check it in Maven Central. Version 2.0.2 is published there, but it's outdated
					(June 2007), while 1.4.01 is the latest. -->
				<version>${xmlapis.version}</version> <!-- don't change this line, 1.4.01 is the right/latest version -->
			</dependency>
			<dependency>
				<!-- Netflix's fluent java http client @see https://github.com/Netflix/feign -->
				<groupId>com.netflix.feign</groupId>
				<artifactId>feign-core</artifactId>
				<version>${feign.version}</version>
			</dependency>
			<dependency>
				<!-- Apache HttpClient @see http://hc.apache.org/httpcomponents-client -->
				<groupId>org.apache.httpcomponents</groupId>
				<artifactId>httpclient</artifactId>
				<version>${apache.httpclient.version}</version>
			</dependency>

			<!-- persistance and orm -->
			<dependency>
				<!-- Java in-memory DB http://hsqldb.org/ -->
				<groupId>org.hsqldb</groupId>
				<artifactId>hsqldb</artifactId>
				<version>${h2.version}</version>
			</dependency>
			<dependency>
				<!-- Graph DB http://orientdb.com/ -->
				<groupId>com.orientechnologies</groupId>
				<artifactId>orient-commons</artifactId>
				<version>${orientdb.commons.version}</version>
			</dependency>
			<dependency>
				<groupId>com.orientechnologies</groupId>
				<artifactId>orient-core</artifactId>
				<version>${orientdb.core.version}</version>
			</dependency>
			<dependency>
				<!-- JDBI http://jdbi.org/ -->
				<groupId>org.jdbi</groupId>
				<artifactId>jdbi</artifactId>
				<version>${jdbi.version}</version>
			</dependency>
			<dependency>
				<!-- connection pooling http://jdbi.org/ -->
				<groupId>com.zaxxer</groupId>
				<artifactId>HikariCP-java6</artifactId>
				<version>${hikaricp.version}</version>
			</dependency>
			<dependency>
				<groupId>mysql</groupId>
				<artifactId>mysql-connector-java</artifactId>
				<version>${mysql.version}</version>
			</dependency>
			<dependency>
				<groupId>ojdbc6</groupId>
				<artifactId>ojdbc6</artifactId>
				<version>${ojdbc6.version}</version>
			</dependency>

			<!-- aspectj -->
			<dependency>
				<groupId>org.aspectj</groupId>
				<artifactId>aspectjrt</artifactId>
				<version>${aspectjrt.version}</version>
				<scope>runtime</scope>
			</dependency>
			<dependency>
				<!-- AOP Aspects. @see http://aspects.jcabi.com/ -->
				<groupId>com.jcabi</groupId>
				<artifactId>jcabi-aspects</artifactId>
				<version>${jcabi.aspects.version}</version>
			</dependency>
			<dependency>
				<!-- JSR-303 Vaidation API. -->
				<groupId>javax.validation</groupId>
				<artifactId>validation-api</artifactId>
				<version>${javax.validation.version}</version>
			</dependency>
			<dependency>
				<!-- JSR-303 implementation by Hibernate. -->
				<groupId>org.hibernate</groupId>
				<artifactId>hibernate-validator</artifactId>
				<version>${hibernate.validator.version}</version>
			</dependency>
			<dependency>
				<!-- Required for Hibernate validator -->
				<groupId>javax.el</groupId>
				<artifactId>javax.el-api</artifactId>
				<version>${javax.el.version}</version>
			</dependency>
		</dependencies>

	</dependencyManagement>
	<build>
		<resources>
			<!-- Filter resources in "process-resources" phase @link http://maven.apache.org/plugins/maven-resources-plugin/examples/filter.html -->
			<resource>
				<directory>${basedir}/src/main/resources</directory>
				<filtering>true</filtering>
			</resource>
		</resources>
		<testResources>
			<!-- Filter resources in "process-resources" phase @link http://maven.apache.org/plugins/maven-resources-plugin/examples/filter.html -->
			<testResource>
				<directory>${basedir}/src/test/resources</directory>
				<filtering>true</filtering>
			</testResource>
		</testResources>
		<plugins>
			<plugin>
				<!-- This plugin will collect current build number from Git and save
					it into Maven property -->
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>buildnumber-maven-plugin</artifactId>
				<version>1.3</version>
				<executions>
					<execution>
						<id>create-build-number</id>
						<phase>generate-resources</phase>
						<goals>
							<goal>create</goal>
							<goal>create-timestamp</goal>
						</goals>
						<configuration>
							<buildNumberPropertyName>buildNumber</buildNumberPropertyName>
							<timestampPropertyName>timestamp</timestampPropertyName>
							<timestampFormat>{0,date,yyyy-MM-dd'T'HH:mm:ss}</timestampFormat>
							<doCheck>false</doCheck>
							<doUpdate>false</doUpdate>
							<getRevisionOnlyOnce>true</getRevisionOnlyOnce>
							<shortRevisionLength>7</shortRevisionLength>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-jar-plugin</artifactId>
				<configuration>
					<archive>
						<manifestEntries>
							<BuildNumber>${buildNumber}</BuildNumber>
							<Timestamp>${timestamp}</Timestamp>
							<Url>${project.url}</Url>
						</manifestEntries>
					</archive>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-release-plugin</artifactId>
				<configuration>
					<autoVersionSubmodules>true</autoVersionSubmodules>
					<useReleaseProfile>false</useReleaseProfile>
					<!-- references the profile defined just below -->
					<releaseProfiles>sonatype</releaseProfiles>
					<goals>deploy</goals>
				</configuration>
			</plugin>
		</plugins>
		<pluginManagement>
			<plugins>
				<plugin>
					<artifactId>maven-antrun-plugin</artifactId>
					<version>1.8</version>
					<dependencies>
						<dependency>
							<groupId>ant-contrib</groupId>
							<artifactId>ant-contrib</artifactId>
							<version>1.0b3</version>
							<exclusions>
								<exclusion>
									<groupId>ant</groupId>
									<artifactId>ant</artifactId>
								</exclusion>
							</exclusions>
						</dependency>
					</dependencies>
				</plugin>
				<plugin>
					<artifactId>maven-assembly-plugin</artifactId>
					<version>2.4.1</version>
				</plugin>
				<plugin>
					<artifactId>maven-changes-plugin</artifactId>
					<version>2.10</version>
				</plugin>
				<plugin>
					<artifactId>maven-clean-plugin</artifactId>
					<version>2.5</version>
				</plugin>
				<plugin>
					<artifactId>maven-compiler-plugin</artifactId>
					<version>3.1</version>
					<configuration>
						<source>${java.source.version}</source>
						<target>${java.target.version}</target>
						<optimize>true</optimize>
						<showWarnings>true</showWarnings>
						<showDeprecation>true</showDeprecation>
						<compilerArgs>
							<arg>-Xlint</arg>
							<!-- <arg>-Werror</arg> -->
							<arg>-Xlint:-path</arg>
							<!-- @see https://blogs.oracle.com/darcy/entry/bootclasspath_older_source -->
							<arg>-Xlint:-options</arg>
							<!-- @see http://netbeans.org/bugzilla/show_bug.cgi?format=multiple&id=208666 -->
							<!-- this is to avoid a problem with ANTLR and JDK7 -->
							<arg>-Xlint:-classfile</arg>
							<!-- ignore APT warnings -->
							<arg>-Xlint:-processing</arg>
						</compilerArgs>
						<testExcludes>
							<exclude>**/package-info.java</exclude>
						</testExcludes>
					</configuration>
				</plugin>
				<plugin>
					<artifactId>maven-dependency-plugin</artifactId>
					<version>2.8</version>
				</plugin>
				<plugin>
					<artifactId>maven-deploy-plugin</artifactId>
					<version>2.8.1</version>
				</plugin>
				<plugin>
					<artifactId>maven-failsafe-plugin</artifactId>
					<version>2.17</version>
					<configuration>
						<encoding>${project.build.sourceEncoding}</encoding>
						<failIfNoSpecifiedTests>false</failIfNoSpecifiedTests>
						<forkCount>0</forkCount>
						<parallel>all</parallel>
						<parallelTestsTimeoutForcedInSeconds>0</parallelTestsTimeoutForcedInSeconds>
						<parallelTestsTimeoutInSeconds>0</parallelTestsTimeoutInSeconds>
						<perCoreThreadCount>true</perCoreThreadCount>
						<runOrder>random</runOrder>
						<threadCount>8</threadCount>
					</configuration>
				</plugin>
				<plugin>
					<artifactId>maven-help-plugin</artifactId>
					<version>2.2</version>
				</plugin>
				<plugin>
					<artifactId>maven-install-plugin</artifactId>
					<version>2.5.1</version>
					<configuration>
						<createChecksum>true</createChecksum>
					</configuration>
				</plugin>
				<plugin>
					<artifactId>maven-jar-plugin</artifactId>
					<version>2.5</version>
				</plugin>
				<plugin>
					<artifactId>maven-javadoc-plugin</artifactId>
					<version>2.9.1</version>
				</plugin>
				<plugin>
					<artifactId>maven-plugin-plugin</artifactId>
					<version>3.2</version>
				</plugin>
				<plugin>
					<artifactId>maven-release-plugin</artifactId>
					<version>2.5</version>
				</plugin>
				<plugin>
					<artifactId>maven-resources-plugin</artifactId>
					<version>2.6</version>
				</plugin>
				<plugin>
					<artifactId>maven-site-plugin</artifactId>
					<version>3.4</version>
					<configuration>
						<reportPlugins>
							<!-- Section is intentionally empty. Full list of plugins is configured
								in "CI" profile. We don't need all them during development, that's why they
								are not here. -->
						</reportPlugins>
					</configuration>
					<dependencies>
						<dependency>
							<groupId>org.apache.maven.doxia</groupId>
							<artifactId>doxia-module-markdown</artifactId>
							<version>1.3</version>
						</dependency>
					</dependencies>
				</plugin>
				<plugin>
					<artifactId>maven-source-plugin</artifactId>
					<version>2.3</version>
				</plugin>
				<plugin>
					<!-- Starts unit tests, protocols their results and creates a summary
						report. It is required to send testing protocol to the STDOUT as well, not
						only to the file. -->
					<artifactId>maven-surefire-plugin</artifactId>
					<version>2.18.1</version>
					<configuration>
						<useFile>false</useFile>
						<runOrder>random</runOrder>
						<trimStackTrace>false</trimStackTrace>
						<failIfNoTests>false</failIfNoTests>
						<failIfNoSpecifiedTests>true</failIfNoSpecifiedTests>
						<parallel>all</parallel>
						<parallelTestsTimeoutInSeconds>0</parallelTestsTimeoutInSeconds>
						<parallelTestsTimeoutForcedInSeconds>0</parallelTestsTimeoutForcedInSeconds>
						<perCoreThreadCount>true</perCoreThreadCount>
						<threadCount>4</threadCount>
					</configuration>
				</plugin>
				<plugin>
					<artifactId>maven-war-plugin</artifactId>
					<version>2.4</version>
				</plugin>
				<plugin>
					<groupId>org.codehaus.mojo</groupId>
					<artifactId>versions-maven-plugin</artifactId>
					<version>2.1</version>
					<configuration>
						<generateBackupPoms>false</generateBackupPoms>
					</configuration>
				</plugin>
				<plugin>
					<groupId>com.github.github</groupId>
					<artifactId>site-maven-plugin</artifactId>
					<version>0.11</version>
				</plugin>
				<plugin>
					<groupId>com.qulice</groupId>
					<artifactId>qulice-maven-plugin</artifactId>
					<version>0.12</version>
					<configuration>
						<license>file:${basedir}/LICENSE.txt</license>
					</configuration>
				</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>
											buildnumber-maven-plugin
										</artifactId>
										<versionRange>
											[1.3,)
										</versionRange>
										<goals>
											<goal>
												create-timestamp
											</goal>
										</goals>
									</pluginExecutionFilter>
									<action>
										<ignore />
									</action>
								</pluginExecution>
							</pluginExecutions>
						</lifecycleMappingMetadata>
					</configuration>
				</plugin>
			</plugins>
		</pluginManagement>
	</build>
	<reporting>
		<!-- unused - for Maven 2.0 plugins mostly. -->
		<excludeDefaults />
	</reporting>
</project>
