<?xml version="1.0" encoding="UTF-8"?>
<!--
  Copyright (c) 2011, 2022 EclipseSource and others.
  All rights reserved. This program and the accompanying materials
  are made available under the terms of the Eclipse Public License v1.0
  which accompanies this distribution, and is available at
  http://www.eclipse.org/legal/epl-v10.html

  Contributors:
     EclipseSource - initial implementation
-->
<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.rap</groupId>
    <artifactId>org.eclipse.rap.tools-parent</artifactId>
    <version>3.21.0-SNAPSHOT</version>
    <relativePath>../../releng/org.eclipse.rap.tools.build</relativePath>
  </parent>

  <artifactId>org.eclipse.rap.doc</artifactId>
  <version>3.21.0-SNAPSHOT</version>
  <packaging>eclipse-plugin</packaging>

  <properties>
    <eclipserun-repo>https://download.eclipse.org/eclipse/updates/4.17/</eclipserun-repo>
    <runtimeSourceDir>${project.basedir}/../../../org.eclipse.rap</runtimeSourceDir>
  </properties>

  <build>
    <plugins>
      <plugin>
        <groupId>org.eclipse.tycho.extras</groupId>
        <artifactId>tycho-eclipserun-plugin</artifactId>
        <version>${tycho-version}</version>
        <configuration>
          <applicationsArgs>
            <args>-application</args><args>org.eclipse.ant.core.antRunner</args>
            <args>-buildfile</args><args>reference-build/build.xml</args>
            <args>-Dversion="${project.version}"</args>
            <args>-DbaseDir="${project.basedir}"</args>
            <args>-DtargetDir="${project.build.directory}/reference/guide/reference"</args>
            <args>-DruntimeSourceDir="${runtimeSourceDir}"</args>
            <args>-data</args><args>"${project.build.directory}/workspace"</args>
          </applicationsArgs>
          <dependencies>
            <dependency>
              <artifactId>org.apache.ant</artifactId>
              <type>eclipse-plugin</type>
            </dependency>
            <dependency>
              <artifactId>org.eclipse.ant.core</artifactId>
              <type>eclipse-plugin</type>
            </dependency>
            <dependency>
              <artifactId>org.eclipse.help.base</artifactId>
              <type>eclipse-plugin</type>
            </dependency>
            <dependency>
              <artifactId>org.eclipse.pde.core</artifactId>
              <type>eclipse-plugin</type>
            </dependency>
          </dependencies>
          <repositories>
            <repository>
              <id>eclipse</id>
              <layout>p2</layout>
              <url>${eclipserun-repo}</url>
            </repository>
          </repositories>
          <executionEnvironment>JavaSE-11</executionEnvironment>
        </configuration>
        <executions>
          <execution>
            <phase>generate-sources</phase>
            <goals>
              <goal>eclipse-run</goal>
            </goals>
          </execution>
        </executions>
      </plugin>

      <plugin>
        <groupId>org.eclipse.tycho</groupId>
        <artifactId>tycho-packaging-plugin</artifactId>
        <version>${tycho-version}</version>
        <configuration>
          <additionalFileSets>
            <fileSet>
              <directory>${project.build.directory}/reference</directory>
              <includes>
                <include>**/*</include>
              </includes>
            </fileSet>
          </additionalFileSets>
        </configuration>
      </plugin>

    </plugins>
  </build>

</project>
