<?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/maven-v4_0_0.xsd">
 <!-- 
* @@@ START COPYRIGHT @@@                                                       
*
* 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.
*
* @@@ END COPYRIGHT @@@
-->
  <modelVersion>4.0.0</modelVersion>
  <groupId>org.apache.trafodion</groupId>
  <artifactId>command-interface-guide</artifactId>
  <version>${env.TRAFODION_VER}</version>
  <packaging>pom</packaging>
  <name>Trafodion Command Interface Guide</name>
  <description>This guide describes how to use the Trafodion Command Interface (TrafCI).</description>
  <url>http://trafodion.incubator.apache.org</url>
  <inceptionYear>2015</inceptionYear>

  <parent>
    <groupId>org.apache.trafodion</groupId>
    <artifactId>trafodion</artifactId>
    <relativePath>../../pom.xml</relativePath>
    <version>1.3.0</version>
  </parent>


  <licenses>
    <license>
      <name>The Apache Software License, Version 2.0</name>
      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
      <distribution>repo</distribution>
      <comments>A business-friendly OSS license</comments>
    </license>
  </licenses>

  <organization>
    <name>Apache Software Foundation</name>
    <url>http://www.apache.org</url>
  </organization>

  <issueManagement>
    <system>JIRA</system>
    <url>http://issues.apache.org/jira/browse/TRAFODION</url>
  </issueManagement>

  <scm>
    <connection>scm:git:http://git-wip-us.apache.org/repos/asf/incubator-trafodion.git</connection>
    <developerConnection>scm:git:https://git-wip-us.apache.org/repos/asf/incubator-trafodion.git</developerConnection>
    <url>https://git-wip-us.apache.org/repos/asf?p=incubator-trafodion.git</url>
    <tag>HEAD</tag>
  </scm>

  <ciManagement>
    <system>Jenkins</system>
    <url>https://jenkins.esgyn.com</url>
  </ciManagement>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <asciidoctor.maven.plugin.version>1.5.2.1</asciidoctor.maven.plugin.version>
    <asciidoctorj.pdf.version>1.5.0-alpha.11</asciidoctorj.pdf.version>
    <asciidoctorj.version>1.5.4</asciidoctorj.version>
    <rubygems.prawn.version>2.0.2</rubygems.prawn.version>
    <jruby.version>9.0.4.0</jruby.version>
    <dependency.locations.enabled>false</dependency.locations.enabled>
  </properties>

  <repositories>
    <repository>
      <id>rubygems-proxy-releases</id>
      <name>RubyGems.org Proxy (Releases)</name>
      <url>http://rubygems-proxy.torquebox.org/releases</url>
      <releases>
        <enabled>true</enabled>
      </releases>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </repository>
  </repositories>
  
  <dependencies>
    <dependency>
      <groupId>rubygems</groupId>
      <artifactId>prawn</artifactId>
      <version>${rubygems.prawn.version}</version>
      <type>gem</type>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.jruby</groupId>
      <artifactId>jruby-complete</artifactId>
      <version>${jruby.version}</version>
    </dependency>
    <dependency>
      <groupId>org.asciidoctor</groupId>
      <artifactId>asciidoctorj</artifactId>
      <version>${asciidoctorj.version}</version>
    </dependency>
  </dependencies>

  <build>
    <plugins>
      <plugin>
        <groupId>de.saumya.mojo</groupId>
        <artifactId>gem-maven-plugin</artifactId>
        <version>1.0.10</version>
        <configuration>
          <!-- align JRuby version with AsciidoctorJ to avoid redundant downloading -->
          <jrubyVersion>${jruby.version}</jrubyVersion>
          <gemHome>${project.build.directory}/gems</gemHome>
          <gemPath>${project.build.directory}/gems</gemPath>
        </configuration>
        <executions>
          <execution>
            <goals>
              <goal>initialize</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-resources-plugin</artifactId>
        <version>2.7</version>
        <configuration>
          <encoding>UTF-8</encoding>
          <attributes>
            <generateReports>false</generateReports>
          </attributes>
        </configuration>
      </plugin>
      <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>
          <dependency>
            <groupId>org.asciidoctor</groupId>
            <artifactId>asciidoctorj</artifactId>
            <version>${asciidoctorj.version}</version>
          </dependency>
        </dependencies>
        <configuration>
          <sourceDirectory>${basedir}/src</sourceDirectory>
        </configuration>
        <executions>
          <execution>
            <id>generate-html-doc</id> 
            <goals>
              <goal>process-asciidoc</goal> 
            </goals>
            <phase>site</phase>
            <configuration>
              <doctype>book</doctype>
              <backend>html5</backend>
              <sourceHighlighter>coderay</sourceHighlighter>
              <outputDirectory>${basedir}/target/site</outputDirectory>
              <requires>
                <require>${basedir}/../shared/google-analytics-postprocessor.rb</require>
              </requires>
              <attributes>
                <!-- Location of centralized stylesheet -->
                <stylesheet>${basedir}/../shared/trafodion-manuals.css</stylesheet>
                <project-version>${env.TRAFODION_VER}</project-version>
                <project-name>Trafodion</project-name>
                <project-logo>${basedir}/../shared/trafodion-logo.jpg</project-logo>
                <project-support>user@trafodion.incubator.apache.org</project-support>
                <docs-url>http://trafodion.incubator.apache.org/docs</docs-url>
                <build-date>${maven.build.timestamp}</build-date>
                <google-analytics-account>UA-72491210-1</google-analytics-account>
              </attributes>
            </configuration>
          </execution>
          <execution>
            <id>generate-pdf-doc</id>
            <phase>site</phase>
            <goals>
              <goal>process-asciidoc</goal>
            </goals>
            <configuration>
              <doctype>book</doctype>
              <backend>pdf</backend>
              <sourceHighlighter>coderay</sourceHighlighter>
              <outputDirectory>${basedir}/target</outputDirectory>
              <attributes>
                <project-version>${env.TRAFODION_VER}</project-version>
                <project-name>Trafodion</project-name>
                <project-logo>${basedir}/../shared/trafodion-logo.jpg</project-logo>
                <project-support>user@trafodion.incubator.apache.org</project-support>
                <docs-url>http://trafodion.incubator.apache.org/docs</docs-url>
                <build-date>${maven.build.timestamp}</build-date>
                <pdf-stylesdir>${basedir}/../shared</pdf-stylesdir>
                <pdf-style>trafodion</pdf-style>
                <icons>font</icons>
                <pagenums/>
                <toc/>
                <idprefix/>
                <idseparator>-</idseparator>
              </attributes>
            </configuration>
          </execution>
        </executions>
      </plugin> 
      <!-- Copy files to the web-site end destinations. -->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-antrun-plugin</artifactId>
        <version>1.8</version>
        <inherited>false</inherited>
        <executions>
          <execution>
            <id>populate-release-directories</id>
            <phase>post-site</phase>
            <configuration>
              <target name="Populate Release Directories">
                <!-- The website uses the following organization for the docs/target/docs directory:
                  - To ensure a known location, the base directory contains the LATEST version of the web book and the PDF files.
                  - The know location is docs/target/docs/<document>
                  - target/docs/<version>/<document> contains version-specific renderings of the documents.
                  - target/docs/<version>/<document> contains the PDF version and the web book. The web book is named index.html
                --> 
                <!-- Copy the PDF file to its target directories -->
                <copy file="${basedir}/target/index.pdf" tofile="${basedir}/../target/docs/command_interface/Trafodion_Command_Interface_Guide.pdf" />
                <copy file="${basedir}/target/index.pdf" tofile="${basedir}/../target/docs/${project.version}/command_interface/Trafodion_Command_Interface_Guide.pdf" />
                <!-- Copy the Web Book files to their target directories -->
                <copy todir="${basedir}/../target/docs/command_interface">
                  <fileset dir="${basedir}/target/site">
                    <include name="**/*.*"/>  <!--All sub-directories, too-->
                  </fileset>
                </copy>
                <copy todir="${basedir}/../target/docs/${project.version}/command_interface">
                  <fileset dir="${basedir}/target/site">
                    <include name="**/*.*"/>  <!--All sub-directories, too-->
                  </fileset>
                </copy>
              </target>
            </configuration>
            <goals>
              <goal>run</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>

  <!-- Included because this is required. No reports are generated. -->
  <reporting>
    <excludeDefaults>true</excludeDefaults>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-project-info-reports-plugin</artifactId>
        <version>2.8</version>
        <reportSets>
          <reportSet>
            <reports>
            </reports>
          </reportSet>
        </reportSets>
      </plugin>
    </plugins>
  </reporting>

  <distributionManagement>
    <site>
      <id>trafodion.incubator.apache.org</id>
      <name>Trafodion Website at incubator.apache.org</name>
      <!-- On why this is the tmp dir and not trafodion.incubator.apache.org, see
      https://issues.apache.org/jira/browse/HBASE-7593?focusedCommentId=13555866&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-13555866
      -->
      <url>file:///tmp</url>
    </site>
  </distributionManagement>
</project>
