mirror of https://github.com/apache/poi.git
361 lines
16 KiB
XML
361 lines
16 KiB
XML
<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>4.1.3-SNAPSHOT</version>
|
|
<name>Apache POI - the Java API for Microsoft Documents</name>
|
|
<description>Maven build of Apache POI for Sonar checks</description>
|
|
<url>https://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>Apache 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:https://svn.apache.org/repos/asf/poi/trunk</connection>
|
|
<developerConnection>scm:svn:https://svn.apache.org/repos/asf/poi/trunk</developerConnection>
|
|
<url>https://svn.apache.org/viewvc/poi</url>
|
|
</scm>
|
|
|
|
<repositories>
|
|
<repository>
|
|
<id>apache-releases-repo</id>
|
|
<name>apache releases repo</name>
|
|
<url>https://repository.apache.org/content/repositories/releases</url>
|
|
</repository>
|
|
</repositories>
|
|
|
|
<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>
|
|
<module>integration-test</module>
|
|
</modules>
|
|
|
|
<properties>
|
|
<project.build.sourceEncoding>UTF-8</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>
|
|
|
|
<sonar.organization>apache</sonar.organization>
|
|
<sonar.projectKey>poi-parent</sonar.projectKey>
|
|
<sonar.moduleKey>${project.artifactId}</sonar.moduleKey>
|
|
|
|
<sonar.host.url>https://sonarcloud.io</sonar.host.url>
|
|
<!-- sonar.jacoco.reportPaths>target/jacoco.exec</sonar.jacoco.reportPaths -->
|
|
<sonar.coverage.jacoco.xmlReportPaths>target/site/jacoco/jacoco.xml</sonar.coverage.jacoco.xmlReportPaths>
|
|
|
|
<!-- define some of the third-party or plugin-versions globally to use the same in all modules -->
|
|
<xmlbeans.version>3.1.0</xmlbeans.version>
|
|
<junit.version>4.13</junit.version>
|
|
<xmlunit.version>2.6.3</xmlunit.version>
|
|
<mockito.version>2.13.0</mockito.version>
|
|
<maven.plugin.resources.version>3.1.0</maven.plugin.resources.version>
|
|
<maven.plugin.jar.version>3.2.0</maven.plugin.jar.version>
|
|
<maven.plugin.clean.version>3.1.0</maven.plugin.clean.version>
|
|
<maven.plugin.download.version>1.5.0</maven.plugin.download.version>
|
|
<maven.plugin.antrun.version>1.8</maven.plugin.antrun.version>
|
|
<maven.plugin.surefire.version>3.0.0-M4</maven.plugin.surefire.version>
|
|
</properties>
|
|
|
|
<build>
|
|
<pluginManagement>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-compiler-plugin</artifactId>
|
|
<version>3.8.1</version>
|
|
<configuration>
|
|
<source>1.8</source>
|
|
<target>1.8</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 -Djava.io.tmpdir=${basedir}/target/tmp
|
|
</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.8.5</version>
|
|
<executions>
|
|
<execution>
|
|
<goals>
|
|
<goal>prepare-agent</goal>
|
|
</goals>
|
|
</execution>
|
|
<execution>
|
|
<id>report</id>
|
|
<phase>prepare-package</phase>
|
|
<goals>
|
|
<goal>report</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>junit</groupId>
|
|
<artifactId>junit</artifactId>
|
|
<version>${junit.version}</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.xmlunit</groupId>
|
|
<artifactId>xmlunit-core</artifactId>
|
|
<version>${xmlunit.version}</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.mockito</groupId>
|
|
<artifactId>mockito-core</artifactId>
|
|
<version>${mockito.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</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</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/schemas">
|
|
<fileset dir="${basedir}/../../src/ooxml/resources/org/apache/poi/schemas" excludes="XAdES*.xsd"/>
|
|
</copy>
|
|
</target>
|
|
</configuration>
|
|
</execution>
|
|
<execution>
|
|
<id>replace-xmltypeloader</id>
|
|
<phase>process-sources</phase>
|
|
<goals>
|
|
<goal>run</goal>
|
|
</goals>
|
|
<configuration>
|
|
<target>
|
|
<!-- the space between "public static" is on purpose to prevent double execution -->
|
|
<property name="loaderMethod"><![CDATA[
|
|
private static java.lang.ref.SoftReference<org.apache.xmlbeans.SchemaTypeLoader> typeLoader;
|
|
|
|
private static synchronized org.apache.xmlbeans.SchemaTypeLoader getTypeLoader() {
|
|
org.apache.xmlbeans.SchemaTypeLoader stl = (typeLoader == null) ? null : typeLoader.get();
|
|
if (stl == null) {
|
|
stl = org.apache.xmlbeans.XmlBeans.typeLoaderForClassLoader(\2.class.getClassLoader());
|
|
typeLoader = new java.lang.ref.SoftReference(stl);
|
|
}
|
|
return stl;
|
|
}
|
|
|
|
public static \2 newInstance\(\) \{]]></property>
|
|
|
|
<fileset id="xsrc" dir="${basedir}/target/generated-sources/xmlbeans" includes="**/*.java" excludes="**/impl/**"/>
|
|
|
|
<replaceregexp byline="true"
|
|
match="(\s*)public static ([^ ]+) newInstance\(\) \{"
|
|
replace="${loaderMethod}">
|
|
<fileset refid="xsrc"/>
|
|
</replaceregexp>
|
|
|
|
<replace>
|
|
<fileset refid="xsrc"/>
|
|
<replacetoken>org.apache.xmlbeans.XmlBeans.getContextTypeLoader
|
|
</replacetoken>
|
|
<replacevalue>getTypeLoader</replacevalue>
|
|
</replace>
|
|
|
|
<!-- remove deprecated warnings, as we prefer the array methods - see #56854 -->
|
|
<replace>
|
|
<fileset refid="xsrc"/>
|
|
<replacetoken><![CDATA[ * @deprecated
|
|
]]></replacetoken>
|
|
</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>
|