<?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>
		<sign-keystore>/path/to/jks.keystore</sign-keystore>
		<sign-alias>alias</sign-alias>
		<sign-storepass>storepass</sign-storepass>
		<sign-keypass>keypass</sign-keypass>
		<sign-skip>true</sign-skip>
		<verbose-log>false</verbose-log>
		<tsa>${tsa-uri}</tsa>
	</properties>
	<modelVersion>4.0.0</modelVersion>
	<groupId>tigase</groupId>
	<artifactId>tigase-unified-archive</artifactId>
	<packaging>bundle</packaging>
	<version>1.1.0-SNAPSHOT</version>
	<name>Tigase Unified Archive Component</name>
	<description>Extension of implementation of Message Archiving component for Tigase XMPP Server from Tigase Message Archiving project</description>
	<url>http://maven.apache.org</url>
	<scm>
		<connection>scm:git:https://repository.tigase.org/git/tigase-unified-archive.git</connection>
		<developerConnection>scm:git:https://repository.tigase.org/git/tigase-unified-archive.git</developerConnection>
		<url>https://projects.tigase.org/projects/tigase-unified-archive/repository</url>
	  <tag>HEAD</tag>
  </scm>
	
	<build>
		<plugins>
			<plugin>
				<groupId>com.github.wvengen</groupId>
				<artifactId>proguard-maven-plugin</artifactId>
				<version>2.0.8</version>
				<dependencies>
					<dependency>
						<groupId>net.sf.proguard</groupId>
						<artifactId>proguard-base</artifactId>
						<version>5.1</version>
						<scope>runtime</scope>
					</dependency>
				</dependencies>
				<executions>
					<execution>
						<id>Proguard ACS</id>
						<phase>package</phase>
						<goals>
							<goal>proguard</goal>
						</goals>
					</execution>
				</executions>
				<configuration>
					<options>
						<!--<option>-printseeds</option>-->
						<!--<option>-verbose</option>-->

						<option>-allowaccessmodification</option>

						<option>-dontwarn</option>
						<option>-dontshrink</option>
						<option>-dontoptimize</option>

						<option>-renamesourcefileattribute SourceFile</option>

						<option>-keeppackagenames</option>
						<option>-keepparameternames</option>

						<option>-keep public class * {public protected *;}</option>

						<option>-keepattributes Exceptions,InnerClasses,Signature,
							Deprecated,SourceFile,LineNumberTable,*Annotation*,EnclosingMethod</option>
					</options>
					<libs>
						<lib>${java.home}/lib/rt.jar</lib>
						<lib>${java.home}/lib/jce.jar</lib>
					</libs>
				</configuration>
			</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'
								}
								println "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.3.2</version>
				<configuration>
					<source>1.8</source>
					<target>1.8</target>
				</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}</Implementation-Version>
						<Implementation-Build>${gitVersion}/${buildNumber} (${maven.build.timestamp})</Implementation-Build>
						<Tigase-Required-Dependencies>tigase.server=${project.dependencies[0].version},tigase.archive=${project.dependencies[2].version}</Tigase-Required-Dependencies>
						<Bundle-Activator>tigase.archive.unified.Activator</Bundle-Activator>
						<Bundle-SymbolicName>${project.artifactId};singleton=true</Bundle-SymbolicName>
					</instructions>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-plugin</artifactId>
				<version>2.17</version>
				<configuration>
					<reuseForks>false</reuseForks>
				</configuration>
			</plugin>			
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-jarsigner-plugin</artifactId>
				<version>1.4</version>
				<executions>
					<execution>
						<id>sign</id>
						<goals>
							<goal>sign</goal>
						</goals>
					</execution>
				</executions>
				<configuration>
					<archiveDirectory>${project.basedir}</archiveDirectory>
					<includes>
						<include>target/tigase*.?ar</include>
						<include>jars/tigase*.?ar</include>
					</includes>
					<processMainArtifact>false</processMainArtifact>
					<processAttachedArtifacts>false</processAttachedArtifacts>
					<tsa>${tsa-uri}</tsa>
					<skip>${sign-skip}</skip>

					<keystore>${sign-keystore}</keystore>
					<alias>${sign-alias}</alias>
					<storepass>${sign-storepass}</storepass>
					<keypass>${sign-keypass}</keypass>
					<verbose>${verbose-log}</verbose>
				</configuration>
			</plugin>
		</plugins>
		<resources>
			<resource>
				<directory>database</directory>
				<targetPath>database</targetPath>
				<includes>
					<include>**/*.sql</include>
				</includes>
			</resource>			
			<resource>
				<directory>src/main/resources</directory>
			</resource>
            <resource>
                <directory>src/main/asciidoc</directory>
                <targetPath>documentation</targetPath>
                <includes>
                    <include>**/*.asciidoc</include>
                    <include>**/*.css</include>
                </includes>
            </resource>
			
		</resources>
	</build>
    <profiles>
        <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_Unified_Archive</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.0</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>2.9.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>

                                    <additionalparam>-Xdoclint:none</additionalparam>
                                </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>tigase</groupId>
			<artifactId>tigase-server</artifactId>
			<version>7.2.0-SNAPSHOT</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>tigase</groupId>
			<artifactId>tigase-server</artifactId>
			<version>7.2.0-SNAPSHOT</version>
			<type>test-jar</type>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>tigase</groupId>
			<artifactId>tigase-message-archiving</artifactId>
			<version>1.3.0-SNAPSHOT</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>org.apache.felix</groupId>
			<artifactId>org.osgi.core</artifactId>
			<version>1.4.0</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<version>5.1.40</version>
			<scope>test</scope>
		</dependency>	
		<dependency>
			<groupId>net.sourceforge.jtds</groupId>
			<artifactId>jtds</artifactId>
			<version>1.2.8</version>
			<scope>test</scope>
		</dependency>		
		<dependency>
			<groupId>org.postgresql</groupId>
			<artifactId>postgresql</artifactId>
			<version>9.4.1207</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.apache.derby</groupId>
			<artifactId>derby</artifactId>
			<version>10.12.1.1</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.12</version>
			<scope>test</scope>
		</dependency>	 
	</dependencies>
	<repositories>
		<repository>
			<id>tigase</id>
			<name>Tigase repository</name>
			<url>http://maven-repo.tigase.org/repository/release</url>
		</repository>
		<repository>
			<id>tigase-snapshot</id>
			<name>Tigase repository</name>
			<url>http://maven-repo.tigase.org/repository/snapshot</url>
			<snapshots>
				<enabled>true</enabled>
			</snapshots>
		</repository>
	</repositories>
	<distributionManagement>
		<repository>
			<id>tigase</id>
			<name>Tigase repository</name>
			<url>http://maven-repo.tigase.org/repository/release</url>
		</repository>
		<snapshotRepository>
			<id>tigase-snapshot</id>
			<name>Tigase snapshot repository</name>
			<url>http://maven-repo.tigase.org/repository/snapshot</url>
		</snapshotRepository>
	</distributionManagement>
</project>
