diff options
Diffstat (limited to 'poi-ooxml/build.gradle')
-rw-r--r-- | poi-ooxml/build.gradle | 32 |
1 files changed, 31 insertions, 1 deletions
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 { |