<?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>
	<groupId>com.github.giannispapadakis</groupId>
	<artifactId>Seletest</artifactId>
	<version>0.0.2</version>
	<packaging>jar</packaging>

	<parent>
		<groupId>org.sonatype.oss</groupId>
		<artifactId>oss-parent</artifactId>
		<version>7</version>
	</parent>

	<name>Seletest Open QA Test Framework</name>

	<developers>
		<developer>
			<name>Papadakis Giannis</name>
			<id>GiannisPapadakis</id>
			<email>gpapadakis84@gmail.com</email>
		</developer>
	</developers>

	<issueManagement>
		<system>GitHub</system>
		<url>https://github.com/GiannisPapadakis/Seletest/issues</url>
	</issueManagement>

	<scm>
		<connection>scm:git:git://github.com/GiannisPapadakis/Seletest.git</connection>
		<developerConnection>scm:git:git@github.com:GiannisPapadakis/Seletest.git</developerConnection>
		<url>http://github.com/GiannisPapadakis/Seletest</url>
	</scm>

	<distributionManagement>
		<repository>
			<id>sonatype-nexus-releases</id>
			<name>OSS Sonatype Release Staging Repository</name>
			<url>https://oss.sonatype.org/service/local/staging/deploy/maven2</url>
		</repository>
		<snapshotRepository>
			<id>sonatype-nexus-snapshots</id>
			<name>OSS Sonatype Snapshot Repository</name>
			<url>https://oss.sonatype.org/content/repositories/snapshots</url>
			<uniqueVersion>false</uniqueVersion>
		</snapshotRepository>
	</distributionManagement>

	<profiles>
		<profile>
			<id>generate-javadocs</id>
			<build>
				<plugins>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-source-plugin</artifactId>
						<executions>
							<execution>
								<id>attach-sources</id>
								<goals>
									<goal>jar</goal>
								</goals>
							</execution>
						</executions>
						<inherited>true</inherited>
					</plugin>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-javadoc-plugin</artifactId>
						<version>2.9.1</version>
						<executions>
							<execution>
								<id>attach-javadocs</id>
								<goals>
									<goal>jar</goal>
								</goals>
							</execution>
						</executions>
						<configuration>
							<aggregate>true</aggregate>
							<show>public</show>
							<nohelp>true</nohelp>
							<header>Seletest Automation Framework - ${project.version}</header>
							<footer>Seletest Automation Framework - ${project.version}</footer>
							<doctitle>Seletest Automation Framework - ${project.version}</doctitle>
							<links>
								<link>http://static.springsource.org/spring/docs/3.0.x/javadoc-api/</link>
							</links>
						</configuration>
					</plugin>
				</plugins>
			</build>
		</profile>

		<!-- Release Seletest - sign artifact -->
		<profile>
			<id>release-sign-artifacts</id>
			<activation>
				<property>
					<name>performRelease</name>
					<value>true</value>
				</property>
			</activation>
			<build>
				<plugins>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-gpg-plugin</artifactId>
						<executions>
							<execution>
								<id>sign-artifacts</id>
								<phase>verify</phase>
								<goals>
									<goal>sign</goal>
								</goals>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>
	</profiles>

	<build>
		<pluginManagement>
			<plugins>

				<plugin>
					<!-- use mvn cobertura:cobertura to generate cobertura reports -->
					<groupId>org.codehaus.mojo</groupId>
					<artifactId>cobertura-maven-plugin</artifactId>
					<version>2.6</version>
					<configuration>
						<formats>
							<format>html</format>
							<format>xml</format>
						</formats>
					</configuration>
				</plugin>



				<!-- surefire plugin to run tests.... -->
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-surefire-plugin</artifactId>
					<executions>
						<execution>
							<id>default-test</id>
							<phase>integration-test</phase>
							<configuration>
								<forkMode>always</forkMode>
								<argLine>
									-javaagent:${settings.localRepository}/org/springframework/spring-agent/2.5.6/spring-agent-2.5.6.jar
									-noverify
								</argLine>
								<suiteXmlFiles>
									<suiteXmlFile>target/test-classes/XMLSuites/DemoTest.xml</suiteXmlFile>
								</suiteXmlFiles>
								<groups>${groups}</groups>
								<properties>
									<property>
										<name>listener</name>
										<value>org.uncommons.reportng.HTMLReporter</value>
									</property>
								</properties>
								<workingDirectory>${basedir}</workingDirectory>
							</configuration>
						</execution>
					</executions>
				</plugin>


				<!-- Build a JAR from the current project -->
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-jar-plugin</artifactId>
				</plugin>

				<!-- Clean up after the build -->
				<plugin>
					<artifactId>maven-clean-plugin</artifactId>
					<version>2.5</version>
				</plugin>

				<!-- Compiles Java sources -->
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-compiler-plugin</artifactId>
					<version>2.5.1</version>
					<inherited>true</inherited>
					<configuration>
						<source>1.7</source>
						<target>1.7</target>
						<testSource>1.7</testSource>
						<testTarget>1.7</testTarget>
						<showDeprecation>true</showDeprecation>
						<showWarnings>true</showWarnings>
						<executable>${env.JAVA_HOME}/bin/javac</executable>
					</configuration>
				</plugin>

				<!-- Configuring the GMaven Plugin for Groovy Support in Maven 2 and 
					3 -->
				<plugin>
					<groupId>org.codehaus.gmaven</groupId>
					<artifactId>gmaven-plugin</artifactId>
					<version>${gmaven.version}</version>
					<configuration>
						<providerSelection>1.8</providerSelection>
					</configuration>
					<dependencies>
						<dependency>
							<groupId>org.codehaus.gmaven.runtime</groupId>
							<artifactId>gmaven-runtime-1.8</artifactId>
							<version>${gmaven.version}</version>
						</dependency>
						<dependency>
							<groupId>org.codehaus.groovy</groupId>
							<artifactId>groovy-all</artifactId>
							<version>${groovy.version}</version>
						</dependency>
					</dependencies>
					<executions>
						<execution>
							<goals>
								<goal>generateStubs</goal>
								<goal>compile</goal>
								<goal>generateTestStubs</goal>
								<goal>testCompile</goal>
							</goals>
						</execution>
					</executions>
				</plugin>

				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-release-plugin</artifactId>
					<version>2.5</version>
				</plugin>

				<!-- Publish Javadoc on static pages gh-pages -->
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-scm-publish-plugin</artifactId>
					<version>1.0-beta-2</version>
					<configuration>
						<checkoutDirectory>${project.build.directory}/scmpublish</checkoutDirectory>
						<checkinComment>Publishing javadoc for
							${project.artifactId}:${project.version}</checkinComment>
						<content>${project.reporting.outputDirectory}/apidocs</content>
						<skipDeletedFiles>true</skipDeletedFiles>
						<pubScmUrl>scm:git:git@github.com:GiannisPapadakis/Seletest.git</pubScmUrl>
						<scmBranch>gh-pages</scmBranch> <!-- branch with static site -->
					</configuration>
				</plugin>

			</plugins>
		</pluginManagement>
	</build>

	<dependencies>

		<!-- Groovy libraries support -->
		<dependency>
			<groupId>org.codehaus.groovy</groupId>
			<artifactId>groovy-all</artifactId>
			<version>2.3.4</version>
		</dependency>


		<!-- Suite of Java SSH applications providing a Java SSH API, SSH Terminal -->
		<dependency>
			<groupId>sshtools</groupId>
			<artifactId>j2ssh-core</artifactId>
			<version>0.2.9</version>
		</dependency>

		<dependency>
			<groupId>com.jcraft</groupId>
			<artifactId>jsch</artifactId>
			<version>0.1.49</version>
		</dependency>

		<!-- TestNG framework -->
		<dependency>
			<groupId>org.testng</groupId>
			<artifactId>testng</artifactId>
			<version>${testng.version}</version>
		</dependency>

		<!-- ReportNG, a simple HTML reporting plug-in for the TestNG unit-testing 
			framework Usually in our project newer TestNG version is used, so that ReportNG 
			dependency should be excluded -->
		<dependency>
			<groupId>org.uncommons</groupId>
			<artifactId>reportng</artifactId>
			<version>1.1.4</version>
			<exclusions>
				<exclusion>
					<groupId>org.testng</groupId>
					<artifactId>testng</artifactId>
				</exclusion>
			</exclusions>
		</dependency>



		<!-- PhantomJS driver for headless testing -->
		<dependency>
			<groupId>com.github.detro.ghostdriver</groupId>
			<artifactId>phantomjsdriver</artifactId>
			<version>${phantomjs.version}</version>
			<exclusions>
				<exclusion>
					<groupId>org.seleniumhq.selenium</groupId>
					<artifactId>selenium-api</artifactId>
				</exclusion>
				<exclusion>
					<groupId>org.seleniumhq.selenium</groupId>
					<artifactId>selenium-remote-driver</artifactId>
				</exclusion>
				<exclusion>
					<groupId>org.seleniumhq.selenium</groupId>
					<artifactId>selenium-server</artifactId>
				</exclusion>
			</exclusions>
		</dependency>

		<dependency>
			<groupId>velocity</groupId>
			<artifactId>velocity</artifactId>
			<version>1.5</version>
		</dependency>

		<dependency>
			<groupId>com.google.inject</groupId>
			<artifactId>guice</artifactId>
			<version>3.0</version>
		</dependency>

		<!-- Selenium Server -->
		<dependency>
			<groupId>org.seleniumhq.selenium</groupId>
			<artifactId>selenium-java</artifactId>
			<version>${selenium.version}</version>
		</dependency>

		<dependency>
			<groupId>com.opera</groupId>
			<artifactId>operadriver</artifactId>
			<version>1.2</version>
		</dependency>


		<!-- Core Spring -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-core</artifactId>
			<version>${org.springframework.version}</version>
		</dependency>

		<!-- Bean Factory -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-beans</artifactId>
			<version>${org.springframework.version}</version>
		</dependency>

		<!-- Using AspectJ to dependency inject domain objects -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-agent</artifactId>
			<version>2.5.6</version>
		</dependency>

		<!-- Aspect Oriented Programming -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-aop</artifactId>
			<version>${org.springframework.version}</version>
		</dependency>

		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-aspects</artifactId>
			<version>${org.springframework.version}</version>
		</dependency>

		<!-- Application Context -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-context</artifactId>
			<version>${org.springframework.version}</version>
		</dependency>

		<!-- Various Application Context utilities -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-context-support</artifactId>
			<version>${org.springframework.version}</version>
		</dependency>

		<!-- Transaction Management Abstraction used testing DB layer -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-tx</artifactId>
			<version>${org.springframework.version}</version>
		</dependency>

		<!-- JDBC Data Access Library -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-jdbc</artifactId>
			<version>${org.springframework.version}</version>
		</dependency>

		<!-- AspectJ Dependencies -->
		<dependency>
			<groupId>org.aspectj</groupId>
			<artifactId>aspectjrt</artifactId>
			<version>${aspectj.version}</version>
		</dependency>
		<dependency>
			<groupId>org.aspectj</groupId>
			<artifactId>aspectjweaver</artifactId>
			<version>${aspectj.version}</version>
		</dependency>

		<!-- CGLIB for dynamic proxy creation -->
		<dependency>
			<groupId>cglib</groupId>
			<artifactId>cglib</artifactId>
			<version>3.1</version>
		</dependency>

		<!-- Support for testing Spring applications -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-test</artifactId>
			<version>${org.springframework.version}</version>
			<exclusions>
				<exclusion>
					<groupId>commons-logging</groupId>
					<artifactId>commons-logging</artifactId>
				</exclusion>
			</exclusions>
		</dependency>

		<!-- RestFul client support -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-web</artifactId>
			<version>${org.springframework.version}</version>
		</dependency>

		<!-- MySQL database driver -->
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<version>5.1.30</version>
			<scope>runtime</scope>
		</dependency>

		<!-- Hibernate framework -->
		<dependency>
			<groupId>org.hibernate</groupId>
			<artifactId>hibernate-core</artifactId>
			<version>4.3.5.Final</version>
		</dependency>

		<!-- Logging to console with slf4j and logback-classic -->
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-api</artifactId>
			<version>1.7.5</version>
		</dependency>

		<dependency>
			<groupId>ch.qos.logback</groupId>
			<artifactId>logback-classic</artifactId>
			<version>1.0.13</version>
			<scope>test</scope>
		</dependency>

		<!-- Read from a csv file -->
		<dependency>
			<groupId>net.sf.opencsv</groupId>
			<artifactId>opencsv</artifactId>
			<version>2.3</version>
		</dependency>

		<dependency>
			<groupId>xml-apis</groupId>
			<artifactId>xml-apis</artifactId>
			<version>1.4.01</version>
		</dependency>


		<!-- Return values of xls table into array -->
		<dependency>
			<groupId>net.sourceforge.jexcelapi</groupId>
			<artifactId>jxl</artifactId>
			<version>2.6.12</version>
		</dependency>

		<!-- Tool for performance testing of web applications generating HAR files -->
		<dependency>
			<groupId>net.lightbody.bmp</groupId>
			<artifactId>browsermob-proxy</artifactId>
			<version>2.0-beta-9</version>
			<exclusions>
				<exclusion>
					<groupId>org.seleniumhq.selenium</groupId>
					<artifactId>selenium-api</artifactId>
				</exclusion>
				<exclusion>
					<groupId>org.slf4j</groupId>
					<artifactId>slf4j-jdk14</artifactId>
				</exclusion>
			</exclusions>
		</dependency>

		<!-- Project lombok for generating custom code runtime like setters-getters -->
		<dependency>
			<groupId>org.projectlombok</groupId>
			<artifactId>lombok</artifactId>
			<version>1.12.6</version>
			<scope>provided</scope>
		</dependency>

		<!-- Mail service jars -->
		<dependency>
			<groupId>javax.mail</groupId>
			<artifactId>mail</artifactId>
			<version>1.4.5</version>
		</dependency>

		<dependency>
			<groupId>javax.activation</groupId>
			<artifactId>activation</artifactId>
			<version>1.1.1</version>
		</dependency>

		<dependency>
			<groupId>org.apache.httpcomponents</groupId>
			<artifactId>httpclient</artifactId>
			<version>4.3.4</version>
		</dependency>

		<!-- Appium java client for mobile native apps -->
		<dependency>
			<groupId>io.appium</groupId>
			<artifactId>java-client</artifactId>
			<version>${appium.version}</version>
			<exclusions>
				<exclusion>
					<groupId>org.seleniumhq.selenium</groupId>
					<artifactId>selenium-api</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
		
		<!-- In Spring 4, support to Jackson 1.x has been deprecated in favor of 
			Jackson v2 -->
		<dependency>
			<groupId>org.codehaus.jackson</groupId>
			<artifactId>jackson-mapper-asl</artifactId>
			<version>1.9.5</version>
		</dependency>
	</dependencies>




	<!-- Shared version number properties -->
	<properties>
		<org.springframework.version>4.0.3.RELEASE</org.springframework.version>
		<selenium.version>2.43.0</selenium.version>
		<aspectj.version>1.6.11</aspectj.version>
		<testng.version>6.8.8</testng.version>
		<groovy.version>1.8.8</groovy.version>
		<appium.version>2.0.0</appium.version>
		<phantomjs.version>1.0.4</phantomjs.version>
		<gmaven.version>1.5</gmaven.version>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
	</properties>
</project>