<?xml version="1.0" encoding="UTF-8"?>
<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.daisy</groupId>
    <artifactId>daisy</artifactId>
    <version>3</version>
    <relativePath />
  </parent>

  <groupId>org.daisy.libs</groupId>
  <artifactId>com.xmlcalabash</artifactId>
  <version>1.0.23</version>
  <packaging>jar</packaging>

  <name>XML Calabash</name>
  <description>XML Calabash is an implementation of XProc: An XML Pipeline Language.</description>
  <url>http://xmlcalabash.com/</url>
  <organization>
    <name>Norman Walsh</name>
  </organization>
  <licenses>
    <license>
      <name>Common Development and Distribution License</name>
      <url>http://www.opensource.org/licenses/CDDL-1.0</url>
    </license>
  </licenses>

  <properties>
    <calabash.tag>v1.0.23.95</calabash.tag>
    <sources.dir>${basedir}/target/sources</sources.dir>
  </properties>

  <dependencies>
    <!-- required -->
    <dependency>
      <groupId>net.sf.saxon</groupId>
      <artifactId>Saxon-HE</artifactId>
      <version>9.5.1-8</version>
    </dependency>
    <dependency>
      <groupId>org.apache.httpcomponents</groupId>
      <artifactId>httpclient</artifactId>
      <version>4.2.5</version>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
      <version>1.7.7</version>
    </dependency>
    <!-- optional -->
    <dependency>
      <groupId>commons-fileupload</groupId>
      <artifactId>commons-fileupload</artifactId>
      <version>1.3.1</version>
      <optional>true</optional>
    </dependency>
    <dependency>
      <groupId>com.thaiopensource</groupId>
      <artifactId>jing</artifactId>
      <version>20091111</version>
      <optional>true</optional>
      <exclusions>
        <exclusion>
          <groupId>net.sf.saxon</groupId>
          <artifactId>saxon</artifactId>
        </exclusion>
        <exclusion>
          <groupId>xml-apis</groupId>
          <artifactId>xml-apis</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>javax.mail</groupId>
      <artifactId>javax.mail-api</artifactId>
      <version>1.4.5</version>
      <optional>true</optional>
    </dependency>
    <dependency>
      <groupId>org.apache.ant</groupId>
      <artifactId>ant</artifactId>
      <version>1.8.4</version>
      <optional>true</optional>
    </dependency>
    <dependency>
      <groupId>org.ccil.cowan.tagsoup</groupId>
      <artifactId>tagsoup</artifactId>
      <version>1.2.1</version>
      <optional>true</optional>
    </dependency>
    <dependency>
      <groupId>nu.validator.htmlparser</groupId>
      <artifactId>htmlparser</artifactId>
      <version>1.4</version>
      <optional>true</optional>
    </dependency>
    <dependency>
      <groupId>xmlunit</groupId>
      <artifactId>xmlunit</artifactId>
      <version>1.3</version>
      <optional>true</optional>
    </dependency>
  </dependencies>

  <scm>
    <connection>scm:git:https://github.com/ndw/xmlcalabash1.git</connection>
    <tag>com.xmlcalabash-1.0.23</tag>
  </scm>

  <build>
    <sourceDirectory>${sources.dir}</sourceDirectory>

    <extensions>
      <extension>
        <groupId>org.apache.maven.wagon</groupId>
        <artifactId>wagon-ssh-external</artifactId>
        <version>1.0</version>
      </extension>
    </extensions>

    <plugins>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
          <excludes>
            <exclude>**</exclude>
          </excludes>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-scm-plugin</artifactId>
        <version>1.9.2</version>
        <executions>
          <execution>
            <id>checkout</id>
            <phase>generate-sources</phase>
            <goals>
              <goal>checkout</goal>
            </goals>
            <configuration>
              <checkoutDirectory>${sources.dir}</checkoutDirectory>
              <scmVersionType>tag</scmVersionType>
              <scmVersion>${calabash.tag}</scmVersion>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-patch-plugin</artifactId>
        <version>1.1.1</version>
        <configuration>
          <naturalOrderProcessing>true</naturalOrderProcessing>
        </configuration>
        <executions>
          <execution>
            <id>patch</id>
            <phase>process-sources</phase>
            <goals>
              <goal>apply</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <artifactId>maven-antrun-plugin</artifactId>
        <executions>
          <execution>
            <id>build-jar</id>
            <phase>compile</phase>
            <goals>
              <goal>run</goal>
            </goals>
            <configuration>
              <target>
                <property name="ant.build.javac.source" value="1.6" />
                <property name="ant.build.javac.target" value="1.6" />
                <ant dir="${sources.dir}" target="jar" />
              </target>
            </configuration>
          </execution>
          <execution>
            <id>copy-jar</id>
            <phase>package</phase>
            <goals>
              <goal>run</goal>
            </goals>
            <configuration>
              <target>
                <copy file="${sources.dir}/calabash.jar" tofile="${project.build.directory}/${project.artifactId}-${project.version}.${project.packaging}" overwrite="true" verbose="true" />
              </target>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>

  <profiles>
    <profile>
      <id>sonatype-oss-release</id>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-source-plugin</artifactId>
            <executions>
              <execution>
                <id>attach-sources</id>
                <phase>none</phase>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <artifactId>maven-javadoc-plugin</artifactId>
            <version>2.9.1</version>
            <executions>
              <execution>
                <id>attach-javadocs</id>
                <phase>none</phase>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <artifactId>maven-antrun-plugin</artifactId>
            <executions>
              <execution>
                <id>javadoc</id>
                <phase>compile</phase>
                <goals>
                  <goal>run</goal>
                </goals>
                <configuration>
                  <target>
                    <path id="build.classpath">
                      <fileset dir="${sources.dir}/lib">
                        <include name="*.jar" />
                      </fileset>
                      <!-- <pathelement location="${sources.dir}/lib" /> -->
                    </path>
                    <javadoc destdir="${project.build.directory}/javadoc" classpathref="build.classpath">
                      <fileset dir="${sources.dir}/src" defaultexcludes="yes">
                        <include name="**" />
                        <exclude name="com/xmlcalabash/extensions/MetadataExtractor.java" />
                        <exclude name="com/xmlcalabash/extensions/DiTAA.java" />
                        <exclude name="com/xmlcalabash/extensions/PlantUML.java" />
                        <exclude name="com/xmlcalabash/extensions/DeltaXML.java" />
                        <exclude name="com/xmlcalabash/extensions/SendMail.java" />
                        <exclude name="com/xmlcalabash/extensions/xmlunit/Compare.java" />
                        <exclude name="com/xmlcalabash/extensions/marklogic/XCCAdhocQuery.java" />
                        <exclude name="com/xmlcalabash/extensions/marklogic/XCCInsertDocument.java" />
                        <exclude name="com/xmlcalabash/extensions/marklogic/XCCInvokeModule.java" />
                        <exclude name="com/xmlcalabash/extensions/Sparql.java" />
                        <exclude name="com/xmlcalabash/extensions/RDFa.java" />
                        <exclude name="com/xmlcalabash/extensions/RDFLoad.java" />
                        <exclude name="com/xmlcalabash/extensions/RDFStep.java" />
                        <exclude name="com/xmlcalabash/extensions/RDFStore.java" />
                        <exclude name="com/xmlcalabash/util/FoXEP.java" />
                        <exclude name="com/xmlcalabash/util/FoFOP.java" />
                        <exclude name="com/xmlcalabash/util/FoAH.java" />
                        <exclude name="com/xmlcalabash/util/CssAH.java" />
                        <exclude name="com/xmlcalabash/util/CssPrince.java" />
                        <exclude name="com/xmlcalabash/drivers/SaxonProblem.java" />
                      </fileset>
                    </javadoc>
                  </target>
                </configuration>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <artifactId>maven-assembly-plugin</artifactId>
            <executions>
              <execution>
                <id>attach-sources</id>
                <phase>package</phase>
                <goals>
                  <goal>single</goal>
                </goals>
                <configuration>
                  <descriptors>
                    <descriptor>sources.xml</descriptor>
                    <descriptor>javadoc.xml</descriptor>
                  </descriptors>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>
</project>
