]> source.dussan.org Git - poi.git/commitdiff
revert batik change due to build issues
authorPJ Fanning <fanningpj@apache.org>
Wed, 9 Oct 2024 20:26:51 +0000 (20:26 +0000)
committerPJ Fanning <fanningpj@apache.org>
Wed, 9 Oct 2024 20:26:51 +0000 (20:26 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1921221 13f79535-47bb-0310-9956-ffa450edef68

poi-ooxml/build.gradle

index 0f785b1acad0caee291c1f39d629b32efcab6c0d..843c21ead5566119fb1879ac33250b974b1ff858 100644 (file)
@@ -89,10 +89,6 @@ dependencies {
         exclude group: 'xalan', module: 'xalan'
         exclude group: 'xml-apis', module: 'xml-apis'
     }
-    renderImplementation("org.apache.xmlgraphics:batik-script:${batikVersion}") {
-        exclude group: 'xalan', module: 'xalan'
-        exclude group: 'xml-apis', module: 'xml-apis'
-    }
 
     rendersignImplementation "org.apache.pdfbox:pdfbox:${pdfboxVersion}"
     rendersignImplementation "de.rototor.pdfbox:graphics2d:${graphics2dVersion}"
@@ -109,10 +105,6 @@ dependencies {
         exclude group: 'xalan', module: 'xalan'
         exclude group: 'xml-apis', module: 'xml-apis'
     }
-    rendersignImplementation("org.apache.xmlgraphics:batik-script:${batikVersion}") {
-        exclude group: 'xalan', module: 'xalan'
-        exclude group: 'xml-apis', module: 'xml-apis'
-    }
 
 
     if (!NO_SCRATCHPAD) {
@@ -134,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'
 
@@ -206,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 {