<?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>uk.co.javahelp.fitnesse</groupId>
		<artifactId>fitnesse-launcher-parent</artifactId>
		<version>1.4.2</version>
	</parent>
	<artifactId>fitnesse-launcher-maven-plugin</artifactId>
	<packaging>maven-plugin</packaging>

	<name>FitNesse Launcher Maven Plugin</name>

	<dependencies>
		<dependency>
			<groupId>org.apache.maven</groupId>
			<artifactId>maven-plugin-api</artifactId>
			<version>${maven.version}</version>
		</dependency>

		<dependency>
			<groupId>org.apache.maven</groupId>
			<artifactId>maven-compat</artifactId>
			<version>${maven.version}</version>
		</dependency>

		<dependency>
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-dependency-plugin</artifactId>
			<version>2.8</version>
		</dependency>

		<dependency>
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-failsafe-plugin</artifactId>
			<version>${failsafe.version}</version>
		</dependency>

		<dependency>
			<groupId>org.fitnesse</groupId>
			<artifactId>fitnesse</artifactId>
			<version>20140201</version>
		</dependency>

		<dependency>
			<groupId>org.twdata.maven</groupId>
			<artifactId>mojo-executor</artifactId>
			<version>2.2.0</version>
		</dependency>

		<dependency>
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-clean-plugin</artifactId>
			<version>2.5</version>
		</dependency>

		<dependency>
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-antrun-plugin</artifactId>
			<version>1.7</version>
		</dependency>

		<dependency>
			<groupId>org.apache.maven.reporting</groupId>
			<artifactId>maven-reporting-impl</artifactId>
			<version>2.2</version>
			<exclusions>
			    <!-- 
			        The httpclient dependency included is of version 4.0.2,
			        which is incompatible with the version of httpclient pulled in
			        by Xebium in the webapp-example project, which is 4.1.2.
			        The result is a hidden
			        NoClassDefFoundError: org/apache/http/conn/scheme/SchemeSocketFactory
			        which causes Firefox to silently fail to boot from Selenium
			        and hence no Xebium based tests get run under the RunTestsMojo.
			        Ultimately we probably need to implement a custom-scoped
			        org.codehaus.plexus.classworlds.realm.ClassRealm
			        with which to boot FitNesse, but this is difficult as
			        the threads it launches are without any public access or interface,
			        meaning a custom FitNesseMain class might need to be written.
			        This may be desirable anyway, as we also have trouble identifying
			        the FitNesse thread to join in WikiMojo.
			        For now, as reporting functionality is not yet implemented,
			        an exclusion will do!
			        http://maven.apache.org/guides/mini/guide-maven-classloading.html
		         -->
				<exclusion>
					<groupId>org.apache.httpcomponents</groupId>
					<artifactId>httpclient</artifactId>
				</exclusion>
			</exclusions>
		</dependency>

		<!-- Test dependencies -->

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

		<dependency>
			<groupId>org.mockito</groupId>
			<artifactId>mockito-all</artifactId>
			<version>1.9.5</version>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>org.eclipse.jetty</groupId>
			<artifactId>jetty-server</artifactId>
			<version>8.1.8.v20121106</version>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>commons-io</groupId>
			<artifactId>commons-io</artifactId>
			<version>2.4</version>
			<scope>test</scope>
		</dependency>

	</dependencies>

	<build>
		<plugins>
			<plugin>
				<groupId>org.jacoco</groupId>
				<artifactId>jacoco-maven-plugin</artifactId>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-plugin-plugin</artifactId>
				<version>3.2</version>
				<configuration>
					<goalPrefix>fitnesse</goalPrefix>
					<helpPackageName>uk.co.javahelp.maven.plugin.fitnesse.mojo</helpPackageName>
				</configuration>
				<executions>
					<execution>
						<id>generated-helpmojo</id>
						<goals>
							<goal>helpmojo</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-site-plugin</artifactId>
				<configuration>
					<reportPlugins>
						<plugin>
							<groupId>org.apache.maven.plugins</groupId>
							<artifactId>maven-project-info-reports-plugin</artifactId>
							<version>2.7</version>
							<!-- http://jira.codehaus.org/browse/MPIR-137 -->
							<configuration>
								<dependencyLocationsEnabled>false</dependencyLocationsEnabled>
								<dependencyDetailsEnabled>false</dependencyDetailsEnabled>
							</configuration>
						</plugin>
						<plugin>
							<groupId>org.apache.maven.plugins</groupId>
							<artifactId>maven-plugin-plugin</artifactId>
							<version>3.2</version>
							<configuration>
								<goalPrefix>fitnesse</goalPrefix>
								<detail>true</detail>
							</configuration>
						</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.jacoco</groupId>
							<artifactId>jacoco-maven-plugin</artifactId>
							<version>${jacoco.version}</version>
							<configuration>
								<excludes>
									<exclude>**/HelpMojo*</exclude>
								</excludes>
							</configuration>
						</plugin>
						<plugin>
							<groupId>org.apache.maven.plugins</groupId>
							<artifactId>maven-surefire-report-plugin</artifactId>
							<version>${failsafe.version}</version>
							<reportSets>
								<reportSet>
									<reports>
										<report>report-only</report>
										<report>failsafe-report-only</report>
									</reports>
								</reportSet>
							</reportSets>
						</plugin>
						<plugin>
							<groupId>org.apache.maven.plugins</groupId>
							<artifactId>maven-javadoc-plugin</artifactId>
							<version>2.9</version>
							<configuration>
								<quiet>true</quiet>
								<use>false</use>
								<stylesheetfile>${project.parent.basedir}/src/site/javadoc/stylesheet.css</stylesheetfile>
								<includeDependencySources>true</includeDependencySources>
								<dependencySourceIncludes>
									<dependencySourceInclude>org.fitnesse:fitnesse</dependencySourceInclude>
								</dependencySourceIncludes>
								<excludePackageNames>uk.co.javahelp*</excludePackageNames>
								<destDir>fitnesse-apidocs</destDir>
								<name>FitNesse JavaDocs</name>
								<description>JavaDoc API documentation for FitNesse 20140201 API</description>
								<doctitle>FitNesse 20140201 API</doctitle>
								<links>
									<link>http://java.sun.com/javase/6/docs/api/</link>
								</links>
							</configuration>
							<reportSets>
								<reportSet>
									<reports>
										<report>javadoc</report>
									</reports>
								</reportSet>
							</reportSets>
						</plugin>
						<plugin>
							<groupId>org.apache.maven.plugins</groupId>
							<artifactId>maven-javadoc-plugin</artifactId>
							<version>2.9</version>
							<configuration>
								<quiet>true</quiet>
								<use>false</use>
								<show>package</show>
								<stylesheetfile>${project.parent.basedir}/src/site/javadoc/stylesheet.css</stylesheetfile>
								<includeDependencySources>false</includeDependencySources>
								<name>Project JavaDocs</name>
								<description>JavaDoc API documentation for FitNesse Launcher Maven Plugin</description>
								<links>
									<link>http://java.sun.com/javase/6/docs/api/</link>
									<link>http://fitnesse-launcher-maven-plugin.googlecode.com/svn/maven/site/fitnesse-apidocs/</link>
									<link>http://maven.apache.org/ref/${maven.version}/maven-plugin-api/apidocs/</link>
									<link>http://maven.apache.org/ref/${maven.version}/maven-artifact/apidocs/</link>
									<link>http://maven.apache.org/surefire/maven-surefire-common/apidocs/</link>
									<link>http://plexus.codehaus.org/plexus-containers/plexus-container-default-1.0-alpha-9-stable/apidocs/</link>
								</links>
								<tagletArtifacts>
									<tagletArtifact>
										<groupId>org.apache.maven.plugin-tools</groupId>
										<artifactId>maven-plugin-tools-javadoc</artifactId>
										<version>2.9</version>
									</tagletArtifact>
								</tagletArtifacts>
							</configuration>
						</plugin>
						<plugin>
							<groupId>org.apache.maven.plugins</groupId>
							<artifactId>maven-checkstyle-plugin</artifactId>
							<version>2.9.1</version>
							<reportSets>
								<reportSet>
									<reports>
										<report>checkstyle</report>
									</reports>
								</reportSet>
							</reportSets>
							<configuration>
								<enableRulesSummary>true</enableRulesSummary>
								<configLocation>${basedir}/src/site/violations/checkstyle.xml</configLocation>
								<suppressionsLocation>${basedir}/src/site/violations/checkstyle-suppressions.xml</suppressionsLocation>
							</configuration>
						</plugin>
						<plugin>
							<groupId>org.codehaus.mojo</groupId>
							<artifactId>findbugs-maven-plugin</artifactId>
							<version>2.5.2</version>
							<configuration>
								<threshold>Low</threshold>
								<effort>Max</effort>
								<excludeFilterFile>${basedir}/src/site/violations/findbugs-exclude.xml</excludeFilterFile>
								<xmlOutput>true</xmlOutput>
							</configuration>
						</plugin>
						<plugin>
							<groupId>org.apache.maven.plugins</groupId>
							<artifactId>maven-pmd-plugin</artifactId>
							<version>3.0.1</version>
							<configuration>
								<sourceEncoding>UTF-8</sourceEncoding>
								<targetJdk>1.6</targetJdk>
								<!-- 
								<ruleset>${basedir}/src/site/violations/pmd-ruleset.xml</ruleset>
								 -->
								<excludes>
								    <exclude>**/*HelpMojo.*</exclude>
								</excludes>
							</configuration>
						</plugin>
						<plugin>
							<groupId>org.codehaus.mojo</groupId>
							<artifactId>javancss-maven-plugin</artifactId>
							<version>2.0</version>
						</plugin>
						<plugin>
							<groupId>org.codehaus.mojo</groupId>
							<artifactId>jdepend-maven-plugin</artifactId>
							<version>2.0-beta-2</version>
						</plugin>
						<plugin>
							<groupId>com.googlecode.maven-overview-plugin</groupId>
							<artifactId>maven-overview-plugin</artifactId>
							<version>1.6</version>
							<configuration>
								<scopes>
									<scope>compile</scope>
									<scope>runtime</scope>
									<scope>provided</scope>
								</scopes>
								<maxDepth>1</maxDepth>
							</configuration>
						</plugin>
						<plugin>
							<groupId>net.sf</groupId>
							<artifactId>stat-scm</artifactId>
							<version>1.2.0</version>
						</plugin>
						<plugin>
							<groupId>org.apache.maven.plugins</groupId>
							<artifactId>maven-changes-plugin</artifactId>
							<version>2.8</version>
							<reportSets>
								<reportSet>
									<reports>
										<report>changes-report</report>
									</reports>
								</reportSet>
							</reportSets>
						</plugin>
						<plugin>
							<groupId>org.codehaus.mojo</groupId>
							<artifactId>taglist-maven-plugin</artifactId>
							<version>2.4</version>
							<configuration>
								<tags>
									<tag>TODO</tag>
									<tag>FIXME</tag>
									<tag>@todo</tag>
									<tag>@deprecated</tag>
								</tags>
							</configuration>
						</plugin>
						<plugin>
							<groupId>org.codehaus.mojo</groupId>
							<artifactId>versions-maven-plugin</artifactId>
							<version>2.0</version>
							<reportSets>
								<reportSet>
									<reports>
										<report>dependency-updates-report</report>
										<report>plugin-updates-report</report>
									</reports>
								</reportSet>
							</reportSets>
						</plugin>
						<plugin>
							<groupId>org.apache.maven.plugins</groupId>
							<artifactId>maven-changelog-plugin</artifactId>
							<version>2.2</version>
							<configuration>
								<type>range</type>
								<range>90</range>
								<headingDateFormat>dd MMM yyyy</headingDateFormat>
							</configuration>
						</plugin>
						<plugin>
							<groupId>org.codehaus.mojo</groupId>
							<artifactId>license-maven-plugin</artifactId>
							<version>1.3</version>
							<reportSets>
								<reportSet>
									<reports>
										<report>third-party-report</report>
									</reports>
								</reportSet>
							</reportSets>
						</plugin>
					</reportPlugins>
				</configuration>
				<dependencies> 
					<dependency> 
						<groupId>org.tinyjee.dim</groupId> 
						<artifactId>doxia-include-macro</artifactId> 
						<version>1.1</version> 
					</dependency> 
				</dependencies> 
			</plugin>
		</plugins>
	</build>

</project>
