<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>
  <groupId>org.apache.jdo.asciidoc</groupId>
  <artifactId>jdo-asciidoc</artifactId>
  <version>0.0.1-SNAPSHOT</version>

    <packaging>pom</packaging>
    <name>Apache JDO Asciidoc</name>
    <description>Apache JDO Asciidoc</description>
    <url>http://www.apache.org/jdo</url>
    <inceptionYear>2019</inceptionYear>

    <repositories>
        <repository>
            <id>Apache_M2_Nightly</id>
            <url>http://repository.apache.org/snapshots/</url>
        </repository>
    </repositories>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

        <asciidoctor.maven.plugin.version>1.5.3</asciidoctor.maven.plugin.version>
        <asciidoctorj.pdf.version>1.5.0-alpha.11</asciidoctorj.pdf.version>
        <asciidoctorj.version>1.5.4.1</asciidoctorj.version>
        <!-- asciidoctorj.diagram.version>1.5.0</asciidoctorj.diagram.version-->
        <!--incode-asciidoctor-extension-monotree.version>0.0.2</incode-asciidoctor-extension-monotree.version-->
        <!--incode-asciidoctor-extension-improvethisdoc.version>0.0.1</incode-asciidoctor-extension-improvethisdoc.version-->
        <jruby.version>1.7.26</jruby.version>
        <maven-resources-plugin.version>3.1.0</maven-resources-plugin.version>

        <build.dir>${project.basedir}/target/site</build.dir>
    </properties>

    <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.asciidoctor</groupId>
                    <artifactId>asciidoctor-maven-plugin</artifactId>
                    <version>${asciidoctor.maven.plugin.version}</version>
                    <dependencies>
                        <dependency>
                            <groupId>org.asciidoctor</groupId>
                            <artifactId>asciidoctorj-pdf</artifactId>
                            <version>${asciidoctorj.pdf.version}</version>
                        </dependency>
                        <!-- Comment this section to use the default jruby artifact provided by the plugin -->
                        <dependency>
                            <groupId>org.jruby</groupId>
                            <artifactId>jruby-complete</artifactId>
                            <version>${jruby.version}</version>
                        </dependency>
                        <!-- Comment this section to use the default AsciidoctorJ artifact provided by the plugin -->
                        <dependency>
                            <groupId>org.asciidoctor</groupId>
                            <artifactId>asciidoctorj</artifactId>
                            <version>${asciidoctorj.version}</version>
                        </dependency>
                        <!-- dependency>
                            <groupId>org.asciidoctor</groupId>
                            <artifactId>asciidoctorj-diagram</artifactId>
                            <version>${asciidoctorj.diagram.version}</version>
                        </dependency-->
                        <!-- dependency>
                            <groupId>org.incode.asciidoctor.monotree</groupId>
                            <artifactId>incode-asciidoctor-extension-monotree</artifactId>
                            <version>${incode-asciidoctor-extension-monotree.version}</version>
                        </dependency-->
                        <!-- dependency>
                            <groupId>org.incode.asciidoctor.improvethisdoc</groupId>
                            <artifactId>incode-asciidoctor-extension-improvethisdoc</artifactId>
                            <version>${incode-asciidoctor-extension-improvethisdoc.version}</version>
                        </dependency-->
                    </dependencies>
                    <configuration>
                        <!-- If you set baseDir to ${project.basedir}, top-level includes are resolved relative to the project root -->
                        <!--
                        <baseDir>${project.basedir}</baseDir>
                        -->
                        <!-- Attributes common to all output formats -->
                        <attributes>
                            <endpoint-url>http://db.apache.org/jdo</endpoint-url>
                            <sourcedir>${project.build.sourceDirectory}</sourcedir>
                            <project-version>${project.version}</project-version>
                        </attributes>
                        <!-- requires>
                            <require>asciidoctor-diagram</require>
                        </requires-->
                    </configuration>
                </plugin>
            </plugins>
        </pluginManagement>

        <plugins>
            <plugin>
                <artifactId>maven-resources-plugin</artifactId>
                <version>${maven-resources-plugin.version}</version>
                <executions>
                    <execution>
                        <id>copy-resources</id>
                        <phase>compile</phase>
                        <goals>
                            <goal>copy-resources</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>${build.dir}</outputDirectory>
                            <resources>
                                <resource>
                                    <directory>src/main/resources/javadoc</directory>
                                    <filtering>false</filtering>
                                </resource>
                                <resource>
                                    <directory>src/main/resources/quickref</directory>
                                    <filtering>false</filtering>
                                </resource>
                            </resources>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
        
    </build>

    <profiles>
        <profile>
            <id>html</id>
            <activation>
                <property>
                    <name>!skip.html</name>
                </property>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.asciidoctor</groupId>
                        <artifactId>asciidoctor-maven-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>output-html</id>
                                <phase>generate-resources</phase>
                                <goals>
                                    <goal>process-asciidoc</goal>
                                </goals>
                                <configuration>
                                    <backend>html5</backend>

                                    <sourceDirectory>src/main/asciidoc/</sourceDirectory>
                                    <outputDirectory>${project.reporting.outputDirectory}/</outputDirectory>

                                    <sourceHighlighter>coderay</sourceHighlighter>
                                    <templateDir>src/main/template</templateDir>
                                    <eruby>erb</eruby>
                                    <preserveDirectories>true</preserveDirectories>
                                    <relativeBaseDir>true</relativeBaseDir>

                                    <attributes>
                                        <sourcedir>${project.build.sourceDirectory}</sourcedir>
                                        <imagesdir/>
                                        <toc>left</toc>
                                        <icons>font</icons>
                                        <version>${project.version}</version>
                                    </attributes>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>
</project>
