<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">
<!--
 * Copyright 2001-2009 The Apache Software Foundation.
 *
 * Licensed 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.
 *
 */ -->
  <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.apache.juddi.juddi-docs</groupId>
        <artifactId>juddi-guide-parent</artifactId>
        <version>3.3.6</version>
    </parent>
    <artifactId>juddi-client-guide</artifactId>
    <packaging>jdocbook</packaging>
    <name>jUDDI Client Guide</name>
    <description>The documentation for the Apache jUDDI Client and the UDDI TCK</description>

  <build>
    <plugins>
      <plugin>
        <groupId>org.asciidoctor</groupId>
        <artifactId>asciidoctor-maven-plugin</artifactId>
        <version>0.1.4</version>
        <executions>
          <execution>
            <id>output-docbook</id>
            <phase>generate-resources</phase>
            <goals>
              <goal>process-asciidoc</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <sourceDirectory>en-US</sourceDirectory>
          <outputDirectory>target/docbook/en-US</outputDirectory>
          <imagesDir>.</imagesDir>
          <backend>docbook5</backend>
          <doctype>book</doctype>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.jboss.maven.plugins</groupId>
        <artifactId>maven-jdocbook-plugin</artifactId>
        <version>2.3.8</version>
        <extensions>true</extensions>
        <dependencies>
          <dependency>
            <groupId>org.jboss.pressgang</groupId>
            <artifactId>pressgang-xslt-ns</artifactId>
            <version>3.0.0</version>
          </dependency>
          <dependency>
            <groupId>org.jboss.pressgang</groupId>
            <artifactId>pressgang-jdocbook-style</artifactId>
            <type>jdocbook-style</type>
            <version>3.0.0</version>
          </dependency>
        </dependencies>
        <configuration>
          <sourceDocumentName>ClientGuide.xml</sourceDocumentName>
          <sourceDirectory>target/docbook/</sourceDirectory>
          <imageResource>
            <directory>${project.parent.basedir}/</directory>
            <includes>
              <include>images/*</include>
              <include>images/community/*</include>
            </includes>
          </imageResource>
         
          <formats>
            <format>
              <formatName>html</formatName>
              <stylesheetResource>classpath:/xslt/org/jboss/pressgang/xhtml.xsl</stylesheetResource>
              <finalName>index.html</finalName>
            </format>
            <format>
              <formatName>html_single</formatName>
              <stylesheetResource>classpath:/xslt/org/jboss/pressgang/xhtml-single.xsl</stylesheetResource>
              <finalName>index.html</finalName>
            </format>

            <format>
              <formatName>pdf</formatName>
              <stylesheetResource>classpath:/xslt/org/jboss/pressgang/pdf.xsl</stylesheetResource>
              <finalName>jUDDI_Guide.pdf</finalName>
            </format>
          </formats>
          <options>
            <xincludeSupported>true</xincludeSupported>
            <xmlTransformerType>saxon</xmlTransformerType>
            <docbookVersion>1.72.0</docbookVersion>
            <transformerParameters>
              <property>
                <name>javax.xml.parsers.DocumentBuilderFactory</name>
                <value>org.apache.xerces.jaxp.DocumentBuilderFactoryImpl</value>
              </property>
              <property>
                <name>javax.xml.parsers.SAXParserFactory</name>
                <value>org.apache.xerces.jaxp.SAXParserFactoryImpl</value>
              </property>
            </transformerParameters>
          </options>
        </configuration>
      </plugin>
    </plugins>
    <pluginManagement>
      <plugins>
        <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the 
          Maven build itself. -->
        <plugin>
          <groupId>org.eclipse.m2e</groupId>
          <artifactId>lifecycle-mapping</artifactId>
          <version>1.0.0</version>
          <configuration>
            <lifecycleMappingMetadata>
              <pluginExecutions>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>org.asciidoctor</groupId>
                    <artifactId>asciidoctor-maven-plugin</artifactId>
                    <versionRange>[0.1.1,)</versionRange>
                    <goals>
                      <goal>process-asciidoc</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <ignore />
                  </action>
                </pluginExecution>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>org.jboss.maven.plugins</groupId>
                    <artifactId>maven-jdocbook-plugin</artifactId>
                    <versionRange>[2.3.8,)</versionRange>
                    <goals>
                      <goal>generate</goal>
                      <goal>resources</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <ignore />
                  </action>
                </pluginExecution>
              </pluginExecutions>
            </lifecycleMappingMetadata>
          </configuration>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>
     <profiles>
        <!-- START SNIPPET: release-profile -->
        <!-- this is borrowed from an nov 2009 apache-7 pom release attempt-->
        <profile>
            <id>apache-release</id>
            <build>
                <plugins>
                    <!-- Create a source-release artifact that contains the fully buildable
             project directory source structure. This is the artifact which is
             the official subject of any release vote. -->
                    <plugin>
                        <artifactId>maven-assembly-plugin</artifactId>
                        <dependencies>
                            <dependency>
                                <groupId>org.apache.apache.resources</groupId>
                                <artifactId>apache-source-release-assembly-descriptor</artifactId>
                                <version>1.0.1</version>
                            </dependency>
                            <dependency>
                                <!-- NOTE: The fix for PLXUTILS-120 is crucial for the new assembly descriptor -->
                                <groupId>org.codehaus.plexus</groupId>
                                <artifactId>plexus-utils</artifactId>
                                <version>2.0.1</version>
                            </dependency>
                        </dependencies>
                        <executions>
                            <execution>
                                <id>source-release-assembly</id>
                                <phase>package</phase>
                                <goals>
                                    <goal>single</goal>
                                </goals>
                                <configuration>
                                    <runOnlyAtExecutionRoot>true</runOnlyAtExecutionRoot>
                                    <descriptorRefs>
                                        <descriptorRef>${sourceReleaseAssemblyDescriptor}</descriptorRef>
                                    </descriptorRefs>
                                    <tarLongFileFormat>gnu</tarLongFileFormat>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <!-- END SNIPPET: release-profile -->
    </profiles>
</project>
