Skip to content
Commits on Source (14)
test-data/hmef/quick-contents/quick.html text eol=lf
......@@ -11,6 +11,7 @@ log*.*
forrest.properties
compile-lib/
ooxml-lib/
ooxml-testlib/
# Eclipse
/bin
......
......@@ -1762,13 +1762,13 @@ W45jdvBkYoPdQtS+8Vy+q0997zobctz8i5hfXzxg51/IuSU4uNtgr26XapsoLDur
=/Vu1
-----END PGP PUBLIC KEY BLOCK-----
pub rsa2048/26062CE3 2014-08-17 [expires: 2018-08-21]
pub rsa2048 2014-08-17 [SC] [expires: 2020-07-06]
24188560524400B142BE3386A93E1C4B26062CE3
uid [ultimate] Andreas Beeker <kiwiwings@apache.org>
uid [ultimate] Andreas Beeker (kiwiwings) <andreas.beeker@gmx.de>
sub rsa2048/EE864ED6 2014-08-17 [expires: 2018-08-21]
sub rsa2048 2014-08-17 [E] [expires: 2020-07-06]
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v2
mQENBFPwtjQBCADWg7jYCGq+QFGfB8nLLQs/WEw4XJiAY9q65qWX1clNuVgTF9Nn
ABBOy4KiSDR9XWmARZlC2trKfdoFEnNJ6EnFkLhOjzZKiy4jkyxCctKfbV+sMzCm
......@@ -1776,52 +1776,90 @@ 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
=PCbZ
IDxraXdpd2luZ3NAYXBhY2hlLm9yZz6JAVgEEwECAEICGwMGCwkIBwMCBhUIAgkK
CwQWAgMBAh4BAheAAhkBFiEEJBiFYFJEALFCvjOGqT4cSyYGLOMFAltBCHsFCQsS
uUcACgkQqT4cSyYGLONeTAgAx/618v7nrYdQlbKz/Ywf8v9rhE6EHUrwylwkQRHA
fVrBhEiMVRJnOnmkxUBijDTK1MMMslN0TNu5iI3GFMZ6luQTmP6gu4Dbq3ot/tjm
3Dnshf26Hg0DnrP7wj3fNPsjVpcfMk3tZ7GN+l/czPIwqrBiidYPsAOmhhJ0CDTk
ZzO1fsLL8rYxy+LvhyS/djuxUChCaT/veoNAhZH4r4AHVz+0Y2BdRDnOufUa+SA2
zv5RKy1D2dXMIwqYpw2NfiPptZf/lezOvjbRyE0V3tFl2fo5vqfrbSnDi8e8zCtA
dfsCWjlubhCnKjF06V6HQxxFXvLkzOjnvATpilf278ydjokBPgQTAQIAKAUCU/EQ
KQIbAwUJA8JnAAYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQqT4cSyYGLOO9
9ggAtLW+Vqo39/v9jOmc7CUfZajiOkiMGsbtKpx1VCTc0axdNfPOrmnu5NPOkQlb
xF5ksZ5hpPOqHW8f3u4A9HrAvcaMcxkXaOQLTBIdfG+H0bKt3HcsDw1I74EAb1l8
Po4aSWyXu0UUSmUul9HUSwAp9uLRsBjzpJ9XBOYJB8VK2hJPODyouvc5wlC2rDzl
dV+OsVNo+Njfr9FwtxdWYBU3rLwT4TvTX2o/fRp8aS/D5lsirypvEki05sy6GfnF
0jRhoybbK50J+bZoZhIKeSuA1+5bMfpZnyfV+/jlMYFR3ZHrM+vXd4fvcAbVZelq
mgPjnJ/9MVq9F+eSdTrFvtTdkokBQQQTAQIAKwIbAwUJA8JnAAYLCQgHAwIGFQgC
CQoLBBYCAwECHgECF4AFAlRLpLMCGQEACgkQqT4cSyYGLOON1ggAsfe2uG3olN8/
PZSyW0VNyPOotcb8jxWrmGSvSzh7HVXug0NesFEFvVYLWlwR7XGq9CahPI91Shfy
ULIs6u3chGmCOcf/gALJ6d87DrIeXpppdfce+x4vegdBMynOSfL7FWytTMnBUJFU
AI8zj0vqdGPhhFhpmoCfjbHal5gc1x8Wu8qwO1Oe3hJsVAGWa6IO2V48zpr3DOpc
wWRf72Fwen9KA7ANqWlqZ6hFD8i1/XDaE313Fi5pRaiOjpvRekKHOQIcqLG4Qq2M
ldOi9GVzoPPFPZnkkw+EBOI3dkKjzyV93+QrxoxmBXh+u5qr9BBGM0r8eCfp8/2M
8BGdxIUeQIkCHAQRAQIABgUCV+cXowAKCRDmZ3rGi6vdbEhdD/0Rp045xULKBxnt
jhYINF7rttKfcR0KIC+DB4ruaz51e9SCXlTtvdKjRltuIxTzQ3cfDk+mk013Yh3w
RIIRe8SdaDPr5Z+3mWi0bAyKHZX22IZFa3/9Kg4wSJt8OoT1ng2EsQL+Wj8xQc/U
MdIAkz2tems4ELvi+ZaHgDMQAHgDqajRjk4/sqd5hd57k5zDmrfycPeUJPa69wtE
XXV3sXhj1xief/ZgVMKnOg4PJkpLi7fM0wTY4UGx9A3ZYhrUrcEpQBmYjFDpegvf
LbXfGYfqsmjLfqA+vIw8VPLIQvftQaYZW1p60DZf0GzvEm3i9ZDiItM4+vNUByrJ
wp9AFujSq1M65oR+RIDPz0LnApHXzkxrS6a8KZaxO0mZ7SQmKn7V134X5X7lLug6
Nr9wSS5RJjGkYgo8D0nxWnWC+cEusodzdZgm+mpnSbEYoadeXt9pxlNOXlAX5xp+
N1dm0w+otwR4pnTTDORzpjmcs/BB7zY4BASF5jKcYYBeY6h6Q9wkx4FPo7s7LJj+
Qjn1xALZaYHGpGdKZJWsgmKRWEtAdtIylml05DvYzUTAS1ok6egxVX/59h11RlvJ
XILoP/5jNbY0OFYD8AR9rQqbxeumjtkxG4BrngTnYCy3sbS5f/9gc/1jFCALRHL0
SdOLLB/8Wbb5+ruv+JYUgeu9oLjDorQyQW5kcmVhcyBCZWVrZXIgKGtpd2l3aW5n
cykgPGFuZHJlYXMuYmVla2VyQGdteC5kZT6JAVUEEwECAD8CGwMGCwkIBwMCBhUI
AgkKCwQWAgMBAh4BAheAFiEEJBiFYFJEALFCvjOGqT4cSyYGLOMFAltBCHsFCQsS
uUcACgkQqT4cSyYGLONkjgf/bxTNXgEPKbt9/rGj7h2KagQ8E+4NiCQ/TOxa6O58
KFFOJ5yIhXHcAUFjgXrbXSZJK8RqMRU4stQB1y6eNjvBYG53WuUpxXkt3WR8C4zz
0J6UISZQbDJ9txvk4aheWn7ti0wirpdWikXwzz5fFAWFgGQ4VGELQaYKadCNa8vs
yXTQw0H07xkO+PkGEKR9gmpn9yP7+j9PdVuEUU3RvYw1oOP6pq8V1hOjzXte5R6E
MDww/UuXy3TMnYkAVKUYpKmtggYe0vSHk3b8WTzT3eXvDq4yka6lKZVD7GI0viSV
6+MqtnBGasbE7rNn2v5qB7WF/NmS4yS2DbCQkLqcTva7YIkCHAQQAQoABgUCVeYS
CQAKCRDhlnVFJ7n2NaofD/9N7r47lNVfVGWPbf+CfytMG1PEXvXPx34Jiawp/sLw
yDrcaToN5tO2aCK6LGBANgiJvpCwmLjW8xks+mT2ZaaKuRb8czvTgGDDu+q95LcV
MEp28XfUwpIwgkPETMU/yRgwVO+5wCT8oQlGRdv0sq153sZaDT/U0fyA0GTTl85c
UYLvsyK6Zf4oX6saM6l2BSJYZT/pNxoYkLenucsPmy0YiWT0fjS80uL303mBL1k9
nbUCfBRciRdh8qYlXBRRdAMLJIlUUfccZHWzjXidA5zh30Zp0rX5deBA11DQ2d+E
JyIDJMPL8nXNRnkEBOOAWWJTdXeCf4enko4uRbXsdZ20bk3nrF4OQMwB4v81p/HU
VCgnSsY45/re5NUkBCtfoeiWvgsAU2aR1qRzxGxc1Uk13KAtKlPkFCw/XqtQL+Dk
4gZ639f6mBmWrOitCmC/OGUx+yQGbYJF659bA4jjBDAfB3aqcOe8D2krf+pm7ZpA
nWwk1ooASFkmPRRn0k2XUZPyqCCCvlasQj5EvvkUOZbcMKu2Oq3BLDBXVMDFnN4Q
g0LvQvnY1UWa7EqOpy1Biho6CmG9cZnKq9N1arlVR9+lzUZst0wv/EakrLT/0OHb
cWtG4Kovorvb8C1VFrYC0kCa9jsU3FOuNA5VQiXb6k30uElD+WYbdRzpFc4d5dyo
jIkBPgQTAQIAKAUCU/C2NAIbAwUJA8JnAAYLCQgHAwIGFQgCCQoLBBYCAwECHgEC
F4AACgkQqT4cSyYGLOMLxQf/YRFfC8x1KQ9F/7zPaX1tWW05dhjYmX7jIevypagd
wuIC90iy0ZZOJhDzN6pWVgqmYllaec89Qv4//gSyVt3Po96wlBALKG7Eeh5MQa+z
dC1J7q2zF8ojr3YOJQEuNlYtSa8nRXYodRwiNzYhjBwFf/DRHbZi7e1HvDqcdNUe
q8FwaJl+QRyV5822UWwm3aK/1JzvH3+SuI8HesoWNAVfmyNrg/rxqvZzJXdCRo+1
u6gfh8zgMaSDbR5LEIbU1fzwVox0wjYTnRodc8qMryUrIZtTZL8AVWWDLP9LowKX
KsQF8rRl6Jy4jJmTBAjo8QIoKYfE+DwhCnSKnbFcZAtsm4kCHAQRAQIABgUCV+cX
sAAKCRDmZ3rGi6vdbI4eEACiAFDr6ZAWSJJ1ndS65MsAi4zyqi/HZPxuZ/ay9NKW
bOTYkTW14idZsykrtWRkdacWVIPjNtAxanqJNs79dC7hqmdDeokfiU6oi6/UkzYG
vwmFROH9Rcwx1eJgHZeeq0PD7Qc0B6y+2Bm74yEkL7NYREmZz0qfFElDUphr/yEj
6SMs056JEq5V0G9SAkOHUKZzBsyYYnnxqVOwg6MVX5bipJq0MoeSkV17Cw+1oXY/
wt0hMVyPJ/x5cdke4c4ZKZtMsfAGFhQawRtxVWcwwHEI22hN9Mz3E8cqxYYnS4jY
dzPpg1vTC3bdDQZKgJphtsQDOV43UzzGD83HW2Ovm/JIhmAUUsOjEvGbzBwmUZOx
dFFQLHpVzMZ3M0ffhJaZEF0Mdmj2ydr/cwdbQJpcSOx5+rveUuOJVKFeIqD2RcjL
x9orYxwwAbH3MQ3IGaghkmrLCHC7OoqTpcFMl0lIRutubc5Z72NGZqkz+6QAZWHr
M7vZUfX1w44Wa5MfYeiY5rmIZ9EOh0yVQN4yq8eZ9hHGxSXChEhl345XyuCOPqLU
vUD3PhHho428r4Ffelv7ReBkrZTL7Bu38ZgzTwXG0ts9tuuS7OY6fXiwuIPNHtNA
DVT8GwtjxIJZcWID2kk70eqlSwvTuAKZFgT9diY5ObVkcdNjURa3vGRbiBDcakxL
a7kBDQRT8LY0AQgApZ+phwvCbN09yiYDcnYpjggBYS5kuHtLq9N2NZ3JAfcwf6TE
y7pQ4LWcFkop9yneNFWQ8ioupqjqeZXc+gLGdgksdRnyPYlYX7hajmogS6qTaXb3
/Zxi/TlaMtUncE14J26IiBbW0xt7FcA+MeKk0W5k9ti5/5iACAkdsMRQZM6WyEOz
H0f8xIEYdlZUVFK1lLJ2HTodMX8bmILJzwo6U2PIbxJ6Nx+pM1ypo9hkCbWsDFbO
W0aPxgjPZQQUfzwIQeuQAsy5lFErMY5Zo2cNLQnDrn4NUcgBf5emFcNVDiWqlwX0
j3mZC0AY/afFTaWrF/2nCH6RGmSxPEIaDtdWowARAQABiQE8BBgBAgAmAhsMFiEE
JBiFYFJEALFCvjOGqT4cSyYGLOMFAltBCJsFCQsSuWcACgkQqT4cSyYGLOOhIwf7
BBY881X8VsZxSn6zc4y+mXzNOjaxYwjEaifHaxfOMoZn8tFDd2bWyjGRinMKLliT
j2RJkN5zGZ1f89LFyclV181NRGlQ4eMyv+SWVDLIxodmdToJ9AopHooehvbnQDhz
8htUur7fWx1qRM5U9ZpFHMJp3OF27BCbzPGwFW0Q7fqhliGsV5ae26+AXwn0DsLT
/+w5eJ4Xk+m2FcJoSOTkurZBPOx3wAaPpNZA+qKvOmYsAgzAbYriFIakFJV4l35+
/MDXnpv/VIUPzxUoHjV7BtnBlM2KdA4cGZBq4jXSM2ZdvTquu7tJPJ6FLgWWCWF+
qy0PB4IyWnDgpw6jbn794A==
=doz3
-----END PGP PUBLIC KEY BLOCK-----
pub 4096R/B4812553 2014-02-26 [expires: 2019-02-25]
......@@ -2493,3 +2531,48 @@ bpjAhwE2YmGQ7oB+3V798HtAmceRNf8AY0GWrZswJlg7xUn+WJNwQ9uIHI1fxYHx
2Nr+AmDDs6ZOEI5zhwxioePw/Cg=
=9lKb
-----END PGP PUBLIC KEY BLOCK-----
pub rsa2048 2018-05-02 [SC] [expires: 2020-05-01]
6BA4DA8B1C88A49428A29C3D0C69C1EF41181E13
uid [ultimate] PJ Fanning (http://www.apache.org/) <fanningpj@apache.org>
uid [ultimate] PJ Fanning <fanningpj@yahoo.com>
sub rsa2048 2018-05-02 [E] [expires: 2020-05-01]
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
lSeSg2C31/20JYI=
=/nGR
-----END PGP PUBLIC KEY BLOCK-----
\ No newline at end of file
......@@ -58,12 +58,12 @@ Source code:
* Official `Apache git mirror`_ at apache.org
* Unofficial `GitHub git mirror`_ at github.com
Requires Java 1.6 or later.
Requires Java 1.8 or later.
Contributing
------------------
* Download and install svn or git, Java JDK 1.6+, and Apache Ant 1.8+ or Gradle
* Download and install svn or git, Java JDK 1.8+, and Apache Ant 1.8+ or Gradle
* Check out the code from svn or git
......
......@@ -21,11 +21,15 @@ buildscript {
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"
classpath "org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:2.5"
}
}
// Only add the plugin for Sonar if enabled as it requires Java 8
repositories {
mavenCentral()
}
// Only add the plugin for Sonar if enabled
if (project.hasProperty('enableSonar')) {
println 'Enabling Sonar support'
apply plugin: "org.sonarqube"
......@@ -34,6 +38,20 @@ if (project.hasProperty('enableSonar')) {
// For help converting an Ant build to a Gradle build, see
// https://docs.gradle.org/current/userguide/ant.html
configurations {
antLibs
}
dependencies {
antLibs("junit:junit:4.12")
antLibs("org.apache.ant:ant-junit:1.10.4")
antLibs("org.apache.ant:ant-junit4:1.10.4")
}
ant.taskdef(name: "junit",
classname: "org.apache.tools.ant.taskdefs.optional.junit.JUnitTask",
classpath: configurations.antLibs.asPath)
ant.importBuild 'build.xml'
/**
......@@ -45,7 +63,7 @@ allprojects {
apply plugin: 'eclipse'
task wrapper(type: Wrapper) {
gradleVersion = '3.4.1'
gradleVersion = '4.6'
}
task adjustWrapperPropertiesFile {
......@@ -73,16 +91,16 @@ subprojects {
// See https://github.com/melix/japicmp-gradle-plugin
apply plugin: 'me.champeau.gradle.japicmp'
version = '3.16-beta3'
version = '4.0.1-SNAPSHOT'
ext {
japicmpversion = '3.15'
japicmpversion = '4.0.0'
}
tasks.withType(JavaCompile) {
options.encoding = 'UTF-8'
}
sourceCompatibility = 1.6
sourceCompatibility = 1.8
repositories {
mavenCentral()
......@@ -101,12 +119,17 @@ subprojects {
exclude '**/TestUnfixedBugs.class'
exclude '**/TestOneFile.class'
systemProperties = System.properties
// Exclude Test Suites
exclude '**/All*Tests.class'
exclude '**/HSSFTests.class'
// set heap size for the test JVM(s)
minHeapSize = "128m"
maxHeapSize = "768m"
// Specifying the local via system properties did not work, so we set them this way
jvmArgs '-Duser.language=en -Duser.country=US'
// show standard out and standard error of the test JVM(s) on the console
//testLogging.showStandardStreams = true
......@@ -114,17 +137,13 @@ subprojects {
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')
// this is necessary for JDK 9+ to keep formatting dates the same way as in previous JDK-versions
systemProperties['java.locale.providers'] = 'JRE,CLDR'
}
jacoco {
toolVersion = '0.7.8'
toolVersion = '0.8.2'
}
// ensure the build-dir exists
......@@ -139,6 +158,15 @@ subprojects {
}
}
}
task(japicmp, type: me.champeau.gradle.ArtifactJapicmpTask, dependsOn: jar) {
to = jar.archivePath
onlyModified = true
onlyBinaryIncompatibleModified = true
failOnModification = false
txtOutputFile = file("$buildDir/reports/japi.txt")
htmlOutputFile = file("$buildDir/reports/japi.html")
}
}
project('main') {
......@@ -147,11 +175,23 @@ project('main') {
sourceSets.test.java.srcDirs = ['../../src/testcases']
dependencies {
compile 'commons-codec:commons-codec:1.10'
compile 'commons-codec:commons-codec:1.11'
compile 'commons-logging:commons-logging:1.2'
compile 'org.apache.commons:commons-collections4:4.1'
compile 'org.apache.commons:commons-collections4:4.2'
compile 'org.apache.commons:commons-math3:3.6.1'
compile 'javax.xml.bind:jaxb-api:2.3.0'
compile 'com.sun.xml.bind:jaxb-impl:2.3.0.1'
compile 'com.sun.xml.bind:jaxb-core:2.3.0.1'
compile 'javax.activation:activation:1.1.1'
testCompile 'junit:junit:4.12'
testCompile 'org.reflections:reflections:0.9.11'
}
jar {
manifest {
attributes 'Automatic-Module-Name': 'org.apache.poi.main'
}
}
// Create a separate jar for test-code to depend on it in other projects
......@@ -169,16 +209,7 @@ project('main') {
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")
}
japicmp.baseline = 'org.apache.poi:poi:' + japicmpversion + '@jar'
}
project('ooxml') {
......@@ -194,37 +225,38 @@ project('ooxml') {
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'
compile 'org.apache.xmlbeans:xmlbeans:3.0.2'
compile 'org.apache.commons:commons-collections4:4.2'
compile 'org.apache.commons:commons-math3:3.6.1'
compile 'org.apache.commons:commons-compress:1.18'
compile 'org.apache.santuario:xmlsec:2.1.0'
compile 'org.bouncycastle:bcpkix-jdk15on:1.60'
compile 'com.github.virtuald:curvesapi:1.05'
// 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-schemas-1.4.jar')
compile files('../../ooxml-lib/ooxml-security-1.1.jar')
testCompile 'junit:junit:4.12'
testCompile 'org.mockito:mockito-core:2.21.0'
testCompile 'org.xmlunit:xmlunit-core:2.5.1'
testCompile 'org.reflections:reflections:0.9.11'
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'
testCompile 'org.openjdk.jmh:jmh-core:1.19'
testCompile 'org.openjdk.jmh:jmh-generator-annprocess:1.19'
}
// 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")
jar {
manifest {
attributes 'Automatic-Module-Name': 'org.apache.poi.ooxml'
}
}
japicmp.baseline = 'org.apache.poi:poi-ooxml:' + japicmpversion + '@jar'
}
project('examples') {
......@@ -234,6 +266,8 @@ project('examples') {
compile project(':main')
compile project(':ooxml')
}
japicmp.enabled = false
}
......@@ -243,7 +277,7 @@ project('excelant') {
sourceSets.test.java.srcDirs = ['../../src/excelant/testcases']
dependencies {
compile 'org.apache.ant:ant:1.9.4'
compile 'org.apache.ant:ant:1.10.4'
compile project(':main')
compile project(':ooxml')
......@@ -251,23 +285,20 @@ project('excelant') {
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")
jar {
manifest {
attributes 'Automatic-Module-Name': 'org.apache.poi.excelant'
}
}
japicmp.baseline = 'org.apache.poi:poi-excelant:' + japicmpversion + '@jar'
}
project('integrationtest') {
sourceSets.test.java.srcDirs = ['../../src/integrationtest']
dependencies {
compile 'org.apache.ant:ant:1.9.4'
compile 'org.apache.ant:ant:1.10.4'
compile project(':main')
compile project(':ooxml')
......@@ -277,6 +308,12 @@ project('integrationtest') {
testCompile 'junit:junit:4.12'
}
jar {
manifest {
attributes 'Automatic-Module-Name': 'org.apache.poi.integrationtest'
}
}
test {
// exclude these from the normal test-run
exclude '**/TestAllFiles.class'
......@@ -289,6 +326,8 @@ project('integrationtest') {
exclude '**/*FileHandler.class'
exclude '**/RecordStresser.class'
}
japicmp.enabled = false
}
project('scratchpad') {
......@@ -304,14 +343,11 @@ project('scratchpad') {
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")
jar {
manifest {
attributes 'Automatic-Module-Name': 'org.apache.poi.scratchpad'
}
}
japicmp.baseline = 'org.apache.poi:poi-scratchpad:' + japicmpversion + '@jar'
}
This diff is collapsed.
......@@ -9,10 +9,14 @@ 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.commons-math3.jar=/usr/share/java/commons-math3.jar
main.log4j.jar=/usr/share/java/log4j-1.2.jar
main.junit.jar=/usr/share/java/junit4.jar
main.xmlbind.jar=/usr/share/java/jaxb-api.jar
main.xmlbind-core.jar=/usr/share/java/jaxb-core.jar
main.xmlbind-impl.jar=/usr/share/java/jaxb-impl.jar
ooxml.xsds.tmp.dir=ooxml-xsds
ooxml.commons-compress.jar=/usr/share/java/commons-compress.jar
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
ooxml.xmlbeans.jar=/usr/share/java/xmlbeans.jar
libapache-poi-java (4.0.1-1) unstable; urgency=medium
* Team upload.
* New upstream release
- Refreshed the patches
- Disabled the tests using xmlunit 2.x (not in Debian yet)
- Depend on libxmlbeans-java (>= 3.0.2)
- New dependencies on libcommons-compress-java and libcommons-math3-java
* Build with Java 11 (Closes: #912476)
* Backported a fix for a test failure
-- Emmanuel Bourg <ebourg@apache.org> Mon, 21 Jan 2019 23:34:12 +0100
libapache-poi-java (3.17-1) unstable; urgency=medium
* Team upload.
......
......@@ -16,15 +16,16 @@ Build-Depends:
libbcpkix-java (>= 1.54),
libcommons-codec-java,
libcommons-collections4-java,
libcommons-compress-java,
libcommons-logging-java,
libcommons-math3-java,
libcurvesapi-java,
libdom4j-java,
libjaxb-api-java,
libjaxb-java,
liblog4j1.2-java,
libxmlbeans-java,
libxmlbeans-java (>= 3.0.2),
libxml-security-java (>= 2.0),
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
......@@ -36,9 +37,12 @@ Architecture: all
Depends:
libcommons-codec-java,
libcommons-collections4-java,
libcommons-compress-java,
libcommons-logging-java,
libcommons-math3-java,
libcurvesapi-java,
libdom4j-java,
libjaxb-java,
liblog4j1.2-java,
libxmlbeans-java,
${misc:Depends}
......
build/tmp/site/build/site/apidocs/* /usr/share/doc/libapache-poi-java/api/
build/site/apidocs/dev/* /usr/share/doc/libapache-poi-java/api/
......@@ -3,19 +3,16 @@ Author: Emmanuel Bourg <ebourg@apache.org>
Forwarded: not-needed
--- a/build.xml
+++ b/build.xml
@@ -1202,9 +1202,9 @@
@@ -1344,7 +1344,7 @@
</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="test-all" depends="test,test-integration,test-ooxml-lite,testcoveragereport"
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 @@
@@ -1434,9 +1434,8 @@
</target>
<target name="test-main" unless="main.test.notRequired"
......@@ -26,7 +23,7 @@ Forwarded: not-needed
<junit fork="yes" forkmode="once" printsummary="yes" haltonfailure="${halt.on.test.failure}"
failureproperty="main.test.failed" showoutput="true">
<classpath refid="test.classpath"/>
@@ -1324,7 +1323,6 @@
@@ -1468,7 +1467,6 @@
</fileset>
</batchtest>
</junit>
......@@ -34,26 +31,7 @@ Forwarded: not-needed
<delete file="${main.testokfile}"/>
<antcall target="-test-main-write-testfile"/>
</target>
@@ -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 @@
@@ -1500,10 +1498,9 @@
</uptodate>
</target>
......@@ -66,7 +44,7 @@ Forwarded: not-needed
<junit printsummary="yes" fork="yes" forkmode="once" haltonfailure="${halt.on.test.failure}"
failureproperty="scratchpad.test.failed">
<classpath refid="test.scratchpad.classpath"/>
@@ -1445,7 +1440,6 @@
@@ -1538,7 +1535,6 @@
</fileset>
</batchtest>
</junit>
......@@ -74,7 +52,7 @@ Forwarded: not-needed
<delete file="${scratchpad.testokfile}"/>
<antcall target="-test-scratchpad-write-testfile"/>
</target>
@@ -1462,11 +1456,10 @@
@@ -1555,11 +1551,10 @@
</uptodate>
</target>
......@@ -87,7 +65,7 @@ Forwarded: not-needed
<junit printsummary="yes" fork="yes" forkmode="once" haltonfailure="${halt.on.test.failure}"
failureproperty="ooxml.test.failed">
<classpath>
@@ -1499,8 +1492,6 @@
@@ -1594,8 +1589,6 @@
</fileset>
</batchtest>
</junit>
......@@ -96,7 +74,7 @@ Forwarded: not-needed
<junit printsummary="yes" fork="yes" forkmode="once" haltonfailure="${halt.on.test.failure}"
failureproperty="ooxml.xmlsec.test.failed">
<classpath>
@@ -1526,11 +1517,10 @@
@@ -1624,11 +1617,10 @@
</fileset>
</batchtest>
</junit>
......@@ -104,45 +82,18 @@ 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,-ooxml-lite-agent" unless="ooxml.test.notRequired"
+ <target name="test-ooxml" depends="compile-main,compile-ooxml,-test-ooxml-check,-ooxml-lite-agent" unless="ooxml.test.notRequired"
description="test OOXML classes">
<ooxml-test-runner classpath="test.ooxml.classpath" type="ooxml"/>
<delete file="${ooxml.testokfile}"/>
@@ -1549,11 +1539,10 @@
@@ -1646,11 +1638,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"
- <target name="test-integration" depends="compile-integration,-test-integration-check,jacocotask,-ooxml-lite-agent"
- unless="integration.test.notRequired" xmlns:jacoco="antlib:org.jacoco.ant">
+ <target name="test-integration" depends="compile-integration,-test-integration-check"
+ <target name="test-integration" depends="compile-integration,-test-integration-check,-ooxml-lite-agent"
+ unless="integration.test.notRequired">
<propertyreset name="org.apache.poi.util.POILogger" value="org.apache.poi.util.CommonsLogger"/>
<delete dir="build" includes="test-integration.log*"/>
......@@ -150,7 +101,7 @@ Forwarded: not-needed
<junit printsummary="yes" fork="yes" forkmode="once" haltonfailure="${halt.on.test.failure}"
failureproperty="integration.test.failed" showoutput="true">
<classpath refid="test.integration.classpath"/>
@@ -1633,7 +1620,6 @@
@@ -1677,7 +1668,6 @@
</fileset>
</batchtest>
</junit>
......@@ -158,8 +109,8 @@ Forwarded: not-needed
<delete file="${integration.testokfile}"/>
<antcall target="-test-integration-write-testfile"/>
</target>
@@ -1694,7 +1680,7 @@
<echo file="${ooxml.lite.testokfile}" append="false" message="testok"/>
@@ -1710,13 +1700,13 @@
</jar>
</target>
- <target name="test-ooxml-lite" depends="jacocotask,compile-ooxml-xsds,compile-ooxml-lite">
......@@ -167,7 +118,14 @@ 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"/>
@@ -1712,9 +1698,8 @@
</target>
- <target name="-ooxml-lite-agent" depends="jacocotask,compile-ooxml-xsds,compile-ooxml">
+ <target name="-ooxml-lite-agent" depends="compile-ooxml-xsds,compile-ooxml">
<jar destfile="${ooxml.lite.agent}">
<fileset dir="${ooxml.output.test.dir}" includes="org/apache/poi/ooxml/util/OOXMLLiteAgent*.class"/>
<manifest>
@@ -1737,9 +1727,8 @@
<echo file="${excelant.testokfile}" append="false" message="testok"/>
</target>
......@@ -179,7 +137,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"/>
@@ -1738,7 +1723,6 @@
@@ -1765,7 +1754,6 @@
</fileset>
</batchtest>
</junit>
......
......@@ -3,7 +3,7 @@ Author: Emmanuel Bourg <ebourg@apache.org>
Forwarded: not-needed
--- a/build.xml
+++ b/build.xml
@@ -885,12 +885,12 @@
@@ -999,12 +999,12 @@
</sequential>
</macrodef>
......@@ -18,7 +18,7 @@ Forwarded: not-needed
<fileset dir="${ooxml.visio.xsd.dir}"/>
<fileset dir="${ooxml.schema.xsdconfig.dir}"/>
</xsds>
@@ -898,7 +898,7 @@
@@ -1012,7 +1012,7 @@
<!-- Now do the same for the security schemas -->
<compile-ooxml-xmlbean classes-jar="${ooxml.security.jar}" sources-jar="${ooxml.security.src.jar}">
<xsds>
......
Description: Fixes the build failures with Java 9
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
@@ -83,9 +83,7 @@
List<Attachment> attachments = quick.getAttachments();
// Pick a predictable date format + timezone
- DateFormat fmt = DateFormat.getDateTimeInstance(
- DateFormat.MEDIUM, DateFormat.MEDIUM, Locale.UK
- );
+ DateFormat fmt = new java.text.SimpleDateFormat("dd-MMM-yyyy HH:mm:ss", Locale.UK);
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
@@ -159,9 +159,7 @@
assertEquals(MAPIDateAttribute.class, attr.getClass());
MAPIDateAttribute date = (MAPIDateAttribute)attr;
- DateFormat fmt = DateFormat.getDateTimeInstance(
- DateFormat.MEDIUM, DateFormat.MEDIUM, Locale.UK
- );
+ DateFormat fmt = new java.text.SimpleDateFormat("dd-MMM-yyyy HH:mm:ss", Locale.UK);
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
+++ b/src/scratchpad/testcases/org/apache/poi/hmef/attribute/TestTNEFAttributes.java
@@ -159,9 +159,7 @@
// Ask for it as a Java date, and have it converted
// Pick a predictable format + location + timezone
TNEFDateAttribute date = (TNEFDateAttribute)attr;
- DateFormat fmt = DateFormat.getDateTimeInstance(
- DateFormat.MEDIUM, DateFormat.MEDIUM, Locale.UK
- );
+ DateFormat fmt = new java.text.SimpleDateFormat("dd-MMM-yyyy HH:mm:ss", Locale.UK);
fmt.setTimeZone(LocaleUtil.TIMEZONE_UTC);
assertEquals("28-Apr-2010 12:40:56", fmt.format(date.getDate()));
}
--- a/build.xml
+++ b/build.xml
@@ -1655,6 +1655,7 @@
failonerror="true">
<classpath>
<pathelement path="${ooxml.lite-merged.dir}/ooxml-lite-merged.jar"/>
+ <pathelement path="/usr/share/java/jaxb-api.jar"/>
</classpath>
<classpath refid="test.ooxml.classpath"/>
<classpath refid="ooxml.xmlsec.classpath"/>
......@@ -68,16 +68,3 @@ index 737611f..4bb4841 100644
<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: Disables the tests using xmlunit 2 (not in Debian yet)
Author: Emmanuel Bourg <ebourg@apache.org>
Forwarded: not-needed
--- a/src/ooxml/testcases/org/apache/poi/openxml4j/opc/ZipFileAssert.java
+++ b/src/ooxml/testcases/org/apache/poi/openxml4j/opc/ZipFileAssert.java
@@ -34,14 +34,6 @@
import org.apache.commons.compress.archivers.zip.ZipArchiveInputStream;
import org.apache.poi.util.IOUtils;
import org.junit.Assert;
-import org.xmlunit.builder.DiffBuilder;
-import org.xmlunit.builder.Input;
-import org.xmlunit.diff.Comparison;
-import org.xmlunit.diff.ComparisonResult;
-import org.xmlunit.diff.DefaultNodeMatcher;
-import org.xmlunit.diff.Diff;
-import org.xmlunit.diff.DifferenceEvaluator;
-import org.xmlunit.diff.ElementSelectors;
import junit.framework.AssertionFailedError;
@@ -68,15 +60,6 @@
if (fileName.matches(".*\\.(xml|rels)$")) {
// we have a xml file
- final Diff diff = DiffBuilder.
- compare(Input.fromByteArray(contain1.toByteArray())).
- withTest(Input.fromByteArray(contain2.toByteArray())).
- ignoreWhitespace().
- checkForSimilar().
- withDifferenceEvaluator(new IgnoreXMLDeclEvaluator()).
- withNodeMatcher(new DefaultNodeMatcher(ElementSelectors.byNameAndAllAttributes, ElementSelectors.byNameAndText)).
- build();
- assertFalse(fileName+": "+diff.toString(), diff.hasDifferences());
} else {
// not xml, may be an image or other binary format
Assert.assertEquals(fileName + " does not have the same size in both zip:", contain1.size(), contain2.size());
@@ -144,29 +127,4 @@
}
}
- private static class IgnoreXMLDeclEvaluator implements DifferenceEvaluator {
- @Override
- public ComparisonResult evaluate(final Comparison comparison, final ComparisonResult outcome) {
- if (outcome != ComparisonResult.EQUAL) {
- // only evaluate differences
- switch (comparison.getType()) {
- case CHILD_NODELIST_SEQUENCE:
- case XML_STANDALONE:
- case NAMESPACE_PREFIX:
- return ComparisonResult.SIMILAR;
- case TEXT_VALUE:
- switch (comparison.getControlDetails().getTarget().getParentNode().getNodeName()) {
- case "dcterms:created":
- case "dc:creator":
- return ComparisonResult.SIMILAR;
- }
- break;
- default:
- break;
- }
- }
-
- return outcome;
- }
- }
}
--- a/src/ooxml/testcases/org/apache/poi/xddf/usermodel/TestXDDFColor.java
+++ b/src/ooxml/testcases/org/apache/poi/xddf/usermodel/TestXDDFColor.java
@@ -32,9 +32,6 @@
import org.openxmlformats.schemas.drawingml.x2006.main.STPresetColorVal;
import org.openxmlformats.schemas.drawingml.x2006.main.STSchemeColorVal;
import org.openxmlformats.schemas.drawingml.x2006.main.STSystemColorVal;
-import org.xmlunit.builder.DiffBuilder;
-import org.xmlunit.builder.Input;
-import org.xmlunit.diff.Diff;
public class TestXDDFColor {
private static final String XMLNS = "xmlns:a=\"http://schemas.openxmlformats.org/drawingml/2006/main\"/>";
@@ -46,19 +43,6 @@
XDDFColor color = XDDFColor.forColorContainer(getThemeColor(theme, STSchemeColorVal.ACCENT_2));
// accent2 in theme1.xml is <a:srgbClr val="C0504D"/>
- Diff d1 = DiffBuilder.compare(Input.fromString("<a:srgbClr val=\"C0504D\" " + XMLNS))
- .withTest(color.getColorContainer().toString()).build();
- assertFalse(d1.toString(), d1.hasDifferences());
-
- color = XDDFColor.forColorContainer(getThemeColor(theme, STSchemeColorVal.LT_1));
- Diff d2 = DiffBuilder.compare(Input.fromString("<a:sysClr lastClr=\"FFFFFF\" val=\"window\" " + XMLNS))
- .withTest(color.getColorContainer().toString()).build();
- assertFalse(d2.toString(), d2.hasDifferences());
-
- color = XDDFColor.forColorContainer(getThemeColor(theme, STSchemeColorVal.DK_1));
- Diff d3 = DiffBuilder.compare(Input.fromString("<a:sysClr lastClr=\"000000\" val=\"windowText\" " + XMLNS))
- .withTest(color.getColorContainer().toString()).build();
- assertFalse(d3.toString(), d3.hasDifferences());
}
}
Description: Fixes unit tests in TestExcelStyleDateFormatter for locale zh_CN
Origin: backport, https://svn.apache.org/r1848591
Buf: https://bz.apache.org/bugzilla/show_bug.cgi?id=62996
--- a/src/testcases/org/apache/poi/ss/usermodel/TestExcelStyleDateFormatter.java
+++ b/src/testcases/org/apache/poi/ss/usermodel/TestExcelStyleDateFormatter.java
@@ -91,9 +91,9 @@
*/
private int localeIndex(Locale locale) {
final String provider = System.getProperty("java.locale.providers");
- return jreVersion < 12 ||
+ return jreVersion < 9 ||
!locale.equals (Locale.CHINESE) ||
- (provider != null && provider.startsWith("JRE"))
+ (provider != null && (provider.startsWith("JRE") || provider.startsWith("COMPAT")))
? 0 : 1;
}
01_disable-code-coverage.patch
05_use-local-ooxml-xsds.patch
08_java9-compatibility.patch
10_resolve-xml-namespaces.patch
11_ignore-benchmarks.patch
12_ignore-xmlunit-tests.patch
bug-62996.patch
......@@ -4,8 +4,7 @@ include /usr/share/dpkg/default.mk
VERSION := $(shell echo $(DEB_VERSION_UPSTREAM) | sed 's/+dfsg//')
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)
#export CLASSPATH=/usr/share/java/xmlbeans.jar
%:
dh $@ --with maven-repo-helper --with javahelper
......
......@@ -35,6 +35,20 @@
<programming-language>Java</programming-language>
<category rdf:resource="https://projects.apache.org/category/content" />
<category rdf:resource="https://projects.apache.org/category/library" />
<release>
<Version>
<name>Apache POI 4.0.0</name>
<created>2018-09-07</created>
<revision>4.0.0</revision>
</Version>
</release>
<release>
<Version>
<name>Apache POI 3.17</name>
<created>2017-09-15</created>
<revision>3.17</revision>
</Version>
</release>
<release>
<Version>
<name>Apache POI 3.16</name>
......
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists