You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by ki...@apache.org on 2021/09/12 20:31:43 UTC

svn commit: r1893289 - in /poi/trunk: ./ jenkins/ maven/ poi-examples/src/main/java9/ poi-excelant/ poi-integration/ poi-integration/src/test/java9/ poi-ooxml/ poi-ooxml/src/main/java9/ poi-ooxml/src/test/java9/ poi-scratchpad/ poi-scratchpad/src/main/...

Author: kiwiwings
Date: Sun Sep 12 20:31:43 2021
New Revision: 1893289

URL: http://svn.apache.org/viewvc?rev=1893289&view=rev
Log:
XmlSec/BouncyCastle and Batik are now optional

disable SonarQube build based on ant
remove sonar and maven directory, because POMs are now created via Gradle
remove maven section from seed-build

fix duplicated maven dependencies on POM export

Removed:
    poi/trunk/maven/
    poi/trunk/sonar/
Modified:
    poi/trunk/build.gradle
    poi/trunk/jenkins/create_jobs.groovy
    poi/trunk/poi-examples/src/main/java9/module-info.class
    poi/trunk/poi-excelant/build.gradle
    poi/trunk/poi-integration/build.gradle
    poi/trunk/poi-integration/src/test/java9/module-info.class
    poi/trunk/poi-integration/src/test/java9/module-info.java
    poi/trunk/poi-ooxml/build.gradle
    poi/trunk/poi-ooxml/src/main/java9/module-info.class
    poi/trunk/poi-ooxml/src/main/java9/module-info.java
    poi/trunk/poi-ooxml/src/test/java9/module-info.class
    poi/trunk/poi-ooxml/src/test/java9/module-info.java
    poi/trunk/poi-scratchpad/build.gradle
    poi/trunk/poi-scratchpad/src/main/java9/module-info.class
    poi/trunk/poi-scratchpad/src/main/java9/module-info.java
    poi/trunk/poi/build.gradle
    poi/trunk/poi/src/main/java9/module-info.class
    poi/trunk/poi/src/test/java9/module-info.class

Modified: poi/trunk/build.gradle
URL: http://svn.apache.org/viewvc/poi/trunk/build.gradle?rev=1893289&r1=1893288&r2=1893289&view=diff
==============================================================================
--- poi/trunk/build.gradle (original)
+++ poi/trunk/build.gradle Sun Sep 12 20:31:43 2021
@@ -15,6 +15,13 @@
    limitations under the License.
 ==================================================================== */
 
+import org.w3c.dom.Node
+import org.w3c.dom.NodeList
+
+import javax.xml.xpath.XPath
+import javax.xml.xpath.XPathConstants
+import javax.xml.xpath.XPathFactory
+
 buildscript {
     repositories {
         maven { url 'https://plugins.gradle.org/m2/' }
@@ -124,6 +131,15 @@ subprojects {
         NO_SCRATCHPAD = (findProperty("scratchpad.ignore") == "true")
     }
 
+    configurations {
+        all {
+            resolutionStrategy {
+                force "commons-io:commons-io:${commonsIoVersion}"
+                force 'org.slf4j:slf4j-api:1.8.0-beta4'
+            }
+        }
+    }
+
     tasks.withType(JavaCompile) {
         options.encoding = 'UTF-8'
         options.compilerArgs << '-Xlint:unchecked'
@@ -191,8 +207,23 @@ subprojects {
     }
 
     jar {
+        from("../legal") {
+            include "NOTICE"
+            include "LICENSE"
+        }
+
+        rename('^(NOTICE|LICENSE)', 'META-INF/$1')
+
         manifest {
-            attributes 'Implementation-Title': 'Apache POI', 'Implementation-Version': project.version
+            attributes(
+                'Specification-Title': 'Apache POI',
+                'Specification-Version': project.version,
+                'Specification-Vendor': 'The Apache Software Foundation',
+                'Implementation-Title': 'Apache POI',
+                'Implementation-Version': project.version,
+                'Implementation-Vendor': 'org.apache.poi',
+                'Implementation-Vendor-Id': 'The Apache Software Foundation'
+            )
         }
     }
 
@@ -384,6 +415,20 @@ subprojects {
                         // adding ASF header before root node is ignored
                         // doc.insertBefore(asl, doc.getDocumentElement())
                         r.insertBefore(asl, r.getFirstChild())
+
+                        // Replace ooxml-full with ooxml-lite
+                        XPath xpath = XPathFactory.newInstance().newXPath()
+                        NodeList res = (NodeList)xpath.evaluate("//dependency/artifactId[text() = 'poi-ooxml-full']", doc, XPathConstants.NODESET)
+                        for (int i=res.getLength()-1; i>=0; i--) {
+                            res.item(i).setTextContent('poi-ooxml-lite')
+                        }
+
+                        // remove duplicate entries
+                        res = (NodeList)xpath.evaluate("//dependency[artifactId = ./preceding-sibling::dependency/artifactId]", doc, XPathConstants.NODESET)
+                        for (int i=res.getLength()-1; i>=0; i--) {
+                            Node n = res.item(i)
+                            n.getParentNode().removeChild(n)
+                        }
                     }
                 }
             }
@@ -392,9 +437,14 @@ subprojects {
 
     generatePomFileForPOIPublication.destination = "../build/dist/maven/${project.archivesBaseName}/${project.archivesBaseName}-${project.version}.pom"
 
+    tasks.withType(GenerateModuleMetadata) {
+        enabled = false
+    }
+
     signing {
         sign publishing.publications.POI
     }
+    signPOIPublication.dependsOn('generatePomFileForPOIPublication')
 
     spotbugs {
         ignoreFailures = true
@@ -402,9 +452,9 @@ subprojects {
     }
 
     build {
-        // disabled until next release build - only works when you've configured the signing key in your
-        // user gradle.properties file
-        // dependsOn 'signPOIPublication'
+        if (project.hasProperty('signing.keyId')) {
+            dependsOn 'signPOIPublication'
+        }
     }
 }
 
@@ -525,8 +575,8 @@ task replaceVersion() {
 
     var version = subprojects[0].version
     var tokens = [
-        [ 'sonar', '**/pom.xml', '(packaging>\\n\\s*<version>)[0-9.]+(?:-SNAPSHOT)?', "\\1${version}" ],
-        [ 'sonar', '**/pom.xml', '(poi-parent&lt;/artifactId>\\n\\s*<version>)[0-9.]+(?:-SNAPSHOT)?', "\1${version}" ],
+//        [ 'sonar', '**/pom.xml', '(packaging>\\n\\s*<version>)[0-9.]+(?:-SNAPSHOT)?', "\\1${version}" ],
+//        [ 'sonar', '**/pom.xml', '(poi-parent&lt;/artifactId>\\n\\s*<version>)[0-9.]+(?:-SNAPSHOT)?', "\1${version}" ],
         [ 'osgi', 'pom.xml', '(packaging>\\n\\s*<version>)[0-9.]+(?:-SNAPSHOT)?', "\\1${version}" ]
         // [ '.', 'build.gradle', ' version = \'[0-9.]+(?:-SNAPSHOT)?\'', " version = '${version}'" ]
     ]
@@ -582,7 +632,7 @@ distributions {
             duplicatesStrategy = DuplicatesStrategy.EXCLUDE
 
             eachFile {
-                var root = "poi-bin-${version}/"
+                String root = "poi-bin-${version}/"
                 if (name.startsWith('poi')) {
                     path = root + name
                 } else if (poiDep.contains(file)) {

Modified: poi/trunk/jenkins/create_jobs.groovy
URL: http://svn.apache.org/viewvc/poi/trunk/jenkins/create_jobs.groovy?rev=1893289&r1=1893288&r2=1893289&view=diff
==============================================================================
--- poi/trunk/jenkins/create_jobs.groovy (original)
+++ poi/trunk/jenkins/create_jobs.groovy Sun Sep 12 20:31:43 2021
@@ -65,11 +65,11 @@ def poijobs = [
         ],
         [ name: 'POI-DSL-no-scratchpad', trigger: triggerSundays, noScratchpad: true, gradle: true
         ],
-        [ name: 'POI-DSL-SonarQube', jdk: '1.11', trigger: 'H 7 * * *', maven: true, sonar: true, skipcigame: true,
-          email: 'kiwiwings@apache.org',
-		  // replaced by Gradle-based build now
-		  disabled: true
-        ],
+//        [ name: 'POI-DSL-SonarQube', jdk: '1.11', trigger: 'H 7 * * *', maven: true, sonar: true, skipcigame: true,
+//          email: 'kiwiwings@apache.org',
+//		  // replaced by Gradle-based build now
+//		  disabled: true
+//        ],
         [ name: 'POI-DSL-SonarQube-Gradle', jdk: '1.11', trigger: 'H 7 * * *', gradle: true, sonar: true, skipcigame: true
         ],
         [ name: 'POI-DSL-Windows-1.8', trigger: 'H */12 * * *', windows: true, slaves: 'Windows', gradle: true
@@ -339,46 +339,7 @@ poijobs.each { poijob ->
         def shellcmds = (poijob.windows ? shellCmdsWin : shellCmdsUnix).replace('POIJOBSHELL', poijob.shell ?: '')
 
         // Create steps and publishers depending on the type of Job that is selected
-        if(poijob.maven) {
-            steps {
-                shellEx(delegate, shellcmds, poijob)
-                maven {
-                    goals('clean')
-                    rootPOM('sonar/pom.xml')
-                    localRepository(LocalRepositoryLocation.LOCAL_TO_WORKSPACE)
-                    mavenInstallation(defaultMaven)
-                }
-                maven {
-                    if (poijob.sonar) {
-                        goals('clean package sonar:sonar')
-                        property('sonar.login', '${POI_SONAR_TOKEN}')
-                    } else {
-                        goals('package')
-                    }
-                    rootPOM('sonar/pom.xml')
-                    mavenOpts('-Xmx2g')
-                    mavenOpts('-Xms256m')
-                    mavenOpts('-XX:-OmitStackTraceInFastThrow')
-                    localRepository(LocalRepositoryLocation.LOCAL_TO_WORKSPACE)
-                    mavenInstallation(defaultMaven)
-                }
-            }
-            publishers {
-                if (!poijob.skipcigame) {
-                    configure { project ->
-                        project / publishers << 'hudson.plugins.cigame.GamePublisher' {}
-                    }
-                }
-                if (!poijob.sonar) {
-                    archiveJunit('sonar/*/target/surefire-reports/TEST-*.xml') {
-                        testDataPublishers {
-                            publishTestStabilityData()
-                        }
-                    }
-                }
-                mailer(email, false, false)
-            }
-        } else if (poijob.javadoc) {
+        if (poijob.javadoc) {
             steps {
                 shellEx(delegate, shellcmds, poijob)
                 ant {

Modified: poi/trunk/poi-examples/src/main/java9/module-info.class
URL: http://svn.apache.org/viewvc/poi/trunk/poi-examples/src/main/java9/module-info.class?rev=1893289&r1=1893288&r2=1893289&view=diff
==============================================================================
Binary files - no diff available.

Modified: poi/trunk/poi-excelant/build.gradle
URL: http://svn.apache.org/viewvc/poi/trunk/poi-excelant/build.gradle?rev=1893289&r1=1893288&r2=1893289&view=diff
==============================================================================
--- poi/trunk/poi-excelant/build.gradle (original)
+++ poi/trunk/poi-excelant/build.gradle Sun Sep 12 20:31:43 2021
@@ -46,7 +46,7 @@ dependencies {
         exclude group: 'org.apache.poi', module: 'poi-scratchpad'
     }
     testImplementation 'com.google.guava:guava:30.1.1-jre'
-    testImplementation "org.apache.logging.log4j:log4j-slf4j-impl:${log4jVersion}"
+    testImplementation "org.apache.logging.log4j:log4j-slf4j18-impl:${log4jVersion}"
 }
 
 final String MODULE_NAME = 'org.apache.poi.excelant'

Modified: poi/trunk/poi-integration/build.gradle
URL: http://svn.apache.org/viewvc/poi/trunk/poi-integration/build.gradle?rev=1893289&r1=1893288&r2=1893289&view=diff
==============================================================================
--- poi/trunk/poi-integration/build.gradle (original)
+++ poi/trunk/poi-integration/build.gradle Sun Sep 12 20:31:43 2021
@@ -24,6 +24,7 @@ final boolean IBMVM = System.getProperty
 
 configurations {
 	tests
+    misc
 }
 
 sourceSets {
@@ -44,7 +45,10 @@ dependencies {
     testImplementation 'org.apache.commons:commons-collections4:4.4'
     testImplementation 'com.google.guava:guava:30.1.1-jre'
 
-    testImplementation(project(':poi-ooxml')) {
+    misc(project(':poi-ooxml')) {
+        capabilities {
+            requireCapability("${project.group}:poi-ooxml-rendersign")
+        }
         if (NO_SCRATCHPAD) {
             exclude group: 'org.apache.poi', module: 'poi-scratchpad'
         }
@@ -73,14 +77,14 @@ dependencies {
         }
     }
     testImplementation project(path: ':poi-ooxml-lite-agent', configuration: 'archives')
-    testImplementation "org.apache.logging.log4j:log4j-slf4j-impl:${log4jVersion}"
+    testImplementation "org.apache.logging.log4j:log4j-slf4j18-impl:${log4jVersion}"
 }
 
 final String MODULE_NAME = 'org.apache.poi.stress'
 final Pattern MODULE_NOT_REGEX = ~'((poi|poi-scratchpad|poi-ooxml)[/\\\\][^/\\\\]+$|batik-script)'
 final Pattern MODULE_REGEX = ~'\\.jar$'
-final List MODULE_COMPILE_PATH = sourceSets.test.compileClasspath.findAll{ it.path =~ MODULE_REGEX && !(it.path =~ MODULE_NOT_REGEX) }.collect{ it.parent }.unique()
-final List MODULE_RUNTIME_PATH = sourceSets.test.runtimeClasspath.findAll{ it.path =~ MODULE_REGEX && !(it.path =~ MODULE_NOT_REGEX) }.collect{ it.parent }.unique()
+final List MODULE_COMPILE_PATH = (sourceSets.test.compileClasspath + configurations.misc.files).findAll{ it.path =~ MODULE_REGEX && !(it.path =~ MODULE_NOT_REGEX) }.collect{ it.parent }.unique()
+final List MODULE_RUNTIME_PATH = (sourceSets.test.runtimeClasspath + configurations.misc.files).findAll{ it.path =~ MODULE_REGEX && !(it.path =~ MODULE_NOT_REGEX) }.collect{ it.parent }.unique()
 
 final String OOXML_LITE_AGENT = "../build/dist/maven/poi-ooxml-lite-agent/poi-ooxml-lite-agent-${project.version}.jar"
 final String OOXML_LITE_REPORT = '../build/ooxml-lite-report'
@@ -178,4 +182,4 @@ javadocJar.onlyIf { false }
 
 sourcesJar.onlyIf { false }
 
-generateMetadataFileForPOIPublication.enabled = false
\ No newline at end of file
+generateMetadataFileForPOIPublication.enabled = false

Modified: poi/trunk/poi-integration/src/test/java9/module-info.class
URL: http://svn.apache.org/viewvc/poi/trunk/poi-integration/src/test/java9/module-info.class?rev=1893289&r1=1893288&r2=1893289&view=diff
==============================================================================
Binary files - no diff available.

Modified: poi/trunk/poi-integration/src/test/java9/module-info.java
URL: http://svn.apache.org/viewvc/poi/trunk/poi-integration/src/test/java9/module-info.java?rev=1893289&r1=1893288&r2=1893289&view=diff
==============================================================================
--- poi/trunk/poi-integration/src/test/java9/module-info.java (original)
+++ poi/trunk/poi-integration/src/test/java9/module-info.java Sun Sep 12 20:31:43 2021
@@ -24,7 +24,14 @@ module org.apache.poi.stress {
 
     requires org.apache.commons.collections4;
     requires org.apache.poi.examples;
-    requires static org.apache.poi.scratchpad;
+    requires org.apache.poi.scratchpad;
+
+    requires org.apache.santuario.xmlsec;
+    requires org.bouncycastle.provider;
+    requires org.bouncycastle.pkix;
+    requires org.codehaus.stax2;
+
+
 
     exports org.apache.poi.stress;
 

Modified: poi/trunk/poi-ooxml/build.gradle
URL: http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/build.gradle?rev=1893289&r1=1893288&r2=1893289&view=diff
==============================================================================
--- poi/trunk/poi-ooxml/build.gradle (original)
+++ poi/trunk/poi-ooxml/build.gradle Sun Sep 12 20:31:43 2021
@@ -18,12 +18,20 @@
 import java.util.regex.Pattern
 
 configurations {
-	all {
+	runtimeClasspath {
 		exclude group: 'xalan', module: 'xalan'
 		if (JavaVersion.current() != JavaVersion.VERSION_1_8) {
 			exclude group: 'xml-apis', module: 'xml-apis'
 		}
 	}
+
+	compileClasspath {
+		exclude group: 'xalan', module: 'xalan'
+		if (JavaVersion.current() != JavaVersion.VERSION_1_8) {
+			exclude group: 'xml-apis', module: 'xml-apis'
+		}
+	}
+
 	broken
 	tests
     javadocs
@@ -42,27 +50,80 @@ sourceSets {
     }
 }
 
+java {
+    registerFeature('signing') {
+        usingSourceSet(sourceSets.main)
+    }
+    registerFeature('render') {
+        usingSourceSet(sourceSets.main)
+    }
+    registerFeature('rendersign') {
+        usingSourceSet(sourceSets.main)
+    }
+}
+
 dependencies {
     api project(':poi')
     api project(':poi-ooxml-full')
     api project(path: ':poi-ooxml-full', configuration: 'archives')
-    
-    implementation 'org.apache.commons:commons-collections4:4.4'
+
     api "org.apache.xmlbeans:xmlbeans:${xmlbeansVersion}"
     api "org.apache.commons:commons-compress:${commonsCompressVersion}"
     api "commons-io:commons-io:${commonsIoVersion}"
-    api 'org.apache.santuario:xmlsec:2.2.2'
-    api "org.bouncycastle:bcpkix-jdk15on:${bouncyCastleVersion}"
-    api "org.bouncycastle:bcutil-jdk15on:${bouncyCastleVersion}"
     api 'com.github.virtuald:curvesapi:1.06'
-    implementation "org.apache.logging.log4j:log4j-api:${log4jVersion}"
+    api "org.apache.logging.log4j:log4j-api:${log4jVersion}"
+    api 'org.apache.commons:commons-collections4:4.4'
+
+    signingImplementation 'org.apache.santuario:xmlsec:2.2.2'
+    signingImplementation "org.bouncycastle:bcpkix-jdk15on:${bouncyCastleVersion}"
+    signingImplementation "org.bouncycastle:bcutil-jdk15on:${bouncyCastleVersion}"
+
+    rendersignImplementation 'org.apache.santuario:xmlsec:2.2.2'
+    rendersignImplementation "org.bouncycastle:bcpkix-jdk15on:${bouncyCastleVersion}"
+    rendersignImplementation "org.bouncycastle:bcutil-jdk15on:${bouncyCastleVersion}"
+
+    renderImplementation 'de.rototor.pdfbox:graphics2d:0.32'
+    renderImplementation "org.apache.xmlgraphics:batik-svggen:${batikVersion}"
+    renderImplementation("org.apache.xmlgraphics:batik-svgrasterizer:${batikVersion}") {
+        exclude group: 'xalan', module: 'xalan'
+        if (JavaVersion.current() != JavaVersion.VERSION_1_8) {
+            exclude group: 'xml-apis', module: 'xml-apis'
+        }
+    }
+    renderImplementation("org.apache.xmlgraphics:batik-codec:${batikVersion}") {
+        exclude group: 'xalan', module: 'xalan'
+        if (JavaVersion.current() != JavaVersion.VERSION_1_8) {
+            exclude group: 'xml-apis', module: 'xml-apis'
+        }
+    }
+    renderImplementation("org.apache.xmlgraphics:batik-bridge:${batikVersion}") {
+		exclude group: 'xalan', module: 'xalan'
+        if (JavaVersion.current() != JavaVersion.VERSION_1_8) {
+            exclude group: 'xml-apis', module: 'xml-apis'
+        }
+    }
 
-    implementation "org.apache.xmlgraphics:batik-svggen:${batikVersion}"
-    implementation "org.apache.xmlgraphics:batik-bridge:${batikVersion}"
-    implementation "org.apache.xmlgraphics:batik-codec:${batikVersion}"
-    implementation "org.apache.xmlgraphics:batik-svgrasterizer:${batikVersion}"
+    rendersignImplementation 'de.rototor.pdfbox:graphics2d:0.32'
+    rendersignImplementation "org.apache.xmlgraphics:batik-svggen:${batikVersion}"
+    rendersignImplementation("org.apache.xmlgraphics:batik-svgrasterizer:${batikVersion}") {
+        exclude group: 'xalan', module: 'xalan'
+        if (JavaVersion.current() != JavaVersion.VERSION_1_8) {
+            exclude group: 'xml-apis', module: 'xml-apis'
+        }
+    }
+    rendersignImplementation("org.apache.xmlgraphics:batik-codec:${batikVersion}") {
+        exclude group: 'xalan', module: 'xalan'
+        if (JavaVersion.current() != JavaVersion.VERSION_1_8) {
+            exclude group: 'xml-apis', module: 'xml-apis'
+        }
+    }
+    rendersignImplementation("org.apache.xmlgraphics:batik-bridge:${batikVersion}") {
+		exclude group: 'xalan', module: 'xalan'
+        if (JavaVersion.current() != JavaVersion.VERSION_1_8) {
+            exclude group: 'xml-apis', module: 'xml-apis'
+        }
+    }
 
-    api 'de.rototor.pdfbox:graphics2d:0.32'
 
     if (!NO_SCRATCHPAD) {
          testImplementation project(':poi-scratchpad')
@@ -78,10 +139,15 @@ dependencies {
 
     // prevent slf4j warnings coming from xmlsec -> slf4j-api 1.7.32 dependency
     // see https://logging.apache.org/log4j/2.x/log4j-slf4j-impl/
-    testImplementation "org.apache.logging.log4j:log4j-slf4j-impl:${log4jVersion}"
+    testImplementation "org.apache.logging.log4j:log4j-slf4j18-impl:${log4jVersion}"
 
 
-    broken "org.apache.xmlgraphics:batik-script:${batikVersion}"
+    broken("org.apache.xmlgraphics:batik-script:${batikVersion}"){
+        exclude group: 'xalan', module: 'xalan'
+        if (JavaVersion.current() != JavaVersion.VERSION_1_8) {
+            exclude group: 'xml-apis', module: 'xml-apis'
+        }
+    }
 
     javadocs project(':poi')
     javadocs project(':poi-scratchpad')
@@ -245,19 +311,13 @@ publishing {
             pom {
                 name = 'Apache POI - API based on OPC and OOXML schemas'
                 description = 'Apache POI - Java API To Access Microsoft Format Files'
-
-                withXml {
-                    // Update dependencies with resolved versions
-                    def hasDependencies = !asNode().dependencies.isEmpty()
-                    if (hasDependencies) {
-                        asNode().dependencies.first().each {
-                            String artifactId = it.get("artifactId").first().value().first()
-                            String modifiedName = artifactId.equals("poi-ooxml-full") ? "poi-ooxml-lite" : artifactId
-                            it.get("artifactId").first().value = modifiedName
-                        }
-                    }
-                }
             }
+            suppressPomMetadataWarningsFor('renderApiElements')
+            suppressPomMetadataWarningsFor('renderRuntimeElements')
+            suppressPomMetadataWarningsFor('signingApiElements')
+            suppressPomMetadataWarningsFor('signingRuntimeElements')
+            suppressPomMetadataWarningsFor('rendersignApiElements')
+            suppressPomMetadataWarningsFor('rendersignRuntimeElements')
         }
     }
 }

Modified: poi/trunk/poi-ooxml/src/main/java9/module-info.class
URL: http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/main/java9/module-info.class?rev=1893289&r1=1893288&r2=1893289&view=diff
==============================================================================
Binary files - no diff available.

Modified: poi/trunk/poi-ooxml/src/main/java9/module-info.java
URL: http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/main/java9/module-info.java?rev=1893289&r1=1893288&r2=1893289&view=diff
==============================================================================
--- poi/trunk/poi-ooxml/src/main/java9/module-info.java (original)
+++ poi/trunk/poi-ooxml/src/main/java9/module-info.java Sun Sep 12 20:31:43 2021
@@ -86,9 +86,10 @@ module org.apache.poi.ooxml {
     /* optional dependencies for xml signatures - you need to add a require entry to your module-info
      * or add them via the --add-modules JVM argument */
     requires java.xml.crypto;
-    requires org.apache.santuario.xmlsec;
-    requires org.bouncycastle.provider;
-    requires org.bouncycastle.pkix;
+    requires static org.apache.santuario.xmlsec;
+    requires static org.bouncycastle.provider;
+    requires static org.bouncycastle.pkix;
+    requires static org.codehaus.stax2;
 
     /* optional dependencies for slideshow rendering via PPTX2PNG */
     requires static batik.anim;
@@ -112,7 +113,7 @@ module org.apache.poi.ooxml {
     requires static batik.xml;
     requires static xmlgraphics.commons;
 
-    requires org.apache.pdfbox;
-    requires org.apache.fontbox;
-    requires de.rototor.pdfbox.graphics2d;
+    requires static org.apache.pdfbox;
+    requires static org.apache.fontbox;
+    requires static de.rototor.pdfbox.graphics2d;
 }
\ No newline at end of file

Modified: poi/trunk/poi-ooxml/src/test/java9/module-info.class
URL: http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/test/java9/module-info.class?rev=1893289&r1=1893288&r2=1893289&view=diff
==============================================================================
Binary files - no diff available.

Modified: poi/trunk/poi-ooxml/src/test/java9/module-info.java
URL: http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/test/java9/module-info.java?rev=1893289&r1=1893288&r2=1893289&view=diff
==============================================================================
--- poi/trunk/poi-ooxml/src/test/java9/module-info.java (original)
+++ poi/trunk/poi-ooxml/src/test/java9/module-info.java Sun Sep 12 20:31:43 2021
@@ -84,9 +84,10 @@ module org.apache.poi.ooxml {
     /* optional dependencies for xml signatures - you need to add a require entry your module-info
      * or add them via the --add-modules JVM argument */
     requires java.xml.crypto;
-    requires org.apache.santuario.xmlsec;
-    requires org.bouncycastle.provider;
-    requires org.bouncycastle.pkix;
+    requires static org.apache.santuario.xmlsec;
+    requires static org.bouncycastle.provider;
+    requires static org.bouncycastle.pkix;
+    requires static org.codehaus.stax2;
 
 
     /* optional dependencies for slideshow rendering via PPTX2PNG */
@@ -111,9 +112,9 @@ module org.apache.poi.ooxml {
     requires static batik.xml;
     requires static xmlgraphics.commons;
 
-    requires org.apache.pdfbox;
-    requires org.apache.fontbox;
-    requires de.rototor.pdfbox.graphics2d;
+    requires static org.apache.pdfbox;
+    requires static org.apache.fontbox;
+    requires static de.rototor.pdfbox.graphics2d;
 
 
     // test specific exports

Modified: poi/trunk/poi-scratchpad/build.gradle
URL: http://svn.apache.org/viewvc/poi/trunk/poi-scratchpad/build.gradle?rev=1893289&r1=1893288&r2=1893289&view=diff
==============================================================================
--- poi/trunk/poi-scratchpad/build.gradle (original)
+++ poi/trunk/poi-scratchpad/build.gradle Sun Sep 12 20:31:43 2021
@@ -38,9 +38,9 @@ sourceSets {
 dependencies {
     api project(':poi')
     api project(path:':poi', configuration: 'archives')
-    implementation "commons-codec:commons-codec:${commonsCodecVersion}"
-    implementation "org.apache.commons:commons-math3:${commonsMathVersion}"
-    implementation "org.apache.logging.log4j:log4j-api:${log4jVersion}"
+    api "org.apache.logging.log4j:log4j-api:${log4jVersion}"
+    api "org.apache.commons:commons-math3:${commonsMathVersion}"
+    api "commons-codec:commons-codec:${commonsCodecVersion}"
 
     testImplementation project(path: ':poi', configuration: 'tests')
     testImplementation "org.junit.jupiter:junit-jupiter-api:${junitVersion}"

Modified: poi/trunk/poi-scratchpad/src/main/java9/module-info.class
URL: http://svn.apache.org/viewvc/poi/trunk/poi-scratchpad/src/main/java9/module-info.class?rev=1893289&r1=1893288&r2=1893289&view=diff
==============================================================================
Binary files - no diff available.

Modified: poi/trunk/poi-scratchpad/src/main/java9/module-info.java
URL: http://svn.apache.org/viewvc/poi/trunk/poi-scratchpad/src/main/java9/module-info.java?rev=1893289&r1=1893288&r2=1893289&view=diff
==============================================================================
--- poi/trunk/poi-scratchpad/src/main/java9/module-info.java (original)
+++ poi/trunk/poi-scratchpad/src/main/java9/module-info.java Sun Sep 12 20:31:43 2021
@@ -20,6 +20,7 @@ module org.apache.poi.scratchpad {
     requires java.desktop;
     requires commons.math3;
     requires org.apache.commons.io;
+    requires org.apache.commons.codec;
     requires org.apache.logging.log4j;
 
     provides org.apache.poi.extractor.ExtractorProvider with org.apache.poi.extractor.ole2.OLE2ScratchpadExtractorFactory;

Modified: poi/trunk/poi/build.gradle
URL: http://svn.apache.org/viewvc/poi/trunk/poi/build.gradle?rev=1893289&r1=1893288&r2=1893289&view=diff
==============================================================================
--- poi/trunk/poi/build.gradle (original)
+++ poi/trunk/poi/build.gradle Sun Sep 12 20:31:43 2021
@@ -41,8 +41,8 @@ dependencies {
     api "org.apache.commons:commons-math3:${commonsMathVersion}"
     api "commons-io:commons-io:${commonsIoVersion}"
     api 'com.zaxxer:SparseBitSet:1.2'
-    implementation "org.apache.logging.log4j:log4j-api:${log4jVersion}"
-    implementation 'javax.activation:activation:1.1.1'
+    api "org.apache.logging.log4j:log4j-api:${log4jVersion}"
+    // implementation 'javax.activation:activation:1.1.1'
 
     testImplementation 'org.reflections:reflections:0.9.12'
     testImplementation 'org.apache.ant:ant:1.10.11'

Modified: poi/trunk/poi/src/main/java9/module-info.class
URL: http://svn.apache.org/viewvc/poi/trunk/poi/src/main/java9/module-info.class?rev=1893289&r1=1893288&r2=1893289&view=diff
==============================================================================
Binary files - no diff available.

Modified: poi/trunk/poi/src/test/java9/module-info.class
URL: http://svn.apache.org/viewvc/poi/trunk/poi/src/test/java9/module-info.class?rev=1893289&r1=1893288&r2=1893289&view=diff
==============================================================================
Binary files - no diff available.



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org