aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndreas Beeker <kiwiwings@apache.org>2021-09-12 20:31:43 +0000
committerAndreas Beeker <kiwiwings@apache.org>2021-09-12 20:31:43 +0000
commit596db3117021cea11793fff2d3018e5e2907a2c9 (patch)
tree2af7961416ce3c30cc037de1a62c7b58783faae4
parent99047b5245ea588419cd45b8a8ac3a1ca15494ea (diff)
downloadpoi-596db3117021cea11793fff2d3018e5e2907a2c9.tar.gz
poi-596db3117021cea11793fff2d3018e5e2907a2c9.zip
XmlSec/BouncyCastle and Batik are now optional
disable SonarQube build based on ant remove sonar and maven directory, because POMs are now created via Gradle remove maven section from seed-build fix duplicated maven dependencies on POM export git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1893289 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--build.gradle64
-rw-r--r--jenkins/create_jobs.groovy51
-rw-r--r--maven/poi-examples.pom78
-rw-r--r--maven/poi-excelant.pom78
-rw-r--r--maven/poi-ooxml-full.pom70
-rw-r--r--maven/poi-ooxml-lite.pom76
-rw-r--r--maven/poi-ooxml.pom137
-rw-r--r--maven/poi-scratchpad.pom68
-rw-r--r--maven/poi.pom91
-rw-r--r--poi-examples/src/main/java9/module-info.classbin979 -> 978 bytes
-rw-r--r--poi-excelant/build.gradle2
-rw-r--r--poi-integration/build.gradle14
-rw-r--r--poi-integration/src/test/java9/module-info.classbin492 -> 683 bytes
-rw-r--r--poi-integration/src/test/java9/module-info.java9
-rw-r--r--poi-ooxml/build.gradle112
-rw-r--r--poi-ooxml/src/main/java9/module-info.classbin3653 -> 3689 bytes
-rw-r--r--poi-ooxml/src/main/java9/module-info.java13
-rw-r--r--poi-ooxml/src/test/java9/module-info.classbin5040 -> 5076 bytes
-rw-r--r--poi-ooxml/src/test/java9/module-info.java13
-rw-r--r--poi-scratchpad/build.gradle6
-rw-r--r--poi-scratchpad/src/main/java9/module-info.classbin2605 -> 2641 bytes
-rw-r--r--poi-scratchpad/src/main/java9/module-info.java1
-rw-r--r--poi/build.gradle4
-rw-r--r--poi/src/main/java9/module-info.classbin3421 -> 3420 bytes
-rw-r--r--poi/src/test/java9/module-info.classbin4135 -> 4144 bytes
-rw-r--r--sonar/examples/pom.xml74
-rw-r--r--sonar/excelant/pom.xml117
-rw-r--r--sonar/integration-test/pom.xml126
-rw-r--r--sonar/main/pom.xml143
-rw-r--r--sonar/ooxml-full/pom.xml151
-rw-r--r--sonar/ooxml-full/xmlbeans.marker1
-rw-r--r--sonar/ooxml/pom.xml216
-rw-r--r--sonar/pom.xml227
-rw-r--r--sonar/scratchpad/pom.xml112
34 files changed, 187 insertions, 1867 deletions
diff --git a/build.gradle b/build.gradle
index 8393a48950..7e59616989 100644
--- a/build.gradle
+++ b/build.gradle
@@ -15,6 +15,13 @@
limitations under the License.
==================================================================== */
+import org.w3c.dom.Node
+import org.w3c.dom.NodeList
+
+import javax.xml.xpath.XPath
+import javax.xml.xpath.XPathConstants
+import javax.xml.xpath.XPathFactory
+
buildscript {
repositories {
maven { url 'https://plugins.gradle.org/m2/' }
@@ -124,6 +131,15 @@ subprojects {
NO_SCRATCHPAD = (findProperty("scratchpad.ignore") == "true")
}
+ configurations {
+ all {
+ resolutionStrategy {
+ force "commons-io:commons-io:${commonsIoVersion}"
+ force 'org.slf4j:slf4j-api:1.8.0-beta4'
+ }
+ }
+ }
+
tasks.withType(JavaCompile) {
options.encoding = 'UTF-8'
options.compilerArgs << '-Xlint:unchecked'
@@ -191,8 +207,23 @@ subprojects {
}
jar {
+ from("../legal") {
+ include "NOTICE"
+ include "LICENSE"
+ }
+
+ rename('^(NOTICE|LICENSE)', 'META-INF/$1')
+
manifest {
- attributes 'Implementation-Title': 'Apache POI', 'Implementation-Version': project.version
+ attributes(
+ 'Specification-Title': 'Apache POI',
+ 'Specification-Version': project.version,
+ 'Specification-Vendor': 'The Apache Software Foundation',
+ 'Implementation-Title': 'Apache POI',
+ 'Implementation-Version': project.version,
+ 'Implementation-Vendor': 'org.apache.poi',
+ 'Implementation-Vendor-Id': 'The Apache Software Foundation'
+ )
}
}
@@ -384,6 +415,20 @@ subprojects {
// adding ASF header before root node is ignored
// doc.insertBefore(asl, doc.getDocumentElement())
r.insertBefore(asl, r.getFirstChild())
+
+ // Replace ooxml-full with ooxml-lite
+ XPath xpath = XPathFactory.newInstance().newXPath()
+ NodeList res = (NodeList)xpath.evaluate("//dependency/artifactId[text() = 'poi-ooxml-full']", doc, XPathConstants.NODESET)
+ for (int i=res.getLength()-1; i>=0; i--) {
+ res.item(i).setTextContent('poi-ooxml-lite')
+ }
+
+ // remove duplicate entries
+ res = (NodeList)xpath.evaluate("//dependency[artifactId = ./preceding-sibling::dependency/artifactId]", doc, XPathConstants.NODESET)
+ for (int i=res.getLength()-1; i>=0; i--) {
+ Node n = res.item(i)
+ n.getParentNode().removeChild(n)
+ }
}
}
}
@@ -392,9 +437,14 @@ subprojects {
generatePomFileForPOIPublication.destination = "../build/dist/maven/${project.archivesBaseName}/${project.archivesBaseName}-${project.version}.pom"
+ tasks.withType(GenerateModuleMetadata) {
+ enabled = false
+ }
+
signing {
sign publishing.publications.POI
}
+ signPOIPublication.dependsOn('generatePomFileForPOIPublication')
spotbugs {
ignoreFailures = true
@@ -402,9 +452,9 @@ subprojects {
}
build {
- // disabled until next release build - only works when you've configured the signing key in your
- // user gradle.properties file
- // dependsOn 'signPOIPublication'
+ if (project.hasProperty('signing.keyId')) {
+ dependsOn 'signPOIPublication'
+ }
}
}
@@ -525,8 +575,8 @@ task replaceVersion() {
var version = subprojects[0].version
var tokens = [
- [ 'sonar', '**/pom.xml', '(packaging>\\n\\s*<version>)[0-9.]+(?:-SNAPSHOT)?', "\\1${version}" ],
- [ 'sonar', '**/pom.xml', '(poi-parent&lt;/artifactId>\\n\\s*<version>)[0-9.]+(?:-SNAPSHOT)?', "\1${version}" ],
+// [ 'sonar', '**/pom.xml', '(packaging>\\n\\s*<version>)[0-9.]+(?:-SNAPSHOT)?', "\\1${version}" ],
+// [ 'sonar', '**/pom.xml', '(poi-parent&lt;/artifactId>\\n\\s*<version>)[0-9.]+(?:-SNAPSHOT)?', "\1${version}" ],
[ 'osgi', 'pom.xml', '(packaging>\\n\\s*<version>)[0-9.]+(?:-SNAPSHOT)?', "\\1${version}" ]
// [ '.', 'build.gradle', ' version = \'[0-9.]+(?:-SNAPSHOT)?\'', " version = '${version}'" ]
]
@@ -582,7 +632,7 @@ distributions {
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
eachFile {
- var root = "poi-bin-${version}/"
+ String root = "poi-bin-${version}/"
if (name.startsWith('poi')) {
path = root + name
} else if (poiDep.contains(file)) {
diff --git a/jenkins/create_jobs.groovy b/jenkins/create_jobs.groovy
index b8f490e272..3099e250c0 100644
--- a/jenkins/create_jobs.groovy
+++ b/jenkins/create_jobs.groovy
@@ -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
index 70bb701037..0000000000
--- a/maven/poi-examples.pom
+++ /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
index 7fcb5b8978..0000000000
--- a/maven/poi-excelant.pom
+++ /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
index e6795ea940..0000000000
--- a/maven/poi-ooxml-full.pom
+++ /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
index 2d09069b9b..0000000000
--- a/maven/poi-ooxml-lite.pom
+++ /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
index 769f7578aa..0000000000
--- a/maven/poi-ooxml.pom
+++ /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
index 0a155edf03..0000000000
--- a/maven/poi-scratchpad.pom
+++ /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
index 44a32abea9..0000000000
--- a/maven/poi.pom
+++ /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>
diff --git a/poi-examples/src/main/java9/module-info.class b/poi-examples/src/main/java9/module-info.class
index 9b2245bc12..274689a12c 100644
--- a/poi-examples/src/main/java9/module-info.class
+++ b/poi-examples/src/main/java9/module-info.class
Binary files differ
diff --git a/poi-excelant/build.gradle b/poi-excelant/build.gradle
index cda39d2910..2876eb965c 100644
--- a/poi-excelant/build.gradle
+++ b/poi-excelant/build.gradle
@@ -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'
diff --git a/poi-integration/build.gradle b/poi-integration/build.gradle
index cb491e01c0..7093336061 100644
--- a/poi-integration/build.gradle
+++ b/poi-integration/build.gradle
@@ -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
diff --git a/poi-integration/src/test/java9/module-info.class b/poi-integration/src/test/java9/module-info.class
index e5d258d7ee..91f8145f25 100644
--- a/poi-integration/src/test/java9/module-info.class
+++ b/poi-integration/src/test/java9/module-info.class
Binary files differ
diff --git a/poi-integration/src/test/java9/module-info.java b/poi-integration/src/test/java9/module-info.java
index 82eb9f6591..b5c8d064a0 100644
--- a/poi-integration/src/test/java9/module-info.java
+++ b/poi-integration/src/test/java9/module-info.java
@@ -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;
diff --git a/poi-ooxml/build.gradle b/poi-ooxml/build.gradle
index 55ba4d6b25..f8ac5a93ae 100644
--- a/poi-ooxml/build.gradle
+++ b/poi-ooxml/build.gradle
@@ -18,12 +18,20 @@
import java.util.regex.Pattern
configurations {
- all {
+ runtimeClasspath {
exclude group: 'xalan', module: 'xalan'
if (JavaVersion.current() != JavaVersion.VERSION_1_8) {
exclude group: 'xml-apis', module: 'xml-apis'
}
}
+
+ compileClasspath {
+ exclude group: 'xalan', module: 'xalan'
+ if (JavaVersion.current() != JavaVersion.VERSION_1_8) {
+ exclude group: 'xml-apis', module: 'xml-apis'
+ }
+ }
+
broken
tests
javadocs
@@ -42,27 +50,80 @@ sourceSets {
}
}
+java {
+ registerFeature('signing') {
+ usingSourceSet(sourceSets.main)
+ }
+ registerFeature('render') {
+ usingSourceSet(sourceSets.main)
+ }
+ registerFeature('rendersign') {
+ usingSourceSet(sourceSets.main)
+ }
+}
+
dependencies {
api project(':poi')
api project(':poi-ooxml-full')
api project(path: ':poi-ooxml-full', configuration: 'archives')
-
- implementation 'org.apache.commons:commons-collections4:4.4'
+
api "org.apache.xmlbeans:xmlbeans:${xmlbeansVersion}"
api "org.apache.commons:commons-compress:${commonsCompressVersion}"
api "commons-io:commons-io:${commonsIoVersion}"
- api 'org.apache.santuario:xmlsec:2.2.2'
- api "org.bouncycastle:bcpkix-jdk15on:${bouncyCastleVersion}"
- api "org.bouncycastle:bcutil-jdk15on:${bouncyCastleVersion}"
api 'com.github.virtuald:curvesapi:1.06'
- implementation "org.apache.logging.log4j:log4j-api:${log4jVersion}"
+ api "org.apache.logging.log4j:log4j-api:${log4jVersion}"
+ api 'org.apache.commons:commons-collections4:4.4'
+
+ signingImplementation 'org.apache.santuario:xmlsec:2.2.2'
+ signingImplementation "org.bouncycastle:bcpkix-jdk15on:${bouncyCastleVersion}"
+ signingImplementation "org.bouncycastle:bcutil-jdk15on:${bouncyCastleVersion}"
+
+ rendersignImplementation 'org.apache.santuario:xmlsec:2.2.2'
+ rendersignImplementation "org.bouncycastle:bcpkix-jdk15on:${bouncyCastleVersion}"
+ rendersignImplementation "org.bouncycastle:bcutil-jdk15on:${bouncyCastleVersion}"
+
+ renderImplementation 'de.rototor.pdfbox:graphics2d:0.32'
+ renderImplementation "org.apache.xmlgraphics:batik-svggen:${batikVersion}"
+ renderImplementation("org.apache.xmlgraphics:batik-svgrasterizer:${batikVersion}") {
+ exclude group: 'xalan', module: 'xalan'
+ if (JavaVersion.current() != JavaVersion.VERSION_1_8) {
+ exclude group: 'xml-apis', module: 'xml-apis'
+ }
+ }
+ renderImplementation("org.apache.xmlgraphics:batik-codec:${batikVersion}") {
+ exclude group: 'xalan', module: 'xalan'
+ if (JavaVersion.current() != JavaVersion.VERSION_1_8) {
+ exclude group: 'xml-apis', module: 'xml-apis'
+ }
+ }
+ renderImplementation("org.apache.xmlgraphics:batik-bridge:${batikVersion}") {
+ exclude group: 'xalan', module: 'xalan'
+ if (JavaVersion.current() != JavaVersion.VERSION_1_8) {
+ exclude group: 'xml-apis', module: 'xml-apis'
+ }
+ }
- implementation "org.apache.xmlgraphics:batik-svggen:${batikVersion}"
- implementation "org.apache.xmlgraphics:batik-bridge:${batikVersion}"
- implementation "org.apache.xmlgraphics:batik-codec:${batikVersion}"
- implementation "org.apache.xmlgraphics:batik-svgrasterizer:${batikVersion}"
+ rendersignImplementation 'de.rototor.pdfbox:graphics2d:0.32'
+ rendersignImplementation "org.apache.xmlgraphics:batik-svggen:${batikVersion}"
+ rendersignImplementation("org.apache.xmlgraphics:batik-svgrasterizer:${batikVersion}") {
+ exclude group: 'xalan', module: 'xalan'
+ if (JavaVersion.current() != JavaVersion.VERSION_1_8) {
+ exclude group: 'xml-apis', module: 'xml-apis'
+ }
+ }
+ rendersignImplementation("org.apache.xmlgraphics:batik-codec:${batikVersion}") {
+ exclude group: 'xalan', module: 'xalan'
+ if (JavaVersion.current() != JavaVersion.VERSION_1_8) {
+ exclude group: 'xml-apis', module: 'xml-apis'
+ }
+ }
+ rendersignImplementation("org.apache.xmlgraphics:batik-bridge:${batikVersion}") {
+ exclude group: 'xalan', module: 'xalan'
+ if (JavaVersion.current() != JavaVersion.VERSION_1_8) {
+ exclude group: 'xml-apis', module: 'xml-apis'
+ }
+ }
- api 'de.rototor.pdfbox:graphics2d:0.32'
if (!NO_SCRATCHPAD) {
testImplementation project(':poi-scratchpad')
@@ -78,10 +139,15 @@ dependencies {
// prevent slf4j warnings coming from xmlsec -> slf4j-api 1.7.32 dependency
// see https://logging.apache.org/log4j/2.x/log4j-slf4j-impl/
- testImplementation "org.apache.logging.log4j:log4j-slf4j-impl:${log4jVersion}"
+ testImplementation "org.apache.logging.log4j:log4j-slf4j18-impl:${log4jVersion}"
- broken "org.apache.xmlgraphics:batik-script:${batikVersion}"
+ broken("org.apache.xmlgraphics:batik-script:${batikVersion}"){
+ exclude group: 'xalan', module: 'xalan'
+ if (JavaVersion.current() != JavaVersion.VERSION_1_8) {
+ exclude group: 'xml-apis', module: 'xml-apis'
+ }
+ }
javadocs project(':poi')
javadocs project(':poi-scratchpad')
@@ -245,19 +311,13 @@ publishing {
pom {
name = 'Apache POI - API based on OPC and OOXML schemas'
description = 'Apache POI - Java API To Access Microsoft Format Files'
-
- withXml {
- // Update dependencies with resolved versions
- def hasDependencies = !asNode().dependencies.isEmpty()
- if (hasDependencies) {
- asNode().dependencies.first().each {
- String artifactId = it.get("artifactId").first().value().first()
- String modifiedName = artifactId.equals("poi-ooxml-full") ? "poi-ooxml-lite" : artifactId
- it.get("artifactId").first().value = modifiedName
- }
- }
- }
}
+ suppressPomMetadataWarningsFor('renderApiElements')
+ suppressPomMetadataWarningsFor('renderRuntimeElements')
+ suppressPomMetadataWarningsFor('signingApiElements')
+ suppressPomMetadataWarningsFor('signingRuntimeElements')
+ suppressPomMetadataWarningsFor('rendersignApiElements')
+ suppressPomMetadataWarningsFor('rendersignRuntimeElements')
}
}
}
diff --git a/poi-ooxml/src/main/java9/module-info.class b/poi-ooxml/src/main/java9/module-info.class
index 6ca2bc5ba0..6e355946d8 100644
--- a/poi-ooxml/src/main/java9/module-info.class
+++ b/poi-ooxml/src/main/java9/module-info.class
Binary files differ
diff --git a/poi-ooxml/src/main/java9/module-info.java b/poi-ooxml/src/main/java9/module-info.java
index 151948597d..a81eba5604 100644
--- a/poi-ooxml/src/main/java9/module-info.java
+++ b/poi-ooxml/src/main/java9/module-info.java
@@ -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
diff --git a/poi-ooxml/src/test/java9/module-info.class b/poi-ooxml/src/test/java9/module-info.class
index a6a4e2ae74..d5e072f647 100644
--- a/poi-ooxml/src/test/java9/module-info.class
+++ b/poi-ooxml/src/test/java9/module-info.class
Binary files differ
diff --git a/poi-ooxml/src/test/java9/module-info.java b/poi-ooxml/src/test/java9/module-info.java
index 152cab9e5c..4d7612ba00 100644
--- a/poi-ooxml/src/test/java9/module-info.java
+++ b/poi-ooxml/src/test/java9/module-info.java
@@ -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
diff --git a/poi-scratchpad/build.gradle b/poi-scratchpad/build.gradle
index 400884c8f5..078bb7e5bc 100644
--- a/poi-scratchpad/build.gradle
+++ b/poi-scratchpad/build.gradle
@@ -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}"
diff --git a/poi-scratchpad/src/main/java9/module-info.class b/poi-scratchpad/src/main/java9/module-info.class
index ffe0e5c1fc..53efc695f7 100644
--- a/poi-scratchpad/src/main/java9/module-info.class
+++ b/poi-scratchpad/src/main/java9/module-info.class
Binary files differ
diff --git a/poi-scratchpad/src/main/java9/module-info.java b/poi-scratchpad/src/main/java9/module-info.java
index 57070d405b..f2b2732ec5 100644
--- a/poi-scratchpad/src/main/java9/module-info.java
+++ b/poi-scratchpad/src/main/java9/module-info.java
@@ -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;
diff --git a/poi/build.gradle b/poi/build.gradle
index 889fb6d95b..d71e86bc51 100644
--- a/poi/build.gradle
+++ b/poi/build.gradle
@@ -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'
diff --git a/poi/src/main/java9/module-info.class b/poi/src/main/java9/module-info.class
index 26498b44bd..e9fb506529 100644
--- a/poi/src/main/java9/module-info.class
+++ b/poi/src/main/java9/module-info.class
Binary files differ
diff --git a/poi/src/test/java9/module-info.class b/poi/src/test/java9/module-info.class
index fabf8f27ed..fd6f5c8758 100644
--- a/poi/src/test/java9/module-info.class
+++ b/poi/src/test/java9/module-info.class
Binary files differ
diff --git a/sonar/examples/pom.xml b/sonar/examples/pom.xml
deleted file mode 100644
index 92777b4de2..0000000000
--- a/sonar/examples/pom.xml
+++ /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
index f54c92222e..0000000000
--- a/sonar/excelant/pom.xml
+++ /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
index 72990a0716..0000000000
--- a/sonar/integration-test/pom.xml
+++ /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
index 25cd9d88b0..0000000000
--- a/sonar/main/pom.xml
+++ /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
index a921cfd1c4..0000000000
--- a/sonar/ooxml-full/pom.xml
+++ /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
index 2744493ace..0000000000
--- a/sonar/ooxml-full/xmlbeans.marker
+++ /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
index 04ec4dc38d..0000000000
--- a/sonar/ooxml/pom.xml
+++ /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
index ba2cf34251..0000000000
--- a/sonar/pom.xml
+++ /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
index 073823e419..0000000000
--- a/sonar/scratchpad/pom.xml
+++ /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>