]> source.dussan.org Git - poi.git/commitdiff
XmlSec/BouncyCastle and Batik are now optional
authorAndreas Beeker <kiwiwings@apache.org>
Sun, 12 Sep 2021 20:31:43 +0000 (20:31 +0000)
committerAndreas Beeker <kiwiwings@apache.org>
Sun, 12 Sep 2021 20:31:43 +0000 (20:31 +0000)
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

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1893289 13f79535-47bb-0310-9956-ffa450edef68

34 files changed:
build.gradle
jenkins/create_jobs.groovy
maven/poi-examples.pom [deleted file]
maven/poi-excelant.pom [deleted file]
maven/poi-ooxml-full.pom [deleted file]
maven/poi-ooxml-lite.pom [deleted file]
maven/poi-ooxml.pom [deleted file]
maven/poi-scratchpad.pom [deleted file]
maven/poi.pom [deleted file]
poi-examples/src/main/java9/module-info.class
poi-excelant/build.gradle
poi-integration/build.gradle
poi-integration/src/test/java9/module-info.class
poi-integration/src/test/java9/module-info.java
poi-ooxml/build.gradle
poi-ooxml/src/main/java9/module-info.class
poi-ooxml/src/main/java9/module-info.java
poi-ooxml/src/test/java9/module-info.class
poi-ooxml/src/test/java9/module-info.java
poi-scratchpad/build.gradle
poi-scratchpad/src/main/java9/module-info.class
poi-scratchpad/src/main/java9/module-info.java
poi/build.gradle
poi/src/main/java9/module-info.class
poi/src/test/java9/module-info.class
sonar/examples/pom.xml [deleted file]
sonar/excelant/pom.xml [deleted file]
sonar/integration-test/pom.xml [deleted file]
sonar/main/pom.xml [deleted file]
sonar/ooxml-full/pom.xml [deleted file]
sonar/ooxml-full/xmlbeans.marker [deleted file]
sonar/ooxml/pom.xml [deleted file]
sonar/pom.xml [deleted file]
sonar/scratchpad/pom.xml [deleted file]

index 8393a489501d61849efcac1bb35922a740afaac3..7e59616989091a5db242addc372400331f999b88 100644 (file)
    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)) {
index b8f490e2724a95bdc6ec54869b5aaa68c40b3143..3099e250c094a1d2c30bf848cb4907cb2604db87 100644 (file)
@@ -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 {
diff --git a/maven/poi-examples.pom b/maven/poi-examples.pom
deleted file mode 100644 (file)
index 70bb701..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-<?xml version="1.0"?>
-<!--
-
-   Licensed to the Apache Software Foundation (ASF) under one or more
-   contributor license agreements.  See the NOTICE file distributed with
-   this work for additional information regarding copyright ownership.
-   The ASF licenses this file to You under the Apache License, Version 2.0
-   (the "License"); you may not use this file except in compliance with
-   the License.  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
--->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-
-       <modelVersion>4.0.0</modelVersion>
-       <groupId>org.apache.poi</groupId>
-       <artifactId>poi-examples</artifactId>
-       <version>@VERSION@</version>
-       <packaging>jar</packaging>
-       <name>Apache POI</name>
-       <url>https://poi.apache.org/</url>
-       <description>Apache POI Examples</description>
-
-  <mailingLists>
-    <mailingList>
-      <name>POI Users List</name>
-      <subscribe>user-subscribe@poi.apache.org</subscribe>
-      <unsubscribe>user-unsubscribe@poi.apache.org</unsubscribe>
-      <archive>http://mail-archives.apache.org/mod_mbox/poi-user/</archive>
-    </mailingList>
-    <mailingList>
-      <name>POI Developer List</name>
-      <subscribe>dev-subscribe@poi.apache.org</subscribe>
-      <unsubscribe>dev-unsubscribe@poi.apache.org</unsubscribe>
-      <archive>http://mail-archives.apache.org/mod_mbox/poi-dev/</archive>
-    </mailingList>
-  </mailingLists>
-
-  <licenses>
-    <license>
-      <name>Apache License, Version 2.0</name>
-      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-    </license>
-  </licenses>
-
-  <organization>
-    <name>Apache Software Foundation</name>
-    <url>http://www.apache.org/</url>
-  </organization>
-
-  <dependencies>
-    <dependency>
-       <groupId>org.apache.poi</groupId>
-       <artifactId>poi</artifactId>
-       <version>@VERSION@</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.poi</groupId>
-      <artifactId>poi-scratchpad</artifactId>
-      <version>@VERSION@</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.poi</groupId>
-      <artifactId>poi-ooxml</artifactId>
-      <version>@VERSION@</version>
-    </dependency>
-  </dependencies>
-</project>
diff --git a/maven/poi-excelant.pom b/maven/poi-excelant.pom
deleted file mode 100644 (file)
index 7fcb5b8..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-<?xml version="1.0"?>
-<!--
-
-   Licensed to the Apache Software Foundation (ASF) under one or more
-   contributor license agreements.  See the NOTICE file distributed with
-   this work for additional information regarding copyright ownership.
-   The ASF licenses this file to You under the Apache License, Version 2.0
-   (the "License"); you may not use this file except in compliance with
-   the License.  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
--->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-
-       <modelVersion>4.0.0</modelVersion>
-       <groupId>org.apache.poi</groupId>
-       <artifactId>poi-excelant</artifactId>
-       <version>@VERSION@</version>
-       <packaging>jar</packaging>
-       <name>Apache POI</name>
-       <url>https://poi.apache.org/</url>
-       <description>Apache POI Excel Ant Tasks</description>
-
-  <mailingLists>
-    <mailingList>
-      <name>POI Users List</name>
-      <subscribe>user-subscribe@poi.apache.org</subscribe>
-      <unsubscribe>user-unsubscribe@poi.apache.org</unsubscribe>
-      <archive>http://mail-archives.apache.org/mod_mbox/poi-user/</archive>
-    </mailingList>
-    <mailingList>
-      <name>POI Developer List</name>
-      <subscribe>dev-subscribe@poi.apache.org</subscribe>
-      <unsubscribe>dev-unsubscribe@poi.apache.org</unsubscribe>
-      <archive>http://mail-archives.apache.org/mod_mbox/poi-dev/</archive>
-    </mailingList>
-  </mailingLists>
-
-  <licenses>
-    <license>
-      <name>Apache License, Version 2.0</name>
-      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-    </license>
-  </licenses>
-
-  <organization>
-    <name>Apache Software Foundation</name>
-    <url>http://www.apache.org/</url>
-  </organization>
-
-  <dependencies>
-    <dependency>
-       <groupId>org.apache.poi</groupId>
-       <artifactId>poi</artifactId>
-       <version>@VERSION@</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.poi</groupId>
-      <artifactId>poi-ooxml</artifactId>
-      <version>@VERSION@</version>
-    </dependency>
-    <dependency>
-       <groupId>org.apache.ant</groupId>
-       <artifactId>ant</artifactId>
-       <version>1.10.9</version>
-       </dependency>
-  </dependencies>
-</project>
diff --git a/maven/poi-ooxml-full.pom b/maven/poi-ooxml-full.pom
deleted file mode 100644 (file)
index e6795ea..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-<?xml version="1.0"?>
-<!--
-
-   Licensed to the Apache Software Foundation (ASF) under one or more
-   contributor license agreements.  See the NOTICE file distributed with
-   this work for additional information regarding copyright ownership.
-   The ASF licenses this file to You under the Apache License, Version 2.0
-   (the "License"); you may not use this file except in compliance with
-   the License.  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
--->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-
-  <modelVersion>4.0.0</modelVersion>
-  <groupId>org.apache.poi</groupId>
-  <artifactId>poi-ooxml-full</artifactId>
-  <version>@VERSION@</version>
-  <packaging>jar</packaging>
-  <name>Apache POI - OOXML schemas (full)</name>
-  <description>XmlBeans generated from the Ecma supplied xsds (since POI 5.0.0, the 5th edition is used):
-    https://www.ecma-international.org/publications/standards/Ecma-376.htm</description>
-  <url>https://poi.apache.org/</url>
-
-  <mailingLists>
-    <mailingList>
-      <name>POI Users List</name>
-      <subscribe>user-subscribe@poi.apache.org</subscribe>
-      <unsubscribe>user-unsubscribe@poi.apache.org</unsubscribe>
-      <archive>http://mail-archives.apache.org/mod_mbox/poi-user/</archive>
-    </mailingList>
-    <mailingList>
-      <name>POI Developer List</name>
-      <subscribe>dev-subscribe@poi.apache.org</subscribe>
-      <unsubscribe>dev-unsubscribe@poi.apache.org</unsubscribe>
-      <archive>http://mail-archives.apache.org/mod_mbox/poi-dev/</archive>
-    </mailingList>
-  </mailingLists>
-
-  <licenses>
-    <license>
-      <name>Apache License, Version 2.0</name>
-      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-      <distribution>repo</distribution>
-    </license>
-  </licenses>
-
-  <organization>
-    <name>Apache Software Foundation</name>
-    <url>http://www.apache.org/</url>
-  </organization>
-
-  <dependencies>
-    <dependency>
-      <groupId>org.apache.xmlbeans</groupId>
-      <artifactId>xmlbeans</artifactId>
-      <version>5.0.1</version>
-    </dependency>
-  </dependencies>
-</project>
diff --git a/maven/poi-ooxml-lite.pom b/maven/poi-ooxml-lite.pom
deleted file mode 100644 (file)
index 2d09069..0000000
+++ /dev/null
@@ -1,76 +0,0 @@
-<?xml version="1.0"?>
-<!--
-
-   Licensed to the Apache Software Foundation (ASF) under one or more
-   contributor license agreements.  See the NOTICE file distributed with
-   this work for additional information regarding copyright ownership.
-   The ASF licenses this file to You under the Apache License, Version 2.0
-   (the "License"); you may not use this file except in compliance with
-   the License.  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
--->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-
-       <modelVersion>4.0.0</modelVersion>
-       <groupId>org.apache.poi</groupId>
-       <artifactId>poi-ooxml-lite</artifactId>
-       <version>@VERSION@</version>
-       <packaging>jar</packaging>
-       <name>Apache POI - OOXML Schemas (lite)</name>
-       <url>https://poi.apache.org/</url>
-       <description>Apache POI - Java API To Access Microsoft Format Files</description>
-
-    <repositories>
-        <repository>
-            <id>apache-releases-repo</id>
-            <name>apache releases repo</name>
-            <url>https://repository.apache.org/content/repositories/releases</url>
-        </repository>
-    </repositories>
-
-  <mailingLists>
-    <mailingList>
-      <name>POI Users List</name>
-      <subscribe>user-subscribe@poi.apache.org</subscribe>
-      <unsubscribe>user-unsubscribe@poi.apache.org</unsubscribe>
-      <archive>http://mail-archives.apache.org/mod_mbox/poi-user/</archive>
-    </mailingList>
-    <mailingList>
-      <name>POI Developer List</name>
-      <subscribe>dev-subscribe@poi.apache.org</subscribe>
-      <unsubscribe>dev-unsubscribe@poi.apache.org</unsubscribe>
-      <archive>http://mail-archives.apache.org/mod_mbox/poi-dev/</archive>
-    </mailingList>
-  </mailingLists>
-
-  <licenses>
-    <license>
-      <name>Apache License, Version 2.0</name>
-      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-    </license>
-  </licenses>
-
-  <organization>
-    <name>Apache Software Foundation</name>
-    <url>http://www.apache.org/</url>
-  </organization>
-
-  <dependencies>
-    <dependency>
-      <groupId>org.apache.xmlbeans</groupId>
-      <artifactId>xmlbeans</artifactId>
-      <version>5.0.1</version>
-    </dependency>
-  </dependencies>
-</project>
diff --git a/maven/poi-ooxml.pom b/maven/poi-ooxml.pom
deleted file mode 100644 (file)
index 769f757..0000000
+++ /dev/null
@@ -1,137 +0,0 @@
-<?xml version="1.0"?><!--
-
-   Licensed to the Apache Software Foundation (ASF) under one or more
-   contributor license agreements.  See the NOTICE file distributed with
-   this work for additional information regarding copyright ownership.
-   The ASF licenses this file to You under the Apache License, Version 2.0
-   (the "License"); you may not use this file except in compliance with
-   the License.  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
--->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-
-    <modelVersion>4.0.0</modelVersion>
-    <groupId>org.apache.poi</groupId>
-    <artifactId>poi-ooxml</artifactId>
-    <version>@VERSION@</version>
-    <packaging>jar</packaging>
-    <name>Apache POI - API based on OPC and OOXML schemas</name>
-    <url>https://poi.apache.org/</url>
-    <description>Apache POI - Java API To Access Microsoft Format Files</description>
-
-    <mailingLists>
-        <mailingList>
-            <name>POI Users List</name>
-            <subscribe>user-subscribe@poi.apache.org</subscribe>
-            <unsubscribe>user-unsubscribe@poi.apache.org</unsubscribe>
-            <archive>http://mail-archives.apache.org/mod_mbox/poi-user/</archive>
-        </mailingList>
-        <mailingList>
-            <name>POI Developer List</name>
-            <subscribe>dev-subscribe@poi.apache.org</subscribe>
-            <unsubscribe>dev-unsubscribe@poi.apache.org</unsubscribe>
-            <archive>http://mail-archives.apache.org/mod_mbox/poi-dev/</archive>
-        </mailingList>
-    </mailingLists>
-
-    <licenses>
-        <license>
-            <name>Apache License, Version 2.0</name>
-            <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-        </license>
-    </licenses>
-
-    <organization>
-        <name>Apache Software Foundation</name>
-        <url>http://www.apache.org/</url>
-    </organization>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.apache.poi</groupId>
-            <artifactId>poi</artifactId>
-            <version>@VERSION@</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.poi</groupId>
-            <artifactId>poi-ooxml-lite</artifactId>
-            <version>@VERSION@</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.commons</groupId>
-            <artifactId>commons-compress</artifactId>
-            <version>1.21</version>
-        </dependency>
-        <dependency>
-            <groupId>commons-io</groupId>
-            <artifactId>commons-io</artifactId>
-            <version>2.11.0</version>
-        </dependency>
-        <dependency>
-            <groupId>com.github.virtuald</groupId>
-            <artifactId>curvesapi</artifactId>
-            <version>1.06</version>
-        </dependency>
-        <dependency>
-            <groupId>org.bouncycastle</groupId>
-            <artifactId>bcpkix-jdk15on</artifactId>
-            <version>1.69</version>
-        </dependency>
-        <dependency>
-            <groupId>org.bouncycastle</groupId>
-            <artifactId>bcprov-jdk15on</artifactId>
-            <version>1.69</version>
-        </dependency>
-        <dependency>
-            <groupId>org.bouncycastle</groupId>
-            <artifactId>bcutil-jdk15on</artifactId>
-            <version>1.69</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.santuario</groupId>
-            <artifactId>xmlsec</artifactId>
-            <version>2.2.2</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.xmlgraphics</groupId>
-            <artifactId>batik-svggen</artifactId>
-            <version>1.14</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.xmlgraphics</groupId>
-            <artifactId>batik-bridge</artifactId>
-            <version>1.14</version>
-            <exclusions>
-                <exclusion>
-                    <groupId>org.apache.xmlgraphics</groupId>
-                    <artifactId>batik-script</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.xmlgraphics</groupId>
-            <artifactId>batik-codec</artifactId>
-            <version>1.14</version>
-        </dependency>
-        <dependency>
-            <groupId>de.rototor.pdfbox</groupId>
-            <artifactId>graphics2d</artifactId>
-            <version>0.31</version>
-            <exclusions>
-                <exclusion>
-                    <groupId>commons-logging</groupId>
-                    <artifactId>commons-logging</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-    </dependencies>
-</project>
diff --git a/maven/poi-scratchpad.pom b/maven/poi-scratchpad.pom
deleted file mode 100644 (file)
index 0a155ed..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-<?xml version="1.0"?>
-<!--
-
-   Licensed to the Apache Software Foundation (ASF) under one or more
-   contributor license agreements.  See the NOTICE file distributed with
-   this work for additional information regarding copyright ownership.
-   The ASF licenses this file to You under the Apache License, Version 2.0
-   (the "License"); you may not use this file except in compliance with
-   the License.  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
--->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-
-       <modelVersion>4.0.0</modelVersion>
-       <groupId>org.apache.poi</groupId>
-       <artifactId>poi-scratchpad</artifactId>
-       <version>@VERSION@</version>
-       <packaging>jar</packaging>
-       <name>Apache POI</name>
-       <url>https://poi.apache.org/</url>
-       <description>Apache POI - Java API To Access Microsoft Format Files</description>
-
-  <mailingLists>
-    <mailingList>
-      <name>POI Users List</name>
-      <subscribe>user-subscribe@poi.apache.org</subscribe>
-      <unsubscribe>user-unsubscribe@poi.apache.org</unsubscribe>
-      <archive>http://mail-archives.apache.org/mod_mbox/poi-user/</archive>
-    </mailingList>
-    <mailingList>
-      <name>POI Developer List</name>
-      <subscribe>dev-subscribe@poi.apache.org</subscribe>
-      <unsubscribe>dev-unsubscribe@poi.apache.org</unsubscribe>
-      <archive>http://mail-archives.apache.org/mod_mbox/poi-dev/</archive>
-    </mailingList>
-  </mailingLists>
-
-  <licenses>
-    <license>
-      <name>Apache License, Version 2.0</name>
-      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-    </license>
-  </licenses>
-
-  <organization>
-    <name>Apache Software Foundation</name>
-    <url>http://www.apache.org/</url>
-  </organization>
-
-  <dependencies>
-    <dependency>
-       <groupId>org.apache.poi</groupId>
-       <artifactId>poi</artifactId>
-       <version>@VERSION@</version>
-    </dependency>
-  </dependencies>
-</project>
diff --git a/maven/poi.pom b/maven/poi.pom
deleted file mode 100644 (file)
index 44a32ab..0000000
+++ /dev/null
@@ -1,91 +0,0 @@
-<?xml version="1.0"?><!--
-
-   Licensed to the Apache Software Foundation (ASF) under one or more
-   contributor license agreements.  See the NOTICE file distributed with
-   this work for additional information regarding copyright ownership.
-   The ASF licenses this file to You under the Apache License, Version 2.0
-   (the "License"); you may not use this file except in compliance with
-   the License.  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
--->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-
-    <modelVersion>4.0.0</modelVersion>
-    <groupId>org.apache.poi</groupId>
-    <artifactId>poi</artifactId>
-    <version>@VERSION@</version>
-    <packaging>jar</packaging>
-    <name>Apache POI</name>
-    <url>https://poi.apache.org/</url>
-    <description>Apache POI - Java API To Access Microsoft Format Files</description>
-
-    <mailingLists>
-        <mailingList>
-            <name>POI Users List</name>
-            <subscribe>user-subscribe@poi.apache.org</subscribe>
-            <unsubscribe>user-unsubscribe@poi.apache.org</unsubscribe>
-            <archive>http://mail-archives.apache.org/mod_mbox/poi-user/</archive>
-        </mailingList>
-        <mailingList>
-            <name>POI Developer List</name>
-            <subscribe>dev-subscribe@poi.apache.org</subscribe>
-            <unsubscribe>dev-unsubscribe@poi.apache.org</unsubscribe>
-            <archive>http://mail-archives.apache.org/mod_mbox/poi-dev/</archive>
-        </mailingList>
-    </mailingLists>
-
-    <licenses>
-        <license>
-            <name>Apache License, Version 2.0</name>
-            <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-        </license>
-    </licenses>
-
-    <organization>
-        <name>Apache Software Foundation</name>
-        <url>http://www.apache.org/</url>
-    </organization>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.apache.logging.log4j</groupId>
-            <artifactId>log4j-api</artifactId>
-            <version>2.14.0</version>
-        </dependency>
-        <dependency>
-            <groupId>commons-codec</groupId>
-            <artifactId>commons-codec</artifactId>
-            <version>1.15</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.commons</groupId>
-            <artifactId>commons-collections4</artifactId>
-            <version>4.4</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.commons</groupId>
-            <artifactId>commons-math3</artifactId>
-            <version>3.6.1</version>
-        </dependency>
-        <dependency>
-            <groupId>commons-io</groupId>
-            <artifactId>commons-io</artifactId>
-            <version>2.11.0</version>
-        </dependency>
-        <dependency>
-            <groupId>com.zaxxer</groupId>
-            <artifactId>SparseBitSet</artifactId>
-            <version>1.2</version>
-        </dependency>
-    </dependencies>
-
-</project>
index 9b2245bc12d54284dbb44e739e349615e8ed867e..274689a12ceb9569e6a4e6019d7a9d17807911c5 100644 (file)
Binary files a/poi-examples/src/main/java9/module-info.class and b/poi-examples/src/main/java9/module-info.class differ
index cda39d2910bccbc7045a0734cc78a2f3ce1f43cc..2876eb965ce2ca274d964b75b14fa3b223a61a20 100644 (file)
@@ -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'
index cb491e01c0d1e43c773081e80a563364dcc81420..7093336061c75fa73b0ec713e9c066c47ccdc1ef 100644 (file)
@@ -24,6 +24,7 @@ final boolean IBMVM = System.getProperty("java.vendor").contains("IBM")
 
 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
index e5d258d7ee61ab6f1b19d787ec22def8cf10d85f..91f8145f2568953996eaf503dff8fcbd9258c904 100644 (file)
Binary files a/poi-integration/src/test/java9/module-info.class and b/poi-integration/src/test/java9/module-info.class differ
index 82eb9f6591e7ea76a09c5a3966e89a2ac1aa6f54..b5c8d064a0ac452a4732ef47915b9956094acdbd 100644 (file)
@@ -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;
 
index 55ba4d6b2586a00d406c755d2d8a463e076d22a4..f8ac5a93ae48852a52a10087557c18ffc4385bbf 100644 (file)
 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')
         }
     }
 }
index 6ca2bc5ba02e61c3c1cae977f47eba671521f223..6e355946d831ce4876d2fafb5c8470b24705e9a4 100644 (file)
Binary files a/poi-ooxml/src/main/java9/module-info.class and b/poi-ooxml/src/main/java9/module-info.class differ
index 151948597d845a5c4571fc7d5f9bedae4aaf4b52..a81eba56044d26e9d84529bf658af1171993d1ae 100644 (file)
@@ -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
index a6a4e2ae74690f4a403c4134bb4e32361dde61bb..d5e072f647d1dad105c852a83d40017a43a2669c 100644 (file)
Binary files a/poi-ooxml/src/test/java9/module-info.class and b/poi-ooxml/src/test/java9/module-info.class differ
index 152cab9e5c21541734b701d3c8e94e37010e9eba..4d7612ba00a6f666940d06828be988d04c2038b6 100644 (file)
@@ -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
index 400884c8f5099b5c8ede1ed59001533cb8095b70..078bb7e5bc69481250407ccf4b75bf7840ad2fa9 100644 (file)
@@ -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}"
index ffe0e5c1fca669a6d49f1867b220e071271da3fc..53efc695f7baf77bb61cfbc0809422ff9175a6a0 100644 (file)
Binary files a/poi-scratchpad/src/main/java9/module-info.class and b/poi-scratchpad/src/main/java9/module-info.class differ
index 57070d405bcb56ad275c266caabc57fcc9a548ba..f2b2732ec5281d2dec7b5a05fc70944d4d59b2e4 100644 (file)
@@ -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;
index 889fb6d95bf93ff19e930c801a946b0fffe396ad..d71e86bc51184c40c492d7d36e6d1ad10d486154 100644 (file)
@@ -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'
index 26498b44bd69a02d906b453d6ea0a42728fe7f2a..e9fb5065290aeb68f55022f9151d53e6f85b1b30 100644 (file)
Binary files a/poi/src/main/java9/module-info.class and b/poi/src/main/java9/module-info.class differ
index fabf8f27eda563fa84f9f568220345986b015bfb..fd6f5c8758a8e460c1e5c0a04ff7f3abd595dfc7 100644 (file)
Binary files a/poi/src/test/java9/module-info.class and b/poi/src/test/java9/module-info.class differ
diff --git a/sonar/examples/pom.xml b/sonar/examples/pom.xml
deleted file mode 100644 (file)
index 92777b4..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
-                             http://maven.apache.org/maven-v4_0_0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>org.apache.poi</groupId>
-        <artifactId>poi-parent</artifactId>
-        <version>5.1.1-SNAPSHOT</version>
-    </parent>
-    <artifactId>poi-examples</artifactId>
-    <packaging>jar</packaging>
-
-    <name>Apache POI Examples package</name>
-
-    <properties>
-        <!-- There are no junit tests in the examples module -->
-        <maven.test.skip>true</maven.test.skip>
-    </properties>
-
-    <build>
-        <plugins>
-            <!-- copy sources, resources and tests in place as otherwise Sonar does not pick them up correctly! -->
-            <plugin>
-                <artifactId>maven-resources-plugin</artifactId>
-                <version>${maven.plugin.resources.version}</version>
-                <executions>
-                    <execution>
-                        <id>copy-sources</id>
-                        <!-- here the phase you need -->
-                        <phase>generate-sources</phase>
-                        <goals>
-                            <goal>copy-resources</goal>
-                        </goals>
-                        <configuration>
-                            <outputDirectory>${basedir}/src/main/java</outputDirectory>
-                            <resources>
-                                <resource>
-                                    <directory>../../poi-examples/src/main/java</directory>
-                                </resource>
-                            </resources>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-            <!-- clean copied sources afterwards -->
-            <plugin>
-                <artifactId>maven-clean-plugin</artifactId>
-                <version>${maven.plugin.clean.version}</version>
-                <configuration>
-                    <filesets>
-                        <fileset>
-                            <directory>src</directory>
-                            <followSymlinks>false</followSymlinks>
-                        </fileset>
-                    </filesets>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
-
-    <dependencies>
-        <dependency>
-            <groupId>${project.groupId}</groupId>
-            <artifactId>poi-main</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>${project.groupId}</groupId>
-            <artifactId>poi-ooxml</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-    </dependencies>
-</project>
diff --git a/sonar/excelant/pom.xml b/sonar/excelant/pom.xml
deleted file mode 100644 (file)
index f54c922..0000000
+++ /dev/null
@@ -1,117 +0,0 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
-                             http://maven.apache.org/maven-v4_0_0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>org.apache.poi</groupId>
-        <artifactId>poi-parent</artifactId>
-        <version>5.1.1-SNAPSHOT</version>
-    </parent>
-    <artifactId>poi-excelant</artifactId>
-    <packaging>jar</packaging>
-
-    <name>Apache POI ExcelAnt package</name>
-
-    <build>
-        <plugins>
-            <!-- copy sources, resources and tests in place as otherwise Sonar does not pick them up correctly! -->
-            <plugin>
-                <artifactId>maven-resources-plugin</artifactId>
-                <version>${maven.plugin.resources.version}</version>
-                <executions>
-                    <execution>
-                        <id>copy-sources</id>
-                        <!-- here the phase you need -->
-                        <phase>generate-sources</phase>
-                        <goals>
-                            <goal>copy-resources</goal>
-                        </goals>
-                        <configuration>
-                            <outputDirectory>${basedir}/src/main/java</outputDirectory>
-                            <resources>
-                                <resource>
-                                    <directory>../../poi-excelant/src/main/java</directory>
-                                </resource>
-                            </resources>
-                        </configuration>
-                    </execution>
-                    <execution>
-                        <id>copy-resources</id>
-                        <!-- here the phase you need -->
-                        <phase>generate-resources</phase>
-                        <goals>
-                            <goal>copy-resources</goal>
-                        </goals>
-                        <configuration>
-                            <outputDirectory>${basedir}/src/main/resources</outputDirectory>
-                            <resources>
-                                <resource>
-                                    <directory>../../poi-excelant/src/main/resources</directory>
-                                </resource>
-                                <resource>
-                                    <directory>../../poi-excelant/src/test/resources</directory>
-                                </resource>
-                            </resources>
-                        </configuration>
-                    </execution>
-                    <execution>
-                        <id>copy-tests</id>
-                        <!-- here the phase you need -->
-                        <phase>generate-test-sources</phase>
-                        <goals>
-                            <goal>copy-resources</goal>
-                        </goals>
-                        <configuration>
-                            <outputDirectory>${basedir}/src/test/java</outputDirectory>
-                            <resources>
-                                <resource>
-                                    <directory>../../poi-excelant/src/test/java</directory>
-                                </resource>
-                            </resources>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-            <!-- clean copied sources afterwards -->
-            <plugin>
-                <artifactId>maven-clean-plugin</artifactId>
-                <version>${maven.plugin.clean.version}</version>
-                <configuration>
-                    <filesets>
-                        <fileset>
-                            <directory>src</directory>
-                            <followSymlinks>false</followSymlinks>
-                        </fileset>
-                    </filesets>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
-
-    <dependencies>
-        <dependency>
-            <groupId>${project.groupId}</groupId>
-            <artifactId>poi-main</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>${project.groupId}</groupId>
-            <artifactId>poi-main</artifactId>
-            <version>${project.version}</version>
-            <type>test-jar</type>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>${project.groupId}</groupId>
-            <artifactId>poi-ooxml</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.ant</groupId>
-            <artifactId>ant</artifactId>
-            <version>1.10.9</version>
-        </dependency>
-    </dependencies>
-</project>
diff --git a/sonar/integration-test/pom.xml b/sonar/integration-test/pom.xml
deleted file mode 100644 (file)
index 72990a0..0000000
+++ /dev/null
@@ -1,126 +0,0 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
-                             http://maven.apache.org/maven-v4_0_0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>org.apache.poi</groupId>
-        <artifactId>poi-parent</artifactId>
-        <version>5.1.1-SNAPSHOT</version>
-
-    </parent>
-    <artifactId>integration-test</artifactId>
-    <packaging>jar</packaging>
-
-    <name>Apache POI integration test</name>
-
-    <build>
-        <plugins>
-            <!-- copy sources, resources and tests in place as otherwise Sonar does not pick them up correctly! -->
-            <plugin>
-                <artifactId>maven-resources-plugin</artifactId>
-                <version>${maven.plugin.resources.version}</version>
-                <executions>
-                    <execution>
-                        <id>copy-tests</id>
-                        <phase>generate-test-sources</phase>
-                        <goals>
-                            <goal>copy-resources</goal>
-                        </goals>
-                        <configuration>
-                            <outputDirectory>${basedir}/src/test/java</outputDirectory>
-                            <resources>
-                                <resource>
-                                    <directory>../../poi-integration/src/test/java</directory>
-                                </resource>
-                                <resource>
-                                    <directory>../../poi/src/test/java</directory>
-                                    <includes>
-                                        <include>org/apache/poi/POIDataSamples.java</include>
-                                        <include>org/apache/poi/util/NullPrintStream.java</include>
-                                        <include>org/apache/poi/util/NullOutputStream.java</include>
-                                        <include>org/apache/poi/hssf/HSSFTestDataSamples.java</include>
-                                    </includes>
-                                </resource>
-                                <resource>
-                                    <directory>../../poi-integration/src/test/resources</directory>
-                                </resource>
-                            </resources>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-
-            <!-- clean copied sources afterwards -->
-            <plugin>
-                <artifactId>maven-clean-plugin</artifactId>
-                <version>${maven.plugin.clean.version}</version>
-                <configuration>
-                    <filesets>
-                        <fileset>
-                            <directory>src</directory>
-                            <followSymlinks>false</followSymlinks>
-                        </fileset>
-                        <fileset>
-                            <directory>build</directory>
-                            <followSymlinks>false</followSymlinks>
-                        </fileset>
-                    </filesets>
-                </configuration>
-            </plugin>
-
-
-            <!-- set jvm parameters for surefire plugin -->
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-surefire-plugin</artifactId>
-                <version>${maven.plugin.surefire.version}</version>
-                <configuration>
-                    <argLine>@{argLine} -Duser.language=en -Duser.country=US -Xmx1024m -Djava.io.tmpdir=${basedir}/target/tmp -XX:-OmitStackTraceInFastThrow</argLine>
-                    <workingDirectory>../..</workingDirectory>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
-
-    <dependencies>
-        <dependency>
-            <groupId>${project.groupId}</groupId>
-            <artifactId>poi-ooxml</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>${project.groupId}</groupId>
-            <artifactId>poi-scratchpad</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>${project.groupId}</groupId>
-            <artifactId>poi-examples</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-
-        <dependency>
-            <groupId>org.reflections</groupId>
-            <artifactId>reflections</artifactId>
-            <version>0.9.12</version>
-            <scope>test</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>org.openjdk.jmh</groupId>
-            <artifactId>jmh-core</artifactId>
-            <version>1.27</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.ant</groupId>
-            <artifactId>ant</artifactId>
-            <version>1.10.9</version>
-            <scope>test</scope>
-        </dependency>
-
-
-
-    </dependencies>
-</project>
diff --git a/sonar/main/pom.xml b/sonar/main/pom.xml
deleted file mode 100644 (file)
index 25cd9d8..0000000
+++ /dev/null
@@ -1,143 +0,0 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
-                             http://maven.apache.org/maven-v4_0_0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>org.apache.poi</groupId>
-        <artifactId>poi-parent</artifactId>
-        <version>5.1.1-SNAPSHOT</version>
-    </parent>
-    <artifactId>poi-main</artifactId>
-    <packaging>jar</packaging>
-
-    <name>Apache POI Main package</name>
-
-    <build>
-        <plugins>
-            <!-- copy sources, resources and tests in place as otherwise Sonar does not pick them up correctly! -->
-            <plugin>
-                <artifactId>maven-resources-plugin</artifactId>
-                <version>${maven.plugin.resources.version}</version>
-                <executions>
-                    <execution>
-                        <id>copy-sources</id>
-                        <phase>generate-sources</phase>
-                        <goals>
-                            <goal>copy-resources</goal>
-                        </goals>
-                        <configuration>
-                            <outputDirectory>${basedir}/src/main/java</outputDirectory>
-                            <resources>
-                                <resource>
-                                    <directory>../../poi/src/main/java</directory>
-                                </resource>
-                            </resources>
-                        </configuration>
-                    </execution>
-                    <execution>
-                        <id>copy-resources</id>
-                        <phase>generate-resources</phase>
-                        <goals>
-                            <goal>copy-resources</goal>
-                        </goals>
-                        <configuration>
-                            <outputDirectory>${basedir}/src/main/resources</outputDirectory>
-                            <resources>
-                                <resource>
-                                    <directory>../../poi/src/main/resources</directory>
-                                </resource>
-                            </resources>
-                        </configuration>
-                    </execution>
-                    <execution>
-                        <id>copy-tests</id>
-                        <!-- here the phase you need -->
-                        <phase>generate-test-sources</phase>
-                        <goals>
-                            <goal>copy-resources</goal>
-                        </goals>
-                        <configuration>
-                            <outputDirectory>${basedir}/src/test/java</outputDirectory>
-                            <resources>
-                                <resource>
-                                    <directory>../../poi/src/test/java</directory>
-                                </resource>
-                                <resource>
-                                    <directory>../../poi/src/test/resources</directory>
-                                </resource>
-                            </resources>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-
-            <!-- clean copied sources afterwards -->
-            <plugin>
-                <artifactId>maven-clean-plugin</artifactId>
-                <version>${maven.plugin.clean.version}</version>
-                <configuration>
-                    <filesets>
-                        <fileset>
-                            <directory>src</directory>
-                            <followSymlinks>false</followSymlinks>
-                        </fileset>
-                    </filesets>
-                </configuration>
-            </plugin>
-
-            <!-- provide the test-jar for other modules -->
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-jar-plugin</artifactId>
-                <version>${maven.plugin.jar.version}</version>
-                <executions>
-                    <execution>
-                        <goals>
-                            <goal>test-jar</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.apache.logging.log4j</groupId>
-            <artifactId>log4j-api</artifactId>
-            <version>2.14.0</version>
-        </dependency>
-        <dependency>
-            <groupId>commons-codec</groupId>
-            <artifactId>commons-codec</artifactId>
-            <version>1.15</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.commons</groupId>
-            <artifactId>commons-collections4</artifactId>
-            <version>4.4</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.commons</groupId>
-            <artifactId>commons-math3</artifactId>
-            <version>3.6.1</version>
-        </dependency>
-        <dependency>
-            <groupId>commons-io</groupId>
-            <artifactId>commons-io</artifactId>
-            <version>2.11.0</version>
-        </dependency>
-        <dependency>
-            <groupId>com.zaxxer</groupId>
-            <artifactId>SparseBitSet</artifactId>
-            <version>1.2</version>
-        </dependency>
-               <dependency>
-                       <groupId>org.apache.ant</groupId>
-                       <artifactId>ant</artifactId>
-                       <version>1.10.9</version>
-                       <scope>test</scope>
-               </dependency>
-       </dependencies>
-</project>
diff --git a/sonar/ooxml-full/pom.xml b/sonar/ooxml-full/pom.xml
deleted file mode 100644 (file)
index a921cfd..0000000
+++ /dev/null
@@ -1,151 +0,0 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
-                             http://maven.apache.org/maven-v4_0_0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>org.apache.poi</groupId>
-        <artifactId>poi-parent</artifactId>
-        <version>5.1.1-SNAPSHOT</version>
-        <relativePath>..</relativePath>
-    </parent>
-    <artifactId>poi-ooxml-lite</artifactId>
-    <packaging>jar</packaging>
-
-    <name>Apache POI - Openxmlformats Schema package</name>
-
-    <properties>
-        <!-- see http://docs.codehaus.org/display/SONAR/Narrowing+the+Focus for details of this property -->
-        <sonar.exclusions>target/generated-sources/*</sonar.exclusions>
-        <maven.compiler.fork>true</maven.compiler.fork>
-    </properties>
-
-    <build>
-        <plugins>
-            <plugin>
-                <artifactId>maven-antrun-plugin</artifactId>
-                <version>${maven.plugin.antrun.version}</version>
-                <executions>
-                    <execution>
-                        <id>copy-xmltype-and-xsdconfig</id>
-                        <phase>generate-sources</phase>
-                        <goals>
-                            <goal>run</goal>
-                        </goals>
-                        <configuration>
-                            <target>
-                                <property name="xsdir" value="${basedir}/../../poi-ooxml-full/src/main/xmlschema/org/apache/poi"/>
-                                <copy todir="${basedir}/target/schemas">
-                                    <zipfileset src="${xsdir}/schemas/OfficeOpenXML-XMLSchema-Transitional.zip"/>
-                                    <zipfileset src="${xsdir}/schemas/OpenPackagingConventions-XMLSchema.zip" includes="opc-digSig.xsd,opc-relationships.xsd"/>
-                                    <fileset dir="${xsdir}/xdgf" includes="*.xsd,*.xsdconfig"/>
-                                    <fileset dir="${xsdir}/schemas" includes="*.xsd,*.xsdconfig"/>
-                                    <fileset dir="${xsdir}/poifs/crypt" includes="signatureInfo.xsd"/>
-                                </copy>
-                            </target>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-
-            <plugin>
-                <groupId>org.codehaus.mojo</groupId>
-                <artifactId>exec-maven-plugin</artifactId>
-                <version>3.0.0</version>
-                <executions>
-                    <execution>
-                        <phase>process-sources</phase>
-                        <goals>
-                            <!-- need to use exec instead of java, because SchemaCompiler calls System.exit() -->
-                            <goal>exec</goal>
-                        </goals>
-                    </execution>
-                </executions>
-                <configuration>
-                    <executable>java</executable>
-                    <arguments>
-                        <argument>-classpath</argument>
-                        <!-- automatically creates the classpath using all project dependencies,
-                             also adding the project build directory -->
-                        <classpath/>
-                        <argument>org.apache.xmlbeans.impl.tool.SchemaCompiler</argument>
-                        <argument>-srconly</argument>
-                        <argument>-name</argument>
-                        <argument>ooxml</argument>
-                        <argument>-repackage</argument>
-                        <argument>org.apache.xmlbeans.metadata:org.apache.poi.schemas.ooxml</argument>
-                        <argument>-d</argument>
-                        <argument>${basedir}/target/generated-resources</argument>
-                        <argument>-src</argument>
-                        <argument>${basedir}/target/generated-sources</argument>
-                        <argument>${basedir}/target/schemas</argument>
-                    </arguments>
-                </configuration>
-            </plugin>
-
-            <plugin>
-                <groupId>org.codehaus.mojo</groupId>
-                <artifactId>build-helper-maven-plugin</artifactId>
-                <version>3.2.0</version>
-                <executions>
-                    <execution>
-                        <id>add-source</id>
-                        <goals>
-                            <goal>add-source</goal>
-                            <goal>add-resource</goal>
-                        </goals>
-                        <configuration>
-                            <resources>
-                                <resource>
-                                    <directory>${basedir}/target/generated-resources</directory>
-                                </resource>
-                                <resource>
-                                    <directory>${basedir}/../../poi-ooxml-full/src/main/java9</directory>
-                                    <targetPath>META-INF/versions/9</targetPath>
-                                    <includes>
-                                        <include>*.class</include>
-                                    </includes>
-                                </resource>
-                            </resources>
-                            <sources>
-                                <source>${basedir}/target/generated-sources</source>
-                            </sources>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-jar-plugin</artifactId>
-                <version>3.2.0</version>
-                <configuration>
-                    <archive>
-                        <manifestEntries>
-                            <Multi-Release>true</Multi-Release>
-                            <Automatic-Module-Name>org.apache.poi.ooxml.schemas</Automatic-Module-Name>
-                        </manifestEntries>
-                    </archive>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
-
-    <dependencies>
-        <dependency>
-            <groupId>${project.groupId}</groupId>
-            <artifactId>poi-main</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>${project.groupId}</groupId>
-            <artifactId>poi-scratchpad</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-          <groupId>org.apache.xmlbeans</groupId>
-          <artifactId>xmlbeans</artifactId>
-          <version>${xmlbeans.version}</version>
-        </dependency>
-    </dependencies>
-</project>
diff --git a/sonar/ooxml-full/xmlbeans.marker b/sonar/ooxml-full/xmlbeans.marker
deleted file mode 100644 (file)
index 2744493..0000000
+++ /dev/null
@@ -1 +0,0 @@
-This purpose of this marker file is solely to activate the xmlbeans maven profile.
\ No newline at end of file
diff --git a/sonar/ooxml/pom.xml b/sonar/ooxml/pom.xml
deleted file mode 100644 (file)
index 04ec4dc..0000000
+++ /dev/null
@@ -1,216 +0,0 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
-                             http://maven.apache.org/maven-v4_0_0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>org.apache.poi</groupId>
-        <artifactId>poi-parent</artifactId>
-        <version>5.1.1-SNAPSHOT</version>
-    </parent>
-    <artifactId>poi-ooxml</artifactId>
-    <packaging>jar</packaging>
-
-    <name>Apache POI OOXML package</name>
-
-    <build>
-        <plugins>
-            <!-- copy sources, resources and tests in place as otherwise Sonar does not pick them up correctly! -->
-            <plugin>
-                <artifactId>maven-resources-plugin</artifactId>
-                <version>${maven.plugin.resources.version}</version>
-                <executions>
-                    <execution>
-                        <id>copy-sources</id>
-                        <phase>generate-sources</phase>
-                        <goals>
-                            <goal>copy-resources</goal>
-                        </goals>
-                        <configuration>
-                            <outputDirectory>${basedir}/src/main/java</outputDirectory>
-                            <resources>
-                                <resource>
-                                    <directory>../../poi-ooxml/src/main/java</directory>
-                                </resource>
-                            </resources>
-                        </configuration>
-                    </execution>
-                    <execution>
-                        <id>copy-resources</id>
-                        <phase>generate-resources</phase>
-                        <goals>
-                            <goal>copy-resources</goal>
-                        </goals>
-                        <configuration>
-                            <outputDirectory>${basedir}/src/main/resources</outputDirectory>
-                            <resources>
-                                <resource>
-                                    <directory>../../poi-ooxml/src/main/resources</directory>
-                                </resource>
-                            </resources>
-                        </configuration>
-                    </execution>
-                    <execution>
-                        <id>copy-tests</id>
-                        <phase>generate-test-sources</phase>
-                        <goals>
-                            <goal>copy-resources</goal>
-                        </goals>
-                        <configuration>
-                            <outputDirectory>${basedir}/src/test/java</outputDirectory>
-                            <resources>
-                                <resource>
-                                    <directory>../../poi-ooxml/src/test/java</directory>
-                                </resource>
-                                <resource>
-                                    <directory>../../poi-ooxml/src/test/resources</directory>
-                                </resource>
-                            </resources>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-
-            <!-- clean copied sources afterwards -->
-            <plugin>
-                <artifactId>maven-clean-plugin</artifactId>
-                <version>${maven.plugin.clean.version}</version>
-                <configuration>
-                    <filesets>
-                        <fileset>
-                            <directory>src</directory>
-                            <followSymlinks>false</followSymlinks>
-                        </fileset>
-                        <fileset>
-                            <directory>build</directory>
-                            <followSymlinks>false</followSymlinks>
-                        </fileset>
-                    </filesets>
-                </configuration>
-            </plugin>
-
-            <!-- set jvm parameters for surefire plugin -->
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-surefire-plugin</artifactId>
-                <version>${maven.plugin.surefire.version}</version>
-                <configuration>
-                    <argLine>@{argLine} -Duser.language=en -Duser.country=US -Xmx1024m
-                        -Djava.io.tmpdir=${basedir}/target/tmp -XX:-OmitStackTraceInFastThrow
-                    </argLine>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
-
-    <dependencies>
-        <dependency>
-            <groupId>${project.groupId}</groupId>
-            <artifactId>poi-ooxml-lite</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>${project.groupId}</groupId>
-            <artifactId>poi-main</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>${project.groupId}</groupId>
-            <artifactId>poi-main</artifactId>
-            <version>${project.version}</version>
-            <type>test-jar</type>
-            <scope>test</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.xmlbeans</groupId>
-            <artifactId>xmlbeans</artifactId>
-            <version>${xmlbeans.version}</version>
-        </dependency>
-
-        <dependency>
-            <groupId>org.bouncycastle</groupId>
-            <artifactId>bcpkix-jdk15on</artifactId>
-            <version>1.69</version>
-        </dependency>
-        <dependency>
-            <groupId>org.bouncycastle</groupId>
-            <artifactId>bcprov-jdk15on</artifactId>
-            <version>1.69</version>
-        </dependency>
-        <dependency>
-            <groupId>org.bouncycastle</groupId>
-            <artifactId>bcutil-jdk15on</artifactId>
-            <version>1.69</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.santuario</groupId>
-            <artifactId>xmlsec</artifactId>
-            <version>2.2.2</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.commons</groupId>
-            <artifactId>commons-compress</artifactId>
-            <version>1.21</version>
-        </dependency>
-        <dependency>
-            <groupId>commons-io</groupId>
-            <artifactId>commons-io</artifactId>
-            <version>2.11.0</version>
-        </dependency>
-        <dependency>
-            <groupId>com.github.virtuald</groupId>
-            <artifactId>curvesapi</artifactId>
-            <version>1.06</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.xmlgraphics</groupId>
-            <artifactId>batik-svggen</artifactId>
-            <version>1.14</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.xmlgraphics</groupId>
-            <artifactId>batik-bridge</artifactId>
-            <version>1.14</version>
-            <exclusions>
-                <exclusion>
-                    <groupId>org.apache.xmlgraphics</groupId>
-                    <artifactId>batik-script</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.xmlgraphics</groupId>
-            <artifactId>batik-codec</artifactId>
-            <version>1.14</version>
-        </dependency>
-        <dependency>
-            <groupId>de.rototor.pdfbox</groupId>
-            <artifactId>graphics2d</artifactId>
-            <version>0.32</version>
-        </dependency>
-
-        <dependency>
-            <groupId>org.reflections</groupId>
-            <artifactId>reflections</artifactId>
-            <version>0.9.12</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.openjdk.jmh</groupId>
-            <artifactId>jmh-core</artifactId>
-            <version>1.27</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.openjdk.jmh</groupId>
-            <artifactId>jmh-generator-annprocess</artifactId>
-            <version>1.27</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>com.google.guava</groupId>
-            <artifactId>guava</artifactId>
-            <version>30.1-jre</version>
-            <scope>test</scope>
-        </dependency>
-    </dependencies>
-</project>
diff --git a/sonar/pom.xml b/sonar/pom.xml
deleted file mode 100644 (file)
index ba2cf34..0000000
+++ /dev/null
@@ -1,227 +0,0 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-    <groupId>org.apache.poi</groupId>
-    <artifactId>poi-parent</artifactId>
-    <packaging>pom</packaging>
-    <version>5.1.1-SNAPSHOT</version>
-    <name>Apache POI - the Java API for Microsoft Documents</name>
-    <description>Maven build of Apache POI for Sonar checks</description>
-    <url>https://poi.apache.org/</url>
-
-    <mailingLists>
-        <mailingList>
-            <name>POI Users List</name>
-            <subscribe>user-subscribe@poi.apache.org</subscribe>
-            <unsubscribe>user-unsubscribe@poi.apache.org</unsubscribe>
-            <archive>http://mail-archives.apache.org/mod_mbox/poi-user/</archive>
-        </mailingList>
-        <mailingList>
-            <name>POI Developer List</name>
-            <subscribe>dev-subscribe@poi.apache.org</subscribe>
-            <unsubscribe>dev-unsubscribe@poi.apache.org</unsubscribe>
-            <archive>http://mail-archives.apache.org/mod_mbox/poi-dev/</archive>
-        </mailingList>
-    </mailingLists>
-
-    <licenses>
-        <license>
-            <name>Apache License, Version 2.0</name>
-            <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-        </license>
-    </licenses>
-
-    <organization>
-        <name>Apache Software Foundation</name>
-        <url>http://www.apache.org/</url>
-    </organization>
-
-    <issueManagement>
-        <system>Bugzilla</system>
-        <url>https://bz.apache.org/bugzilla/</url>
-    </issueManagement>
-
-    <scm>
-        <connection>scm:svn:https://svn.apache.org/repos/asf/poi/trunk</connection>
-        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/poi/trunk</developerConnection>
-        <url>https://svn.apache.org/viewvc/poi</url>
-    </scm>
-
-    <repositories>
-        <repository>
-            <id>apache-releases-repo</id>
-            <name>apache releases repo</name>
-            <url>https://repository.apache.org/content/repositories/releases</url>
-        </repository>
-    </repositories>
-
-    <modules>
-        <module>main</module>
-        <module>ooxml-full</module>
-        <module>ooxml</module>
-        <module>scratchpad</module>
-        <module>excelant</module>
-        <module>examples</module>
-        <module>integration-test</module>
-    </modules>
-
-    <properties>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-        <!-- Try to disable running SVN blame as it causes errors here because the source is copied from the actual SVN location here! -->
-        <sonar.scm.disabled>true</sonar.scm.disabled>
-
-        <sonar.organization>apache</sonar.organization>
-        <sonar.projectKey>poi-parent</sonar.projectKey>
-        <sonar.moduleKey>${project.artifactId}</sonar.moduleKey>
-
-        <sonar.host.url>https://sonarcloud.io</sonar.host.url>
-        <!-- sonar.jacoco.reportPaths>target/jacoco.exec</sonar.jacoco.reportPaths -->
-        <sonar.coverage.jacoco.xmlReportPaths>target/site/jacoco/jacoco.xml</sonar.coverage.jacoco.xmlReportPaths>
-
-        <!-- define some of the third-party or plugin-versions globally to use the same in all modules -->
-        <xmlbeans.version>5.0.1</xmlbeans.version>
-        <junit.version>5.7.1</junit.version>
-        <xmlunit.version>2.8.2</xmlunit.version>
-        <mockito.version>3.6.28</mockito.version>
-        <maven.plugin.resources.version>3.2.0</maven.plugin.resources.version>
-        <maven.plugin.jar.version>3.2.0</maven.plugin.jar.version>
-        <maven.plugin.clean.version>3.1.0</maven.plugin.clean.version>
-        <maven.plugin.download.version>1.6.0</maven.plugin.download.version>
-        <maven.plugin.antrun.version>3.0.0</maven.plugin.antrun.version>
-        <maven.plugin.surefire.version>3.0.0-M5</maven.plugin.surefire.version>
-    </properties>
-
-    <build>
-        <pluginManagement>
-            <plugins>
-                <plugin>
-                    <groupId>org.apache.maven.plugins</groupId>
-                    <artifactId>maven-compiler-plugin</artifactId>
-                    <version>3.8.1</version>
-                    <configuration>
-                        <source>1.8</source>
-                        <target>1.8</target>
-                    </configuration>
-                </plugin>
-            </plugins>
-        </pluginManagement>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-surefire-plugin</artifactId>
-                <version>${maven.plugin.surefire.version}</version>
-                <configuration>
-                    <printSummary>false</printSummary>
-                    <systemPropertyVariables>
-                        <POI.testdata.path>${basedir}/../../test-data</POI.testdata.path>
-                        <java.awt.headless>true</java.awt.headless>
-                    </systemPropertyVariables>
-                    <!-- use to following to analyze OOM issues:       -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp -->
-                    <argLine>@{argLine} -Duser.language=en -Duser.country=US -Xmx1024m -Djava.io.tmpdir=${basedir}/target/tmp -XX:-OmitStackTraceInFastThrow</argLine>
-                    <excludes>
-                        <exclude>**/All*Tests.java</exclude>
-                        <exclude>**/TestUnfixedBugs.java</exclude>
-                        <exclude>**/TestcaseRecordInputStream.java</exclude>
-                        <exclude>**/POITestCase.java</exclude>
-                        <!-- TODO: error about no public construct, seems to run with JUnit 3.8... -->
-                        <exclude>**/TestWordToConverterSuite*.java</exclude>
-                        <exclude>**/TestExcelConverterSuite*.java</exclude>
-                    </excludes>
-                    <!--test>TestPPTX2PNG</test-->
-                    <!--parallel>both</parallel>
-                <threadCount>10</threadCount-->
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.jacoco</groupId>
-                <artifactId>jacoco-maven-plugin</artifactId>
-                <version>0.8.6</version>
-                <executions>
-                    <execution>
-                        <goals>
-                            <goal>prepare-agent</goal>
-                        </goals>
-                    </execution>
-                    <execution>
-                        <id>report</id>
-                        <phase>prepare-package</phase>
-                        <goals>
-                            <goal>report</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.junit.jupiter</groupId>
-            <artifactId>junit-jupiter</artifactId>
-            <version>${junit.version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.xmlunit</groupId>
-            <artifactId>xmlunit-core</artifactId>
-            <version>${xmlunit.version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.mockito</groupId>
-            <artifactId>mockito-core</artifactId>
-            <version>${mockito.version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.hamcrest</groupId>
-            <artifactId>hamcrest</artifactId>
-            <version>2.2</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.logging.log4j</groupId>
-            <artifactId>log4j-core</artifactId>
-            <version>2.14.0</version>
-            <scope>test</scope>
-        </dependency>
-    </dependencies>
-
-    <profiles>
-        <!-- We need a fair amount of memory to compile the xml schema, -->
-        <!-- but limit it in case it goes wrong!                        -->
-        <!-- Pick the right amount based on 32 vs 64 bit jvm            -->
-        <!-- ********************************************************** -->
-        <!-- If you are using IntelliJ, you might want to check         -->
-        <!-- http://stackoverflow.com/questions/24115142                -->
-        <!-- ********************************************************** -->
-        <profile>
-            <id>32bitstuff</id>
-            <activation>
-                <property>
-                    <name>sun.arch.data.model</name>
-                    <value>32</value>
-                </property>
-            </activation>
-            <properties>
-                <maven.compiler.maxmem>512m</maven.compiler.maxmem>
-                <argLine>-Xmx768m</argLine>
-            </properties>
-        </profile>
-
-        <profile>
-            <id>64bitstuff</id>
-            <activation>
-                <property>
-                    <name>sun.arch.data.model</name>
-                    <value>64</value>
-                </property>
-            </activation>
-            <properties>
-                <maven.compiler.maxmem>768m</maven.compiler.maxmem>
-                <argLine>-Xmx1024m</argLine>
-            </properties>
-        </profile>
-
-    </profiles>
-</project>
diff --git a/sonar/scratchpad/pom.xml b/sonar/scratchpad/pom.xml
deleted file mode 100644 (file)
index 073823e..0000000
+++ /dev/null
@@ -1,112 +0,0 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
-                             http://maven.apache.org/maven-v4_0_0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>org.apache.poi</groupId>
-        <artifactId>poi-parent</artifactId>
-        <version>5.1.1-SNAPSHOT</version>
-    </parent>
-    <artifactId>poi-scratchpad</artifactId>
-    <packaging>jar</packaging>
-
-    <name>Apache POI Scratchpad package</name>
-
-    <properties>
-        <!-- Exclude some generated code from Sonar analysis -->
-        <sonar.exclusions>src/main/java/org/apache/poi/hwpf/model/types/*,src/main/java/org/apache/poi/hdf/model/hdftypes/definitions/*</sonar.exclusions>
-    </properties>
-
-
-    <build>
-        <plugins>
-            <!-- copy sources, resources and tests in place as otherwise Sonar does not pick them up correctly! -->
-            <plugin>
-                <artifactId>maven-resources-plugin</artifactId>
-                <version>${maven.plugin.resources.version}</version>
-                <executions>
-                    <execution>
-                        <id>copy-sources</id>
-                        <!-- here the phase you need -->
-                        <phase>generate-sources</phase>
-                        <goals>
-                            <goal>copy-resources</goal>
-                        </goals>
-                        <configuration>
-                            <outputDirectory>${basedir}/src/main/java</outputDirectory>
-                            <resources>
-                                <resource>
-                                    <directory>../../poi-scratchpad/src/main/java</directory>
-                                </resource>
-                            </resources>
-                        </configuration>
-                    </execution>
-                    <execution>
-                        <id>copy-resources</id>
-                        <!-- here the phase you need -->
-                        <phase>generate-resources</phase>
-                        <goals>
-                            <goal>copy-resources</goal>
-                        </goals>
-                        <configuration>
-                            <outputDirectory>${basedir}/src/main/resources</outputDirectory>
-                            <resources>
-                                <resource>
-                                    <directory>../../poi-scratchpad/src/main/resources</directory>
-                                </resource>
-                            </resources>
-                        </configuration>
-                    </execution>
-                    <execution>
-                        <id>copy-tests</id>
-                        <!-- here the phase you need -->
-                        <phase>generate-test-sources</phase>
-                        <goals>
-                            <goal>copy-resources</goal>
-                        </goals>
-                        <configuration>
-                            <outputDirectory>${basedir}/src/test/java</outputDirectory>
-                            <resources>
-                                <resource>
-                                    <directory>../../poi-scratchpad/src/test/java</directory>
-                                </resource>
-                                <resource>
-                                    <directory>../../poi-scratchpad/src/test/resources</directory>
-                                </resource>
-                            </resources>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-            <!-- clean copied sources afterwards -->
-            <plugin>
-                <artifactId>maven-clean-plugin</artifactId>
-                <version>${maven.plugin.clean.version}</version>
-                <configuration>
-                    <filesets>
-                        <fileset>
-                            <directory>src</directory>
-                            <followSymlinks>false</followSymlinks>
-                        </fileset>
-                    </filesets>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
-
-    <dependencies>
-        <dependency>
-            <groupId>${project.groupId}</groupId>
-            <artifactId>poi-main</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>${project.groupId}</groupId>
-            <artifactId>poi-main</artifactId>
-            <version>${project.version}</version>
-            <type>test-jar</type>
-            <scope>test</scope>
-        </dependency>
-    </dependencies>
-</project>