<?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>
		<groupId>org.eclipse.rmf</groupId>
		<artifactId>org.eclipse.rmf.releng</artifactId>
		<version>0.13.0-SNAPSHOT</version>
		<relativePath>../org.eclipse.rmf.releng/pom.xml</relativePath>
	</parent>
	<groupId>org.eclipse.rmf.plugins</groupId>
	<artifactId>org.eclipse.rmf.reqif10.pror.genhtml</artifactId>
	<properties>
    	<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  	</properties>
	<packaging>eclipse-plugin</packaging>
	<!--build>
		<sourceDirectory>src</sourceDirectory>
		<plugins>
			<plugin>
				<groupId>org.eclipse.tycho</groupId>
				<artifactId>tycho-surefire-plugin</artifactId>
				<version>${tycho.version}</version>
				<configuration>
					<includes>
						<include>**/All*Tests.class</include>
					</includes>
					<useUIHarness>false</useUIHarness>
					<useUIThread>false</useUIThread>
					<argLine>${test.vmargs}</argLine>
				</configuration>
			</plugin>
		</plugins>
	</build-->
	
    <build>  
     <plugins>  
      <plugin>  
       <groupId>org.codehaus.mojo</groupId>  
       <artifactId>exec-maven-plugin</artifactId>  
       <version>1.1.1</version>  
       <executions>  
        <execution>  
         <phase>test</phase>  
         <goals>  
          <goal>java</goal>  
         </goals>  
         <configuration>  
          <mainClass>org.eclipse.rmf.reqif10.pror.genhtml.GenerateHtml</mainClass>  
         </configuration>  
        </execution>  
       </executions>  
      </plugin>  
     </plugins>  
    </build>
    	
</project>