<?xml version="1.0" encoding="UTF-8"?>
<!--
   Copyright (C) 2017, 2020 Obeo

   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
-->

<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.acceleo</groupId>
    <artifactId>org.eclipse.acceleo-parent</artifactId>
    <version>4.0.0-SNAPSHOT</version>
    <relativePath>../..</relativePath>
  </parent>

  <artifactId>org.eclipse.acceleo.aql.doc</artifactId>
  <version>4.0.0-SNAPSHOT</version>
  <packaging>eclipse-plugin</packaging>

  <build>
    <plugins>
      <plugin>
        <groupId>org.asciidoctor</groupId>
        <artifactId>asciidoctor-maven-plugin</artifactId>
        <configuration>
          <sourceHighlighter>highlight.js</sourceHighlighter>
          <icons>font</icons>
          <sourceDirectory>pages</sourceDirectory>
          <outputDirectory>doc</outputDirectory>
          <preserveDirectories>true</preserveDirectories>
          <!--
            Relative to source directory.
            defaults to "images" but we don't want the asciidoctor-maven-plugin to alter our images path so use "." (otherwise,
            it will automatically change all images paths in our output to a path that doesn't exist).
          -->
          <imagesDir>.</imagesDir>
        </configuration>
        <executions>
          <execution>
            <id>output-html</id>
            <phase>generate-resources</phase>
            <goals>
              <goal>process-asciidoc</goal>
            </goals>
            <configuration>
              <backend>html5</backend>
              <attributes>
                <docinfo>private-footer</docinfo>
                <toc/>
              </attributes>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
  
</project>
