<?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>org.eclipse.papyrus.model2doc-plugins</groupId>
		<artifactId>org.eclipse.papyrus.model2doc.plugins</artifactId>
		<version>0.7.0-SNAPSHOT</version>
	</parent>

	<groupId>org.eclipse.papyrus.model2doc.plugins-doc</groupId>
	<artifactId>org.eclipse.papyrus.model2doc.plugins.doc</artifactId>
	<version>0.7.0-SNAPSHOT</version>
	<packaging>pom</packaging>

	<name>Papyrus Model to Documentation Doc Plugins</name>
	<description>Container of the Papyrus Model to Documentation Doc Plugins</description>

	<modules>
		<module>org.eclipse.papyrus.model2doc.doc</module>
	</modules>

	<properties>
		<!-- https://repo.maven.apache.org/maven2/ -->
		<mojo.buildhelper.version>3.0.0</mojo.buildhelper.version>
		<mylyn.wikitext.version>3.0.29</mylyn.wikitext.version>

<!-- 		<target.platform>org.eclipse.papyrus.main.${target.suffix}.target</target.platform> -->
	</properties>

	<build>
		<pluginManagement>
			<!-- redistributed plugins -->
			<plugins>
				<plugin>
					<groupId>org.codehaus.mojo</groupId>
					<artifactId>build-helper-maven-plugin</artifactId>
					<version>${mojo.buildhelper.version}</version>
				</plugin>
				<plugin>
					<groupId>org.eclipse.mylyn.docs</groupId>
					<artifactId>org.eclipse.mylyn.wikitext.maven</artifactId>
					<version>${mylyn.wikitext.version}</version>
				</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.eclipse.mylyn.docs
										</groupId>
										<artifactId>
											org.eclipse.mylyn.wikitext.maven
										</artifactId>
										<versionRange>
											[2.4.0-SNAPSHOT,)
										</versionRange>
										<goals>
											<goal>eclipse-help</goal>
										</goals>
									</pluginExecutionFilter>
									<action>
										<execute />
									</action>
								</pluginExecution>
							</pluginExecutions>
						</lifecycleMappingMetadata>
					</configuration>
				</plugin>
			</plugins>
		</pluginManagement>
	</build>
</project>
