mirror of
https://github.com/apache/poi.git
synced 2026-02-27 20:40:08 +08:00
start move to require java 11 min
This commit is contained in:
parent
41f4570c8f
commit
323b5c8c6b
@ -55,12 +55,12 @@ Source code:
|
|||||||
|
|
||||||
* Official `Apache Git repo`_ at apache.org
|
* Official `Apache Git repo`_ at apache.org
|
||||||
|
|
||||||
Requires Java 1.8 or later.
|
Requires Java 11 or later.
|
||||||
|
|
||||||
Contributing
|
Contributing
|
||||||
------------------
|
------------------
|
||||||
|
|
||||||
* Download and install git, Java JDK 1.8+, and Apache Ant 1.8+ or Gradle
|
* Download and install git, Java JDK 11+, and Apache Ant 1.8+ or Gradle
|
||||||
|
|
||||||
* Check out the code from git
|
* Check out the code from git
|
||||||
|
|
||||||
|
|||||||
42
build.gradle
42
build.gradle
@ -124,7 +124,7 @@ subprojects {
|
|||||||
xmlSecVersion = '3.0.6'
|
xmlSecVersion = '3.0.6'
|
||||||
apiGuardianVersion = '1.1.2'
|
apiGuardianVersion = '1.1.2'
|
||||||
|
|
||||||
jdkVersion = (project.properties['jdkVersion'] ?: '8') as int
|
jdkVersion = (project.properties['jdkVersion'] ?: '11') as int
|
||||||
// see https://github.com/gradle/gradle/blob/master/subprojects/jvm-services/src/main/java/org/gradle/internal/jvm/inspection/JvmVendor.java
|
// see https://github.com/gradle/gradle/blob/master/subprojects/jvm-services/src/main/java/org/gradle/internal/jvm/inspection/JvmVendor.java
|
||||||
jdkVendor = (project.properties['jdkVendor'] ?: '') as String
|
jdkVendor = (project.properties['jdkVendor'] ?: '') as String
|
||||||
|
|
||||||
@ -205,7 +205,7 @@ subprojects {
|
|||||||
|
|
||||||
doFirst {
|
doFirst {
|
||||||
options {
|
options {
|
||||||
if (jdkVersion > 8) addBooleanOption('html5', true)
|
addBooleanOption('html5', true)
|
||||||
addBooleanOption('Xdoclint:all,-missing', true)
|
addBooleanOption('Xdoclint:all,-missing', true)
|
||||||
links 'https://poi.apache.org/apidocs/dev/'
|
links 'https://poi.apache.org/apidocs/dev/'
|
||||||
if (jdkVersion >= 23) links 'https://docs.oracle.com/en/java/javase/23/docs/api/' else links 'https://docs.oracle.com/javase/8/docs/api/'
|
if (jdkVersion >= 23) links 'https://docs.oracle.com/en/java/javase/23/docs/api/' else links 'https://docs.oracle.com/javase/8/docs/api/'
|
||||||
@ -213,7 +213,7 @@ subprojects {
|
|||||||
links 'https://commons.apache.org/proper/commons-compress/apidocs/'
|
links 'https://commons.apache.org/proper/commons-compress/apidocs/'
|
||||||
use = true
|
use = true
|
||||||
splitIndex = true
|
splitIndex = true
|
||||||
source = "1.8"
|
source = "1.11"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -414,27 +414,25 @@ subprojects {
|
|||||||
systemProperties['java.locale.providers'] = 'JRE,CLDR'
|
systemProperties['java.locale.providers'] = 'JRE,CLDR'
|
||||||
|
|
||||||
doFirst {
|
doFirst {
|
||||||
if (jdkVersion > 8) {
|
// some options were removed in JDK 18
|
||||||
// some options were removed in JDK 18
|
if (jdkVersion < 18) {
|
||||||
if (jdkVersion < 18) {
|
|
||||||
jvmArgs += [
|
|
||||||
'--illegal-access=warn',
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
||||||
jvmArgs += [
|
jvmArgs += [
|
||||||
// see https://github.com/java9-modularity/gradle-modules-plugin/issues/97
|
'--illegal-access=warn',
|
||||||
// opposed to the recommendation there, it doesn't work to add ... to the dependencies
|
|
||||||
// testRuntimeOnly 'org.junit.platform:junit-platform-launcher:1.13.2'
|
|
||||||
// gradles gradle-worker.jar is still not a JPMS module and thus runs as unnamed module
|
|
||||||
'--add-exports','org.junit.platform.commons/org.junit.platform.commons.util=org.apache.poi.poi',
|
|
||||||
'--add-exports','org.junit.platform.commons/org.junit.platform.commons.util=ALL-UNNAMED',
|
|
||||||
'--add-exports','org.junit.platform.commons/org.junit.platform.commons.logging=ALL-UNNAMED',
|
|
||||||
|
|
||||||
'-Dsun.reflect.debugModuleAccessChecks=true',
|
|
||||||
'-Dcom.sun.xml.bind.v2.bytecode.ClassTailor.noOptimize=true',
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
jvmArgs += [
|
||||||
|
// see https://github.com/java9-modularity/gradle-modules-plugin/issues/97
|
||||||
|
// opposed to the recommendation there, it doesn't work to add ... to the dependencies
|
||||||
|
// testRuntimeOnly 'org.junit.platform:junit-platform-launcher:1.13.2'
|
||||||
|
// gradles gradle-worker.jar is still not a JPMS module and thus runs as unnamed module
|
||||||
|
'--add-exports','org.junit.platform.commons/org.junit.platform.commons.util=org.apache.poi.poi',
|
||||||
|
'--add-exports','org.junit.platform.commons/org.junit.platform.commons.util=ALL-UNNAMED',
|
||||||
|
'--add-exports','org.junit.platform.commons/org.junit.platform.commons.logging=ALL-UNNAMED',
|
||||||
|
|
||||||
|
'-Dsun.reflect.debugModuleAccessChecks=true',
|
||||||
|
'-Dcom.sun.xml.bind.v2.bytecode.ClassTailor.noOptimize=true',
|
||||||
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
jacoco {
|
jacoco {
|
||||||
@ -739,7 +737,7 @@ task jenkinsLite(dependsOn: [
|
|||||||
if (!f.exists()) {
|
if (!f.exists()) {
|
||||||
println 'writing file ' + f.getAbsolutePath()
|
println 'writing file ' + f.getAbsolutePath()
|
||||||
f.getParentFile().mkdirs()
|
f.getParentFile().mkdirs()
|
||||||
new URL('https://ci-builds.apache.org/job/POI/job/POI-XMLBeans-DSL-1.8/lastSuccessfulBuild/artifact/build/xmlbeans-5.0.0.jar').withInputStream{ i -> f.withOutputStream{ it << i }}
|
new URL('https://ci-builds.apache.org/job/POI/job/POI-XMLBeans-DSL-1.11/lastSuccessfulBuild/artifact/build/xmlbeans-5.0.0.jar').withInputStream{ i -> f.withOutputStream{ it << i }}
|
||||||
}
|
}
|
||||||
}*/
|
}*/
|
||||||
|
|
||||||
|
|||||||
16
build.xml
16
build.xml
@ -26,7 +26,7 @@ under the License.
|
|||||||
To build the documentation you will need to install forrest and set
|
To build the documentation you will need to install forrest and set
|
||||||
the FORREST_HOME environment variable.
|
the FORREST_HOME environment variable.
|
||||||
|
|
||||||
Since POI 4.0 you will need JDK 1.8 or newer to build and run POI.
|
Since POI 6.0 you will need JDK 11 or newer to build and run POI.
|
||||||
|
|
||||||
Some people may find the tests hang when run through Ant. If this
|
Some people may find the tests hang when run through Ant. If this
|
||||||
happens to you, try giving Ant some more memory when you run it, eg:
|
happens to you, try giving Ant some more memory when you run it, eg:
|
||||||
@ -60,8 +60,8 @@ under the License.
|
|||||||
|
|
||||||
|
|
||||||
<!-- compiler options -->
|
<!-- compiler options -->
|
||||||
<property name="jdk.version.source" value="1.8" description="JDK version of source code"/>
|
<property name="jdk.version.source" value="11" description="JDK version of source code"/>
|
||||||
<property name="jdk.version.class" value="1.8" description="JDK version of generated class files"/>
|
<property name="jdk.version.class" value="11" description="JDK version of generated class files"/>
|
||||||
<property name="compile.debug" value="true"/>
|
<property name="compile.debug" value="true"/>
|
||||||
|
|
||||||
<condition property="isIBMVM">
|
<condition property="isIBMVM">
|
||||||
@ -69,7 +69,7 @@ under the License.
|
|||||||
</condition>
|
</condition>
|
||||||
|
|
||||||
<condition property="isJava8" else="false">
|
<condition property="isJava8" else="false">
|
||||||
<equals arg1="${ant.java.version}" arg2="1.8"/>
|
<equals arg1="${ant.java.version}" arg2="11"/>
|
||||||
</condition>
|
</condition>
|
||||||
|
|
||||||
<!-- add addOpens parameter for Java 9 and higher -->
|
<!-- add addOpens parameter for Java 9 and higher -->
|
||||||
@ -296,11 +296,11 @@ under the License.
|
|||||||
|
|
||||||
<!-- xml signature libs - not part of the distribution -->
|
<!-- xml signature libs - not part of the distribution -->
|
||||||
<dependency prefix="dsig.xmlsec" artifact="org.apache.santuario:xmlsec:3.0.6" usage="ooxml-provided"/>
|
<dependency prefix="dsig.xmlsec" artifact="org.apache.santuario:xmlsec:3.0.6" usage="ooxml-provided"/>
|
||||||
<dependency prefix="dsig.bouncycastle-prov" artifact="org.bouncycastle:bcprov-jdk18on:1.81" usage="ooxml-provided"/>
|
<dependency prefix="dsig.bouncycastle-prov" artifact="org.bouncycastle:bcprov-jdk18on:1.82" usage="ooxml-provided"/>
|
||||||
<dependency prefix="dsig.bouncycastle-pkix" artifact="org.bouncycastle:bcpkix-jdk18on:1.81" usage="ooxml-provided"/>
|
<dependency prefix="dsig.bouncycastle-pkix" artifact="org.bouncycastle:bcpkix-jdk18on:1.82" usage="ooxml-provided"/>
|
||||||
<dependency prefix="dsig.bouncycastle-util" artifact="org.bouncycastle:bcutil-jdk18on:1.81" usage="ooxml-provided"/>
|
<dependency prefix="dsig.bouncycastle-util" artifact="org.bouncycastle:bcutil-jdk18on:1.82" usage="ooxml-provided"/>
|
||||||
<!-- only used for signing the release - not used with the ooxml signatures -->
|
<!-- only used for signing the release - not used with the ooxml signatures -->
|
||||||
<dependency prefix="dsig.bouncycastle-bcpg" artifact="org.bouncycastle:bcpg-jdk18on:1.81" usage="util"/>
|
<dependency prefix="dsig.bouncycastle-bcpg" artifact="org.bouncycastle:bcpg-jdk18on:1.82" usage="util"/>
|
||||||
<dependency prefix="ooxml.test.stax2" artifact="org.codehaus.woodstox:stax2-api:4.2.1" usage="ooxml-provided"/>
|
<dependency prefix="ooxml.test.stax2" artifact="org.codehaus.woodstox:stax2-api:4.2.1" usage="ooxml-provided"/>
|
||||||
|
|
||||||
<!-- svg/batik/pdf libs - not part of the distribution - move batik to its own directory because of JPMS module-path issues -->
|
<!-- svg/batik/pdf libs - not part of the distribution - move batik to its own directory because of JPMS module-path issues -->
|
||||||
|
|||||||
@ -29,7 +29,7 @@ These are required to sign or validate signed Office documents. The OSGi bundles
|
|||||||
|
|
||||||
- XML Commons Resolver: https://mvnrepository.com/artifact/xml-resolver/xml-resolver/1.2-osgi
|
- XML Commons Resolver: https://mvnrepository.com/artifact/xml-resolver/xml-resolver/1.2-osgi
|
||||||
|
|
||||||
- Bouncy Castle: https://mvnrepository.com/artifact/org.bouncycastle/bcprov-ext-jdk18on/1.81, https://mvnrepository.com/artifact/org.bouncycastle/bcpkix-jdk18on/1.81
|
- Bouncy Castle: https://mvnrepository.com/artifact/org.bouncycastle/bcprov-ext-jdk18on/1.82, https://mvnrepository.com/artifact/org.bouncycastle/bcpkix-jdk18on/1.82
|
||||||
4. PDFBox and PDFBox Graphics2D
|
4. PDFBox and PDFBox Graphics2D
|
||||||
Required to render to PDF documents.
|
Required to render to PDF documents.
|
||||||
The required jars can be downloaded from:
|
The required jars can be downloaded from:
|
||||||
|
|||||||
@ -39,8 +39,8 @@
|
|||||||
<artifactId>maven-compiler-plugin</artifactId>
|
<artifactId>maven-compiler-plugin</artifactId>
|
||||||
<version>3.8.0</version>
|
<version>3.8.0</version>
|
||||||
<configuration>
|
<configuration>
|
||||||
<source>1.8</source>
|
<source>11</source>
|
||||||
<target>1.8</target>
|
<target>11</target>
|
||||||
</configuration>
|
</configuration>
|
||||||
</plugin>
|
</plugin>
|
||||||
<plugin>
|
<plugin>
|
||||||
|
|||||||
@ -53,8 +53,8 @@ tasks.register('compileJava9', JavaCompile) {
|
|||||||
javaCompiler = javaToolchains.compilerFor {
|
javaCompiler = javaToolchains.compilerFor {
|
||||||
languageVersion = JavaLanguageVersion.of(Math.max(11, jdkVersion))
|
languageVersion = JavaLanguageVersion.of(Math.max(11, jdkVersion))
|
||||||
}
|
}
|
||||||
sourceCompatibility = 1.9
|
sourceCompatibility = 1.11
|
||||||
targetCompatibility = 1.9
|
targetCompatibility = 1.11
|
||||||
destinationDirectory = file(JAVA9_OUT + VERSIONS9)
|
destinationDirectory = file(JAVA9_OUT + VERSIONS9)
|
||||||
source = file(JAVA9_SRC)
|
source = file(JAVA9_SRC)
|
||||||
classpath = files()
|
classpath = files()
|
||||||
|
|||||||
@ -142,13 +142,9 @@ test {
|
|||||||
doFirst {
|
doFirst {
|
||||||
jvmArgs += [
|
jvmArgs += [
|
||||||
"-javaagent:${OOXML_LITE_AGENT}=${OOXML_LITE_REPORT}|${OOXML_LITE_INCLUDES}",
|
"-javaagent:${OOXML_LITE_AGENT}=${OOXML_LITE_REPORT}|${OOXML_LITE_INCLUDES}",
|
||||||
|
'--add-modules', MODULE_NAME,
|
||||||
|
'--module-path', '../build/dist/maven/poi-excelant-tests' + File.pathSeparator + files(TEST_MODULE_PATH).asPath,
|
||||||
]
|
]
|
||||||
if (jdkVersion > 8) {
|
|
||||||
jvmArgs += [
|
|
||||||
'--add-modules', MODULE_NAME,
|
|
||||||
'--module-path', '../build/dist/maven/poi-excelant-tests' + File.pathSeparator + files(TEST_MODULE_PATH).asPath,
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -143,20 +143,13 @@ test {
|
|||||||
dependsOn { testJar }
|
dependsOn { testJar }
|
||||||
|
|
||||||
systemProperties['junit.jupiter.execution.parallel.enabled'] = 'true'
|
systemProperties['junit.jupiter.execution.parallel.enabled'] = 'true'
|
||||||
if (jdkVersion == 8) {
|
|
||||||
systemProperties['sun.java2d.renderer'] = 'sun.java2d.marlin.MarlinRenderingEngine'
|
|
||||||
}
|
|
||||||
|
|
||||||
doFirst {
|
doFirst {
|
||||||
jvmArgs += [
|
jvmArgs += [
|
||||||
"-javaagent:${OOXML_LITE_AGENT}=${OOXML_LITE_REPORT}|${OOXML_LITE_INCLUDES}",
|
"-javaagent:${OOXML_LITE_AGENT}=${OOXML_LITE_REPORT}|${OOXML_LITE_INCLUDES}",
|
||||||
|
'--add-modules', MODULE_NAME,
|
||||||
|
'--module-path', '../build/dist/maven/poi-integration-tests' + File.pathSeparator + files(MODULE_RUNTIME_PATH).asPath,
|
||||||
]
|
]
|
||||||
if (jdkVersion > 8) {
|
|
||||||
jvmArgs += [
|
|
||||||
'--add-modules', MODULE_NAME,
|
|
||||||
'--module-path', '../build/dist/maven/poi-integration-tests' + File.pathSeparator + files(MODULE_RUNTIME_PATH).asPath,
|
|
||||||
]
|
|
||||||
}
|
|
||||||
if (NO_SCRATCHPAD) {
|
if (NO_SCRATCHPAD) {
|
||||||
systemProperty 'scratchpad.ignore', 'true'
|
systemProperty 'scratchpad.ignore', 'true'
|
||||||
}
|
}
|
||||||
|
|||||||
@ -126,7 +126,7 @@ Before running this, you should execute the "jar" target in the main build.gradl
|
|||||||
|
|
||||||
<echo message="Compiling examples without linking to scratchpad.jar to ensure that only some specific ones require this jar"/>
|
<echo message="Compiling examples without linking to scratchpad.jar to ensure that only some specific ones require this jar"/>
|
||||||
<javac srcdir="../poi-examples/src/main/java" destdir="${build}"
|
<javac srcdir="../poi-examples/src/main/java" destdir="${build}"
|
||||||
target="1.8" source="1.8" debug="true"
|
target="11" source="11" debug="true"
|
||||||
encoding="ASCII" fork="yes" includeantruntime="false"
|
encoding="ASCII" fork="yes" includeantruntime="false"
|
||||||
excludes="org/apache/poi/examples/hslf/**,org/apache/poi/examples/hsmf/**,org/apache/poi/examples/hwmf/**,**/EmbeddedObjects.java,**/EmeddedObjects.java,**/LoadEmbedded.java,**/Word2Forrest.java"
|
excludes="org/apache/poi/examples/hslf/**,org/apache/poi/examples/hsmf/**,org/apache/poi/examples/hwmf/**,**/EmbeddedObjects.java,**/EmeddedObjects.java,**/LoadEmbedded.java,**/Word2Forrest.java"
|
||||||
classpath="${jarpackage}" classpathref="libs">
|
classpath="${jarpackage}" classpathref="libs">
|
||||||
@ -150,7 +150,7 @@ Before running this, you should execute the "jar" target in the main build.gradl
|
|||||||
|
|
||||||
<echo message="Compiling all examples with the additional scratchpad.jar"/>
|
<echo message="Compiling all examples with the additional scratchpad.jar"/>
|
||||||
<javac srcdir="../poi-examples/src/main/java" destdir="${build}"
|
<javac srcdir="../poi-examples/src/main/java" destdir="${build}"
|
||||||
target="1.8" source="1.8" debug="true"
|
target="11" source="11" debug="true"
|
||||||
encoding="ASCII" fork="yes" includeantruntime="false"
|
encoding="ASCII" fork="yes" includeantruntime="false"
|
||||||
classpath="${jarpackagescratchpad}" classpathref="libs">
|
classpath="${jarpackagescratchpad}" classpathref="libs">
|
||||||
</javac>
|
</javac>
|
||||||
|
|||||||
@ -60,8 +60,8 @@ tasks.register('compileJava9', JavaCompile) {
|
|||||||
javaCompiler = javaToolchains.compilerFor {
|
javaCompiler = javaToolchains.compilerFor {
|
||||||
languageVersion = JavaLanguageVersion.of(Math.max(11, jdkVersion))
|
languageVersion = JavaLanguageVersion.of(Math.max(11, jdkVersion))
|
||||||
}
|
}
|
||||||
sourceCompatibility = 1.9
|
sourceCompatibility = 1.11
|
||||||
targetCompatibility = 1.9
|
targetCompatibility = 1.11
|
||||||
destinationDirectory = file(JAVA9_OUT + VERSIONS9)
|
destinationDirectory = file(JAVA9_OUT + VERSIONS9)
|
||||||
source = file(JAVA9_SRC)
|
source = file(JAVA9_SRC)
|
||||||
classpath = files()
|
classpath = files()
|
||||||
|
|||||||
@ -42,8 +42,8 @@ tasks.register('compileJava9', JavaCompile) {
|
|||||||
javaCompiler = javaToolchains.compilerFor {
|
javaCompiler = javaToolchains.compilerFor {
|
||||||
languageVersion = JavaLanguageVersion.of(Math.max(11, jdkVersion))
|
languageVersion = JavaLanguageVersion.of(Math.max(11, jdkVersion))
|
||||||
}
|
}
|
||||||
sourceCompatibility = 1.9
|
sourceCompatibility = 1.11
|
||||||
targetCompatibility = 1.9
|
targetCompatibility = 1.11
|
||||||
destinationDirectory = file(JAVA9_OUT + VERSIONS9)
|
destinationDirectory = file(JAVA9_OUT + VERSIONS9)
|
||||||
source = file(JAVA9_SRC)
|
source = file(JAVA9_SRC)
|
||||||
classpath = files()
|
classpath = files()
|
||||||
|
|||||||
@ -93,8 +93,8 @@ task compileJava9(type: JavaCompile, dependsOn: 'compileJava') {
|
|||||||
javaCompiler = javaToolchains.compilerFor {
|
javaCompiler = javaToolchains.compilerFor {
|
||||||
languageVersion = JavaLanguageVersion.of(Math.max(11, jdkVersion))
|
languageVersion = JavaLanguageVersion.of(Math.max(11, jdkVersion))
|
||||||
}
|
}
|
||||||
sourceCompatibility = 1.9
|
sourceCompatibility = 1.11
|
||||||
targetCompatibility = 1.9
|
targetCompatibility = 1.11
|
||||||
destinationDirectory = file(JAVA9_OUT + VERSIONS9)
|
destinationDirectory = file(JAVA9_OUT + VERSIONS9)
|
||||||
source = file(JAVA9_SRC)
|
source = file(JAVA9_SRC)
|
||||||
classpath = files()
|
classpath = files()
|
||||||
|
|||||||
@ -157,8 +157,8 @@ tasks.register('compileJava9', JavaCompile) {
|
|||||||
javaCompiler = javaToolchains.compilerFor {
|
javaCompiler = javaToolchains.compilerFor {
|
||||||
languageVersion = JavaLanguageVersion.of(Math.max(11, jdkVersion))
|
languageVersion = JavaLanguageVersion.of(Math.max(11, jdkVersion))
|
||||||
}
|
}
|
||||||
sourceCompatibility = 1.9
|
sourceCompatibility = 11
|
||||||
targetCompatibility = 1.9
|
targetCompatibility = 11
|
||||||
destinationDirectory = file(JAVA9_OUT + VERSIONS9)
|
destinationDirectory = file(JAVA9_OUT + VERSIONS9)
|
||||||
source = file(JAVA9_SRC)
|
source = file(JAVA9_SRC)
|
||||||
classpath = files()
|
classpath = files()
|
||||||
@ -174,8 +174,8 @@ tasks.register('compileTest9', JavaCompile) {
|
|||||||
javaCompiler = javaToolchains.compilerFor {
|
javaCompiler = javaToolchains.compilerFor {
|
||||||
languageVersion = JavaLanguageVersion.of(Math.max(11, jdkVersion))
|
languageVersion = JavaLanguageVersion.of(Math.max(11, jdkVersion))
|
||||||
}
|
}
|
||||||
sourceCompatibility = 1.9
|
sourceCompatibility = 1.11
|
||||||
targetCompatibility = 1.9
|
targetCompatibility = 1.11
|
||||||
destinationDirectory = file(TEST9_OUT + VERSIONS9)
|
destinationDirectory = file(TEST9_OUT + VERSIONS9)
|
||||||
source = file(TEST9_SRC)
|
source = file(TEST9_SRC)
|
||||||
options.compilerArgs = [
|
options.compilerArgs = [
|
||||||
@ -214,12 +214,12 @@ javadoc {
|
|||||||
failOnError = true
|
failOnError = true
|
||||||
doFirst {
|
doFirst {
|
||||||
options {
|
options {
|
||||||
if (jdkVersion > 8) addBooleanOption('html5', true)
|
addBooleanOption('html5', true)
|
||||||
links 'https://poi.apache.org/apidocs/dev/'
|
links 'https://poi.apache.org/apidocs/dev/'
|
||||||
if (jdkVersion >= 23) links 'https://docs.oracle.com/en/java/javase/23/docs/api/' else links 'https://docs.oracle.com/javase/8/docs/api/'
|
if (jdkVersion >= 23) links 'https://docs.oracle.com/en/java/javase/23/docs/api/' else links 'https://docs.oracle.com/javase/8/docs/api/'
|
||||||
use = true
|
use = true
|
||||||
splitIndex = true
|
splitIndex = true
|
||||||
source = "1.8"
|
source = "1.11"
|
||||||
classpath += configurations.javadocs.files
|
classpath += configurations.javadocs.files
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -250,9 +250,6 @@ test {
|
|||||||
dependsOn { testJar }
|
dependsOn { testJar }
|
||||||
|
|
||||||
systemProperties['junit.jupiter.execution.parallel.enabled'] = 'true'
|
systemProperties['junit.jupiter.execution.parallel.enabled'] = 'true'
|
||||||
if (jdkVersion == 8) {
|
|
||||||
systemProperties['sun.java2d.renderer'] = 'sun.java2d.marlin.MarlinRenderingEngine'
|
|
||||||
}
|
|
||||||
|
|
||||||
if (NO_SCRATCHPAD) {
|
if (NO_SCRATCHPAD) {
|
||||||
useJUnitPlatform {
|
useJUnitPlatform {
|
||||||
@ -265,13 +262,9 @@ test {
|
|||||||
"-Xverify:all",
|
"-Xverify:all",
|
||||||
"-XX:ErrorFile=../build/hs_err_pid%p.log",
|
"-XX:ErrorFile=../build/hs_err_pid%p.log",
|
||||||
"-javaagent:${OOXML_LITE_AGENT}=${OOXML_LITE_REPORT}|${OOXML_LITE_INCLUDES}"
|
"-javaagent:${OOXML_LITE_AGENT}=${OOXML_LITE_REPORT}|${OOXML_LITE_INCLUDES}"
|
||||||
|
'--add-modules', MODULE_NAME,
|
||||||
|
'--module-path', '../build/dist/maven/poi-ooxml-tests' + File.pathSeparator + files(TEST_MODULE_PATH).asPath,
|
||||||
]
|
]
|
||||||
if (jdkVersion > 8) {
|
|
||||||
jvmArgs += [
|
|
||||||
'--add-modules', MODULE_NAME,
|
|
||||||
'--module-path', '../build/dist/maven/poi-ooxml-tests' + File.pathSeparator + files(TEST_MODULE_PATH).asPath,
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -58,8 +58,8 @@ tasks.register('compileJava9', JavaCompile) {
|
|||||||
javaCompiler = javaToolchains.compilerFor {
|
javaCompiler = javaToolchains.compilerFor {
|
||||||
languageVersion = JavaLanguageVersion.of(Math.max(11, jdkVersion))
|
languageVersion = JavaLanguageVersion.of(Math.max(11, jdkVersion))
|
||||||
}
|
}
|
||||||
sourceCompatibility = 1.9
|
sourceCompatibility = 1.11
|
||||||
targetCompatibility = 1.9
|
targetCompatibility = 1.11
|
||||||
destinationDirectory = file(JAVA9_OUT + VERSIONS9)
|
destinationDirectory = file(JAVA9_OUT + VERSIONS9)
|
||||||
source = file(JAVA9_SRC)
|
source = file(JAVA9_SRC)
|
||||||
classpath = files()
|
classpath = files()
|
||||||
@ -75,8 +75,8 @@ tasks.register('compileTest9', JavaCompile) {
|
|||||||
javaCompiler = javaToolchains.compilerFor {
|
javaCompiler = javaToolchains.compilerFor {
|
||||||
languageVersion = JavaLanguageVersion.of(Math.max(11, jdkVersion))
|
languageVersion = JavaLanguageVersion.of(Math.max(11, jdkVersion))
|
||||||
}
|
}
|
||||||
sourceCompatibility = 1.9
|
sourceCompatibility = 1.11
|
||||||
targetCompatibility = 1.9
|
targetCompatibility = 1.11
|
||||||
destinationDirectory = file(TEST9_OUT + VERSIONS9)
|
destinationDirectory = file(TEST9_OUT + VERSIONS9)
|
||||||
source = file(TEST9_SRC)
|
source = file(TEST9_SRC)
|
||||||
options.compilerArgs = [
|
options.compilerArgs = [
|
||||||
@ -147,12 +147,10 @@ test {
|
|||||||
systemProperties['junit.jupiter.execution.parallel.enabled'] = 'true'
|
systemProperties['junit.jupiter.execution.parallel.enabled'] = 'true'
|
||||||
|
|
||||||
doFirst {
|
doFirst {
|
||||||
if (jdkVersion > 8) {
|
jvmArgs += [
|
||||||
jvmArgs += [
|
'--add-modules', MODULE_NAME,
|
||||||
'--add-modules', MODULE_NAME,
|
'--module-path', '../build/dist/maven/poi-scratchpad-tests' + File.pathSeparator + files(TEST_MODULE_PATH).asPath,
|
||||||
'--module-path', '../build/dist/maven/poi-scratchpad-tests' + File.pathSeparator + files(TEST_MODULE_PATH).asPath,
|
]
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -172,12 +172,10 @@ test {
|
|||||||
systemProperties['junit.jupiter.execution.parallel.enabled'] = 'true'
|
systemProperties['junit.jupiter.execution.parallel.enabled'] = 'true'
|
||||||
|
|
||||||
doFirst {
|
doFirst {
|
||||||
if (jdkVersion > 8) {
|
jvmArgs += [
|
||||||
jvmArgs += [
|
'--add-modules', MODULE_NAME,
|
||||||
'--add-modules', MODULE_NAME,
|
'--module-path', '../build/dist/maven/poi-tests' + File.pathSeparator + files(MODULE_PATH).asPath,
|
||||||
'--module-path', '../build/dist/maven/poi-tests' + File.pathSeparator + files(MODULE_PATH).asPath,
|
]
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -19,7 +19,7 @@ Release Contents
|
|||||||
|
|
||||||
This release comes in source form:
|
This release comes in source form:
|
||||||
- source archive you can build POI from (poi-src-@VERSION@-@DSTAMP@.zip or poi-src-@VERSION@-@DSTAMP@.tar.gz)
|
- source archive you can build POI from (poi-src-@VERSION@-@DSTAMP@.zip or poi-src-@VERSION@-@DSTAMP@.tar.gz)
|
||||||
Unpack the archive and use the following command to build all POI components with JDK 1.8 or higher:
|
Unpack the archive and use the following command to build all POI components with JDK 11 or higher:
|
||||||
|
|
||||||
gradle jar
|
gradle jar
|
||||||
|
|
||||||
|
|||||||
@ -338,8 +338,8 @@
|
|||||||
<td>poi-ooxml-full (known as ooxml-schemas)</td>
|
<td>poi-ooxml-full (known as ooxml-schemas)</td>
|
||||||
<td><a href="https://search.maven.org/#artifactdetails|org.apache.xmlbeans|xmlbeans|5.3.0|jar">xmlbeans</a><br/>
|
<td><a href="https://search.maven.org/#artifactdetails|org.apache.xmlbeans|xmlbeans|5.3.0|jar">xmlbeans</a><br/>
|
||||||
For signing:
|
For signing:
|
||||||
<a href="https://search.maven.org/#artifactdetails|org.bouncycastle|bcpkix-jdk18on|1.81|jar">bcpkix-jdk18on</a>,
|
<a href="https://search.maven.org/#artifactdetails|org.bouncycastle|bcpkix-jdk18on|1.82|jar">bcpkix-jdk18on</a>,
|
||||||
<a href="https://search.maven.org/#artifactdetails|org.bouncycastle|bcutil-jdk18on|1.81|jar">bcprov-jdk18on</a>,
|
<a href="https://search.maven.org/#artifactdetails|org.bouncycastle|bcutil-jdk18on|1.82|jar">bcprov-jdk18on</a>,
|
||||||
<a href="https://search.maven.org/#artifactdetails|org.apache.santuario|xmlsec|3.0.6|bundle">xmlsec</a>,
|
<a href="https://search.maven.org/#artifactdetails|org.apache.santuario|xmlsec|3.0.6|bundle">xmlsec</a>,
|
||||||
<a href="https://search.maven.org/#artifactdetails|org.slf4j|slf4j-api|2.0.17|jar">slf4j-api</a>
|
<a href="https://search.maven.org/#artifactdetails|org.slf4j|slf4j-api|2.0.17|jar">slf4j-api</a>
|
||||||
</td>
|
</td>
|
||||||
|
|||||||
@ -34,7 +34,7 @@
|
|||||||
</p>
|
</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
<li>
|
||||||
<a href="https://ci-builds.apache.org/job/POI/job/POI-DSL-1.8/lastSuccessfulBuild/artifact/build/dist/">
|
<a href="https://ci-builds.apache.org/job/POI/job/POI-DSL-1.11/lastSuccessfulBuild/artifact/build/dist/">
|
||||||
Last Successful Jenkins build for POI-trunk
|
Last Successful Jenkins build for POI-trunk
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
|
|||||||
@ -249,7 +249,7 @@
|
|||||||
<p>The classes have been tested against the following libraries, which need to be included additionally to the
|
<p>The classes have been tested against the following libraries, which need to be included additionally to the
|
||||||
<a href="site:components">default dependencies</a>:</p>
|
<a href="site:components">default dependencies</a>:</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>BouncyCastle bcpkix, bcprov and bcutil (tested against 1.81)</li>
|
<li>BouncyCastle bcpkix, bcprov and bcutil (tested against 1.82)</li>
|
||||||
<li>Apache Santuario "xmlsec" (tested against 3.0.5)</li>
|
<li>Apache Santuario "xmlsec" (tested against 3.0.5)</li>
|
||||||
<li>and slf4j-api (tested against 2.0.x)</li>
|
<li>and slf4j-api (tested against 2.0.x)</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|||||||
@ -35,7 +35,7 @@
|
|||||||
2b. You must be a member of the committee group
|
2b. You must be a member of the committee group
|
||||||
3. Release manager must have their public key appended to the KEYS file checked in to SVN and the key published on one of the public key servers.
|
3. Release manager must have their public key appended to the KEYS file checked in to SVN and the key published on one of the public key servers.
|
||||||
More info can be found here: <a href="https://www.apache.org/dev/release-signing.html">https://www.apache.org/dev/release-signing.html</a>
|
More info can be found here: <a href="https://www.apache.org/dev/release-signing.html">https://www.apache.org/dev/release-signing.html</a>
|
||||||
4. You must have Java JDK 1.8 installed and active.
|
4. You must have Java JDK 11 installed and active.
|
||||||
5. You must have the following utilities installed on your local machine and available in your path:
|
5. You must have the following utilities installed on your local machine and available in your path:
|
||||||
* <a href="www.openssh.com">ssh</a>
|
* <a href="www.openssh.com">ssh</a>
|
||||||
* <a href="www.gnupg.org">gnupg</a>
|
* <a href="www.gnupg.org">gnupg</a>
|
||||||
@ -102,9 +102,9 @@ svn update --set-depth infinity dist/release/poi/
|
|||||||
- build.gradle
|
- build.gradle
|
||||||
- osgi/pom.xml (version and poi.version)
|
- osgi/pom.xml (version and poi.version)
|
||||||
|
|
||||||
2. Force a new build at https://ci-builds.apache.org/job/POI/job/POI-DSL-1.8
|
2. Force a new build at https://ci-builds.apache.org/job/POI/job/POI-DSL-1.11
|
||||||
- when build completes, download the built jars from
|
- when build completes, download the built jars from
|
||||||
https://ci-builds.apache.org/job/POI/job/POI-DSL-1.8/lastSuccessfulBuild/artifact/
|
https://ci-builds.apache.org/job/POI/job/POI-DSL-1.11/lastSuccessfulBuild/artifact/
|
||||||
|
|
||||||
3. To produce the source distributions, run
|
3. To produce the source distributions, run
|
||||||
- ./gradlew srcDistZip
|
- ./gradlew srcDistZip
|
||||||
@ -146,8 +146,8 @@ find . -name "*.asc" -exec gpg --no-secmem-warning --verify {} \;
|
|||||||
(III) Deploy Jars to Maven Staging
|
(III) Deploy Jars to Maven Staging
|
||||||
|
|
||||||
1. Ensure that there has been a build with the right svn commit and then download the jars
|
1. Ensure that there has been a build with the right svn commit and then download the jars
|
||||||
- https://ci-builds.apache.org/job/POI/job/POI-DSL-1.8
|
- https://ci-builds.apache.org/job/POI/job/POI-DSL-1.11
|
||||||
- https://ci-builds.apache.org/job/POI/job/POI-DSL-1.8/lastSuccessfulBuild/artifact/
|
- https://ci-builds.apache.org/job/POI/job/POI-DSL-1.11/lastSuccessfulBuild/artifact/
|
||||||
|
|
||||||
2. Set up a `poi-prep` directory and copy all the jars other than the `test` jars into it.
|
2. Set up a `poi-prep` directory and copy all the jars other than the `test` jars into it.
|
||||||
- The artifacts in the archive.zip that you can download (see 1 above) are grouped in different dirs
|
- The artifacts in the archive.zip that you can download (see 1 above) are grouped in different dirs
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user