<?xml version="1.0" encoding="UTF-8"?>

<!--
  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.
-->

<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">
	<modelVersion>4.0.0</modelVersion>

	<parent>
		<groupId>org.apache.odftoolkit</groupId>
		<artifactId>odftoolkit</artifactId>
		<version>0.7.0-incubating-SNAPSHOT</version>
	</parent>
  
	<artifactId>odfdom-java</artifactId>
	<version>0.9.0-incubating-SNAPSHOT</version>
	<packaging>jar</packaging>

	<dependencies>
		<dependency>
			<groupId>${project.groupId}</groupId>
			<artifactId>taglets</artifactId>
			<version>${project.version}</version>
		</dependency>
		<dependency>
			<groupId>xerces</groupId>
			<artifactId>xercesImpl</artifactId>
		</dependency>
        <dependency>
            <groupId>xml-apis</groupId>
            <artifactId>xml-apis</artifactId>
        </dependency>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<scope>test</scope>
		</dependency>
        <dependency>
            <groupId>org.apache.jena</groupId>
            <artifactId>jena-core</artifactId>
        </dependency>
        <dependency>
			<groupId>org.apache.jena</groupId>
			<artifactId>jena-core</artifactId>
            <classifier>tests</classifier>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>net.rootdev</groupId>
			<artifactId>java-rdfa</artifactId>
		</dependency>        
		<dependency>
			<groupId>commons-validator</groupId>
			<artifactId>commons-validator</artifactId>
		</dependency>
	</dependencies>
	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<maven.build.timestamp.format>yyyy-MM-dd'T'HH:mm:ss</maven.build.timestamp.format>
	</properties>

	<!-- Build Settings -->
	<build>
		<extensions>
			<extension>
				<groupId>org.apache.maven.wagon</groupId>
				<artifactId>wagon-webdav-jackrabbit</artifactId>
				<version>2.12</version>
			</extension>
		</extensions>
		<plugins>
			<plugin>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.6.1</version>
				<configuration>
                    <!-- defined in the parent pom.xml -->
					<source>${jdk.version}</source>
					<target>${jdk.version}</target>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-jar-plugin</artifactId>
				<version>3.0.2</version>
				<configuration>
					<archive>
						<index>true</index>
						<manifest>
							<mainClass>org.odftoolkit.odfdom.JarManifest</mainClass>
						</manifest>
						<manifestEntries>
							<version>${project.version}</version>
						</manifestEntries>
						<manifestSections>
							<manifestSection>
								<name>ODFDOM</name>
								<manifestEntries>
									<ODFDOM-Name>odfdom</ODFDOM-Name>
									<ODFDOM-Version>${project.version}</ODFDOM-Version>
									<ODFDOM-Website>http://incubator.apache.org/odftoolkit/odfdom/index.html</ODFDOM-Website>
									<ODFDOM-Built-Date>${build.timestamp}</ODFDOM-Built-Date>
									<ODFDOM-Supported-Odf-Version>1.2</ODFDOM-Supported-Odf-Version>
								</manifestEntries>
							</manifestSection>
						</manifestSections>
					</archive>
				</configuration>
			</plugin>
			<plugin>
				<artifactId>maven-release-plugin</artifactId>
				<version>2.5.3</version>
				<configuration>
					<!-- Workaround for http://jira.codehaus.org/browse/MGPG-9 -->
					<mavenExecutorId>forked-path</mavenExecutorId>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-plugin</artifactId>				
				<version>2.20</version>
				<configuration>
					<forkMode>pertest</forkMode>
					<systemPropertyVariables>
						<odfdom.version>${project.version}</odfdom.version>
						<odfdom.timestamp>${build.timestamp}</odfdom.timestamp>
						<org.odftoolkit.odfdom.validation>org.odftoolkit.odfdom.pkg.DefaultErrorHandler</org.odftoolkit.odfdom.validation>
					</systemPropertyVariables>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-javadoc-plugin</artifactId>
				<version>2.10.4</version>
				<configuration>
					<doctitle>ODFDOM</doctitle>
					<links>
						<link>http://docs.oracle.com/javase/8/docs/api/</link>
						<link>http://xerces.apache.org/xerces-j/apiDocs/</link>						
					</links>
					<splitindex>true</splitindex>
					<windowtitle>ODFDOM API v${project.version} - http://incubator.apache.org/odftoolkit/</windowtitle>
					<taglets>
						<taglet>
							<tagletClass>org.odftoolkit.odfdom.taglet.OdfElementTaglet</tagletClass>
						</taglet>
						<taglet>
							<tagletClass>org.odftoolkit.odfdom.taglet.OdfAttributeTaglet</tagletClass>
						</taglet>
						<taglet>
							<tagletClass>org.odftoolkit.odfdom.taglet.OdfDatatypeTaglet</tagletClass>
						</taglet>
					</taglets>
					<tagletArtifact>
						<groupId>${project.groupId}</groupId>
						<artifactId>taglets</artifactId>
						<version>${project.version}</version>
					</tagletArtifact>
				</configuration>
				<executions> 
					<execution>
						<id>attach-javadocs</id>
						<goals>
							<goal>jar</goal>
						</goals>                        
                        <configuration>
                            <additionalparam>${javadoc.opts}</additionalparam>
                        </configuration>
					</execution>          
				</executions>
			</plugin>
			<plugin>
				<artifactId>maven-source-plugin</artifactId>
				<version>3.0.1</version>
				<executions>
					<execution>
						<id>attach-sources</id>
						<goals>
							<goal>jar</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<artifactId>maven-assembly-plugin</artifactId>
				<configuration>
					<archive>
						<index>true</index>
						<manifest>
							<mainClass>org.odftoolkit.odfdom.JarManifest</mainClass>
						</manifest>
						<manifestEntries>
							<version>${project.version}</version>
						</manifestEntries>
						<manifestSections>
							<manifestSection>
								<name>ODFDOM</name>
								<manifestEntries>
									<ODFDOM-Name>odfdom</ODFDOM-Name>
									<ODFDOM-Version>${project.version}</ODFDOM-Version>
									<ODFDOM-Website>http://incubator.apache.org/odftoolkit/odfdom/index.html</ODFDOM-Website>
									<ODFDOM-Built-Date>${build.timestamp}</ODFDOM-Built-Date>
									<ODFDOM-Supported-Odf-Version>1.2</ODFDOM-Supported-Odf-Version>
								</manifestEntries>
							</manifestSection>
						</manifestSections>
					</archive>
					<descriptorRefs>
						<descriptorRef>jar-with-dependencies</descriptorRef>
					</descriptorRefs>
				</configuration>
				<executions>
					<execution>
						<id>single</id>
						<phase>package</phase>
						<goals>
							<goal>single</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.rat</groupId>
				<artifactId>apache-rat-plugin</artifactId>
				<configuration>
					<excludes>
						<exclude>src/main/resources/**</exclude>
						<exclude>src/test/resources/**</exclude>
						<exclude>src/main/javadoc/doc-files/OpenDocument-v1.2-part1.html</exclude>
						<exclude>src/main/javadoc/doc-files/OpenDocument-v1.2-part3.html</exclude>
						<exclude>src/codegen/resources/dom/*.rng</exclude>
						<exclude>src/codegen/resources/pkg/*.rng</exclude>
					</excludes>
				</configuration>
			</plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-failsafe-plugin</artifactId>
                <version>2.20</version>
                <configuration>
                    <excludes>                                        
                        <exclude>**/PerformanceIT.java</exclude>
                    </excludes>
					<systemPropertyVariables>
						<odfdom.version>${project.version}</odfdom.version>
						<org.odftoolkit.odfdom.validation>org.odftoolkit.odfdom.pkg.DefaultErrorHandler</org.odftoolkit.odfdom.validation>
					</systemPropertyVariables>
                </configuration>                
                <executions>
                    <execution>
                        <id>failsafe-it</id>
                        <goals>
                            <goal>integration-test</goal>
                            <goal>verify</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>     
		</plugins>
	</build>
	<reporting>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-javadoc-plugin</artifactId>
				<version>2.10.4</version>
				<configuration>
					<doctitle>ODFDOM</doctitle>
					<minmemory>512m</minmemory>
					<maxmemory>1024m</maxmemory>
					<links>
						<link>http://download.oracle.com/javase/8/docs/api/</link>
						<link>http://xerces.apache.org/xerces-j/apiDocs/</link>
					</links>
					<splitindex>true</splitindex>
					<windowtitle>ODFDOM API v${project.version} - http://incubator.apache.org/odftoolkit/</windowtitle>
				</configuration>
			</plugin>
			<!-- Code Coverage Testing generated by Cobertura -->
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>cobertura-maven-plugin</artifactId>
				<version>2.7</version>
				<configuration>
					<instrumentation>
						<excludes>
							<exclude>org/odftoolkit/**/*Test.class</exclude>
						</excludes>
					</instrumentation>
				</configuration>
			</plugin>
			<!-- Reporting integration test results -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-failsafe-plugin</artifactId>
				<version>2.20</version>
				<reportSets>
					<reportSet>
						<id>integration-tests</id>
						<reports>
							<report>report-only</report>
						</reports>
						<configuration>
							<outputName>failsafe-report</outputName>
						</configuration>
					</reportSet>
				</reportSets>
			</plugin>
		</plugins>
	</reporting>

	<!-- More Project Information -->
	<name>ODFDOM</name>
	<description>
		ODFDOM is an OpenDocument Format (ODF) framework. Its purpose
		is to provide an easy common way to create, access and
		manipulate ODF files, without requiring detailed knowledge of
		the ODF specification. It is designed to provide the ODF
		developer community with an easy lightwork programming API
		portable to any object-oriented language.

		The current reference implementation is written in Java.
	</description>
	<url>http://incubator.apache.org/odftoolkit/odfdom/index.html</url>
	<inceptionYear>2008</inceptionYear>
    
	<licenses>
		<license>
			<name>Apache 2</name>
			<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
		</license>
	</licenses>
	<organization>
		<name>The Apache Software Foundation</name>
		<url>http://www.apache.org/</url>
	</organization>

	<scm>
		<connection>scm:svn:http://svn.apache.org/repos/asf/incubator/odf/trunk/odfdom</connection>
		<developerConnection>scm:svn:https://svn.apache.org/repos/asf/incubator/odf/trunk/odfdom</developerConnection>
		<url>http://svn.apache.org/viewvc/incubator/odf/trunk/odfdom</url>
	</scm>
	<profiles>
		<profile>
			<id>codegen</id>
			<build>
				<plugins>
					<plugin>
						<groupId>org.codehaus.mojo</groupId>
						<artifactId>wagon-maven-plugin</artifactId>
						<version>1.0</version>
						<executions>
							<execution>
								<id>download-odf-schema-v1.2</id>
								<phase>validate</phase>
								<goals>
									<goal>download-single</goal>
								</goals>
								<configuration>
									<url>dav:http://docs.oasis-open.org/office/v1.2</url>
									<fromFile>os/OpenDocument-v1.2-os-schema.rng</fromFile>
									<toDir>${project.build.directory}/odf-schemas</toDir>
								</configuration>
							</execution>
							<execution>
								<id>download-odf-manifest-schema-v1.2</id>
								<phase>validate</phase>
								<goals>
									<goal>download-single</goal>
								</goals>
								<configuration>
									<url>dav:http://docs.oasis-open.org/office/v1.2</url>
									<fromFile>os/OpenDocument-v1.2-os-manifest-schema.rng</fromFile>
									<toDir>${project.build.directory}/odf-schemas</toDir>
								</configuration>
							</execution>
							<execution>
								<id>download-odf-dsig-schema-v1.2</id>
								<phase>validate</phase>
								<goals>
									<goal>download-single</goal>
								</goals>
								<configuration>
									<url>dav:http://docs.oasis-open.org/office/v1.2</url>
									<fromFile>os/OpenDocument-v1.2-os-dsig-schema.rng</fromFile>
									<toDir>${project.build.directory}/odf-schemas</toDir>
								</configuration>
							</execution>
							<execution>
								<id>download-odf-schema-v1.1</id>
								<phase>validate</phase>
								<goals>
									<goal>download-single</goal>
								</goals>
								<configuration>
									<url>dav:http://docs.oasis-open.org/office/v1.1</url>
									<fromFile>OS/OpenDocument-schema-v1.1.rng</fromFile>
									<toDir>${project.build.directory}/odf-schemas</toDir>
								</configuration>
							</execution>
						</executions>
					</plugin>
					<plugin>
						<groupId>${project.groupId}</groupId>
						<artifactId>schema2template-maven-plugin</artifactId>
						<version>${project.version}</version>
						<executions>
							<execution>
								<id>dom</id>
								<phase>generate-sources</phase>
								<goals>
									<goal>codegen</goal>
								</goals>
								<!-- DOM LAYER CONFIGURATION -->
								<configuration>
									<targetRoot>${basedir}/src/main/java/</targetRoot>
									<domResourceRoot>${basedir}/src/codegen/resources/dom/template</domResourceRoot>
									<pkgResourceRoot>${basedir}/src/codegen/resources/pkg/template</pkgResourceRoot>
									<odf12SchemaFile>${project.build.directory}/odf-schemas/OpenDocument-v1.2-os-schema.rng</odf12SchemaFile>
									<odf11SchemaFile>${project.build.directory}/odf-schemas/OpenDocument-schema-v1.1.rng</odf11SchemaFile>
									<signatureSchemaFile>${project.build.directory}/odf-schemas/OpenDocument-v1.2-os-dsig-schema.rng</signatureSchemaFile>
									<manifestSchemaFile>${project.build.directory}/odf-schemas/OpenDocument-v1.2-os-manifest-schema.rng</manifestSchemaFile>
									<configFile>${basedir}/src/codegen/resources/config.xml</configFile>
								</configuration>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>
		<!--
		<profile>
			<id>codegen-pkg</id>
			<activation>
			  <activeByDefault>true</activeByDefault>
			</activation>
			<build>
				<defaultGoal>install</defaultGoal>
				<plugins>
					<plugin>
						<groupId>org.odftoolkit</groupId>
						<artifactId>maven-codegen-plugin</artifactId>
						<version>0.8</version>
						<executions>
							<execution>
								<id>pkg</id>
								<phase>generate-sources</phase>
								<goals>
									<goal>codegen</goal>
								</goals>
								<configuration>
									<sourceRoot>${basedir}/src/main/java</sourceRoot>
									<schemaFile>${basedir}/src/codegen/resources/pkg/OpenDocument-manifest-schema-v1.2-draft7.rng</schemaFile>
									<configFile>${basedir}/src/codegen/resources/pkg/config.xml</configFile>
									<templateFile>${basedir}/src/codegen/resources/pkg/javacodetemplate.xml</templateFile>
								</configuration>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>
		-->
		<profile>
			<id>integration-test</id>
			<activation>
				<property>
					<name>integration-test</name>
				</property>
			</activation>
			<build>
				<defaultGoal>verify</defaultGoal>
				<plugins>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-failsafe-plugin</artifactId>
						<version>2.20</version>
                        <configuration>
                            <systemPropertyVariables>
                                <testresourcefolder>performance</testresourcefolder>
                                <executetimes>1</executetimes>
                                <testflag>test</testflag>
                            </systemPropertyVariables>
                        </configuration>
                        <executions>
							<execution>
								<id>failsafe-it</id>
								<phase>integration-test</phase>
								<goals>
									<goal>integration-test</goal>
									<goal>verify</goal>
								</goals>
							</execution>
						</executions>
					</plugin>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-surefire-plugin</artifactId>						
						<version>2.20</version>
						<configuration>
							<systemPropertyVariables>
								<odfdom.version>${project.version}</odfdom.version>
								<odfdom.timestamp>${build.timestamp}</odfdom.timestamp>
								<org.odftoolkit.odfdom.validation>true</org.odftoolkit.odfdom.validation>
							</systemPropertyVariables>
							<skip>true</skip>						
                        </configuration>
					</plugin>
				</plugins>
			</build>
		</profile>
		<!-- Profile for deploying to the Sonatype repository, which
		requires GPG signatures 
		see
		https://docs.sonatype.org/display/Repository/Sonatype+OSS+Maven+Repository+Usage+Guide
		https://docs.sonatype.org/display/Repository/How+To+Generate+PGP+Signatures+With+Maven
		https://issues.sonatype.org/browse/OSSRH-960
		-->
		<profile>
			<id>release-sign-artifacts</id>
			<activation>
				<property>
					<name>performRelease</name>
					<value>true</value>
				</property>
			</activation>
			<build>
				<plugins>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-gpg-plugin</artifactId>
						<version>1.6</version>
						<executions>
							<execution>
								<id>sign-artifacts</id>
								<phase>verify</phase>
								<goals>
									<goal>sign</goal>
								</goals>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
			<!-- <distributionManagement>
				<site>
					<id>odfdom</id>
					<name>ODFDOM Java Toolkit Project</name>
					<url>dav:https://odftoolkit.org/website/odfdom/${project.version}/odfdom</url>
				</site>
			</distributionManagement> -->
		</profile>
        <profile>
            <id>doclint-java8-disable</id>
            <activation>
                <jdk>[1.8,)</jdk>
            </activation>
            <properties>
                <javadoc.opts>-Xdoclint:none</javadoc.opts>
            </properties>
        </profile>
	</profiles>
</project>
