<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <modelVersion>4.0.0</modelVersion>

    <parent>
        <groupId>org.eclipse.mylyn.docs</groupId>
        <artifactId>docs.main</artifactId>
        <version>3.0.14-SNAPSHOT</version>
        <relativePath>./pom.xml</relativePath>
    </parent>

    <artifactId>docs.build</artifactId>
    <name>Mylyn Docs: Docs Build</name>
    <packaging>pom</packaging>

    <properties>
        <docs.goal>verify</docs.goal>
        <p2.repo.local>${basedir}/.local-repo</p2.repo.local>
        <docs.build.type>none</docs.build.type>
    </properties>

    <profiles>
        <profile>
            <id>release</id>
            <properties>
                <docs.build.type>release</docs.build.type>
            </properties>
        </profile>
    </profiles>

    <dependencies>
        <dependency>
            <groupId>org.eclipse.mylyn.docs</groupId>
            <artifactId>wikitext.ui.build</artifactId>
            <version>3.0.14-SNAPSHOT</version>
            <type>pom</type>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <artifactId>maven-antrun-plugin</artifactId>
                <version>1.8</version>
                <dependencies>
                    <dependency>
                        <groupId>org.apache.ant</groupId>
                        <artifactId>ant-nodeps</artifactId>
                        <version>1.7.0</version>
                    </dependency>
                </dependencies>
                <executions>
                    <execution>
                        <id>update-targets</id>
                        <phase>generate-sources</phase>
                        <configuration>
                            <target>
                                <property name="target-file" value="${basedir}/docs/targets/docs.target"/>
                                <property name="target-file-template" value="${target-file}-template"/>
                                <delete file="${target-file}" failonerror="false"/>
                                <copy file="${target-file-template}" tofile="${target-file}"/>
                                <replaceregexp file="${target-file}" byline="true">
                                    <regexp pattern="MYLYN_DOCS_ROOT"/>
                                    <substitution expression="${basedir}"/>
                                </replaceregexp>
                            </target>
                        </configuration>
                        <goals>
                            <goal>run</goal>
                        </goals>
                    </execution>
                    <execution>
                        <id>remove-from-p2-index</id>
                        <phase>generate-sources</phase>
                        <configuration>
                            <target>
                                <property name="p2-index-file" value="${p2.repo.local}/.meta/p2-artifacts.properties"/>
                                <touch file="${p2-index-file}" mkdirs="true"/>
                                <replaceregexp file="${p2-index-file}" flags="gm">
                                    <regexp pattern="^p2\.osgi\.bundle\:org\.eclipse\.mylyn\.wikitext\..*$"/>
                                    <substitution expression=""/>
                                </replaceregexp>
                                <replaceregexp file="${p2-index-file}" flags="gm">
                                    <regexp pattern="^p2\.osgi\.bundle\:org\.eclipse\.mylyn\.docs\.epub\..*$"/>
                                    <substitution expression=""/>
                                </replaceregexp>
                                <delete includeemptydirs="true">
                                    <fileset dir="${p2.repo.local}" defaultexcludes="false">
                                        <include name="org/eclipse/mylyn/docs/**"/>
                                    </fileset>
                                    <fileset dir="${p2.repo.local}" defaultexcludes="false">
                                        <include name="p2/org/eclipse/update/feature/org.eclipse.mylyn.wikitext*/**"/>
                                    </fileset>
                                    <fileset dir="${p2.repo.local}" defaultexcludes="false">
                                        <include name="p2/osgi/bundle/org.eclipse.mylyn.wikitext*/**"/>
                                    </fileset>
                                    <fileset dir="${p2.repo.local}" defaultexcludes="false">
                                        <include name="p2/org/eclipse/update/feature/org.eclipse.mylyn.docs.epub*/**"/>
                                    </fileset>
                                    <fileset dir="${p2.repo.local}" defaultexcludes="false">
                                        <include name="p2/osgi/bundle/org.eclipse.mylyn.docs.epub*/**"/>
                                    </fileset>
                                </delete>
                            </target>
                        </configuration>
                        <goals>
                            <goal>run</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <!--
                Maven invoker plugin is used as a way to delay Tycho target
                platform resolution, since part of the target platform is created
                as part of the build.
                -->
                <artifactId>maven-invoker-plugin</artifactId>
                <version>2.0.0</version>
                <configuration>
                    <pom>docs/pom.xml</pom>
                    <streamLogs>true</streamLogs>
                    <localRepositoryPath>.local-repo</localRepositoryPath>
                    <profiles>
                        <profile>${docs.build.type}</profile>
                    </profiles>
                    <goals>
                        <goal>clean</goal>
                        <goal>${docs.goal}</goal>
                    </goals>
                </configuration>
                <executions>
                    <execution>
                        <id>two-part-build</id>
                        <goals>
                            <goal>install</goal>
                            <!-- install to avoid stale p2 cache with locally built artifacts -->
                            <goal>run</goal>
                            <goal>verify</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
</project>
