<?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>3.0.1-SNAPSHOT</version>
		<relativePath>../uima-ducc-parent/pom.xml</relativePath>
	</parent>

    <artifactId>uima-ducc-duccdocs</artifactId>
    <name>${uima.ducc} ${project.artifactId}</name>
    <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/trunk/uima-ducc-duccdocs
    </connection>
	<developerConnection>
      scm:svn:https://svn.apache.org/repos/asf/uima/uima-ducc/trunk/uima-ducc-duccdocs
    </developerConnection>
	<url>
      http://svn.apache.org/viewvc/uima/uima-ducc/trunk/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" />
                    
                    
                    
                    
                    <!-- Relaible DUCC Design -->
                    
                    
                    <echo message="Building duccbook Reliable DUCC Design HTML" />
                    <mkdir dir="target/site/duccbook-html" />
                    <exec executable="htlatex" dir="src/site/tex/duccbook" failonerror="true" output="/dev/null">
                      <arg value="reliable-ducc.tex" />
                    </exec>
                    <move todir="target/site/duccbook-html" overwrite="true">
                      <fileset dir="src/site/tex/duccbook">
                        <include name="reliable-ducc.html" />
                        <include name="reliable-ducc.css" />
                      </fileset>
                    </move>
                    <delete file="src/site/tex/duccbook/reliable-ducc.4ct" />
                    <delete file="src/site/tex/duccbook/reliable-ducc.4tc" />
                    <delete file="src/site/tex/duccbook/reliable-ducc.aux" />
                    <delete file="src/site/tex/duccbook/reliable-ducc.dvi" />
                    <delete file="src/site/tex/duccbook/reliable-ducc.idv" />
                    <delete file="src/site/tex/duccbook/reliable-ducc.lg" />
                    <delete file="src/site/tex/duccbook/reliable-ducc.log" />
                    <delete file="src/site/tex/duccbook/reliable-ducc.tmp" />
                    <delete file="src/site/tex/duccbook/reliable-ducc.xref" />
                    <echo message="Completed reliable-ducc HTML" />

                    <echo message="Building duccbook Reliable DUCC Design 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="reliable-ducc.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="reliable-ducc.tex" />
                    </exec>

                    <echo message="Completed duccbook Reliable DUCC Design PDF" />

                    <exec executable="latex" dir="src/site/tex/duccbook" output="/dev/null">
                      <arg value="-output-directory=../../../../target/site/duccbook-install" />
                      <arg value="reliable-ducc.tex" />
                    </exec>
                    <delete file="target/site/duccbook-pdf/reliable-ducc.aux" />
                    <delete file="target/site/duccbook-pdf/reliable-ducc.log" />
                    <delete file="target/site/duccbook-pdf/reliable-ducc.out" />
                    <echo message="Completed duccbook Reliable DUCC Design 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="reliable-ducc.dvi" />
                    </exec>
                    <delete file="target/site/duccbook-install/reliable-ducc.aux" />
                    <delete file="target/site/duccbook-install/reliable-ducc.log" />
                    <delete file="target/site/duccbook-install/reliable-ducc.out" />
                    <delete file="target/site/duccbook-install/reliable-ducc.dvi" />
                    <delete file="src/site/tex/duccbook/reliable-ducc0x.png" />
                    <delete file="src/site/tex/duccbook/reliable-ducc1x.png" />
                    <echo message="Completed duccbook Reliable DUCC Design Text file as INSTALL" />
                    
                    <!-- /Relaible DUCC Design -->
                    
                    
                  </target>
                </configuration>
              </execution>
            </executions>
          </plugin>

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

</project>
