Skip to content
Commits on Source (27)
classes
workbook.xls
bak
build.number
*.el
scripts
untitled1.jpx
log*.*
*.log
forrest.properties
compile-lib/
ooxml-lib/
# Eclipse
/bin
.settings
# Tests
junit*.properties
TEST-org.apache.poi*.xml
# Sonar
.sonar
sonar/main/src/
sonar/ooxml/src/
sonar/scratchpad/src/
sonar/ooxml-schema-security/src/
sonar/examples/src/
sonar/excelant/src/
sonar/target
sonar/*/target
# IntelliJ
/out/
.idea
*.iml
*.iws
*.ipr
# Gradle
.gradle
# Ant
.ant-targets-build.xml
build
dist
lib/
This diff is collapsed.
Apache POI
======================
A Java library for reading and writing Microsoft Office binary and OOXML file formats.
The Apache POI Project's mission is to create and maintain Java APIs for manipulating various file formats based upon the Office Open XML standards (OOXML) and Microsoft's OLE 2 Compound Document format (OLE2). In short, you can read and write MS Excel files using Java. In addition, you can read and write MS Word and MS PowerPoint files using Java. Apache POI is your Java Excel solution (for Excel 97-2008). We have a complete API for porting other OOXML and OLE2 formats and welcome others to participate.
OLE2 files include most Microsoft Office files such as XLS, DOC, and PPT as well as MFC serialization API based file formats. The project provides APIs for the OLE2 Filesystem (POIFS) and OLE2 Document Properties (HPSF).
Office OpenXML Format is the new standards based XML file format found in Microsoft Office 2007 and 2008. This includes XLSX, DOCX and PPTX. The project provides a low level API to support the Open Packaging Conventions using openxml4j.
For each MS Office application there exists a component module that attempts to provide a common high level Java api to both OLE2 and OOXML document formats. This is most developed for Excel workbooks (SS=HSSF+XSSF). Work is progressing for Word documents (WP=HWPF+XWPF) and PowerPoint presentations (SL=HSLF+XSLF).
The project has some support for Outlook (HSMF). Microsoft opened the specifications to this format in October 2007. We would welcome contributions.
There are also projects for Visio (HDGF and XDGF), TNEF (HMEF), and Publisher (HPBF).
This library includes the following components, roughly in descending order of maturity:
* Excel spreadsheets (Common SS = HSSF, XSSF, and SXSSF)
* PowerPoint slideshows (Common SL = HSLF and XSLF)
* Word processing documents (Common WP = HWPF and XWPF)
* Outlook email (HSMF and HMEF)
* Visio diagrams (HDGF and XDGF)
* Publisher (HPBF)
And lower-level, supporting components:
* OLE2 Filesystem (POIFS)
* OLE2 Document Properties (HPSF)
* TNEF (HMEF) for Outlook winmail.dat files
* OpenXML4J (OOXML)
| Components named H??F are for reading or writing OLE2 binary formats.
| Components named X??F are for reading or writing OpenOffice XML (OOXML) formats.
Getting started
------------------
Website: https://poi.apache.org/
`Mailing lists`_:
* `Developers`_
* `Users`_
* `General`_ (release announcements)
Bug tracker:
* `Bugzilla`_
* `GitHub pull requests`_
Source code:
* Official `Apache Subversion repo`_ at apache.org
* `ViewVC repo browser`_ at apache.org
* Official `Apache git mirror`_ at apache.org
* Unofficial `GitHub git mirror`_ at github.com
Requires Java 1.6 or later.
Contributing
------------------
* Download and install svn or git, Java JDK 1.6+, and Apache Ant 1.8+ or Gradle
* Check out the code from svn or git
* Import the project into Eclipse or your favorite IDE
* Write a unit test:
* Binary formats and Common APIs: src/testcases/org/apache/poi/
* OOXML APIs only: src/ooxml/testcases/org/apache/poi/
* Scratchpad (Binary formats): src/scratchpad/testcases/org/apache/poi/
* test files: test-data/
* Navigate the source, make changes, and run unit tests to verify
* Binary formats and Common APIs: src/java/org/apache/poi/
* OOXML APIs only: src/ooxml/java/org/apache/poi/
* Scratchpad (Binary formats): src/scratchpad/src/org/apache/poi/
* Examples: src/examples/src/org/apache/poi/
Building jar files
------------------
To build the jar files for poi, poi-ooxml, poi-ooxml-schemas, and poi-examples::
ant jar
.. _Mailing lists: https://poi.apache.org/mailinglists.html
.. _Developers: https://lists.apache.org/list.html?dev@poi.apache.org
.. _Users: https://lists.apache.org/list.html?user@poi.apache.org
.. _General: https://lists.apache.org/list.html?general@poi.apache.org
.. _Bugzilla: https://bz.apache.org/bugzilla/buglist.cgi?product=POI
.. _GitHub pull requests: https://github.com/apache/poi/pulls
.. _Apache Subversion repo: https://svn.apache.org/repos/asf/poi/trunk
.. _ViewVC repo browser: https://svn.apache.org/viewvc/poi/trunk
.. _Apache git mirror: https://git.apache.org/poi.git/
.. _GitHub git mirror: https://github.com/apache/poi
/* ====================================================================
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.
==================================================================== */
buildscript {
repositories {
maven { url "https://plugins.gradle.org/m2/" }
}
dependencies {
classpath 'me.champeau.gradle:japicmp-gradle-plugin:0.1.2' // 2.x requires Gradle >=4
classpath "org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:2.2.1"
}
}
// Only add the plugin for Sonar if enabled as it requires Java 8
if (project.hasProperty('enableSonar')) {
println 'Enabling Sonar support'
apply plugin: "org.sonarqube"
}
// For help converting an Ant build to a Gradle build, see
// https://docs.gradle.org/current/userguide/ant.html
ant.importBuild 'build.xml'
/**
Define properties for all projects, including this one
*/
allprojects {
apply plugin: 'eclipse'
task wrapper(type: Wrapper) {
gradleVersion = '3.4.1'
}
task adjustWrapperPropertiesFile {
doLast {
ant.replaceregexp(match:'^#.*', replace:'', flags:'g', byline:true) {
fileset(dir: project.projectDir, includes: 'gradle/wrapper/gradle-wrapper.properties')
}
new File(project.projectDir, 'gradle/wrapper/gradle-wrapper.properties').with { it.text = it.readLines().findAll { it }.sort().join('\n') }
ant.fixcrlf(file: 'gradle/wrapper/gradle-wrapper.properties', eol: 'lf')
}
}
wrapper.finalizedBy adjustWrapperPropertiesFile
}
/**
Define things that are only necessary in sub-projects, but not in the master-project itself
*/
subprojects {
//Put instructions for each sub project, but not the master
apply plugin: 'java'
apply plugin: 'jacoco'
// See https://github.com/melix/japicmp-gradle-plugin
apply plugin: 'me.champeau.gradle.japicmp'
version = '3.16-beta3'
ext {
japicmpversion = '3.15'
}
tasks.withType(JavaCompile) {
options.encoding = 'UTF-8'
}
sourceCompatibility = 1.6
repositories {
mavenCentral()
}
jar {
manifest {
attributes 'Implementation-Title': 'Apache POI', 'Implementation-Version': version
}
}
test {
// Exclude some tests that are not actually tests or do not run cleanly on purpose
exclude '**/BaseTestBorderStyle.class'
exclude '**/BaseTestCellUtil.class'
exclude '**/TestUnfixedBugs.class'
exclude '**/TestOneFile.class'
systemProperties = System.properties
// set heap size for the test JVM(s)
minHeapSize = "128m"
maxHeapSize = "768m"
// show standard out and standard error of the test JVM(s) on the console
//testLogging.showStandardStreams = true
// http://forums.gradle.org/gradle/topics/jacoco_related_failure_in_multiproject_build
systemProperties['user.dir'] = workingDir
systemProperties['POI.testdata.path'] = '../../test-data'
//systemProperties['user.language'] = 'en'
//systemProperties['user.country'] = 'US'
}
test.beforeSuite { TestDescriptor suite ->
System.setProperty('user.language', 'en')
System.setProperty('user.country', 'US')
}
jacoco {
toolVersion = '0.7.8'
}
// ensure the build-dir exists
projectDir.mkdirs()
if (project.hasProperty('enableSonar')) {
sonarqube {
properties {
// as we currently use build/<module>/ as project-basedir, we need to tell Sonar to use
// the root-folder as "basedir" for the projects
property "sonar.projectBaseDir", "$projectDir/../.."
}
}
}
}
project('main') {
sourceSets.main.java.srcDirs = ['../../src/java']
sourceSets.main.resources.srcDirs = ['../../src/resources/main']
sourceSets.test.java.srcDirs = ['../../src/testcases']
dependencies {
compile 'commons-codec:commons-codec:1.10'
compile 'commons-logging:commons-logging:1.2'
compile 'org.apache.commons:commons-collections4:4.1'
testCompile 'junit:junit:4.12'
}
// Create a separate jar for test-code to depend on it in other projects
// See http://stackoverflow.com/questions/5144325/gradle-test-dependency
task testJar(type: Jar, dependsOn: testClasses) {
baseName = "test-${project.archivesBaseName}"
from sourceSets.test.output
}
configurations {
tests
}
artifacts {
tests testJar
}
// TOOD: we should not duplicate this task in each project, but I did not figure out how to inject the artifactId for each project
task japicmp(type: me.champeau.gradle.ArtifactJapicmpTask, dependsOn: jar) {
baseline = 'org.apache.poi:poi:' + japicmpversion + '@jar'
to = jar.archivePath
onlyModified = true
onlyBinaryIncompatibleModified = true
failOnModification = false
txtOutputFile = file("$buildDir/reports/japi.txt")
htmlOutputFile = file("$buildDir/reports/japi.html")
}
}
project('ooxml') {
sourceSets.main.java.srcDirs = ['../../src/ooxml/java']
sourceSets.main.resources.srcDirs = ['../../src/ooxml/resources', '../../src/resources/ooxml']
sourceSets.test.java.srcDirs = ['../../src/ooxml/testcases']
// for now import the ant-task for building the jars from build.xml
// we need to rename the tasks as e.g. task "jar" conflicts with :ooxml:jar
ant.importBuild('../../build.xml') { antTargetName ->
'ant-' + antTargetName
}
compileJava.dependsOn 'ant-compile-ooxml-xsds'
dependencies {
compile 'org.apache.xmlbeans:xmlbeans:2.6.0'
compile 'org.apache.commons:commons-collections4:4.1'
compile 'org.apache.santuario:xmlsec:2.0.6'
compile 'org.bouncycastle:bcpkix-jdk15on:1.54'
compile 'com.github.virtuald:curvesapi:1.04'
// for ooxml-lite, should we move this somewhere else?
compile 'junit:junit:4.12'
compile project(':main')
compile project(':scratchpad') // TODO: get rid of this dependency!
compile files('../../ooxml-lib/ooxml-schemas-1.3.jar')
compile files('../../ooxml-lib/ooxml-security-1.1.jar')
testCompile 'junit:junit:4.12'
testCompile project(path: ':main', configuration: 'tests')
// Keep using 1.15 until we switch to Java 7
testCompile 'org.openjdk.jmh:jmh-core:1.15'
testCompile 'org.openjdk.jmh:jmh-generator-annprocess:1.15'
}
// TOOD: we should not duplicate this task in each project, but I did not figure out how to inject the artifactId for each project
task japicmp(type: me.champeau.gradle.ArtifactJapicmpTask, dependsOn: jar) {
baseline = 'org.apache.poi:poi-ooxml:' + japicmpversion + '@jar'
to = jar.archivePath
onlyModified = true
onlyBinaryIncompatibleModified = true
failOnModification = false
txtOutputFile = file("$buildDir/reports/japi.txt")
htmlOutputFile = file("$buildDir/reports/japi.html")
}
}
project('examples') {
sourceSets.main.java.srcDirs = ['../../src/examples/src']
dependencies {
compile project(':main')
compile project(':ooxml')
}
}
project('excelant') {
sourceSets.main.java.srcDirs = ['../../src/excelant/java']
sourceSets.main.resources.srcDirs = ['../../src/excelant/resources']
sourceSets.test.java.srcDirs = ['../../src/excelant/testcases']
dependencies {
compile 'org.apache.ant:ant:1.9.4'
compile project(':main')
compile project(':ooxml')
testCompile project(path: ':main', configuration: 'tests')
}
// TOOD: we should not duplicate this task in each project, but I did not figure out how to inject the artifactId for each project
task japicmp(type: me.champeau.gradle.ArtifactJapicmpTask, dependsOn: jar) {
baseline = 'org.apache.poi:poi-excelant:' + japicmpversion + '@jar'
to = jar.archivePath
onlyModified = true
onlyBinaryIncompatibleModified = true
failOnModification = false
txtOutputFile = file("$buildDir/reports/japi.txt")
htmlOutputFile = file("$buildDir/reports/japi.html")
}
}
project('integrationtest') {
sourceSets.test.java.srcDirs = ['../../src/integrationtest']
dependencies {
compile 'org.apache.ant:ant:1.9.4'
compile project(':main')
compile project(':ooxml')
compile project(':scratchpad')
compile project(':examples')
testCompile 'junit:junit:4.12'
}
test {
// exclude these from the normal test-run
exclude '**/TestAllFiles.class'
exclude '**/*FileHandler.class'
exclude '**/RecordsStresser.class'
}
task integrationTest(type: Test) {
// these are just tests used during development of more test-code
exclude '**/*FileHandler.class'
exclude '**/RecordStresser.class'
}
}
project('scratchpad') {
sourceSets.main.java.srcDirs = ['../../src/scratchpad/src']
sourceSets.main.resources.srcDirs = ['../../src/resources/scratchpad']
sourceSets.test.java.srcDirs = ['../../src/scratchpad/testcases']
dependencies {
compile project(':main')
// cyclic-dependency here: compile project(':ooxml')
testCompile 'junit:junit:4.12'
testCompile project(path: ':main', configuration: 'tests')
}
// TOOD: we should not duplicate this task in each project, but I did not figure out how to inject the artifactId for each project
task japicmp(type: me.champeau.gradle.ArtifactJapicmpTask, dependsOn: jar) {
baseline = 'org.apache.poi:poi-scratchpad:' + japicmpversion + '@jar'
to = jar.archivePath
onlyModified = true
onlyBinaryIncompatibleModified = true
failOnModification = false
txtOutputFile = file("$buildDir/reports/japi.txt")
htmlOutputFile = file("$buildDir/reports/japi.html")
}
}
This diff is collapsed.
......@@ -7,10 +7,12 @@ jars.present=true
halt.on.test.failure=true
main.ant.jar=/usr/share/java/ant.jar
main.commons-codec.jar=/usr/share/java/commons-codec.jar
main.commons-collections4.jar=/usr/share/java/commons-collections4.jar
main.commons-logging.jar=/usr/share/java/commons-logging.jar
main.log4j.jar=/usr/share/java/log4j-1.2.jar
main.junit.jar=/usr/share/java/junit4.jar
ooxml.xsds.tmp.dir=ooxml-xsds
ooxml.curvesapi.jar=/usr/share/java/curvesapi.jar
ooxml.dom4j.jar=/usr/share/java/dom4j.jar
ooxml.xmlbeans23.jar=/usr/share/java/xmlbeans.jar
ooxml.xmlbeans26.jar=/usr/share/java/xmlbeans.jar
libapache-poi-java (3.17-1) unstable; urgency=medium
* Team upload.
* New upstream release (Closes: #800958)
- Fixes CVE-2017-5644: XML Entity Expansion (XEE) attack with specially
crafted OOXML file (Closes: #858301)
- Fixes CVE-2017-12626: Infinite Loops while parsing crafted WMF, EMF, MSG
and macros. Out of memory errors while parsing crafted DOC, PPT and XLS
(Closes: #888651)
- Refreshed the patches
- New dependencies on libcurvesapi-java and libcommons-collections4-java
- Updated the path to the Maven artifacts produced by the build
- Added xmlbeans to the build classpath
- Patched the xsds to resolve the external schemas in offline mode
- Disabled the JMH benchmarks
* Build with Java 8 temporarily
* Standards-Version updated to 4.3.0
-- Emmanuel Bourg <ebourg@apache.org> Thu, 17 Jan 2019 10:43:53 +0100
libapache-poi-java (3.12-1) unstable; urgency=medium
* Team upload.
......
......@@ -13,16 +13,20 @@ Build-Depends:
default-jdk,
javahelper,
junit4,
libbcpkix-java,
libbcpkix-java (>= 1.54),
libcommons-codec-java,
libcommons-collections4-java,
libcommons-logging-java,
libcurvesapi-java,
libdom4j-java,
libjaxb-api-java,
liblog4j1.2-java,
libxmlbeans-java,
libxml-security-java (>= 2.0),
maven-repo-helper
Standards-Version: 4.1.5
maven-repo-helper,
openjdk-8-jdk,
xmltooling-schemas
Standards-Version: 4.3.0
Vcs-Git: https://salsa.debian.org/java-team/libapache-poi-java.git
Vcs-Browser: https://salsa.debian.org/java-team/libapache-poi-java
Homepage: http://poi.apache.org
......@@ -31,7 +35,9 @@ Package: libapache-poi-java
Architecture: all
Depends:
libcommons-codec-java,
libcommons-collections4-java,
libcommons-logging-java,
libcurvesapi-java,
libdom4j-java,
liblog4j1.2-java,
libxmlbeans-java,
......
......@@ -3,29 +3,30 @@ Author: Emmanuel Bourg <ebourg@apache.org>
Forwarded: not-needed
--- a/build.xml
+++ b/build.xml
@@ -864,9 +864,9 @@
</taskdef>
@@ -1202,9 +1202,9 @@
</target>
<!-- Section: test (execute junit tests on test suites) -->
- <target name="test" depends="compile,jacocotask,test-main,test-scratchpad,test-ooxml,test-excelant"
+ <target name="test" depends="compile,test-main,test-scratchpad,test-ooxml,test-excelant"
description="Tests main, scratchpad and ooxml"/>
- <target name="test-all" depends="test,test-ooxml-lite,testcoveragereport"/>
+ <target name="test-all" depends="test,test-ooxml-lite"/>
<target name="testcoveragereport" depends="jacocotask" description="create test-report" xmlns:jacoco="antlib:org.jacoco.ant" if="coverage.enabled">
<delete dir="${coverage.dir}"/>
@@ -953,8 +953,7 @@
- <target name="test-all" depends="test,test-ooxml-lite,testcoveragereport"
+ <target name="test-all" depends="test,test-ooxml-lite"
description="Tests main, scratchpad, ooxml, ooxml-lite, and coveragereport"/>
<target name="test-ss" depends="test-hssf, test-ooxml-ss"
description="Test POI Spreadsheet classes (SS, HSSF, XSSF, SXSSF)"/>
@@ -1292,9 +1292,8 @@
</target>
<target name="test-main" unless="main.test.notRequired"
- depends="compile-main, -test-main-check,jacocotask" xmlns:jacoco="antlib:org.jacoco.ant">
- depends="compile-main, -test-main-check,jacocotask" xmlns:jacoco="antlib:org.jacoco.ant"
+ depends="compile-main, -test-main-check"
description="tests POI classes that deal with the Microsoft Office binary (BIFF8) file formats (excludes OOXML)">
- <jacoco:coverage enabled="${coverage.enabled}" excludes="${coverage.excludes}" destfile="build/jacoco-main.exec">
+ depends="compile-main, -test-main-check">
<junit fork="yes" forkmode="once" printsummary="yes" haltonfailure="${halt.on.test.failure}"
failureproperty="main.test.failed" showoutput="true">
<classpath refid="test.classpath"/>
@@ -974,7 +973,6 @@
@@ -1324,7 +1323,6 @@
</fileset>
</batchtest>
</junit>
......@@ -33,18 +34,39 @@ Forwarded: not-needed
<delete file="${main.testokfile}"/>
<antcall target="-test-main-write-testfile"/>
</target>
@@ -995,9 +993,8 @@
@@ -1359,9 +1357,8 @@
<!-- HSSF subset of test-main
Purpose: quicker HSSF testing cycles. Skips some tests for speed reasons. This target is not sufficient for committing changes. -->
<target name="test-hssf" unless="main.hssf.test.notRequired"
- depends="compile-main, -test-main-hssf-check,jacocotask" xmlns:jacoco="antlib:org.jacoco.ant"
+ depends="compile-main, -test-main-hssf-check"
description="test HSSF classes only">
- <jacoco:coverage enabled="${coverage.enabled}" excludes="${coverage.excludes}" destfile="build/jacoco-hssf.exec">
<junit fork="yes" forkmode="once" printsummary="yes" haltonfailure="${halt.on.test.failure}"
failureproperty="main.hssf.test.failed" showoutput="true">
<classpath refid="test.classpath"/>
@@ -1392,7 +1389,6 @@
</fileset>
</batchtest>
</junit>
- </jacoco:coverage>
<delete file="${main.hssf.testokfile}"/>
<antcall target="-test-main-hssf-write-testfile"/>
</target>
@@ -1409,10 +1405,9 @@
</uptodate>
</target>
- <target name="test-scratchpad" depends="compile-main,compile-scratchpad,-test-scratchpad-check,jacocotask,test-scratchpad-download-resources"
- unless="scratchpad.test.notRequired" xmlns:jacoco="antlib:org.jacoco.ant"
+ <target name="test-scratchpad" depends="compile-main,compile-scratchpad,-test-scratchpad-check,test-scratchpad-download-resources"
unless="scratchpad.test.notRequired" xmlns:jacoco="antlib:org.jacoco.ant">
+ unless="scratchpad.test.notRequired"
description="test non-OOXML scratchpad classes">
- <jacoco:coverage enabled="${coverage.enabled}" excludes="${coverage.excludes}" destfile="build/jacoco-scratchpad.exec">
<junit printsummary="yes" fork="yes" forkmode="once" haltonfailure="${halt.on.test.failure}"
failureproperty="scratchpad.test.failed">
<classpath refid="test.scratchpad.classpath"/>
@@ -1020,7 +1017,6 @@
@@ -1445,7 +1440,6 @@
</fileset>
</batchtest>
</junit>
......@@ -52,7 +74,7 @@ Forwarded: not-needed
<delete file="${scratchpad.testokfile}"/>
<antcall target="-test-scratchpad-write-testfile"/>
</target>
@@ -1036,11 +1032,10 @@
@@ -1462,11 +1456,10 @@
</uptodate>
</target>
......@@ -64,8 +86,8 @@ Forwarded: not-needed
- <jacoco:coverage enabled="${coverage.enabled}" excludes="${coverage.excludes}" destfile="build/jacoco-@{type}.exec">
<junit printsummary="yes" fork="yes" forkmode="once" haltonfailure="${halt.on.test.failure}"
failureproperty="ooxml.test.failed">
<classpath refid="@{classpath}"/>
@@ -1059,8 +1054,6 @@
<classpath>
@@ -1499,8 +1492,6 @@
</fileset>
</batchtest>
</junit>
......@@ -74,7 +96,7 @@ Forwarded: not-needed
<junit printsummary="yes" fork="yes" forkmode="once" haltonfailure="${halt.on.test.failure}"
failureproperty="ooxml.xmlsec.test.failed">
<classpath>
@@ -1079,11 +1072,10 @@
@@ -1526,11 +1517,10 @@
</fileset>
</batchtest>
</junit>
......@@ -82,23 +104,53 @@ Forwarded: not-needed
</sequential>
</macrodef>
- <target name="test-ooxml" depends="compile-main,compile-ooxml,-test-ooxml-check,jacocotask" unless="ooxml.test.notRequired">
+ <target name="test-ooxml" depends="compile-main,compile-ooxml,-test-ooxml-check" unless="ooxml.test.notRequired">
- <target name="test-ooxml" depends="compile-main,compile-ooxml,-test-ooxml-check,jacocotask" unless="ooxml.test.notRequired"
+ <target name="test-ooxml" depends="compile-main,compile-ooxml,-test-ooxml-check" unless="ooxml.test.notRequired"
description="test OOXML classes">
<ooxml-test-runner classpath="test.ooxml.classpath" type="ooxml"/>
<delete file="${ooxml.testokfile}"/>
<antcall target="-test-ooxml-write-testfile"/>
@@ -1099,9 +1091,8 @@
@@ -1549,11 +1539,10 @@
</uptodate>
</target>
- <macrodef name="ooxml-ss-test-runner" xmlns:jacoco="antlib:org.jacoco.ant">
+ <macrodef name="ooxml-ss-test-runner">
<attribute name="classpath"/>
<attribute name="type"/>
<sequential>
- <jacoco:coverage enabled="${coverage.enabled}" excludes="${coverage.excludes}" destfile="build/jacoco-@{type}-ss.exec">
<junit printsummary="yes" fork="yes" forkmode="once" haltonfailure="${halt.on.test.failure}"
failureproperty="ooxml.ss.test.failed">
<classpath refid="@{classpath}"/>
@@ -1582,12 +1571,11 @@
</fileset>
</batchtest>
</junit>
- </jacoco:coverage>
</sequential>
</macrodef>
<!-- XSSF and SXSSF subset of test-ooxml -->
- <target name="test-ooxml-ss" depends="compile-main,compile-ooxml-ss,-test-ooxml-ss-check,jacocotask" unless="ooxml.ss.test.notRequired"
+ <target name="test-ooxml-ss" depends="compile-main,compile-ooxml-ss,-test-ooxml-ss-check" unless="ooxml.ss.test.notRequired"
description="test XSSF and SXSSF classes">
<ooxml-ss-test-runner classpath="test.ooxml.classpath" type="ooxml"/>
<delete file="${ooxml.ss.testokfile}"/>
@@ -1605,11 +1593,10 @@
</uptodate>
</target>
- <target name="test-integration" depends="compile-integration,-test-integration-check,jacocotask"
- unless="integration.test.notRequired" xmlns:jacoco="antlib:org.jacoco.ant">
+ <target name="test-integration" depends="compile-integration,-test-integration-check"
unless="integration.test.notRequired" xmlns:jacoco="antlib:org.jacoco.ant">
+ unless="integration.test.notRequired">
<propertyreset name="org.apache.poi.util.POILogger" value="org.apache.poi.util.CommonsLogger"/>
<delete dir="build" includes="test-integration.log*"/>
- <jacoco:coverage enabled="${coverage.enabled}" excludes="${coverage.excludes}" destfile="build/jacoco-integration.exec">
<junit printsummary="withOutAndErr" fork="yes" forkmode="once" haltonfailure="${halt.on.test.failure}"
<junit printsummary="yes" fork="yes" forkmode="once" haltonfailure="${halt.on.test.failure}"
failureproperty="integration.test.failed" showoutput="true">
<classpath refid="test.integration.classpath"/>
@@ -1123,7 +1114,6 @@
@@ -1633,7 +1620,6 @@
</fileset>
</batchtest>
</junit>
......@@ -106,8 +158,8 @@ Forwarded: not-needed
<delete file="${integration.testokfile}"/>
<antcall target="-test-integration-write-testfile"/>
</target>
@@ -1160,7 +1150,7 @@
</java>
@@ -1694,7 +1680,7 @@
<echo file="${ooxml.lite.testokfile}" append="false" message="testok"/>
</target>
- <target name="test-ooxml-lite" depends="jacocotask,compile-ooxml-xsds,compile-ooxml-lite">
......@@ -115,7 +167,7 @@ Forwarded: not-needed
<delete file="${ooxml.testokfile}"/>
<echo message="Running ooxml tests against 'poi-ooxml-schemas'"/>
<ooxml-test-runner classpath="ooxml-lite.classpath" type="ooxml-lite"/>
@@ -1177,9 +1167,8 @@
@@ -1712,9 +1698,8 @@
<echo file="${excelant.testokfile}" append="false" message="testok"/>
</target>
......@@ -127,7 +179,7 @@ Forwarded: not-needed
<junit printsummary="yes" fork="yes" forkmode="once" haltonfailure="${halt.on.test.failure}"
failureproperty="excelant.test.failed">
<classpath refid="test.excelant.classpath"/>
@@ -1195,7 +1184,6 @@
@@ -1738,7 +1723,6 @@
</fileset>
</batchtest>
</junit>
......
Description: remove ${DSTAMP} suffix added to JARs
Author: Damien Raude-Morvan <drazzib@debian.org>
Forwarded: no
Last-Update:2013-07-10
--- a/build.xml
+++ b/build.xml
@@ -1362,32 +1362,32 @@
</target>
<target name="jar" depends="compile-all, compile-version, -manifest" description="Creates jar files for distribution">
- <jar destfile="${dist.dir}/${jar.name}-${version.id}-${DSTAMP}.jar"
+ <jar destfile="${dist.dir}/${jar.name}-${version.id}.jar"
manifest="build/poi-manifest.mf">
<fileset dir="${main.output.dir}"/>
<metainf dir="legal/"/>
</jar>
- <jar destfile="${dist.dir}/${jar.name}-scratchpad-${version.id}-${DSTAMP}.jar"
+ <jar destfile="${dist.dir}/${jar.name}-scratchpad-${version.id}.jar"
manifest="build/poi-manifest.mf">
<fileset dir="${scratchpad.output.dir}"/>
<metainf dir="legal/"/>
</jar>
- <jar destfile="${dist.dir}/${jar.name}-ooxml-${version.id}-${DSTAMP}.jar"
+ <jar destfile="${dist.dir}/${jar.name}-ooxml-${version.id}.jar"
manifest="build/poi-manifest.mf">
<fileset dir="${ooxml.output.dir}"/>
<metainf dir="legal/"/>
</jar>
- <jar destfile="${dist.dir}/${jar.name}-examples-${version.id}-${DSTAMP}.jar"
+ <jar destfile="${dist.dir}/${jar.name}-examples-${version.id}.jar"
manifest="build/poi-manifest.mf">
<fileset dir="${examples.output.dir}"/>
<metainf dir="legal/"/>
</jar>
- <jar destfile="${dist.dir}/${jar.name}-ooxml-schemas-${version.id}-${DSTAMP}.jar"
+ <jar destfile="${dist.dir}/${jar.name}-ooxml-schemas-${version.id}.jar"
manifest="build/poi-manifest.mf">
<fileset dir="${ooxml.lite.output.dir}"/>
<metainf dir="legal/"/>
</jar>
- <jar destfile="${dist.dir}/${jar.name}-excelant-${version.id}-${DSTAMP}.jar"
+ <jar destfile="${dist.dir}/${jar.name}-excelant-${version.id}.jar"
manifest="build/poi-manifest.mf">
<fileset dir="${excelant.output.dir}"/>
<metainf dir="legal/"/>
......@@ -3,29 +3,27 @@ Author: Emmanuel Bourg <ebourg@apache.org>
Forwarded: not-needed
--- a/build.xml
+++ b/build.xml
@@ -590,7 +590,7 @@
</or>
</condition>
</target>
@@ -885,12 +885,12 @@
</sequential>
</macrodef>
- <target name="compile-ooxml-xsds" unless="ooxml-compiled-xsds.present"
+ <target name="compile-ooxml-xsds"
depends="check-jars,fetch-jars,check-compiled-ooxml-xsds"
depends="init,check-compiled-ooxml-xsds"
description="Unpacks the OOXML xsd files, and compiles them into XmlBeans">
<taskdef name="xmlbean"
@@ -606,7 +606,7 @@
<property name="ooxml.xsds.tmp.dir" location="build/ooxml-xsds"/>
<mkdir dir="${ooxml.xsds.tmp.dir}"/>
- <unzip src="${ooxml.lib}/${ooxml.xsds.izip.1}" dest="${ooxml.xsds.tmp.dir}"/>
+ <copy todir="${ooxml.xsds.tmp.dir}"><fileset dir="ooxml-lib"/></copy>
<xmlbean
schema="${ooxml.xsds.tmp.dir}"
srcgendir="${ooxml.xsds.src.dir}"
@@ -629,7 +629,6 @@
<compile-ooxml-xmlbean classes-jar="${ooxml.xsds.jar}" sources-jar="${ooxml.xsds.src.jar}">
<xsds>
- <zipfileset src="${ooxml.lib}/${ooxml.xsds.izip.1}"/>
+ <fileset dir="ooxml-xsds" excludes="opc*"/>
<fileset dir="${ooxml.visio.xsd.dir}"/>
<fileset dir="${ooxml.schema.xsdconfig.dir}"/>
</xsds>
@@ -898,7 +898,7 @@
<!-- Now do the same for the security schemas -->
<property name="ooxml.enc.xsds.tmp.dir" location="build/ooxml-security-xsds"/>
<mkdir dir="${ooxml.enc.xsds.tmp.dir}"/>
- <unzip src="${ooxml.lib}/${ooxml.xsds.izip.2}" dest="${ooxml.enc.xsds.tmp.dir}"/>
<copy todir="${ooxml.enc.xsds.tmp.dir}">
<fileset dir="${ooxml.lib}" includes="dc*.xsd,xmldsig*.xsd,XAdES*.xsd"/>
<compile-ooxml-xmlbean classes-jar="${ooxml.security.jar}" sources-jar="${ooxml.security.src.jar}">
<xsds>
- <zipfileset src="${ooxml.lib}/${ooxml.xsds.izip.2}" includes="opc-digSig.xsd,opc-relationships.xsd"/>
+ <fileset dir="ooxml-xsds" includes="opc*"/>
<fileset dir="${ooxml.lib}" includes="xmldsig*.xsd,XAdES*.xsd"/>
<fileset dir="${ooxml.security.xsd.dir}"/>
</xsds>
......@@ -3,7 +3,7 @@ Author: Emmanuel Bourg <ebourg@apache.org>
Forwarded: no
--- a/src/scratchpad/testcases/org/apache/poi/hmef/TestAttachments.java
+++ b/src/scratchpad/testcases/org/apache/poi/hmef/TestAttachments.java
@@ -82,9 +82,7 @@
@@ -83,9 +83,7 @@
List<Attachment> attachments = quick.getAttachments();
// Pick a predictable date format + timezone
......@@ -11,12 +11,12 @@ Forwarded: no
- DateFormat.MEDIUM, DateFormat.MEDIUM, Locale.UK
- );
+ DateFormat fmt = new java.text.SimpleDateFormat("dd-MMM-yyyy HH:mm:ss", Locale.UK);
fmt.setTimeZone(TimeZone.getTimeZone("UTC"));
fmt.setTimeZone(LocaleUtil.TIMEZONE_UTC);
// They should all have the same date on them
--- a/src/scratchpad/testcases/org/apache/poi/hmef/attribute/TestMAPIAttributes.java
+++ b/src/scratchpad/testcases/org/apache/poi/hmef/attribute/TestMAPIAttributes.java
@@ -158,9 +158,7 @@
@@ -159,9 +159,7 @@
assertEquals(MAPIDateAttribute.class, attr.getClass());
MAPIDateAttribute date = (MAPIDateAttribute)attr;
......@@ -24,7 +24,7 @@ Forwarded: no
- DateFormat.MEDIUM, DateFormat.MEDIUM, Locale.UK
- );
+ DateFormat fmt = new java.text.SimpleDateFormat("dd-MMM-yyyy HH:mm:ss", Locale.UK);
fmt.setTimeZone(TimeZone.getTimeZone("UTC"));
fmt.setTimeZone(LocaleUtil.TIMEZONE_UTC);
assertEquals("15-Dec-2010 14:46:31", fmt.format(date.getDate()));
--- a/src/scratchpad/testcases/org/apache/poi/hmef/attribute/TestTNEFAttributes.java
......@@ -37,41 +37,12 @@ Forwarded: no
- DateFormat.MEDIUM, DateFormat.MEDIUM, Locale.UK
- );
+ DateFormat fmt = new java.text.SimpleDateFormat("dd-MMM-yyyy HH:mm:ss", Locale.UK);
fmt.setTimeZone(TimeZone.getTimeZone("UTC"));
fmt.setTimeZone(LocaleUtil.TIMEZONE_UTC);
assertEquals("28-Apr-2010 12:40:56", fmt.format(date.getDate()));
}
--- a/src/ooxml/java/org/apache/poi/poifs/crypt/dsig/facets/KeyInfoSignatureFacet.java
+++ b/src/ooxml/java/org/apache/poi/poifs/crypt/dsig/facets/KeyInfoSignatureFacet.java
@@ -77,7 +77,7 @@
List<Object> x509DataObjects = new ArrayList<Object>();
X509Certificate signingCertificate = signatureConfig.getSigningCertificateChain().get(0);
- List<Object> keyInfoContent = new ArrayList<Object>();
+ List<javax.xml.crypto.XMLStructure> keyInfoContent = new ArrayList<javax.xml.crypto.XMLStructure>();
if (signatureConfig.isIncludeKeyValue()) {
KeyValue keyValue;
@@ -142,4 +142,4 @@
nextSibling.getParentNode().insertBefore(kiNl.item(0), nextSibling);
}
}
-}
\ No newline at end of file
+}
--- a/src/ooxml/java/org/apache/poi/poifs/crypt/dsig/KeyInfoKeySelector.java
+++ b/src/ooxml/java/org/apache/poi/poifs/crypt/dsig/KeyInfoKeySelector.java
@@ -65,7 +65,7 @@
continue;
}
X509Data x509Data = (X509Data) keyInfoStructure;
- List<Object> x509DataList = x509Data.getContent();
+ List<?> x509DataList = x509Data.getContent();
for (Object x509DataObject : x509DataList) {
if (!(x509DataObject instanceof X509Certificate)) {
continue;
--- a/build.xml
+++ b/build.xml
@@ -1134,6 +1134,7 @@
@@ -1655,6 +1655,7 @@
failonerror="true">
<classpath>
<pathelement path="${ooxml.lite-merged.dir}/ooxml-lite-merged.jar"/>
......
Description: Fixes the compatibility with the version of BouncyCastle in Debian
Author: Emmanuel Bourg <ebourg@apache.org>
Forwarded: no
--- a/src/ooxml/java/org/apache/poi/poifs/crypt/dsig/facets/XAdESXLSignatureFacet.java
+++ b/src/ooxml/java/org/apache/poi/poifs/crypt/dsig/facets/XAdESXLSignatureFacet.java
@@ -245,7 +245,7 @@
ResponderIDType responderId = ocspIdentifier.addNewResponderID();
RespID respId = basicOcspResp.getResponderId();
- ResponderID ocspResponderId = respId.toASN1Object();
+ ResponderID ocspResponderId = respId.toASN1Primitive();
DERTaggedObject derTaggedObject = (DERTaggedObject)ocspResponderId.toASN1Primitive();
if (2 == derTaggedObject.getTagNo()) {
ASN1OctetString keyHashOctetString = (ASN1OctetString)derTaggedObject.getObject();
Description: Resolve the external schemas (could this be replaced by a catalog?)
Author: Emmanuel Bourg <ebourg@apache.org>
Forwarded: not-needed
diff --git a/ooxml-lib/dc.xsd b/ooxml-lib/dc.xsd
index 4d5a065..2f02a6f 100644
--- a/ooxml-lib/dc.xsd
+++ b/ooxml-lib/dc.xsd
@@ -39,7 +39,7 @@
<xs:import namespace="http://www.w3.org/XML/1998/namespace"
- schemaLocation="http://www.w3.org/2001/03/xml.xsd">
+ schemaLocation="/usr/share/xml/xmltooling/xml.xsd">
</xs:import>
<xs:complexType name="SimpleLiteral">
diff --git a/ooxml-lib/dcterms.xsd b/ooxml-lib/dcterms.xsd
index 0149c6b..a3e5334 100644
--- a/ooxml-lib/dcterms.xsd
+++ b/ooxml-lib/dcterms.xsd
@@ -57,7 +57,7 @@
<xs:import namespace="http://www.w3.org/XML/1998/namespace"
- schemaLocation="http://www.w3.org/2001/03/xml.xsd">
+ schemaLocation="/usr/share/xml/xmltooling/xml.xsd">
</xs:import>
<xs:import namespace="http://purl.org/dc/elements/1.1/"
diff --git a/ooxml-xsds/opc-coreProperties.xsd b/ooxml-xsds/opc-coreProperties.xsd
index 663c90b..208de41 100644
--- a/ooxml-xsds/opc-coreProperties.xsd
+++ b/ooxml-xsds/opc-coreProperties.xsd
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema targetNamespace="http://schemas.openxmlformats.org/package/2006/metadata/core-properties" xmlns="http://schemas.openxmlformats.org/package/2006/metadata/core-properties" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" elementFormDefault="qualified" blockDefault="#all">
- <xs:import namespace="http://purl.org/dc/elements/1.1/" schemaLocation="http://dublincore.org/schemas/xmls/qdc/2003/04/02/dc.xsd" />
- <xs:import namespace="http://purl.org/dc/terms/" schemaLocation="http://dublincore.org/schemas/xmls/qdc/2003/04/02/dcterms.xsd" />
+ <xs:import namespace="http://purl.org/dc/elements/1.1/" schemaLocation="../../ooxml-lib/dc.xsd" />
+ <xs:import namespace="http://purl.org/dc/terms/" schemaLocation="../../ooxml-lib/dcterms.xsd" />
<xs:element name="coreProperties" type="CT_CoreProperties" />
diff --git a/ooxml-xsds/shared-math.xsd b/ooxml-xsds/shared-math.xsd
index 1740e6f..4c345d5 100644
--- a/ooxml-xsds/shared-math.xsd
+++ b/ooxml-xsds/shared-math.xsd
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="qualified" blockDefault="#all" targetNamespace="http://schemas.openxmlformats.org/officeDocument/2006/math" xmlns="http://schemas.openxmlformats.org/officeDocument/2006/math" xmlns:m="http://schemas.openxmlformats.org/officeDocument/2006/math" xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main">
<xsd:import id="w" namespace="http://schemas.openxmlformats.org/wordprocessingml/2006/main" schemaLocation="wml.xsd" />
- <xsd:import id="xml" namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:import id="xml" namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="/usr/share/xml/xmltooling/xml.xsd" />
<xsd:simpleType name="ST_Integer255">
<xsd:annotation>
<xsd:documentation>Integer value (1 to 255)</xsd:documentation>
diff --git a/ooxml-xsds/wml.xsd b/ooxml-xsds/wml.xsd
index 737611f..4bb4841 100644
--- a/ooxml-xsds/wml.xsd
+++ b/ooxml-xsds/wml.xsd
@@ -4,7 +4,7 @@
<xsd:import id="m" namespace="http://schemas.openxmlformats.org/officeDocument/2006/math" schemaLocation="shared-math.xsd" />
<xsd:import id="wp" namespace="http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing" schemaLocation="dml-wordprocessingDrawing.xsd" />
<xsd:import id="rel" namespace="http://schemas.openxmlformats.org/officeDocument/2006/relationships" schemaLocation="shared-relationshipReference.xsd" />
- <xsd:import id="xml" namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:import id="xml" namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="/usr/share/xml/xmltooling/xml.xsd" />
<xsd:complexType name="CT_Empty"></xsd:complexType>
<xsd:simpleType name="ST_OnOff">
<xsd:annotation>
diff --git a/src/ooxml/java/org/apache/poi/xwpf/usermodel/TOC.java b/src/ooxml/java/org/apache/poi/xwpf/usermodel/TOC.java
index a75fc84..dfa7f3d 100644
--- a/src/ooxml/java/org/apache/poi/xwpf/usermodel/TOC.java
+++ b/src/ooxml/java/org/apache/poi/xwpf/usermodel/TOC.java
@@ -20,7 +20,7 @@ import java.math.BigInteger;
import org.apache.poi.util.Internal;
import org.apache.poi.util.LocaleUtil;
-import org.apache.xmlbeans.impl.xb.xmlschema.SpaceAttribute.Space;
+import org.w3.xml.x1998.namespace.SpaceAttribute.Space;
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDecimalNumber;
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTFonts;
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTP;
Description: Ignore the JMH benchmarks
Author: Emmanuel Bourg <ebourg@apache.org>
Forwarded: not-needed
--- a/src/ooxml/testcases/org/apache/poi/benchmark/AddImageBench.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/* ====================================================================
- 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.
-==================================================================== */
-
-package org.apache.poi.benchmark;
-
-import org.apache.poi.hssf.HSSFTestDataSamples;
-import org.apache.poi.ss.usermodel.*;
-import org.apache.poi.xssf.usermodel.XSSFWorkbook;
-import org.openjdk.jmh.annotations.*;
-import org.openjdk.jmh.profile.GCProfiler;
-import org.openjdk.jmh.profile.StackProfiler;
-import org.openjdk.jmh.runner.Runner;
-import org.openjdk.jmh.runner.RunnerException;
-import org.openjdk.jmh.runner.options.Options;
-import org.openjdk.jmh.runner.options.OptionsBuilder;
-
-import java.util.concurrent.TimeUnit;
-
-
-@BenchmarkMode(Mode.AverageTime)
-@OutputTimeUnit(TimeUnit.MICROSECONDS)
-@Warmup(iterations = 10, time = 1, timeUnit = TimeUnit.SECONDS )
-@Measurement(iterations = 10, time = 2, timeUnit = TimeUnit.SECONDS)
-@State(Scope.Benchmark)
-public class AddImageBench {
-
- private Workbook wb;
- private CreationHelper helper;
- private byte[] bytes;
- private Sheet sheet;
-
- @Setup(Level.Iteration)
- public void doit() {
- wb = new XSSFWorkbook();
- helper = wb.getCreationHelper();
- //add a picture in this workbook.
-
- bytes = HSSFTestDataSamples.getTestDataFileContent("45829.png");
- sheet = wb.createSheet();
- }
-
- @Benchmark
- public void benchCreatePicture() throws Exception {
- Drawing drawing = sheet.createDrawingPatriarch();
-
- ClientAnchor anchor = helper.createClientAnchor();
- anchor.setCol1(1);
- anchor.setRow1(1);
- drawing.createPicture(anchor, wb.addPicture(bytes, Workbook.PICTURE_TYPE_JPEG));
-
- }
-
- public static void main(String[] args) throws RunnerException {
- Options opt = new OptionsBuilder()
- .include(".*" + AddImageBench.class.getSimpleName() + ".*")
- .addProfiler(StackProfiler.class)
- .addProfiler(GCProfiler.class)
- .forks(1)
- .build();
-
- new Runner(opt).run();
- }
-}
01_disable-code-coverage.patch
04_jar_names.patch
05_use-local-ooxml-xsds.patch
08_java9-compatibility.patch
09_bouncycastle-compatibility.patch
10_resolve-xml-namespaces.patch
11_ignore-benchmarks.patch
#!/usr/bin/make -f
include /usr/share/dpkg/pkg-info.mk
include /usr/share/dpkg/default.mk
VERSION := $(shell echo $(DEB_VERSION_UPSTREAM) | sed 's/+dfsg//')
export CLASSPATH=/usr/share/java/jaxb-api.jar
export CLASSPATH=/usr/share/java/jaxb-api.jar:/usr/share/java/xmlbeans.jar
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-$(DEB_HOST_ARCH)
%:
dh $@ --with maven-repo-helper --with javahelper
......@@ -18,13 +19,13 @@ ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
endif
override_dh_auto_install:
mh_installpom -plibapache-poi-java build/dist/poi-$(VERSION).pom
mh_installpom -plibapache-poi-java build/dist/poi-scratchpad-$(VERSION).pom
mh_installpom -plibapache-poi-java build/dist/poi-ooxml-$(VERSION).pom
mh_installpom -plibapache-poi-java build/dist/poi-ooxml-schemas-$(VERSION).pom
mh_installpom -plibapache-poi-java build/dist/poi-excelant-$(VERSION).pom
mh_installjar -plibapache-poi-java -l build/dist/poi-$(VERSION).pom build/dist/poi-$(VERSION).jar
mh_installjar -plibapache-poi-java -l build/dist/poi-scratchpad-$(VERSION).pom build/dist/poi-scratchpad-$(VERSION).jar
mh_installjar -plibapache-poi-java -l build/dist/poi-ooxml-$(VERSION).pom build/dist/poi-ooxml-$(VERSION).jar
mh_installjar -plibapache-poi-java -l build/dist/poi-ooxml-schemas-$(VERSION).pom build/dist/poi-ooxml-schemas-$(VERSION).jar
mh_installjar -plibapache-poi-java -l build/dist/poi-excelant-$(VERSION).pom build/dist/poi-excelant-$(VERSION).jar
mh_installpom -plibapache-poi-java build/dist/maven/poi/poi-$(VERSION).pom
mh_installpom -plibapache-poi-java build/dist/maven/poi-scratchpad/poi-scratchpad-$(VERSION).pom
mh_installpom -plibapache-poi-java build/dist/maven/poi-ooxml/poi-ooxml-$(VERSION).pom
mh_installpom -plibapache-poi-java build/dist/maven/poi-ooxml-schemas/poi-ooxml-schemas-$(VERSION).pom
mh_installpom -plibapache-poi-java build/dist/maven/poi-excelant/poi-excelant-$(VERSION).pom
mh_installjar -plibapache-poi-java -l build/dist/maven/poi/poi-$(VERSION).pom build/dist/maven/poi/poi-$(VERSION).jar
mh_installjar -plibapache-poi-java -l build/dist/maven/poi-scratchpad/poi-scratchpad-$(VERSION).pom build/dist/maven/poi-scratchpad/poi-scratchpad-$(VERSION).jar
mh_installjar -plibapache-poi-java -l build/dist/maven/poi-ooxml/poi-ooxml-$(VERSION).pom build/dist/maven/poi-ooxml/poi-ooxml-$(VERSION).jar
mh_installjar -plibapache-poi-java -l build/dist/maven/poi-ooxml-schemas/poi-ooxml-schemas-$(VERSION).pom build/dist/maven/poi-ooxml-schemas/poi-ooxml-schemas-$(VERSION).jar
mh_installjar -plibapache-poi-java -l build/dist/maven/poi-excelant/poi-excelant-$(VERSION).pom build/dist/maven/poi-excelant/poi-excelant-$(VERSION).jar
......@@ -5,20 +5,71 @@
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:asfext="http://projects.apache.org/ns/asfext#"
xmlns:foaf="http://xmlns.com/foaf/0.1/">
<Project rdf:about="http://poi.apache.org">
<!--
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 rdf:about="https://poi.apache.org">
<created>2006-01-26</created>
<license rdf:resource="http://usefulinc.com/doap/licenses/asl20" />
<license rdf:resource="https://spdx.org/licenses/Apache-2.0" />
<name>Apache POI</name>
<homepage rdf:resource="http://poi.apache.org" />
<asfext:pmc rdf:resource="http://poi.apache.org" />
<homepage rdf:resource="https://poi.apache.org" />
<asfext:pmc rdf:resource="https://poi.apache.org" />
<shortdesc>Java API To Access Microsoft Document File Formats</shortdesc>
<description>APIs for manipulating various file formats based upon Open Office XML (ECMA-376) and Microsoft's OLE 2 Compound Document formats using pure Java. Apache POI is your Java Excel, Word and PowerPoint solution. We have a complete API for porting other OOXML and OLE 2 Compound Document formats and welcome others to participate.</description>
<bug-database rdf:resource="http://issues.apache.org/bugzilla/buglist.cgi?product=POI" />
<mailing-list rdf:resource="http://poi.apache.org/mailinglists.html" />
<download-page rdf:resource="http://www.apache.org/dyn/closer.cgi/poi/" />
<bug-database rdf:resource="https://issues.apache.org/bugzilla/buglist.cgi?product=POI" />
<mailing-list rdf:resource="https://poi.apache.org/mailinglists.html" />
<download-page rdf:resource="https://www.apache.org/dyn/closer.lua/poi/" />
<programming-language>Java</programming-language>
<category rdf:resource="http://projects.apache.org/category/content" />
<category rdf:resource="http://projects.apache.org/category/library" />
<category rdf:resource="https://projects.apache.org/category/content" />
<category rdf:resource="https://projects.apache.org/category/library" />
<release>
<Version>
<name>Apache POI 3.16</name>
<created>2017-04-19</created>
<revision>3.16</revision>
</Version>
</release>
<release>
<Version>
<name>Apache POI 3.15</name>
<created>2016-09-21</created>
<revision>3.15</revision>
</Version>
</release>
<release>
<Version>
<name>Apache POI 3.14</name>
<created>2016-03-05</created>
<revision>3.14</revision>
</Version>
</release>
<release>
<Version>
<name>Apache POI 3.13</name>
<created>2015-09-29</created>
<revision>3.13</revision>
</Version>
</release>
<release>
<Version>
<name>Apache POI 3.12</name>
<created>2015-05-11</created>
<revision>3.12</revision>
</Version>
</release>
<release>
<Version>
<name>Apache POI 3.11</name>
......@@ -84,14 +135,14 @@
</release>
<repository>
<SVNRepository>
<location rdf:resource="http://svn.apache.org/repos/asf/poi/"/>
<browse rdf:resource="http://svn.apache.org/viewvc/poi/"/>
<location rdf:resource="https://svn.apache.org/repos/asf/poi/"/>
<browse rdf:resource="https://svn.apache.org/viewvc/poi/"/>
</SVNRepository>
</repository>
<maintainer>
<foaf:Person>
<foaf:name>Yegor Kozlov</foaf:name>
<foaf:mbox rdf:resource="mailto:yegor@apache.org"/>
<foaf:name>POI Committers</foaf:name>
<foaf:mbox rdf:resource="mailto:dev@poi.apache.org"/>
</foaf:Person>
</maintainer>
</Project>
......
# JaCoCo Agent
sun.instrument.InstrumentationImpl.loadClassAndStartAgent
org.jacoco.agent.rt.internal_14f7ee5.output.FileOutput.openFile
# Ant Junit
org.apache.tools.ant.taskdefs.optional.junit.XMLJUnitResultFormatter.getDocumentBuilder
# JVM
sun.security.jca.ProviderConfig.doLoadProvider
javax.xml.parsers.FactoryFinder.findJarServiceProvider
com.sun.org.apache.xerces.internal.utils.SecuritySupport.getResourceBundle
# Codepage support loads classes
java.nio.charset.Charset.lookupViaProviders
# Ant
org.apache.tools.ant.Main.getAntVersion
javax.xml.parsers.FactoryFinder.findJarServiceProvider
org.apache.tools.ant.taskdefs.Antlib.createAntlib
# XML Parser
com.sun.org.apache.xerces.internal.utils.SecuritySupport.getResourceBundle
com.sun.org.apache.xml.internal.serializer.OutputPropertiesFactory.loadPropertiesFile
com.sun.xml.internal.bind.v2.runtime.property.ArrayElementNodeProperty.<init>
com.sun.xml.internal.bind.v2.runtime.property.AttributeProperty.<init>
com.sun.xml.internal.bind.v2.runtime.property.SingleElementNodeProperty.<init>
javax.xml.stream.FactoryFinder.findJarServiceProvider
# XMLBeans
org.apache.xmlbeans.impl.regex.RegexParser.setLocale
org.apache.xmlbeans.impl.schema.SchemaTypeSystemImpl$XsbReader.getLoaderStream
# JCA
sun.security.jca.ProviderConfig.getProvider
javax.crypto.JceSecurity.setupJurisdictionPolicies
javax.crypto.Cipher.getMaxAllowedKeyLength
# IntelliJ
com.intellij.junit4.JUnit4TestRunnerUtil.<clinit>
# Java
sun.util.resources.LocaleData.getBundle
sun.util.LocaleServiceProviderPool.<init>
sun.util.calendar.LocalGregorianCalendar.getLocalGregorianCalendar
sun.net.www.protocol.jar.JarURLConnection.getInputStream
sun.text.normalizer.ICUData.getStream
sun.font.T2KFontScaler.initNativeScaler
sun.font.SunFontManager.loadFonts
sun.font.FontManagerFactory.getInstance
sun.font.TrueTypeFont.open
sun.reflect.misc.MethodUtil.<clinit>
java.util.logging.Logger.findSystemResourceBundle
java.text.BreakIterator.getBundle
sun.java2d.SunGraphicsEnvironment.<init>
org.kohsuke.file_leak_detector.AgentMain.runHttpServer
This diff is collapsed.