<?xml version="1.0" encoding="UTF-8"?>
<project
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
	xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
	<modelVersion>4.0.0</modelVersion>
	<parent>
		<artifactId>org.eclipse.mylyn.docs-parent</artifactId>
		<groupId>org.eclipse.mylyn.docs</groupId>
		<version>2.6.0-SNAPSHOT</version>
	</parent>
	<groupId>org.eclipse.mylyn.docs.epub</groupId>
	<artifactId>org.eclipse.mylyn.docs.epub.help</artifactId>
	<version>2.0.1-SNAPSHOT</version>
	<packaging>eclipse-plugin</packaging>

	<properties>
		<test.suite>${project.artifactId}.AllTests</test.suite>
	</properties>

	<build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-antrun-plugin</artifactId>
				<version>1.6</version>
				<executions>
					<execution>
						<phase>generate-sources</phase>
						<configuration>
							<target>
								<pathconvert refid="maven.compile.classpath" property="compile_classpath"/>
								<ant antfile="build-docs.ant" inheritAll="true"/>
								<!-- 
								<ant antfile="build-book.ant" inheritAll="true"/>
								 -->
							</target>
						</configuration>
						<goals>
							<goal>run</goal>
						</goals>
					</execution>
				</executions>
				<dependencies>
					<dependency>
						<groupId>org.eclipse.mylyn.docs</groupId>
						<artifactId>org.eclipse.mylyn.wikitext.core</artifactId>
						<version>2.6.0-SNAPSHOT</version>
					</dependency>
			        <dependency>
			          <groupId>org.eclipse.mylyn.docs</groupId>
			          <artifactId>org.eclipse.mylyn.wikitext.core.ant</artifactId>
			          <version>2.6.0-SNAPSHOT</version>
			        </dependency>
					<dependency>
						<groupId>org.eclipse.mylyn.docs</groupId>
						<artifactId>org.eclipse.mylyn.wikitext.textile.core</artifactId>
						<version>2.6.0-SNAPSHOT</version>
					</dependency>
					<dependency>
						<groupId>com.google.guava</groupId>
						<artifactId>guava</artifactId>
						<version>15.0</version>
					</dependency>
				</dependencies>				
			</plugin>
			<plugin>
				<groupId>org.eclipse.tycho</groupId>
				<artifactId>tycho-source-plugin</artifactId>
			</plugin>
			<plugin>
				<groupId>org.eclipse.tycho</groupId>
				<artifactId>target-platform-configuration</artifactId>
			</plugin>
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>findbugs-maven-plugin</artifactId>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-pmd-plugin</artifactId>
			</plugin>
		</plugins>

	</build>
</project>
