diff options
-rw-r--r-- | build.gradle | 2 | ||||
-rw-r--r-- | build.xml | 40 | ||||
-rw-r--r-- | osgi/pom.xml | 2 | ||||
-rw-r--r-- | poi-ooxml/build.gradle | 32 | ||||
-rw-r--r-- | poi-ooxml/src/main/java9/module-info.java | 38 | ||||
-rw-r--r-- | poi-ooxml/src/test/java9/module-info.java | 38 |
6 files changed, 91 insertions, 61 deletions
diff --git a/build.gradle b/build.gradle index db8d5631c1..3c371f58a4 100644 --- a/build.gradle +++ b/build.gradle @@ -128,7 +128,7 @@ subprojects { mockitoVersion = '4.11.0' hamcrestVersion = '3.0' xmlbeansVersion = '5.2.1' - batikVersion = '1.18' + batikVersion = '1.17' graphics2dVersion = '3.0.2' pdfboxVersion = '3.0.3' saxonVersion = '12.5' @@ -305,26 +305,26 @@ under the License. <!-- svg/batik/pdf libs - not part of the distribution - move batik to its own directory because of JPMS module-path issues --> <dependency prefix="svg.xml-apis-ext" artifact="xml-apis:xml-apis-ext:1.3.04" usage="ooxml-batik"/> - <dependency prefix="svg.xmlgraphics-commons" artifact="org.apache.xmlgraphics:xmlgraphics-commons:2.9" usage="ooxml-batik"/> - <dependency prefix="svg.batik-anim" artifact="org.apache.xmlgraphics:batik-anim:1.18" usage="ooxml-batik"/> - <dependency prefix="svg.batik-awt-util" artifact="org.apache.xmlgraphics:batik-awt-util:1.18" usage="ooxml-batik"/> - <dependency prefix="svg.batik-bridge" artifact="org.apache.xmlgraphics:batik-bridge:1.18" usage="ooxml-batik"/> - <dependency prefix="svg.batik-codec" artifact="org.apache.xmlgraphics:batik-codec:1.18" usage="ooxml-batik"/> - <dependency prefix="svg.batik-constants" artifact="org.apache.xmlgraphics:batik-constants:1.18" usage="ooxml-batik"/> - <dependency prefix="svg.batik-css" artifact="org.apache.xmlgraphics:batik-css:1.18" usage="ooxml-batik"/> - <dependency prefix="svg.batik-dom" artifact="org.apache.xmlgraphics:batik-dom:1.18" usage="ooxml-batik"/> - <dependency prefix="svg.batik-ext" artifact="org.apache.xmlgraphics:batik-ext:1.18" usage="ooxml-batik"/> - <dependency prefix="svg.batik-gvt" artifact="org.apache.xmlgraphics:batik-gvt:1.18" usage="ooxml-batik"/> - <dependency prefix="svg.batik-i18n" artifact="org.apache.xmlgraphics:batik-i18n:1.18" usage="ooxml-batik"/> - <dependency prefix="svg.batik-parser" artifact="org.apache.xmlgraphics:batik-parser:1.18" usage="ooxml-batik"/> - <dependency prefix="svg.batik-script" artifact="org.apache.xmlgraphics:batik-script:1.18" usage="ooxml-batik"/> - <dependency prefix="svg.batik-shared-resources" artifact="org.apache.xmlgraphics:batik-shared-resources:1.18" usage="ooxml-batik"/> - <dependency prefix="svg.batik-svg-dom" artifact="org.apache.xmlgraphics:batik-svg-dom:1.18" usage="ooxml-batik"/> - <dependency prefix="svg.batik-svggen" artifact="org.apache.xmlgraphics:batik-svggen:1.18" usage="ooxml-batik"/> - <dependency prefix="svg.batik-svgrasterizer" artifact="org.apache.xmlgraphics:batik-svgrasterizer:1.18" usage="ooxml-batik"/> - <dependency prefix="svg.batik-transcoder" artifact="org.apache.xmlgraphics:batik-transcoder:1.18" usage="ooxml-batik"/> - <dependency prefix="svg.batik-util" artifact="org.apache.xmlgraphics:batik-util:1.18" usage="ooxml-batik"/> - <dependency prefix="svg.batik-xml" artifact="org.apache.xmlgraphics:batik-xml:1.18" usage="ooxml-batik"/> + <dependency prefix="svg.xmlgraphics-commons" artifact="org.apache.xmlgraphics:xmlgraphics-commons:2.7" usage="ooxml-batik"/> + <dependency prefix="svg.batik-anim" artifact="org.apache.xmlgraphics:batik-anim:1.17" usage="ooxml-batik"/> + <dependency prefix="svg.batik-awt-util" artifact="org.apache.xmlgraphics:batik-awt-util:1.17" usage="ooxml-batik"/> + <dependency prefix="svg.batik-bridge" artifact="org.apache.xmlgraphics:batik-bridge:1.17" usage="ooxml-batik"/> + <dependency prefix="svg.batik-codec" artifact="org.apache.xmlgraphics:batik-codec:1.17" usage="ooxml-batik"/> + <dependency prefix="svg.batik-constants" artifact="org.apache.xmlgraphics:batik-constants:1.17" usage="ooxml-batik"/> + <dependency prefix="svg.batik-css" artifact="org.apache.xmlgraphics:batik-css:1.17" usage="ooxml-batik"/> + <dependency prefix="svg.batik-dom" artifact="org.apache.xmlgraphics:batik-dom:1.17" usage="ooxml-batik"/> + <dependency prefix="svg.batik-ext" artifact="org.apache.xmlgraphics:batik-ext:1.17" usage="ooxml-batik"/> + <dependency prefix="svg.batik-gvt" artifact="org.apache.xmlgraphics:batik-gvt:1.17" usage="ooxml-batik"/> + <dependency prefix="svg.batik-i18n" artifact="org.apache.xmlgraphics:batik-i18n:1.17" usage="ooxml-batik"/> + <dependency prefix="svg.batik-parser" artifact="org.apache.xmlgraphics:batik-parser:1.17" usage="ooxml-batik"/> + <dependency prefix="svg.batik-script" artifact="org.apache.xmlgraphics:batik-script:1.17" usage="ooxml-batik"/> + <dependency prefix="svg.batik-shared-resources" artifact="org.apache.xmlgraphics:batik-shared-resources:1.17" usage="ooxml-batik"/> + <dependency prefix="svg.batik-svg-dom" artifact="org.apache.xmlgraphics:batik-svg-dom:1.17" usage="ooxml-batik"/> + <dependency prefix="svg.batik-svggen" artifact="org.apache.xmlgraphics:batik-svggen:1.17" usage="ooxml-batik"/> + <dependency prefix="svg.batik-svgrasterizer" artifact="org.apache.xmlgraphics:batik-svgrasterizer:1.17" usage="ooxml-batik"/> + <dependency prefix="svg.batik-transcoder" artifact="org.apache.xmlgraphics:batik-transcoder:1.17" usage="ooxml-batik"/> + <dependency prefix="svg.batik-util" artifact="org.apache.xmlgraphics:batik-util:1.17" usage="ooxml-batik"/> + <dependency prefix="svg.batik-xml" artifact="org.apache.xmlgraphics:batik-xml:1.17" usage="ooxml-batik"/> <dependency prefix="pdf.pdfbox" artifact="org.apache.pdfbox:pdfbox:3.0.3" usage="ooxml-provided"/> <dependency prefix="pdf.pdfbox.io" artifact="org.apache.pdfbox:pdfbox-io:3.0.3" usage="ooxml-provided"/> <dependency prefix="pdf.fontbox" artifact="org.apache.pdfbox:fontbox:3.0.3" usage="ooxml-provided"/> diff --git a/osgi/pom.xml b/osgi/pom.xml index b1cdfd0993..1980941e44 100644 --- a/osgi/pom.xml +++ b/osgi/pom.xml @@ -176,7 +176,7 @@ <groupId>junit</groupId> <artifactId>junit</artifactId> <scope>test</scope> - <version>4.13.2</version> + <version>4.13.1</version> </dependency> <!-- Pax Exam --> diff --git a/poi-ooxml/build.gradle b/poi-ooxml/build.gradle index 84c1fa157f..843c21ead5 100644 --- a/poi-ooxml/build.gradle +++ b/poi-ooxml/build.gradle @@ -28,6 +28,7 @@ configurations { exclude group: 'xml-apis', module: 'xml-apis' } + broken tests javadocs } @@ -125,19 +126,29 @@ dependencies { testImplementation "org.apache.logging.log4j:log4j-slf4j2-impl:${log4jVersion}" testImplementation 'org.slf4j:slf4j-simple:2.0.16' + broken("org.apache.xmlgraphics:batik-script:${batikVersion}"){ + exclude group: 'xalan', module: 'xalan' + exclude group: 'xml-apis', module: 'xml-apis' + } + javadocs project(':poi') javadocs project(':poi-scratchpad') } final String MODULE_NAME = 'org.apache.poi.ooxml' +final Pattern MODULE_NOT_REGEX = ~'(poi[/\\\\][^/\\\\]+$|batik-script)' final Pattern MODULE_REGEX = ~'\\.jar$' final List MAIN_MODULE_PATH = sourceSets.main.runtimeClasspath.findAll{ it.path =~ MODULE_REGEX }.collect{ it.parent }.unique() -final List TEST_MODULE_PATH = sourceSets.test.runtimeClasspath.findAll{ it.path =~ MODULE_REGEX }.collect{ it.parent }.unique() +final List TEST_MODULE_PATH = sourceSets.test.runtimeClasspath.findAll{ it.path =~ MODULE_REGEX && !(it.path =~ MODULE_NOT_REGEX) }.collect{ it.parent }.unique() + files("build/brokenJars") final String OOXML_LITE_AGENT = "../build/dist/maven/poi-ooxml-lite-agent/poi-ooxml-lite-agent-${project.version}.jar" final String OOXML_LITE_REPORT = '../src/resources/ooxml-lite-report' final String OOXML_LITE_INCLUDES = "^(com/microsoft/schemas|org/(etsi|openxmlformats|w3/)|org/apache/poi/schemas)" +compileJava { + dependsOn 'fixBatik', 'cleanupBatik' +} + task compileJava9(type: JavaCompile) { dependsOn 'compileJava', ':poi:jar' @@ -197,6 +208,25 @@ task testJar(type: Jar, dependsOn: testClasses) { } } +// based on https://github.com/moditect/moditect-gradle-plugin/issues/12 +task fixBatik(type: Zip) { + ant.mkdir(dir: "${buildDir}/brokenJars") + archiveFileName = "batik-script-${batikVersion}.jar" + destinationDirectory = file("${buildDir}/brokenJars") + from zipTree(configurations.broken.files.find{ f -> f.name.startsWith("batik-script") }) + filesMatching("**/org.apache.batik.script.InterpreterFactory") { + it.filter{ it2 -> it2.contains("Rhino") ? "#" + it2 : it2 } + } +} + +task cleanupBatik(type: Delete) { + // remove older files to avoid build failures because of duplicate modules + delete fileTree("${buildDir}/brokenJars/").matching { + include "*.jar" + exclude "batik*-${batikVersion}.jar" + } +} + javadoc { failOnError = true doFirst { diff --git a/poi-ooxml/src/main/java9/module-info.java b/poi-ooxml/src/main/java9/module-info.java index d740345f59..35a257fb75 100644 --- a/poi-ooxml/src/main/java9/module-info.java +++ b/poi-ooxml/src/main/java9/module-info.java @@ -93,25 +93,25 @@ module org.apache.poi.ooxml { requires static org.bouncycastle.pkix; /* optional dependencies for slideshow rendering via PPTX2PNG */ - requires static org.apache.xmlgraphics.batik.anim; - requires static org.apache.xmlgraphics.batik.awt.util; - /* this typo appears in Batik 1.18 and will be fixed in a future release */ - requires static org.apache.xmlgraphics.batik.brdige; - requires static org.apache.xmlgraphics.batik.codec; - requires static org.apache.xmlgraphics.batik.constants; - requires static org.apache.xmlgraphics.batik.css; - requires static org.apache.xmlgraphics.batik.dom; - requires static org.apache.xmlgraphics.batik.ext; - requires static org.apache.xmlgraphics.batik.gvt; - requires static org.apache.xmlgraphics.batik.i18n; - requires static org.apache.xmlgraphics.batik.parser; - requires static org.apache.xmlgraphics.batik.script; - requires static org.apache.xmlgraphics.batik.svgdom; - requires static org.apache.xmlgraphics.batik.svggen; - requires static org.apache.xmlgraphics.batik.svgrasterizer; - requires static org.apache.xmlgraphics.batik.transcoder; - requires static org.apache.xmlgraphics.batik.util; - requires static org.apache.xmlgraphics.batik.xml; + requires static batik.anim; + requires static batik.awt.util; + requires static batik.bridge; + requires static batik.codec; + requires static batik.constants; + requires static batik.css; + requires static batik.dom; + requires static batik.ext; + requires static batik.gvt; + requires static batik.i18n; + requires static batik.parser; + requires static batik.script; + requires static batik.shared.resources; + requires static batik.svg.dom; + requires static batik.svggen; + requires static batik.svgrasterizer; + requires static batik.transcoder; + requires static batik.util; + requires static batik.xml; requires static xmlgraphics.commons; requires static org.apache.pdfbox; diff --git a/poi-ooxml/src/test/java9/module-info.java b/poi-ooxml/src/test/java9/module-info.java index 1f114f5aa2..cc65353c3b 100644 --- a/poi-ooxml/src/test/java9/module-info.java +++ b/poi-ooxml/src/test/java9/module-info.java @@ -95,25 +95,25 @@ module org.apache.poi.ooxml { /* optional dependencies for slideshow rendering via PPTX2PNG */ - requires static org.apache.xmlgraphics.batik.anim; - requires static org.apache.xmlgraphics.batik.awt.util; - /* this typo appears in Batik 1.18 and will be fixed in a future release */ - requires static org.apache.xmlgraphics.batik.brdige; - requires static org.apache.xmlgraphics.batik.codec; - requires static org.apache.xmlgraphics.batik.constants; - requires static org.apache.xmlgraphics.batik.css; - requires static org.apache.xmlgraphics.batik.dom; - requires static org.apache.xmlgraphics.batik.ext; - requires static org.apache.xmlgraphics.batik.gvt; - requires static org.apache.xmlgraphics.batik.i18n; - requires static org.apache.xmlgraphics.batik.parser; - requires static org.apache.xmlgraphics.batik.script; - requires static org.apache.xmlgraphics.batik.svgdom; - requires static org.apache.xmlgraphics.batik.svggen; - requires static org.apache.xmlgraphics.batik.svgrasterizer; - requires static org.apache.xmlgraphics.batik.transcoder; - requires static org.apache.xmlgraphics.batik.util; - requires static org.apache.xmlgraphics.batik.xml; + requires static batik.anim; + requires static batik.awt.util; + requires static batik.bridge; + requires static batik.codec; + requires static batik.constants; + requires static batik.css; + requires static batik.dom; + requires static batik.ext; + requires static batik.gvt; + requires static batik.i18n; + requires static batik.parser; + requires static batik.script; + requires static batik.shared.resources; + requires static batik.svg.dom; + requires static batik.svggen; + requires static batik.svgrasterizer; + requires static batik.transcoder; + requires static batik.util; + requires static batik.xml; requires static xmlgraphics.commons; requires static org.apache.pdfbox; |