<?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">
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.build.timestamp.format>yyyy-MM-dd/HH:mm:ss</maven.build.timestamp.format>
    </properties>
    <modelVersion>4.0.0</modelVersion>
    <groupId>tigase</groupId>
    <artifactId>tigase-xmltools</artifactId>
    <version>4.0.2-SNAPSHOT</version>
    <name>Tigase XML Tools</name>
    <packaging>bundle</packaging>
    <description>Tigase XML Tools</description>
    <url>http://www.tigase.net/</url>
    <issueManagement>
        <system>Redmine</system>
        <url>https://projects.tigase.org/projects/tigase-xmltools</url>
    </issueManagement>
    <developers>
        <developer>
            <name>Artur Hefczyc</name>
            <roles>
                <role>architect</role>
                <role>developer</role>
            </roles>
        </developer>
    </developers>
    <licenses>
        <license>
            <name>GNU Affero General Public License</name>
            <url>http://www.gnu.org/licenses/agpl.txt</url>
        </license>
    </licenses>
    <scm>
        <connection>scm:git:https://github.com/tigase/tigase-xmltools.git</connection>
        <developerConnection>scm:git:https://github.com/tigase/tigase-xmltools.git</developerConnection>
        <url>https://github.com/tigase/tigase-xmltools</url>
        <tag>tigase-xmltools-4.0.0</tag>
    </scm>
    <organization>
        <name>Tigase</name>
        <url>http://www.tigase.org</url>
    </organization>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
                <version>3.0.1</version>
                <executions>
                    <execution>
                        <id>attach-javadocs</id>
                        <phase>package</phase>
                        <goals>
                            <goal>jar</goal>
                        </goals>
                        <configuration>
                            <source>1.8</source>
                            <quiet>true</quiet>
                            <aggregate>true</aggregate>
                            <includeDependencySources>true</includeDependencySources>
                            <dependencySourceIncludes>
                                <dependencySourceInclude>tigase:*</dependencySourceInclude>
                            </dependencySourceIncludes>

                            <finalName>${project.artifactId}-${project.version}-b${gitVersion}</finalName>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-source-plugin</artifactId>
                <version>2.4</version>
                <executions>
                    <execution>
                        <id>attach-sources</id>
                        <goals>
                            <goal>jar</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <artifactId>maven-release-plugin</artifactId>
                <version>2.5.1</version>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>buildnumber-maven-plugin</artifactId>
                <version>1.1</version>
                <configuration>
                    <timestampFormat>{0,date} {0,time}</timestampFormat>
                    <doCheck>false</doCheck>
                    <doUpdate>false</doUpdate>
                    <shortRevisionLength>8</shortRevisionLength>
                </configuration>
                <executions>
                    <execution>
                        <phase>validate</phase>
                        <goals>
                            <goal>create</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

            <plugin>
                <groupId>org.codehaus.gmaven</groupId>
                <artifactId>gmaven-plugin</artifactId>
                <version>1.5</version>
                <executions>
                    <execution>
                        <id>gitver</id>
                        <phase>validate</phase>
                        <goals>
                            <goal>execute</goal>
                        </goals>
                        <configuration>
                            <providerSelection>2.0</providerSelection>
                            <properties>
                                <script>git rev-list HEAD --count</script>
                            </properties>
                            <source>
                                def version
                                try {
                                    def command = project.properties.script
                                    def process = command.execute()
                                    process.waitFor()

                                    version = process.in.text.trim()
                                } catch (Exception e) {
                                    version = '0'
                                }
                                log.info("setting revision to: " + version)

                                project.properties.setProperty('gitVersion', version)

                            </source>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.5.1</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.felix</groupId>
                <artifactId>maven-bundle-plugin</artifactId>
                <version>2.4.0</version>
                <extensions>true</extensions>
                <configuration>
                    <instructions combine.inherited="append">
                        <Implementation-Title>${project.name}</Implementation-Title>
                        <Implementation-Version>${project.version}-b${gitVersion}/${buildNumber}
                            (${maven.build.timestamp})
                        </Implementation-Version>
                        <Implementation-Build>${gitVersion}/${buildNumber} (${maven.build.timestamp})
                        </Implementation-Build>
                        <Tigase-Version>${project.version}-b${gitVersion}</Tigase-Version>
                        <Export-Package>tigase.xml.*;version=${project.version}</Export-Package>
                        <Import-Package>!junit.*,!sun.*,!com.sun.*,*</Import-Package>
                        <DynamicImport-Package>*</DynamicImport-Package>
                        <Embed-Dependency>*;scope=compile|runtime;artifactId=!junit|org.osgi.core|slf4j-api
                        </Embed-Dependency>
                        <Bundle-SymbolicName>${project.artifactId};singleton=true</Bundle-SymbolicName>
                    </instructions>
                </configuration>
            </plugin>
        </plugins>

        <resources>
            <resource>
                <directory>src/main/asciidoc</directory>
                <targetPath>documentation</targetPath>
                <includes>
                    <include>**/*.asciidoc</include>
                    <include>**/*.css</include>
                </includes>
            </resource>
        </resources>
    </build>

    <profiles>
        <profile>
            <id>dev</id>
            <properties>
                <maven.javadoc.skip>true</maven.javadoc.skip>
            </properties>
            <build />
        </profile>

        <profile>
            <id>dist</id>
            <activation>
                <activeByDefault>false</activeByDefault>
                <property>
                    <name>dist</name>
                </property>
            </activation>
            <properties>
                <maven.javadoc.skip>false</maven.javadoc.skip>
                <dist_path>.</dist_path>
                <guide_name>Tigase_XML_Tools</guide_name>
                <guide_path>${dist_path}/docs/${guide_name}_Guide</guide_path>
                <guide_filename>index</guide_filename>
            </properties>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.asciidoctor</groupId>
                        <artifactId>asciidoctor-maven-plugin</artifactId>
                        <version>1.5.6</version>
                        <executions>
                            <execution>
                                <id>output-html</id>
                                <phase>generate-resources</phase>
                                <goals>
                                    <goal>process-asciidoc</goal>
                                </goals>
                                <configuration>
                                    <sourceHighlighter>coderay</sourceHighlighter>
                                    <backend>html5</backend>
                                    <preserveDirectories>true</preserveDirectories>
                                    <outputDirectory>${guide_path}/html</outputDirectory>
                                    <attributes>
                                        <toc>left</toc>
                                        <sectanchors>true</sectanchors>
                                        <linkcss>true</linkcss>
                                        <imagesdir>.</imagesdir>
                                    </attributes>
                                </configuration>
                            </execution>
                            <execution>
                                <id>output-docbook</id>
                                <phase>generate-resources</phase>
                                <goals>
                                    <goal>process-asciidoc</goal>
                                </goals>
                                <configuration>
                                    <preserveDirectories>true</preserveDirectories>
                                    <outputDirectory>${project.build.directory}/docbook/</outputDirectory>
                                    <backend>docbook</backend>
                                    <doctype>book</doctype>
                                    <attributes>
                                        <linkcss>true</linkcss>
                                        <imagesdir>.</imagesdir>
                                    </attributes>
                                </configuration>
                            </execution>
                        </executions>
                        <configuration>
                            <gemPath>gems-provided</gemPath>
                            <sourceDirectory>./src/main/asciidoc</sourceDirectory>
                            <sourceDocumentName>${guide_filename}.asciidoc</sourceDocumentName>
                            <attributes>
                                <endpoint-url>http://docs.tigase.org</endpoint-url>
                            </attributes>
                            <headerFooter>true</headerFooter>
                        </configuration>
                    </plugin>

                    <plugin>
                        <groupId>com.agilejava.docbkx</groupId>
                        <artifactId>docbkx-maven-plugin</artifactId>
                        <version>2.0.16</version>
                        <dependencies>
                            <dependency>
                                <groupId>net.sf.docbook</groupId>
                                <artifactId>docbook-xml</artifactId>
                                <version>5.0-all</version>
                                <classifier>resources</classifier>
                                <type>zip</type>
                                <scope>runtime</scope>
                            </dependency>
                            <dependency>
                                <groupId>net.sf.xslthl</groupId>
                                <artifactId>xslthl</artifactId>
                                <version>2.0.1</version>
                                <scope>runtime</scope>
                            </dependency>
                            <dependency>
                                <groupId>net.sf.offo</groupId>
                                <artifactId>fop-hyph</artifactId>
                                <version>1.2</version>
                                <scope>runtime</scope>
                            </dependency>
                        </dependencies>
                        <executions>
                            <execution>
                                <id>generate-webhelp</id>
                                <phase>generate-resources</phase>
                                <goals>
                                    <goal>generate-webhelp</goal>
                                </goals>
                                <configuration>
                                    <targetDirectory>${guide_path}/webhelp/</targetDirectory>
                                    <!--<imgSrcPath></imgSrcPath>-->
                                    <ignoreImageScaling>true</ignoreImageScaling>
                                    <postProcess>
                                        <copy todir="${guide_path}/webhelp/css">
                                            <fileset dir="src/main/asciidoc/css" />
                                        </copy>
                                        <copy todir="${guide_path}/webhelp/images">
                                            <fileset dir="src/main/asciidoc/images" />
                                        </copy>
                                    </postProcess>

                                </configuration>
                            </execution>
                            <execution>
                                <id>generate-pdf</id>
                                <phase>generate-resources</phase>
                                <goals>
                                    <goal>generate-pdf</goal>
                                </goals>
                                <configuration>
                                    <targetDirectory>${guide_path}/pdf/</targetDirectory>
                                    <imgSrcPath>${project.build.directory}/docbook/</imgSrcPath>
                                    <ignoreImageScaling>true</ignoreImageScaling>
                                    <fopLogLevel>OFF</fopLogLevel>
                                    <!--<defaultImageWidth>3cm</defaultImageWidth>-->
                                    <!--<ignoreImageScaling>true</ignoreImageScaling>-->
                                    <postProcess>
                                        <move file="${guide_path}/pdf/index.pdf" tofile="${guide_path}/pdf/${guide_name}_Guide.pdf" failonerror="false" />
                                    </postProcess>
                                </configuration>
                            </execution>
                            <execution>
                                <id>generate-html</id>
                                <phase>generate-resources</phase>
                                <goals>
                                    <goal>generate-html</goal>
                                </goals>
                                <configuration>
                                    <chunkedOutput>true</chunkedOutput>
                                    <targetDirectory>${guide_path}/html_chunk/</targetDirectory>
                                    <targetsFilename>true</targetsFilename>
                                    <useIdAsFilename>true</useIdAsFilename>
                                    <cssDecoration>true</cssDecoration>
                                    <annotationCss>true</annotationCss>
                                    <htmlStylesheet>css/docbook-xsl.css</htmlStylesheet>
                                    <postProcess>
                                        <copy todir="${guide_path}/html_chunk/css">
                                            <fileset dir="src/main/asciidoc/css" />
                                        </copy>
                                        <copy todir="${guide_path}/html_chunk/images">
                                            <fileset dir="src/main/asciidoc/images" />
                                        </copy>
                                    </postProcess>
                                </configuration>
                            </execution>
                        </executions>
                        <configuration>
                            <chunkedOutput>true</chunkedOutput>
                            <sourceDirectory>${project.build.directory}/docbook/</sourceDirectory>
                            <includes>${guide_filename}.xml</includes>
                            <!--<imgSrcPath></imgSrcPath>-->
                            <highlightSource>1</highlightSource>
                            <!--<foCustomization>src/docbkx/docbook-fo.xsl</foCustomization>-->
                            <hyphenate>true</hyphenate>
                            <hyphenateVerbatim>true</hyphenateVerbatim>
                        </configuration>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-javadoc-plugin</artifactId>
                        <version>3.0.1</version>
                        <executions>
                            <execution>
                                <id>attach-javadocs</id>
                                <phase>package</phase>
                                <goals>
                                    <goal>jar</goal>
                                </goals>
                                <configuration>
                                    <source>1.8</source>
                                    <quiet>true</quiet>
                                    <aggregate>true</aggregate>

                                    <reportOutputDirectory>${project.reporting.outputDirectory}/docs/javadoc
                                    </reportOutputDirectory>
                                    <destDir>docs/javadoc</destDir>

                                    <finalName>${project.artifactId}-${project.version}-b${gitVersion}</finalName>
                                    <jarOutputDirectory>pack</jarOutputDirectory>

                                </configuration>
                            </execution>
                        </executions>
                    </plugin>

                    <plugin>
                        <artifactId>maven-clean-plugin</artifactId>
                        <version>2.6</version>
                        <executions>
                            <execution>
                                <id>Remove *.fo file</id>
                                <goals>
                                    <goal>clean</goal>
                                </goals>
                            </execution>
                        </executions>
                        <configuration>
                            <filesets>
                                <fileset>
                                    <directory>${guide_path}/pdf/</directory>
                                    <followSymlinks>false</followSymlinks>
                                    <includes>
                                        <include>*.fo</include>
                                    </includes>
                                </fileset>
                            </filesets>
                        </configuration>
                    </plugin>
                </plugins>

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

    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.11</version>
            <scope>test</scope>
        </dependency>
    </dependencies>
    <repositories>
        <repository>
            <snapshots />
            <id>tigase</id>
            <name>Tigase repository</name>
            <url>https://maven-repo.tigase.net/repository/release</url>
        </repository>
        <repository>
            <id>tigase-snapshot</id>
            <name>Tigase repository</name>
            <url>https://maven-repo.tigase.net/repository/snapshot</url>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </repository>
    </repositories>
    <distributionManagement>
        <repository>
            <id>tigase</id>
            <name>Tigase repository</name>
            <url>https://maven-repo.tigase.net/repository/release</url>
        </repository>
        <snapshotRepository>
            <id>tigase-snapshot</id>
            <name>Tigase snapshot repository</name>
            <url>https://maven-repo.tigase.net/repository/snapshot</url>
        </snapshotRepository>
    </distributionManagement>
</project>
