<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>
	<groupId>org.apache.poi</groupId>
	<artifactId>poi-parent</artifactId>
	<packaging>pom</packaging>
	<version>3.18-beta1-SNAPSHOT</version>
	<name>Apache POI - the Java API for Microsoft Documents</name>
	<description>Maven build of Apache POI for Sonar checks</description>
	<url>http://poi.apache.org/</url>
	
	<mailingLists>
		<mailingList>
			<name>POI Users List</name>
			<subscribe>user-subscribe@poi.apache.org</subscribe>
			<unsubscribe>user-unsubscribe@poi.apache.org</unsubscribe>
			<archive>http://mail-archives.apache.org/mod_mbox/poi-user/</archive>
		</mailingList>
		<mailingList>
			<name>POI Developer List</name>
			<subscribe>dev-subscribe@poi.apache.org</subscribe>
			<unsubscribe>dev-unsubscribe@poi.apache.org</unsubscribe>
			<archive>http://mail-archives.apache.org/mod_mbox/poi-dev/</archive>
		</mailingList>
	</mailingLists>
	
	<licenses>
		<license>
			<name>The Apache Software License, Version 2.0</name>
			<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
		</license>
	</licenses>
	
	<organization>
		<name>Apache Software Foundation</name>
		<url>http://www.apache.org/</url>
	</organization>
	
	<issueManagement>
		<system>Bugzilla</system>
		<url>https://bz.apache.org/bugzilla/</url>
	</issueManagement>
	
	<scm>
		<connection>scm:svn:http://svn.apache.org/repos/asf/poi/trunk</connection>
		<developerConnection>scm:svn:https://svn.apache.org/repos/asf/poi/trunk</developerConnection>
		<url>http://svn.apache.org/viewvc/poi</url>
	</scm>
	
	<modules>
		<module>main</module>
		<module>ooxml-schema</module>
		<module>ooxml-schema-encryption</module>
		<module>ooxml-schema-security</module>
		<module>ooxml</module>
		<module>scratchpad</module>
		<module>excelant</module>
		<module>examples</module>
	</modules>
	
	<properties>
		<project.build.sourceEncoding>ASCII</project.build.sourceEncoding>
		<!-- Try to disable running SVN blame as it causes errors here because the source is copied from the actual SVN location here! -->
		<sonar.scm.disabled>true</sonar.scm.disabled>

		<!-- define some of the third-party or plugin-versions globally to use the same in all modules -->
		<xmlbeans.version>2.6.0</xmlbeans.version>
		<junit.version>4.12</junit.version>
		<maven.plugin.resources.version>3.0.1</maven.plugin.resources.version>
		<maven.plugin.jar.version>3.0.1</maven.plugin.jar.version>
		<maven.plugin.clean.version>3.0.0</maven.plugin.clean.version>
		<maven.plugin.download.version>1.1.0</maven.plugin.download.version>
		<maven.plugin.antrun.version>1.8</maven.plugin.antrun.version>
		<maven.plugin.surefire.version>2.19.1</maven.plugin.surefire.version>
	</properties>
	
	<build>
		<pluginManagement>
			<plugins>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-compiler-plugin</artifactId>
					<version>3.5.1</version>
					<configuration>
						<source>1.6</source>
						<target>1.6</target>
					</configuration>
				</plugin>
			</plugins>
		</pluginManagement>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-plugin</artifactId>
				<version>${maven.plugin.surefire.version}</version>
				<dependencies>
					<dependency>
						<groupId>org.apache.maven.surefire</groupId>
						<artifactId>surefire-junit47</artifactId>
						<version>${maven.plugin.surefire.version}</version>
					</dependency>
				</dependencies>
				<configuration>
					<systemPropertyVariables>
						<POI.testdata.path>../../test-data</POI.testdata.path>
						<java.awt.headless>true</java.awt.headless>
						<org.apache.poi.util.POILogger>org.apache.poi.util.NullLogger</org.apache.poi.util.POILogger>
					</systemPropertyVariables>
					<!-- use to following to analyze OOM issues:	-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp -->
					<argLine>@{argLine} -Duser.language=en -Duser.country=US -Xmx1024m</argLine>
					<excludes>
						<exclude>**/All*Tests.java</exclude>
						<exclude>**/TestUnfixedBugs.java</exclude>
						<exclude>**/TestcaseRecordInputStream.java</exclude>
						<exclude>**/POITestCase.java</exclude>
						<!-- TODO: error about no public construct, seems to run with JUnit 3.8... -->
						<exclude>**/TestWordToConverterSuite*.java</exclude>
						<exclude>**/TestExcelConverterSuite*.java</exclude>
					</excludes>
					<!--test>TestPPTX2PNG</test-->
					<!--parallel>both</parallel>
				<threadCount>10</threadCount-->
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.jacoco</groupId>
				<artifactId>jacoco-maven-plugin</artifactId>
				<version>0.7.8</version>
			</plugin>
		</plugins>
	</build>
	
	<dependencies>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>${junit.version}</version>
			<scope>test</scope>
		</dependency>
	</dependencies>

	<profiles>
		<!-- We need a fair amount of memory to compile the xml schema, -->
		<!-- but limit it in case it goes wrong!                        -->
		<!-- Pick the right amount based on 32 vs 64 bit jvm            -->
        <!-- ********************************************************** -->
        <!-- If you are using IntelliJ, you might want to check         -->
        <!-- http://stackoverflow.com/questions/24115142                -->
        <!-- ********************************************************** -->
		<profile>
			<id>32bitstuff</id>
			<activation>
				<property>
					<name>sun.arch.data.model</name>
					<value>32</value>
				</property>
			</activation>
			<properties>
				<maven.compiler.maxmem>512m</maven.compiler.maxmem>
                <argLine>-Xmx768m -XX:MaxPermSize=128m</argLine>
			</properties>
		</profile>
		
		<profile>
			<id>64bitstuff</id>
			<activation>
				<property>
					<name>sun.arch.data.model</name>
					<value>64</value>
				</property>
			</activation>
			<properties>
				<maven.compiler.maxmem>768m</maven.compiler.maxmem>
                <argLine>-Xmx1024m -XX:MaxPermSize=256m</argLine>
			</properties>
		</profile>

		<profile>
			<id>xmlbean</id>
      <activation>
        <file><exists>xmlbeans.marker</exists></file>
      </activation>
			<build>
				<plugins>
					<plugin>
						<groupId>org.codehaus.mojo</groupId>
						<artifactId>xmlbeans-maven-plugin</artifactId>
						<version>2.3.3</version>
						<executions>
							<execution>
								<phase>process-sources</phase>
								<goals>
									<goal>xmlbeans</goal>
								</goals>
                <configuration>
                  <schemaDirectory>${basedir}/target/schemas</schemaDirectory>
                  <javaSource>1.5</javaSource>
                  <noJavac>true</noJavac>
                  <noUpa>${xmlbeans.noUpa}</noUpa>
                  <noPvr>${xmlbeans.noPvr}</noPvr>
                  <xmlConfigs>
                    <xmlConfig implementation="java.io.File">${basedir}/../../src/ooxml/resources/org/apache/poi/poifs/crypt/encryptionCertificate.xsdconfig</xmlConfig>
                    <xmlConfig implementation="java.io.File">${basedir}/../../src/ooxml/resources/org/apache/poi/poifs/crypt/encryptionInfo.xsdconfig</xmlConfig>
                    <xmlConfig implementation="java.io.File">${basedir}/../../src/ooxml/resources/org/apache/poi/poifs/crypt/encryptionPassword.xsdconfig</xmlConfig>
                    <xmlConfig implementation="java.io.File">${basedir}/../../src/ooxml/resources/org/apache/poi/schemas/ooxmlSchemas.xsdconfig</xmlConfig>
                  </xmlConfigs>
                </configuration>
							</execution>
						</executions>
					</plugin>

          <plugin>
            <artifactId>maven-antrun-plugin</artifactId>
            <version>${maven.plugin.antrun.version}</version>
            <executions>
              <execution>
                <id>copy-xmltype-and-xsdconfig</id>
                <phase>generate-sources</phase>
                <goals><goal>run</goal></goals>                   
                <configuration>
                  <target>
                    <copy todir="${basedir}/target/generated-sources/xmlbeans">
                      <fileset dir="${basedir}/../../src/ooxml/java">
                        <include name="org/apache/poi/POIXMLTypeLoader.java"/>
                        <include name="org/apache/poi/util/DocumentHelper.java"/>
                        <include name="org/apache/poi/util/SAXHelper.java"/>
                        <include name="org/apache/poi/openxml4j/opc/PackageNamespaces.java"/>
                      </fileset>
                      <fileset dir="${basedir}/../../src/java">
                        <include name="org/apache/poi/util/POILogFactory.java"/>
                        <include name="org/apache/poi/util/POILogger.java"/>
                        <include name="org/apache/poi/util/NullLogger.java"/>
                        <include name="org/apache/poi/util/Internal.java"/>
                        <include name="org/apache/poi/util/Removal.java"/>
                      </fileset>
                    </copy>
                    <copy todir="${basedir}/target/schemas">
                      <fileset dir="${basedir}/../../src/ooxml/resources/org/apache/poi/schemas"/>
                    </copy>
                  </target>
                </configuration>
              </execution>
              <execution>
                <id>replace-xmltypeloader</id>
                <phase>process-sources</phase>
                <goals><goal>run</goal></goals>                   
                <configuration>
                  <target>
                    <replace dir="${basedir}/target/generated-sources/xmlbeans" includes="**/*.java" excludes="**/impl/**">
                        <replacetoken>org.apache.xmlbeans.XmlBeans.getContextTypeLoader()</replacetoken>
                        <replacevalue>org.apache.poi.POIXMLTypeLoader</replacevalue>
                    </replace>                    
                  </target>
                </configuration>
              </execution>
              <execution>
                <id>remove-xmltypeloader-from-schema-jar</id>
                <phase>prepare-package</phase>
                <goals><goal>run</goal></goals>                   
                <configuration>
                  <target>
                    <touch file="${basedir}/target/generated-sources/xmlbeans/.staleFlag"/>
                    <delete dir="${basedir}/target/classes/org/apache"/>
                  </target>
                </configuration>
              </execution>
            </executions>
          </plugin>
				</plugins>
			</build>
      <dependencies>
        <dependency>
          <groupId>org.apache.xmlbeans</groupId>
          <artifactId>xmlbeans</artifactId>
          <version>${xmlbeans.version}</version>
        </dependency>
      </dependencies>
		</profile>
	</profiles>
</project>
