<?xml version="1.0" encoding="UTF-8"?>
<!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor 
	license agreements. See the NOTICE file distributed with this work for additional 
	information regarding copyright ownership. The ASF licenses this file to 
	you under the Apache License, Version 2.0 (the "License"); you may not use 
	this file except in compliance with the License. You may obtain a copy of 
	the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required 
	by applicable law or agreed to in writing, software distributed under the 
	License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS 
	OF ANY KIND, either express or implied. See the License for the specific 
	language governing permissions and limitations under the License. -->

<!-- project -->
<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.apache.uima</groupId>
		<artifactId>uima-ducc-parent</artifactId>
		<version>2.1.0</version>
		<relativePath>../uima-ducc-parent/pom.xml</relativePath>
	</parent>

    <artifactId>uima-ducc-duccdocs</artifactId>
    <packaging>pom</packaging>

 <!-- Special inheritance note even though the <scm> element that follows 
		is exactly the same as those in super poms, it cannot be inherited because 
		there is some special code that computes the connection elements from the 
		chain of parent poms, if this is omitted. Keeping this a bit factored allows 
		cutting/pasting the <scm> element, and just changing the following two properties -->
  <scm>
	<connection>
      scm:svn:http://svn.apache.org/repos/asf/uima/uima-ducc/tags/uima-ducc-2.1.0/uima-ducc-duccdocs
    </connection>
	<developerConnection>
      scm:svn:https://svn.apache.org/repos/asf/uima/uima-ducc/tags/uima-ducc-2.1.0/uima-ducc-duccdocs
    </developerConnection>
	<url>
      http://svn.apache.org/viewvc/uima/uima-ducc/tags/uima-ducc-2.1.0/uima-ducc-duccdocs
    </url>
  </scm>

    <pluginRepositories>
        <pluginRepository>
            <id>maven-latex-plugin-repo</id>
            <url>http://akquinet.github.com/maven-latex-plugin/maven2/</url>
            <releases>
                <enabled>true</enabled>
            </releases>
        </pluginRepository>
    </pluginRepositories>
    
    <!-- By default ducc-duccdocs is not built. To enable the build, first install latex    -->
    <!-- and run maven as follows: mvn clean install -Pbuild-duccdocs                       -->
    <!-- The above defines a profile build-duccdocs which triggers the latex plugin defined -->
    <!-- below to do the actual latex build.                                                -->
    <!-- If the environment variable BUILD_DUCCDOCS is defined the default will be to build -->
    <!-- the documents, unless the profile is explicitly deactivated with -P-build-duccdocs -->
  <profiles>

    <profile>
      <id>build-duccdocs</id>

      <activation>
        <property>
          <name>env.BUILD_DUCCDOCS</name>
        </property>
      </activation>

      <build>
        <plugins>

          <!-- filter the template for the version.tex file
               to insert the version from properties -->
          <plugin>
            <artifactId>maven-resources-plugin</artifactId>
            <executions>
              <execution>
                <id>setVersion</id>
                    <phase>package</phase>
                    <goals><goal>copy-resources</goal></goals>
                <configuration>
                  <outputDirectory>src/site/tex/duccbook</outputDirectory>
                  <resources>
                    <resource>
                      <directory>src/main/resources</directory>
                      <includes>
                        <include>*.tex</include>
                      </includes>
                      <filtering>true</filtering>
                    </resource>
                  </resources>
                </configuration>
              </execution>
            </executions>
          </plugin>

          <!-- Run latex commands pdflatex and htlatex to produce pdf and html -->
          <!-- for the various documents authored in latex -->
          <plugin>
            <artifactId>maven-antrun-plugin</artifactId>
            <executions>
              <execution>
                <id>latex-to-pdf-and-html-for-duccdocs</id>
                <phase>package</phase>
                <goals><goal>run</goal></goals>
                <configuration>
                  <target>

                    <echo message="Building duccbook HTML" />
                    <mkdir dir="target/site/duccbook-html" />
                    <mkdir dir="target/site/duccbook-html/images" />
                    <mkdir dir="target/site/duccbook-install" />

                    <exec executable="htlatex" dir="src/site/tex/duccbook" output="/dev/null">
                      <arg value="duccbook.tex" />
                    </exec>
                    <move todir="target/site/duccbook-html" overwrite="true">
                      <fileset dir="src/site/tex/duccbook">
                        <include name="duccbook.html" />
                        <include name="duccbook.css" />
                      </fileset>
                    </move>
                    <copy todir="target/site/duccbook-html/images" overwrite="true">
                      <fileset dir="src/site/tex/duccbook/images/" />
                    </copy>

                    <delete file="src/site/tex/duccbook/duccbook.4ct" />
                    <delete file="src/site/tex/duccbook/duccbook.4tc" />
                    <delete file="src/site/tex/duccbook/duccbook.aux" />
                    <delete file="src/site/tex/duccbook/duccbook.dvi" />
                    <delete file="src/site/tex/duccbook/duccbook.idv" />
                    <delete file="src/site/tex/duccbook/duccbook.lg" />
                    <delete file="src/site/tex/duccbook/duccbook.log" />
                    <delete file="src/site/tex/duccbook/duccbook.tmp" />
                    <delete file="src/site/tex/duccbook/duccbook.xref" />
                    <echo message="Completed duccbook HTML" />

                    <echo message="Building duccbook Installation HTML" />
                    <mkdir dir="target/site/duccbook-html" />
                    <exec executable="htlatex" dir="src/site/tex/duccbook" failonerror="true" output="/dev/null">
                      <arg value="installation.tex" />
                    </exec>
                    <move todir="target/site/duccbook-html" overwrite="true">
                      <fileset dir="src/site/tex/duccbook">
                        <include name="installation.html" />
                        <include name="installation.css" />
                      </fileset>
                    </move>
                    <delete file="src/site/tex/duccbook/installation.4ct" />
                    <delete file="src/site/tex/duccbook/installation.4tc" />
                    <delete file="src/site/tex/duccbook/installation.aux" />
                    <delete file="src/site/tex/duccbook/installation.dvi" />
                    <delete file="src/site/tex/duccbook/installation.idv" />
                    <delete file="src/site/tex/duccbook/installation.lg" />
                    <delete file="src/site/tex/duccbook/installation.log" />
                    <delete file="src/site/tex/duccbook/installation.tmp" />
                    <delete file="src/site/tex/duccbook/installation.xref" />
                    <echo message="Completed installation HTML" />

                    <echo message="Building duccbook Installation PDF" />
                    <mkdir dir="target/site/duccbook-pdf" />
                    <exec executable="pdflatex" dir="src/site/tex/duccbook" failonerror="true" output="/dev/null">
                      <arg value="-output-directory=../../../../target/site/duccbook-pdf" />
                      <arg value="-interaction=errorstopmode" />
                      <arg value="installation.tex" />
                    </exec>

                    <!-- must be run twice to correctly gen the xrefs, TOC, etc. -->
                    <!-- htlatex by default runs enough to get xrefs and TOC -->
                    <exec executable="pdflatex" dir="src/site/tex/duccbook" output="/dev/null">
                      <arg value="-output-directory=../../../../target/site/duccbook-pdf" />
                      <arg value="installation.tex" />
                    </exec>

                    <echo message="Completed duccbook Installation PDF" />

                    <exec executable="latex" dir="src/site/tex/duccbook" output="/dev/null">
                      <arg value="-output-directory=../../../../target/site/duccbook-install" />
                      <arg value="installation.tex" />
                    </exec>
                    <delete file="target/site/duccbook-pdf/installation.aux" />
                    <delete file="target/site/duccbook-pdf/installation.log" />
                    <delete file="target/site/duccbook-pdf/installation.out" />
                    <echo message="Completed duccbook Installation PDF" />

                    <!-- must be run twice to correctly gen the xrefs, TOC, etc. -->
                    <!-- htlatex by default runs enough to get xrefs and TOC -->
                    <exec executable="dvi2tty" dir="target/site/duccbook-install" output="/dev/null">
                      <arg value="-oINSTALL" />
                      <arg value="-w132" />
                      <arg value="-l" />
                      <arg value="installation.dvi" />
                    </exec>
                    <delete file="target/site/duccbook-install/installation.aux" />
                    <delete file="target/site/duccbook-install/installation.log" />
                    <delete file="target/site/duccbook-install/installation.out" />
                    <delete file="target/site/duccbook-install/installation.dvi" />
                    <echo message="Completed duccbook Installation Text file as INSTALL" />

                    <echo message="Building duccbook PDF" />

                    <mkdir dir="target/site/duccbook-pdf" />
                    <exec executable="pdflatex" dir="src/site/tex/duccbook" output="target/site/duccbook-pdf/duccbook.cons" failonerror="true"> 
                      <arg value="-output-directory=../../../../target/site/duccbook-pdf" />
                      <arg value="-interaction=errorstopmode" />
                      <arg value="duccbook.tex" />
                    </exec>

                    <!-- must be run twice to correctly gen the xrefs, TOC, etc. -->
                    <!-- htlatex by default runs enough to get xrefs and TOC -->
                    <exec executable="pdflatex" dir="src/site/tex/duccbook" output="/dev/null">
                      <arg value="-output-directory=../../../../target/site/duccbook-pdf" />
                      <arg value="duccbook.tex" />
                    </exec>
                    <delete file="target/site/duccbook-pdf/duccbook.aux" />
                    <delete file="target/site/duccbook-pdf/duccbook.lof" />
                    <delete file="target/site/duccbook-pdf/duccbook.log" />
                    <delete file="target/site/duccbook-pdf/duccbook.out" />
                    <delete file="target/site/duccbook-pdf/duccbook.toc" />
                    <delete file="target/site/duccbook-pdf/duccbook.cons" />
                    <echo message="Completed duccbook PDF" />
                  </target>
                </configuration>
              </execution>
            </executions>
          </plugin>

        </plugins>
      </build>
    
    </profile>
  
  </profiles>

</project>
