<?xml version="1.0" encoding="UTF-8"?>
<!--
   Copyright (c) 2005, 2019 SAP SE
   All rights reserved. This program and the accompanying materials
   are made available under the terms of the Eclipse Public License 2.0
   which accompanies this distribution, and is available at
   https://www.eclipse.org/legal/epl-2.0/

   SPDX-License-Identifier: EPL-2.0
-->
<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/maven-v4_0_0.xsd">
	<modelVersion>4.0.0</modelVersion>

	<parent>
		<groupId>org.eclipse.graphiti</groupId>
		<artifactId>parent</artifactId>
		<version>0.19.0-SNAPSHOT</version>
		<relativePath>../../parent</relativePath>
	</parent>

	<name>Documentation</name>
	<artifactId>org.eclipse.graphiti.doc</artifactId>
	<packaging>eclipse-plugin</packaging>

	<build>
		<plugins>
 			<plugin>
				<groupId>org.eclipse.tycho.extras</groupId>
				<artifactId>tycho-document-bundle-plugin</artifactId>
				<version>${tycho-extras-version}</version>
				<executions>
					<execution>
						<id>eclipse-javadoc</id>
						<phase>generate-resources</phase>
						<goals>
							<goal>javadoc</goal>
						</goals>
						<configuration>
							<outputDirectory>${project.basedir}/javadoc</outputDirectory>
							<tocFile>${project.basedir}/api_docs.xml</tocFile>
							<tocOptions>
								<mainLabel>Graphiti API</mainLabel>
							</tocOptions>
							<javadocOptions>
								<!-- enable in case you need a proxy for web access
								<jvmOptions>
									<jvmOption>-Dhttp.proxySet=true</jvmOption>
									<jvmOption>-Dhttp.proxyHost=proxy.example.com</jvmOption>
									<jvmOption>-Dhttp.proxyPort=81</jvmOption>
									<jvmOption>-DhttpnonProxyHosts=*.example.com</jvmOption>
								</jvmOptions>
								 -->
								<additionalArguments>
									<additionalArgument>
										-link
											https://docs.oracle.com/javase/8/docs/api/
									</additionalArgument>
									<additionalArgument>
										-link
											https://help.eclipse.org/2021-03/index.jsp?topic=/org.eclipse.platform.doc.isv/reference/api/
									</additionalArgument>
									<additionalArgument>
										-linkoffline 
											../../org.eclipse.platform.doc.isv/reference/api/
									</additionalArgument>
									<additionalArgument>-public</additionalArgument>
								</additionalArguments>
							</javadocOptions>
						</configuration>
					</execution>
				</executions>
			</plugin>
 		</plugins>
		
		<pluginManagement>
			<plugins>
				<!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
				<plugin>
					<!-- JavaDoc generation: ignore goal in Eclipse build to avoid error marker -->
					<groupId>org.eclipse.m2e</groupId>
					<artifactId>lifecycle-mapping</artifactId>
					<version>1.0.0</version>
					<configuration>
						<lifecycleMappingMetadata>
							<pluginExecutions>
								<pluginExecution>
									<pluginExecutionFilter>
										<groupId>
											org.eclipse.tycho.extras
										</groupId>
										<artifactId>
											tycho-document-bundle-plugin
										</artifactId>
										<versionRange>
											[0.22.0,)
										</versionRange>
										<goals>
											<goal>javadoc</goal>
										</goals>
									</pluginExecutionFilter>
									<action>
										<ignore></ignore>
									</action>
								</pluginExecution>
							</pluginExecutions>
						</lifecycleMappingMetadata>
					</configuration>
				</plugin>
			</plugins>
		</pluginManagement>
	</build>
</project>
