Browse Source

65206 - Migrate ant / maven to gradle build

compile / jar / test of mrJars
don't include ants build.xml anymore
rename directories to match project and maven artifact names
refactor artifacts - so each project has one artifact
replace static references in hssf/dev tests with junit5 constructs, which had problems in parallel tests
increase gradle heap to 4gb because of OOM - maybe less would also work

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1888488 13f79535-47bb-0310-9956-ffa450edef68
tags/REL_5_1_0
Andreas Beeker 3 years ago
parent
commit
b6aee1ef6d
100 changed files with 309 additions and 516 deletions
  1. 74
    1
      build.gradle
  2. 130
    116
      build.xml
  3. 0
    26
      examples/build.gradle
  4. BIN
      examples/src/main/java9/module-info.class
  5. BIN
      excelant/src/main/java9/module-info.class
  6. BIN
      excelant/src/test/java9/module-info.class
  7. 3
    0
      gradle.properties
  8. 0
    37
      integrationtest/build.gradle
  9. 3
    16
      legal/HEADER
  10. 0
    48
      main/build.gradle
  11. BIN
      main/src/main/java9/module-info.class
  12. 0
    80
      main/src/test/java/org/apache/poi/hssf/dev/BaseTestIteratingXLS.java
  13. 0
    58
      main/src/test/java/org/apache/poi/hssf/dev/TestBiffDrawingToXml.java
  14. BIN
      main/src/test/java9/module-info.class
  15. 0
    68
      ooxml-schema/build.gradle
  16. BIN
      ooxml-schema/src/ooxml-full/java9/module-info.class
  17. BIN
      ooxml-schema/src/ooxml-lite/java9/module-info.class
  18. 0
    66
      ooxml/build.gradle
  19. BIN
      ooxml/src/main/java9/module-info.class
  20. BIN
      ooxml/src/ooxml-lite-agent/java9/module-info.class
  21. BIN
      ooxml/src/test/java9/module-info.class
  22. 99
    0
      poi-examples/build.gradle
  23. 0
    0
      poi-examples/src/main/clojure/SpreadSheetDemo.clj
  24. 0
    0
      poi-examples/src/main/groovy/SpreadSheetDemo.groovy
  25. 0
    0
      poi-examples/src/main/groovy/build.gradle
  26. 0
    0
      poi-examples/src/main/java/org/apache/poi/examples/crypt/OOXMLPasswordsTry.java
  27. 0
    0
      poi-examples/src/main/java/org/apache/poi/examples/hpsf/CopyCompare.java
  28. 0
    0
      poi-examples/src/main/java/org/apache/poi/examples/hpsf/ModifyDocumentSummaryInformation.java
  29. 0
    0
      poi-examples/src/main/java/org/apache/poi/examples/hpsf/ReadCustomPropertySets.java
  30. 0
    0
      poi-examples/src/main/java/org/apache/poi/examples/hpsf/ReadTitle.java
  31. 0
    0
      poi-examples/src/main/java/org/apache/poi/examples/hpsf/WriteAuthorAndTitle.java
  32. 0
    0
      poi-examples/src/main/java/org/apache/poi/examples/hpsf/WriteTitle.java
  33. 0
    0
      poi-examples/src/main/java/org/apache/poi/examples/hslf/ApacheconEU08.java
  34. 0
    0
      poi-examples/src/main/java/org/apache/poi/examples/hslf/BulletsDemo.java
  35. 0
    0
      poi-examples/src/main/java/org/apache/poi/examples/hslf/CreateHyperlink.java
  36. 0
    0
      poi-examples/src/main/java/org/apache/poi/examples/hslf/DataExtraction.java
  37. 0
    0
      poi-examples/src/main/java/org/apache/poi/examples/hslf/Graphics2DDemo.java
  38. 0
    0
      poi-examples/src/main/java/org/apache/poi/examples/hslf/HeadersFootersDemo.java
  39. 0
    0
      poi-examples/src/main/java/org/apache/poi/examples/hslf/Hyperlinks.java
  40. 0
    0
      poi-examples/src/main/java/org/apache/poi/examples/hslf/SoundFinder.java
  41. 0
    0
      poi-examples/src/main/java/org/apache/poi/examples/hslf/TableDemo.java
  42. 0
    0
      poi-examples/src/main/java/org/apache/poi/examples/hsmf/Msg2txt.java
  43. 0
    0
      poi-examples/src/main/java/org/apache/poi/examples/hssf/eventusermodel/XLS2CSVmra.java
  44. 0
    0
      poi-examples/src/main/java/org/apache/poi/examples/hssf/usermodel/AddDimensionedImage.java
  45. 0
    0
      poi-examples/src/main/java/org/apache/poi/examples/hssf/usermodel/Alignment.java
  46. 0
    0
      poi-examples/src/main/java/org/apache/poi/examples/hssf/usermodel/BigExample.java
  47. 0
    0
      poi-examples/src/main/java/org/apache/poi/examples/hssf/usermodel/Borders.java
  48. 0
    0
      poi-examples/src/main/java/org/apache/poi/examples/hssf/usermodel/CellComments.java
  49. 0
    0
      poi-examples/src/main/java/org/apache/poi/examples/hssf/usermodel/CellTypes.java
  50. 0
    0
      poi-examples/src/main/java/org/apache/poi/examples/hssf/usermodel/CreateCells.java
  51. 0
    0
      poi-examples/src/main/java/org/apache/poi/examples/hssf/usermodel/CreateDateCells.java
  52. 0
    0
      poi-examples/src/main/java/org/apache/poi/examples/hssf/usermodel/EmbeddedObjects.java
  53. 0
    0
      poi-examples/src/main/java/org/apache/poi/examples/hssf/usermodel/EventExample.java
  54. 0
    0
      poi-examples/src/main/java/org/apache/poi/examples/hssf/usermodel/FrillsAndFills.java
  55. 0
    0
      poi-examples/src/main/java/org/apache/poi/examples/hssf/usermodel/HSSFReadWrite.java
  56. 0
    0
      poi-examples/src/main/java/org/apache/poi/examples/hssf/usermodel/HyperlinkFormula.java
  57. 0
    0
      poi-examples/src/main/java/org/apache/poi/examples/hssf/usermodel/Hyperlinks.java
  58. 0
    0
      poi-examples/src/main/java/org/apache/poi/examples/hssf/usermodel/InCellLists.java
  59. 0
    0
      poi-examples/src/main/java/org/apache/poi/examples/hssf/usermodel/MergedCells.java
  60. 0
    0
      poi-examples/src/main/java/org/apache/poi/examples/hssf/usermodel/NewLinesInCells.java
  61. 0
    0
      poi-examples/src/main/java/org/apache/poi/examples/hssf/usermodel/NewSheet.java
  62. 0
    0
      poi-examples/src/main/java/org/apache/poi/examples/hssf/usermodel/NewWorkbook.java
  63. 0
    0
      poi-examples/src/main/java/org/apache/poi/examples/hssf/usermodel/OfficeDrawing.java
  64. 0
    0
      poi-examples/src/main/java/org/apache/poi/examples/hssf/usermodel/OfficeDrawingWithGraphics.java
  65. 0
    0
      poi-examples/src/main/java/org/apache/poi/examples/hssf/usermodel/Outlines.java
  66. 0
    0
      poi-examples/src/main/java/org/apache/poi/examples/hssf/usermodel/ReadWriteWorkbook.java
  67. 0
    0
      poi-examples/src/main/java/org/apache/poi/examples/hssf/usermodel/RepeatingRowsAndColumns.java
  68. 0
    0
      poi-examples/src/main/java/org/apache/poi/examples/hssf/usermodel/SplitAndFreezePanes.java
  69. 0
    0
      poi-examples/src/main/java/org/apache/poi/examples/hssf/usermodel/WorkingWithFonts.java
  70. 0
    0
      poi-examples/src/main/java/org/apache/poi/examples/hssf/usermodel/ZoomSheet.java
  71. 0
    0
      poi-examples/src/main/java/org/apache/poi/examples/hwmf/ROP2Table.java
  72. 0
    0
      poi-examples/src/main/java/org/apache/poi/examples/hwmf/ROP3Table.java
  73. 0
    0
      poi-examples/src/main/java/org/apache/poi/examples/hwpf/Word2Forrest.java
  74. 0
    0
      poi-examples/src/main/java/org/apache/poi/examples/ss/AddDimensionedImage.java
  75. 0
    0
      poi-examples/src/main/java/org/apache/poi/examples/ss/AligningCells.java
  76. 0
    0
      poi-examples/src/main/java/org/apache/poi/examples/ss/BusinessPlan.java
  77. 0
    0
      poi-examples/src/main/java/org/apache/poi/examples/ss/CalendarDemo.java
  78. 0
    0
      poi-examples/src/main/java/org/apache/poi/examples/ss/CellStyleDetails.java
  79. 0
    0
      poi-examples/src/main/java/org/apache/poi/examples/ss/ConditionalFormats.java
  80. 0
    0
      poi-examples/src/main/java/org/apache/poi/examples/ss/DrawingBorders.java
  81. 0
    0
      poi-examples/src/main/java/org/apache/poi/examples/ss/ExcelComparator.java
  82. 0
    0
      poi-examples/src/main/java/org/apache/poi/examples/ss/LinkedDropDownLists.java
  83. 0
    0
      poi-examples/src/main/java/org/apache/poi/examples/ss/LoadEmbedded.java
  84. 0
    0
      poi-examples/src/main/java/org/apache/poi/examples/ss/LoanCalculator.java
  85. 0
    0
      poi-examples/src/main/java/org/apache/poi/examples/ss/SSPerformanceTest.java
  86. 0
    0
      poi-examples/src/main/java/org/apache/poi/examples/ss/TimesheetDemo.java
  87. 0
    0
      poi-examples/src/main/java/org/apache/poi/examples/ss/ToCSV.java
  88. 0
    0
      poi-examples/src/main/java/org/apache/poi/examples/ss/formula/CalculateMortgage.java
  89. 0
    0
      poi-examples/src/main/java/org/apache/poi/examples/ss/formula/CheckFunctionsSupported.java
  90. 0
    0
      poi-examples/src/main/java/org/apache/poi/examples/ss/formula/SettingExternalFunction.java
  91. 0
    0
      poi-examples/src/main/java/org/apache/poi/examples/ss/formula/UserDefinedFunctionExample.java
  92. 0
    0
      poi-examples/src/main/java/org/apache/poi/examples/ss/formula/mortgage-calculation.xls
  93. 0
    0
      poi-examples/src/main/java/org/apache/poi/examples/ss/html/HSSFHtmlHelper.java
  94. 0
    0
      poi-examples/src/main/java/org/apache/poi/examples/ss/html/HtmlHelper.java
  95. 0
    0
      poi-examples/src/main/java/org/apache/poi/examples/ss/html/ToHtml.java
  96. 0
    0
      poi-examples/src/main/java/org/apache/poi/examples/ss/html/XSSFHtmlHelper.java
  97. 0
    0
      poi-examples/src/main/java/org/apache/poi/examples/ss/html/excelStyle.css
  98. 0
    0
      poi-examples/src/main/java/org/apache/poi/examples/ss/html/package-info.java
  99. 0
    0
      poi-examples/src/main/java/org/apache/poi/examples/util/TempFileUtils.java
  100. 0
    0
      poi-examples/src/main/java/org/apache/poi/examples/xslf/AddVideoToPptx.java.txt

+ 74
- 1
build.gradle View File

@@ -25,6 +25,7 @@ buildscript {
}

plugins {
id 'base'
id("org.nosphere.apache.rat") version "0.7.0"
}

@@ -59,6 +60,7 @@ ant.taskdef(name: "junit",
classpath: configurations.antLibs.asPath)

wrapper {
// https://stackoverflow.com/a/54741656/2066598
gradleVersion = '6.8'
}

@@ -78,6 +80,7 @@ wrapper.finalizedBy adjustWrapperPropertiesFile
*/
allprojects {
apply plugin: 'eclipse'
// apply plugin: 'idea'
}

/**
@@ -89,6 +92,7 @@ subprojects {
//Put instructions for each sub project, but not the master
apply plugin: 'java-library'
apply plugin: 'jacoco'
apply plugin: 'maven-publish'

version = '5.0.1-SNAPSHOT'
ext {
@@ -108,6 +112,10 @@ subprojects {
options.encoding = 'UTF-8'
}

tasks.withType(Jar) {
duplicatesStrategy = 'fail'
}

sourceCompatibility = 1.8
targetCompatibility = 1.8

@@ -127,7 +135,7 @@ subprojects {

jar {
manifest {
attributes 'Implementation-Title': 'Apache POI', 'Implementation-Version': version
attributes 'Implementation-Title': 'Apache POI', 'Implementation-Version': project.version
}
}

@@ -209,6 +217,56 @@ subprojects {
jenkins.dependsOn javadoc
jenkins.dependsOn jacocoTestReport
jenkins.dependsOn rat

publishing {
publications {
POI(MavenPublication) {
groupId 'org.apache.poi'

pom {
packaging = 'jar'
url = 'https://poi.apache.org/'

mailingLists {
mailingList {
name = 'POI Users List'
subscribe = 'user-subscribe@poi.apache.org'
unsubscribe = 'user-unsubscribe@poi.apache.org'
archive = 'http://mail-archives.apache.org/mod_mbox/poi-user/'
}
mailingList {
name = 'POI Developer List'
subscribe = 'dev-subscribe@poi.apache.org'
unsubscribe = 'dev-unsubscribe@poi.apache.org'
archive = 'http://mail-archives.apache.org/mod_mbox/poi-dev/'
}
}

licenses {
license {
name = 'Apache License, Version 2.0'
url = 'http://www.apache.org/licenses/LICENSE-2.0.txt'
distribution = 'repo'
}
}

organization {
name = 'Apache Software Foundation'
url = 'http://www.apache.org/'
}

withXml {
def r = asElement()
def doc = r.getOwnerDocument()
def asl = doc.createComment(new File('../legal/HEADER').text)
// adding ASF header before root node is ignored
// doc.insertBefore(asl, doc.getDocumentElement())
r.insertBefore(asl, r.getFirstChild())
}
}
}
}
}
}

// Make JavaDoc behave similar to Ant, i.e. be a bit more lenient
@@ -264,6 +322,10 @@ task allJavaDoc(type: Javadoc) {
task jenkins
jenkins.dependsOn allJavaDoc

clean {
delete "${rootDir}/build/dist"
}

rat {
// Input directory, defaults to '.'
inputDir.set(file("."))
@@ -306,3 +368,14 @@ rat {
// Prints the list of files with unapproved licences to the console, defaults to false
verbose.set(true)
}

/*task downloadJarsToLibs() {
def f = new File("$projectDir/../lib/ooxml/xmlbeans-5.0.0.jar")
if (!f.exists()) {
println 'writing file ' + f.getAbsolutePath()
f.getParentFile().mkdirs()
new URL('https://ci-builds.apache.org/job/POI/job/POI-XMLBeans-DSL-1.8/lastSuccessfulBuild/artifact/build/xmlbeans-5.0.0.jar').withInputStream{ i -> f.withOutputStream{ it << i }}
}
}*/

//compileJava.dependsOn 'downloadJarsToLibs'

+ 130
- 116
build.xml View File

@@ -89,9 +89,9 @@ under the License.
<attribute name="name"/>
<attribute name="value"/>
<sequential>
<mkdir dir="excelant/build/poi-ant-contrib"/>
<javac srcdir="excelant/src//poi-ant-contrib/java" destdir="excelant/build/poi-ant-contrib" includeantruntime="true" excludes="Junit5Progress.java"/>
<taskdef name="PropertyResetHelper" classname="PropertyReset" classpath="excelant/build/poi-ant-contrib"/>
<mkdir dir="poi-excelant/build/poi-ant-contrib"/>
<javac srcdir="poi-excelant/src//poi-ant-contrib/java" destdir="poi-excelant/build/poi-ant-contrib" includeantruntime="true" excludes="Junit5Progress.java"/>
<taskdef name="PropertyResetHelper" classname="PropertyReset" classpath="poi-excelant/build/poi-ant-contrib"/>
<PropertyResetHelper name="@{name}" value="@{value}" />
</sequential>
</macrodef>
@@ -115,65 +115,66 @@ under the License.
<property name="tempdir" value="build/tmp"/>

<!-- Main: -->
<property name="main.resources.main" value="main/src/main/resources"/>
<property name="main.src" location="main/src/main/java"/>
<property name="main.src.test" location="main/src/test/java"/>
<property name="main.resources.test" location="main/src/test/resources"/>
<property name="main.resources.main" value="poi/src/main/resources"/>
<property name="main.src" location="poi/src/main/java"/>
<property name="main.src.test" location="poi/src/test/java"/>
<property name="main.resources.test" location="poi/src/test/resources"/>
<property name="main.documentation" value="src/documentation"/>
<property name="main.output.dir" location="main/build/classes/ant/java"/>
<property name="main.output.test.dir" location="main/build/test-classes"/>
<property name="main.reports.test" location="main/build/test-results"/>
<property name="main.testokfile" location="main/build/testokfile.txt"/>
<property name="main.output.gen-sources.dir" location="main/build/generated-sources"/>
<property name="main.version.template" location="main/src/main/version/Version.java.template"/>
<property name="main.output.dir" location="poi/build/classes/ant/java"/>
<property name="main.output.test.dir" location="poi/build/test-classes"/>
<property name="main.reports.test" location="poi/build/test-results"/>
<property name="main.testokfile" location="poi/build/testokfile.txt"/>
<property name="main.output.gen-sources.dir" location="poi/build/generated-sources"/>
<property name="main.version.template" location="poi/src/main/version/Version.java.template"/>
<property name="main.version.java" location="${main.output.gen-sources.dir}/org/apache/poi/Version.java"/>

<!-- Scratchpad: -->
<property name="scratchpad.resources.main" value="scratchpad/src/main/resources"/>
<property name="scratchpad.src" location="scratchpad/src/main/java"/>
<property name="scratchpad.src.test" location="scratchpad/src/test/java"/>
<property name="scratchpad.resources.test" location="scratchpad/src/main/resources"/>
<property name="scratchpad.reports.test" location="scratchpad/build/test-results"/>
<property name="scratchpad.output.dir" location="scratchpad/build/classes/ant/java"/>
<property name="scratchpad.output.test.dir" location="scratchpad/build/test-classes"/>
<property name="scratchpad.testokfile" location="scratchpad/build/testokfile.txt"/>
<property name="scratchpad.resources.main" value="poi-scratchpad/src/main/resources"/>
<property name="scratchpad.src" location="poi-scratchpad/src/main/java"/>
<property name="scratchpad.src.test" location="poi-scratchpad/src/test/java"/>
<property name="scratchpad.resources.test" location="poi-scratchpad/src/main/resources"/>
<property name="scratchpad.reports.test" location="poi-scratchpad/build/test-results"/>
<property name="scratchpad.output.dir" location="poi-scratchpad/build/classes/ant/java"/>
<property name="scratchpad.output.test.dir" location="poi-scratchpad/build/test-classes"/>
<property name="scratchpad.testokfile" location="poi-scratchpad/build/testokfile.txt"/>

<!-- Examples: -->
<property name="examples.src" location="examples/src/main/java"/>
<property name="examples.output.dir" location="examples/build/classes/ant/java"/>
<property name="examples.src" location="poi-examples/src/main/java"/>
<property name="examples.output.dir" location="poi-examples/build/classes/ant/java"/>

<!-- OOXML support: -->
<property name="ooxml.src" location="ooxml/src/main/java"/>
<property name="ooxml.resources.main" value="ooxml/src/main/resources"/>
<property name="ooxml.src.test" location="ooxml/src/test/java"/>
<property name="ooxml.resources.test" location="ooxml/src/test/resources"/>
<property name="ooxml.reports.test" location="ooxml/build/test-results"/>
<property name="ooxml.output.dir" location="ooxml/build/classes/ant/java"/>
<property name="ooxml.output.test.dir" location="ooxml/build/test-classes"/>
<property name="ooxml.testokfile" location="ooxml/build/testokfile.txt"/>
<property name="ooxml.lite.agent" location="lib/ooxml-tests/ooxml-lite-agent.jar"/>
<property name="ooxml.lite.report" location="ooxml-schema/build/ooxml-lite-report"/>
<property name="ooxml.src" location="poi-ooxml/src/main/java"/>
<property name="ooxml.resources.main" value="poi-ooxml/src/main/resources"/>
<property name="ooxml.src.test" location="poi-ooxml/src/test/java"/>
<property name="ooxml.resources.test" location="poi-ooxml/src/test/resources"/>
<property name="ooxml.reports.test" location="poi-ooxml/build/test-results"/>
<property name="ooxml.output.dir" location="poi-ooxml/build/classes/ant/java"/>
<property name="ooxml.output.test.dir" location="poi-ooxml/build/test-classes"/>
<property name="ooxml.testokfile" location="poi-ooxml/build/testokfile.txt"/>
<property name="ooxml.lite.agent" location="build/dist/maven/poi-ooxml-lite-agent/poi-ooxml-lite-agent-${version.id}.jar"/>
<property name="ooxml.lite.report" location="build/ooxml-lite-report"/>
<property name="ooxml.lite.jar" location="build/dist/maven/poi-ooxml-lite/poi-ooxml-lite-${version.id}.jar"/>
<property name="ooxml.lite.includes" value="^(com/microsoft/schemas|org/(etsi|openxmlformats|w3/)|org/apache/poi/schemas)"/>
<property name="ooxml.lite.output.dir" location="poi-ooxml-lite-agent/build/classes/ant/java"/>


<!-- Integration testing: -->
<property name="integration.src.test" location="integrationtest/src/test/java"/>
<property name="integration.resources.test" location="integrationtest/src/test/resources"/>
<property name="integration.reports.test" location="integrationtest/build/test-results"/>
<property name="integration.output.test.dir" location="integrationtest/build/test-classes"/>
<property name="integration.testokfile" location="integrationtest/build/testokfile.txt"/>
<property name="integration.src.test" location="poi-integration/src/test/java"/>
<property name="integration.resources.test" location="poi-integration/src/test/resources"/>
<property name="integration.reports.test" location="poi-integration/build/test-results"/>
<property name="integration.output.test.dir" location="poi-integration/build/test-classes"/>
<property name="integration.testokfile" location="poi-integration/build/testokfile.txt"/>

<!-- Excelant: -->
<property name="excelant.resource.main" value="excelant/src/main/resources"/>
<property name="excelant.src" location="excelant/src/main/java"/>
<property name="excelant.src.test" location="excelant/src/test/java"/>
<property name="excelant.resources.test" location="excelant/src/test/resources"/>
<property name="excelant.reports.test" location="excelant/build/test-results"/>
<property name="excelant.output.dir" location="excelant/build/classes/ant/java"/>
<property name="excelant.output.test.dir" location="excelant/build/test-classes"/>
<property name="excelant.testokfile" location="excelant/build/testokfile.txt"/>
<property name="excelant.resource.main" value="poi-excelant/src/main/resources"/>
<property name="excelant.src" location="poi-excelant/src/main/java"/>
<property name="excelant.src.test" location="poi-excelant/src/test/java"/>
<property name="excelant.resources.test" location="poi-excelant/src/test/resources"/>
<property name="excelant.reports.test" location="poi-excelant/build/test-results"/>
<property name="excelant.output.dir" location="poi-excelant/build/classes/ant/java"/>
<property name="excelant.output.test.dir" location="poi-excelant/build/test-classes"/>
<property name="excelant.testokfile" location="poi-excelant/build/testokfile.txt"/>

<macrodef name="dependency">
<attribute name="prefix"/>
@@ -347,21 +348,21 @@ under the License.

<!-- See https://www.ecma-international.org/publications/standards/Ecma-376.htm -->
<!-- "Copy these file(s), free of charge" -->
<property name="ooxml-schema.output.dir" location="ooxml-schema/build/classes/ant/java"/>
<property name="ooxml-schema.output.test.dir" location="ooxml-schema/build/test-classes"/>
<property name="ooxml-schema.output.gen-sources.dir" location="ooxml-schema/build/generated-sources"/>
<property name="ooxml-schema.output.gen-classes.dir" location="ooxml-schema/build/generated-classes"/>
<property name="ooxml.xsds.izip.1" value="${basedir}/ooxml-schema/src/main/xmlschema/org/apache/poi/schemas/OfficeOpenXML-XMLSchema-Transitional.zip"/>
<property name="ooxml.xsds.src.dir" location="ooxml-schema/build/xsds"/>
<property name="ooxml-schema.output.dir" location="poi-ooxml-full/build/classes/ant/java"/>
<property name="ooxml-schema.output.test.dir" location="poi-ooxml-full/build/test-classes"/>
<property name="ooxml-schema.output.gen-sources.dir" location="poi-ooxml-full/build/generated-sources"/>
<property name="ooxml-schema.output.gen-classes.dir" location="poi-ooxml-full/build/generated-classes"/>
<property name="ooxml.xsds.izip.1" value="${basedir}/poi-ooxml-full/src/main/xmlschema/org/apache/poi/schemas/OfficeOpenXML-XMLSchema-Transitional.zip"/>
<property name="ooxml.xsds.src.dir" location="poi-ooxml-full/build/xsds"/>
<property name="ooxml.xsds.src.jar" location="build/dist/maven/poi-ooxml-full/poi-ooxml-full-${version.id}-sources.jar"/>
<property name="ooxml.xsds.jar" location="build/dist/maven/poi-ooxml-full/poi-ooxml-full-${version.id}.jar"/>

<!-- additional schemas are packed into the poi schemas jar, -->
<!-- so we don't have to care about a separate versioning of the original ooxml schemas -->
<property name="ooxml.xsds.izip.2" value="${basedir}/ooxml-schema/src/main/xmlschema/org/apache/poi/schemas/OpenPackagingConventions-XMLSchema.zip"/>
<property name="ooxml.security.xsd.dir" location="ooxml-schema/src/main/xmlschema/org/apache/poi/poifs/crypt"/>
<property name="ooxml.visio.xsd.dir" location="ooxml-schema/src/main/xmlschema/org/apache/poi/xdgf"/>
<property name="ooxml.schema.xsdconfig.dir" location="ooxml-schema/src/main/xmlschema/org/apache/poi/schemas"/>
<property name="ooxml.xsds.izip.2" value="${basedir}/poi-ooxml-full/src/main/xmlschema/org/apache/poi/schemas/OpenPackagingConventions-XMLSchema.zip"/>
<property name="ooxml.security.xsd.dir" location="poi-ooxml-full/src/main/xmlschema/org/apache/poi/poifs/crypt"/>
<property name="ooxml.visio.xsd.dir" location="poi-ooxml-full/src/main/xmlschema/org/apache/poi/xdgf"/>
<property name="ooxml.schema.xsdconfig.dir" location="poi-ooxml-full/src/main/xmlschema/org/apache/poi/schemas"/>

<!-- Coverage -->
<property name="coverage.dir" value="build/coverage"/>
@@ -623,13 +624,13 @@ under the License.

<target name="clean" description="Remove generated artefacts">
<delete dir="build"/>
<delete dir="examples/build"/>
<delete dir="excelant/build"/>
<delete dir="integrationtest/build"/>
<delete dir="main/build"/>
<delete dir="ooxml/build"/>
<delete dir="ooxml-schema/build"/>
<delete dir="scratchpad/build"/>
<delete dir="poi-examples/build"/>
<delete dir="poi-excelant/build"/>
<delete dir="poi-integration/build"/>
<delete dir="poi/build"/>
<delete dir="poi-ooxml/build"/>
<delete dir="poi-ooxml-full/build"/>
<delete dir="poi-scratchpad/build"/>
<delete includeemptydirs="true">
<fileset dir="sonar">
<include name="*/target/**"/>
@@ -972,8 +973,8 @@ under the License.
</javac>

<javac release="9"
srcdir="${basedir}/ooxml-schema/src/ooxml-full/java9"
destdir="${basedir}/ooxml-schema/src/ooxml-full/java9"
srcdir="${basedir}/poi-ooxml-full/src/main/java9"
destdir="${basedir}/poi-ooxml-full/src/main/java9"
includeantruntime="false"
fork="true"
modulepath="lib/ooxml"
@@ -986,8 +987,8 @@ under the License.
<jar destfile="${ooxml.xsds.jar}">
<fileset dir="${ooxml-schema.output.dir}"/>
<fileset dir="${ooxml-schema.output.gen-classes.dir}"/>
<zipfileset dir="${basedir}/ooxml-schema/src/ooxml-full/java9" prefix="META-INF/versions/9" excludes="*.java"/>
<metainf dir="legal/"/>
<zipfileset dir="${basedir}/poi-ooxml-full/src/main/java9" prefix="META-INF/versions/9" excludes="*.java"/>
<metainf dir="legal/" excludes="HEADER"/>
<manifest>
<attribute name="Multi-Release" value="true"/>
<attribute name="Automatic-Module-Name" value="org.apache.poi.ooxml.schemas"/>
@@ -1004,8 +1005,8 @@ under the License.

<jar destfile="${ooxml.xsds.src.jar}">
<fileset dir="${ooxml-schema.output.gen-sources.dir}"/>
<zipfileset dir="${basedir}/ooxml-schema/src/ooxml-full/java9" prefix="META-INF/versions/9/" excludes="*.class"/>
<metainf dir="legal"/>
<zipfileset dir="${basedir}/poi-ooxml-full/src/main/java9" prefix="META-INF/versions/9/" excludes="*.class"/>
<metainf dir="legal" excludes="HEADER"/>
</jar>
</target>

@@ -1039,7 +1040,7 @@ under the License.
<string>@{module}</string>
<filterchain>
<prefixlines prefix="poi-"/>
<replacestring from="poi-main" to="poi"/>
<replacestring from="poi-poi" to="poi"/>
</filterchain>
</loadresource>

@@ -1080,7 +1081,7 @@ under the License.
<zipfileset dir="${basedir}/@{module}/src/main/java9"
prefix="META-INF/versions/9"
excludes="*.java"/>
<metainf dir="legal/"/>
<metainf dir="legal/" excludes="HEADER"/>
<manifest>
<attribute name="Multi-Release" value="true"/>
<attribute name="Automatic-Module-Name" value="org.apache.poi.@{module}"/>
@@ -1139,7 +1140,7 @@ under the License.
<resources/>
<test-resources/>
<zipfileset dir="${basedir}/@{module}/src/test/java9" prefix="META-INF/versions/9" excludes="*.java"/>
<metainf dir="legal/"/>
<metainf dir="legal/" excludes="HEADER"/>
<manifest>
<attribute name="Multi-Release" value="true"/>
<attribute name="Automatic-Module-Name" value="org.apache.poi.@{module}"/>
@@ -1157,7 +1158,7 @@ under the License.
<!-- create the sources jar -->
<jar destfile="build/dist/maven/${maven-name}/${maven-name}-@{version}-sources.jar">
<fileset dir="@{java}"/>
<metainf dir="legal/"/>
<metainf dir="legal/" excludes="HEADER"/>
<manifest>
<attribute name="Built-By" value="${user.name}"/>
<attribute name="Specification-Title" value="Apache POI"/>
@@ -1173,12 +1174,13 @@ under the License.
</macrodef>

<target name="compile-main" depends="init, compile-version">
<compile-jar module="main"
<compile-jar module="poi"
java="${main.src}" classes="${main.output.dir}"
test="${main.src.test}" test-classes="${main.output.test.dir}">
<lib>
<pathelement path="lib/main"/>
<pathelement path="lib/main-tests"/>
<pathelement path="lib/excelant"/>
</lib>
<resources>
<fileset dir="${main.resources.main}"/>
@@ -1190,7 +1192,7 @@ under the License.
</target>

<target name="compile-scratchpad" depends="compile-main">
<compile-jar module="scratchpad"
<compile-jar module="poi-scratchpad"
java="${scratchpad.src}" classes="${scratchpad.output.dir}"
test="${scratchpad.src.test}" test-classes="${scratchpad.output.test.dir}">
<lib>
@@ -1208,7 +1210,7 @@ under the License.
</target>

<target name="compile-examples" depends="compile-main,compile-scratchpad,compile-ooxml">
<compile-jar module="examples"
<compile-jar module="poi-examples"
java="${examples.src}" classes="${examples.output.dir}">
<lib>
<pathelement path="build/dist/maven/poi-ooxml-full"/>
@@ -1222,7 +1224,7 @@ under the License.
</target>

<target name="compile-ooxml" depends="compile-main,compile-scratchpad,compile-ooxml-xsds">
<compile-jar module="ooxml"
<compile-jar module="poi-ooxml"
java="${ooxml.src}" classes="${ooxml.output.dir}"
test="${ooxml.src.test}" test-classes="${ooxml.output.test.dir}">
<lib>
@@ -1242,9 +1244,21 @@ under the License.
</compile-jar>

<!-- create ooxml-lite-agent jar -->
<mkdir dir="${ooxml.lite.output.dir}"/>
<javac release="8"
srcdir="${basedir}/poi-ooxml-lite-agent/src/main/java"
destdir="${ooxml.lite.output.dir}"
includeantruntime="false"
fork="true">
<classpath>
<fileset dir="${basedir}/lib/main-tests" includes="*.jar"/>
<fileset dir="${basedir}/lib/ooxml" includes="*.jar"/>
</classpath>
</javac>

<javac release="9"
srcdir="${basedir}/ooxml/src/ooxml-lite-agent/java9"
destdir="${basedir}/ooxml/src/ooxml-lite-agent/java9"
srcdir="${basedir}/poi-ooxml-lite-agent/src/main/java9"
destdir="${basedir}/poi-ooxml-lite-agent/src/main/java9"
includeantruntime="false"
fork="true"
modulepath="${basedir}/lib/main-tests"
@@ -1253,8 +1267,8 @@ under the License.
</javac>

<jar destfile="${ooxml.lite.agent}">
<fileset dir="${ooxml.output.test.dir}" includes="org/apache/poi/ooxml/lite/**"/>
<zipfileset dir="${basedir}/ooxml/src/ooxml-lite-agent/java9" prefix="META-INF/versions/9" excludes="*.java"/>
<fileset dir="${ooxml.lite.output.dir}"/>
<zipfileset dir="${basedir}/poi-ooxml-lite-agent/src/main/java9" prefix="META-INF/versions/9" excludes="*.java"/>
<manifest>
<attribute name="Multi-Release" value="true"/>
<attribute name="Automatic-Module-Name" value="org.apache.poi.ooxml_lite"/>
@@ -1304,8 +1318,8 @@ under the License.
</path>


<mkdir dir="excelant/build/poi-ant-contrib"/>
<javac srcdir="excelant/src/poi-ant-contrib/java" destdir="excelant/build/poi-ant-contrib"
<mkdir dir="poi-excelant/build/poi-ant-contrib"/>
<javac srcdir="poi-excelant/src/poi-ant-contrib/java" destdir="poi-excelant/build/poi-ant-contrib"
includeantruntime="true" includes="Junit5Progress.java" classpathref="junit-jars"/>


@@ -1340,7 +1354,7 @@ under the License.
<classpath>
<path refid="junit-jars" if:true="${isJava8}"/>
<fileset dir="${basedir}" includes="${cp_java}" if:true="${isJava8}"/>
<pathelement location="excelant/build/poi-ant-contrib"/>
<pathelement location="poi-excelant/build/poi-ant-contrib"/>
</classpath>

<testclasses outputDir="@{outputDir}">
@@ -1414,7 +1428,7 @@ under the License.
</target>

<target name="compile-excelant" depends="compile-main,compile-ooxml">
<compile-jar module="excelant"
<compile-jar module="poi-excelant"
java="${excelant.src}" classes="${excelant.output.dir}"
test="${excelant.src.test}" test-classes="${excelant.output.test.dir}">
<lib>
@@ -1459,7 +1473,7 @@ under the License.
<mkdir dir="${integration.output.test.dir}/META-INF/versions/9"/>

<javac release="9"
srcdir="${basedir}/integrationtest/src/test/java9"
srcdir="${basedir}/poi-integration/src/test/java9"
destdir="${integration.output.test.dir}/META-INF/versions/9"
includeantruntime="false"
fork="true"
@@ -1478,20 +1492,20 @@ under the License.
</modulepath>
</javac>

<manifest file="integrationtest/build/poi-manifest.mf">
<manifest file="poi-integration/build/poi-manifest.mf">
<attribute name="Multi-Release" value="true"/>
<attribute name="Automatic-Module-Name" value="org.apache.poi.stress"/>
</manifest>

<jar destfile="build/dist/maven/poi-integration/poi-integration-${version.id}.jar"
basedir="${integration.output.test.dir}"
manifest="integrationtest/build/poi-manifest.mf"/>
manifest="poi-integration/build/poi-manifest.mf"/>
</target>

<target name="-version-java-check">
<!-- recompile Version.java from the template whenever source or the version in build.xml changes -->
<uptodate property="version.java.notRequired" targetfile="${main.output.dir}/org/apache/poi/Version.class">
<srcfiles file="main/src/main/version/Version.java.template"/>
<srcfiles file="poi/src/main/version/Version.java.template"/>
<srcfiles file="build.xml"/>
</uptodate>
</target>
@@ -1821,7 +1835,7 @@ under the License.

<local name="full.schema"/>
<loadresource property="full.schema">
<file file="${basedir}/ooxml-schema/src/ooxml-full/java9/module-info.java"/>
<file file="${basedir}/poi-ooxml-full/src/main/java9/module-info.java"/>
<filterchain>
<linecontains negate="true" matchany="true">
<contains value="exports"/>
@@ -1830,11 +1844,11 @@ under the License.
</filterchain>
</loadresource>

<echo output="${basedir}/ooxml-schema/src/ooxml-lite/java9/module-info.java">${full.schema}${lite.exports}}</echo>
<echo output="${basedir}/poi-ooxml-lite/src/main/java9/module-info.java">${full.schema}${lite.exports}}</echo>

<javac release="9"
srcdir="${basedir}/ooxml-schema/src/ooxml-lite/java9"
destdir="${basedir}/ooxml-schema/src/ooxml-lite/java9"
srcdir="${basedir}/poi-ooxml-lite/src/main/java9"
destdir="${basedir}/poi-ooxml-lite/src/main/java9"
includeantruntime="false"
fork="true"
unless:true="${isJava8}">
@@ -1869,7 +1883,7 @@ under the License.
<mkdir dir="build/dist/maven/poi-ooxml-lite"/>

<jar destfile="${ooxml.lite.jar}" duplicate="fail">
<zipfileset dir="${basedir}/ooxml-schema/src/ooxml-lite/java9" prefix="META-INF/versions/9" excludes="*.java"/>
<zipfileset dir="${basedir}/poi-ooxml-lite/src/main/java9" prefix="META-INF/versions/9" excludes="*.java"/>
<zipfileset src="${ooxml.xsds.jar}">
<patternset>
<includesfile name="${ooxml.lite.report}.clazz1"/>
@@ -2185,7 +2199,7 @@ under the License.
<jar destfile="build/dist/maven/${destfile}.jar">
<fileset dir="@{src}" unless:true="${isjar}"/>
<zipfileset src="@{src}" if:true="${isjar}"/>
<metainf dir="legal/"/>
<metainf dir="legal/" excludes="HEADER"/>
<manifest>
<attribute name="Multi-Release" value="true"/>
<attribute name="Automatic-Module-Name" value="org.apache.poi.@{module}"/>
@@ -2261,7 +2275,7 @@ under the License.
<jar destfile="${dist.dir}/maven/@{dest}/@{dest}-${version.id}-javadoc.jar"
manifest="build/poi-manifest.mf">
<fileset dir="${build.maven.javadocs}"/>
<metainf dir="legal/"/>
<metainf dir="legal/" excludes="HEADER"/>
</jar>
</sequential>
</macrodef>
@@ -2280,7 +2294,7 @@ under the License.
<property name="zipdir" value="${jar.name}-${version.id}"/>

<mappedresources id="legal-files" cache="true">
<fileset dir="legal"/>
<fileset dir="legal" excludes="HEADER"/>
<globmapper from="*" to="${zipdir}/*"/>
</mappedresources>

@@ -2340,7 +2354,7 @@ under the License.
scripts/**,
TEST*,
*.ipr,
*.iml,
**/*.iml,
*.iws,
*.lnk,
*.rdf,
@@ -2437,24 +2451,24 @@ under the License.
uri="antlib:org.apache.rat.anttasks"
classpath="${rat.jar}" />
<rat:report xmlns:rat="antlib:org.apache.rat.anttasks" reportFile="${rat.report}">
<fileset dir="examples/src" excludes="main/java/org/apache/poi/**/*-chart-data.txt"/>
<fileset dir="excelant/src"/>
<fileset dir="integrationtest/src"/>
<fileset dir="main/src">
<fileset dir="poi-examples/src" excludes="main/java/org/apache/poi/**/*-chart-data.txt"/>
<fileset dir="poi-excelant/src"/>
<fileset dir="poi-integration/src"/>
<fileset dir="poi/src">
<exclude name="main/resources/org/apache/poi/sl/draw/geom/presetShapeDefinitions.xml" />
</fileset>
<fileset dir="ooxml/src">
<fileset dir="poi-ooxml/src">
<exclude name="main/resources/org/apache/poi/xslf/usermodel/notesMaster.xml" />
<exclude name="main/resources/org/apache/poi/xslf/usermodel/empty.pptx" />
<exclude name="main/resources/org/apache/poi/xssf/usermodel/presetTableStyles.xml" />
</fileset>
<fileset dir="ooxml-schema/src">
<fileset dir="poi-ooxml-full/src">
<exclude name="main/xmlschema/org/apache/poi/xdgf/visio.xsd" />
<exclude name="main/xmlschema/org/apache/poi/schemas/XAdES*.xsd" />
<exclude name="main/xmlschema/org/apache/poi/schemas/xmldsig-core-schema.xsd" />
<exclude name="main/xmlschema/org/apache/poi/schemas/*.zip" />
</fileset>
<fileset dir="scratchpad/src"/>
<fileset dir="poi-scratchpad/src"/>

<fileset dir="src">
<exclude name="documentation/*.txt" />
@@ -2690,11 +2704,11 @@ under the License.
<auxClasspath path="${pdf.pdfbox.jar}"/>
<auxClasspath path="${pdf.fontbox.jar}"/>
<auxClasspath path="${pdf.graphics2d.jar}"/>
<sourcePath path="main/src/main/java" />
<sourcePath path="excelant/src/main/java" />
<sourcePath path="examples/src/main/java" />
<sourcePath path="ooxml/src/main/java" />
<sourcePath path="scratchpad/src/main/java" />
<sourcePath path="poi/src/main/java" />
<sourcePath path="poi-excelant/src/main/java" />
<sourcePath path="poi-examples/src/main/java" />
<sourcePath path="poi-ooxml/src/main/java" />
<sourcePath path="poi-scratchpad/src/main/java" />
</spotbugs>

<!-- instead of calling findbugs again, we simply transform the xml -->
@@ -2920,7 +2934,7 @@ under the License.
<format property="tstamp_next" pattern="yyyy-MM" offset="3" unit="month"/>
</tstamp>

<taskdef name="NextRelease" classname="NextRelease" classpath="excelant/build/poi-ant-contrib"/>
<taskdef name="NextRelease" classname="NextRelease" classpath="poi-excelant/build/poi-ant-contrib"/>
<NextRelease property="rel_next"/>

<antcall target="-update-build.xml">
@@ -3044,7 +3058,7 @@ under the License.
</tstamp>


<taskdef name="NextRelease" classname="NextRelease" classpath="excelant/build/poi-ant-contrib"/>
<taskdef name="NextRelease" classname="NextRelease" classpath="poi-excelant/build/poi-ant-contrib"/>
<NextRelease property="rel_prev" increment="-1"/>

<!-- we don't simply generate a new iso file date with tstamp,
@@ -3057,8 +3071,8 @@ under the License.
</loadresource>

<replaceregexp file="build.gradle" match="( +version += +)'[^']+'" replace="\1'${version.id}'"/>
<replaceregexp file="examples/src/main/groovy/build.gradle" match="( *compile 'org.apache.poi:[^0-9]+)([0-9.]+)'" replace="\1${rel_prev}'" byline="true"/>
<replaceregexp file="examples/src/main/scala/build.sbt" match='( *org.apache.poi.* ")[0-9.]+(.+)' replace="\1${rel_prev}\2" byline="true"/>
<replaceregexp file="poi-examples/src/main/groovy/build.gradle" match="( *compile 'org.apache.poi:[^0-9]+)([0-9.]+)'" replace="\1${rel_prev}'" byline="true"/>
<replaceregexp file="poi-examples/src/main/scala/build.sbt" match='( *org.apache.poi.* ")[0-9.]+(.+)' replace="\1${rel_prev}\2" byline="true"/>
<replaceregexp file="osgi/pom.xml" match="version>${rel_prev}[^&lt;]+" replace="version>${version.id}"/>
<replaceregexp file="doap_POI.rdf" match="&lt;release&gt;" replace="&lt;release&gt;&#10; &lt;Version&gt;&#10; &lt;name&gt;Apache POI ${rel_prev}&lt;/name&gt;&#10; &lt;created&gt;${file_date_iso}&lt;/created&gt;&#10; &lt;revision&gt;${rel_prev}&lt;/revision&gt;&#10; &lt;/Version&gt;&#10; &lt;/release&gt;&#10; &lt;release&gt;"/>

@@ -3146,7 +3160,7 @@ under the License.
</filterchain>
</loadfile>

<taskdef name="bytes2mega" classname="Bytes2Mega" classpath="excelant/build/poi-ant-contrib"/>
<taskdef name="bytes2mega" classname="Bytes2Mega" classpath="poi-excelant/build/poi-ant-contrib"/>
<local name="fileSizeMb"/>
<bytes2mega property="fileSizeMb" bytes="${fileSize}"/>


+ 0
- 26
examples/build.gradle View File

@@ -1,26 +0,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.
==================================================================== */

dependencies {
implementation project(':ooxml')
implementation project(':scratchpad')

implementation "org.apache.logging.log4j:log4j-core:${log4jVersion}"

testImplementation project(path: ':ooxml', configuration: 'tests')
testImplementation project(path: ':main', configuration: 'tests')
}

BIN
examples/src/main/java9/module-info.class View File


BIN
excelant/src/main/java9/module-info.class View File


BIN
excelant/src/test/java9/module-info.class View File


+ 3
- 0
gradle.properties View File

@@ -0,0 +1,3 @@
# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
org.gradle.jvmargs=-Xmx4096m

+ 0
- 37
integrationtest/build.gradle View File

@@ -1,37 +0,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.
==================================================================== */

dependencies {
testImplementation 'org.apache.ant:ant:1.10.9'

testImplementation project(':ooxml')
testImplementation project(':scratchpad')
testImplementation project(':examples')

testImplementation files(this.project(':ooxml').sourceSets.test.runtimeClasspath)
}

jar {
manifest {
attributes 'Automatic-Module-Name': 'org.apache.poi.integrationtest'
}
}

test {
// exclude these from the normal test-run
exclude '**/*FileHandler.class'
}

excelant/build.gradle → legal/HEADER View File

@@ -1,4 +1,5 @@
/* ====================================================================

====================================================================
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.
@@ -13,18 +14,4 @@
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.
==================================================================== */

dependencies {
api 'org.apache.ant:ant:1.10.9'

api project(':ooxml')

testImplementation project(path: ':main', configuration: 'tests')
}

jar {
manifest {
attributes 'Automatic-Module-Name': 'org.apache.poi.excelant'
}
}
====================================================================

+ 0
- 48
main/build.gradle View File

@@ -1,48 +0,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.
==================================================================== */

dependencies {
implementation "commons-codec:commons-codec:${commonsCodecVersion}"
implementation 'org.apache.commons:commons-collections4:4.4'
implementation "org.apache.commons:commons-math3:${commonsMathVersion}"
implementation "org.apache.logging.log4j:log4j-api:${log4jVersion}"
implementation 'javax.activation:activation:1.1.1'
api 'com.zaxxer:SparseBitSet:1.2'

testImplementation 'org.reflections:reflections:0.9.12'
}

jar {
manifest {
attributes 'Automatic-Module-Name': 'org.apache.poi.main'
}
}

// Create a separate jar for test-code to depend on it in other projects
// See http://stackoverflow.com/questions/5144325/gradle-test-dependency
task testJar(type: Jar, dependsOn: testClasses) {
baseName = "test-${project.archivesBaseName}"
from sourceSets.test.output
}

configurations {
tests
}

artifacts {
tests testJar
}

BIN
main/src/main/java9/module-info.class View File


+ 0
- 80
main/src/test/java/org/apache/poi/hssf/dev/BaseTestIteratingXLS.java View File

@@ -1,80 +0,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.
==================================================================== */
package org.apache.poi.hssf.dev;

import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertThrows;

import java.io.File;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.stream.Stream;

import org.apache.poi.POIDataSamples;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.Arguments;
import org.junit.jupiter.params.provider.MethodSource;

/**
* Base class for integration-style tests which iterate over all test-files
* and execute the same action to find out if any change breaks these applications.
*/
public abstract class BaseTestIteratingXLS {
protected static final Map<String,Class<? extends Throwable>> EXCLUDED = new HashMap<>();

private static Stream<Arguments> files() {
String dataDirName = System.getProperty(POIDataSamples.TEST_PROPERTY);
if(dataDirName == null) {
dataDirName = "test-data";
}

List<Arguments> files = new ArrayList<>();
findFile(files, dataDirName + "/spreadsheet");
findFile(files, dataDirName + "/hpsf");

return files.stream();
}

private static void findFile(List<Arguments> list, String dir) {
String[] files = new File(dir).list((arg0, arg1) -> arg1.toLowerCase(Locale.ROOT).endsWith(".xls"));
assertNotNull(files, "Did not find any xls files in directory " + dir);

for(String file : files) {
list.add(Arguments.of(new File(dir, file)));
}
}

@ParameterizedTest
@MethodSource("files")
void testMain(File file) throws Exception {
String fileName = file.getName();

Class<? extends Throwable> t = EXCLUDED.get(fileName);

if (t == null) {
runOneFile(file);
} else {
assertThrows(t, () -> runOneFile(file));
}

}

abstract void runOneFile(File pFile) throws Exception;
}

+ 0
- 58
main/src/test/java/org/apache/poi/hssf/dev/TestBiffDrawingToXml.java View File

@@ -1,58 +0,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.
==================================================================== */
package org.apache.poi.hssf.dev;

import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;

import org.apache.poi.EncryptedDocumentException;
import org.apache.poi.hssf.OldExcelFormatException;
import org.apache.poi.hssf.record.RecordInputStream;
import org.apache.poi.util.NullOutputStream;
import org.apache.poi.util.RecordFormatException;
import org.junit.jupiter.api.BeforeAll;

class TestBiffDrawingToXml extends BaseTestIteratingXLS {
@BeforeAll
public static void setup() {
EXCLUDED.clear();
EXCLUDED.put("35897-type4.xls", EncryptedDocumentException.class); // unsupported crypto api header
EXCLUDED.put("51832.xls", EncryptedDocumentException.class);
EXCLUDED.put("xor-encryption-abc.xls", EncryptedDocumentException.class);
EXCLUDED.put("password.xls", EncryptedDocumentException.class);
EXCLUDED.put("46904.xls", OldExcelFormatException.class);
EXCLUDED.put("59074.xls", OldExcelFormatException.class);
EXCLUDED.put("testEXCEL_2.xls", OldExcelFormatException.class); // Biff 2 / Excel 2, pre-OLE2
EXCLUDED.put("testEXCEL_3.xls", OldExcelFormatException.class); // Biff 3 / Excel 3, pre-OLE2
EXCLUDED.put("testEXCEL_4.xls", OldExcelFormatException.class); // Biff 4 / Excel 4, pre-OLE2
EXCLUDED.put("testEXCEL_5.xls", OldExcelFormatException.class); // Biff 5 / Excel 5
EXCLUDED.put("60284.xls", OldExcelFormatException.class); // Biff 5 / Excel 5
EXCLUDED.put("testEXCEL_95.xls", OldExcelFormatException.class); // Biff 5 / Excel 95
EXCLUDED.put("43493.xls", RecordInputStream.LeftoverDataException.class); // HSSFWorkbook cannot open it as well
EXCLUDED.put("44958_1.xls", RecordInputStream.LeftoverDataException.class);
EXCLUDED.put("61300.xls", RecordFormatException.class);
EXCLUDED.put("64130.xls", OldExcelFormatException.class); // BIFF 5
}

@Override
void runOneFile(File pFile) throws Exception {
try (InputStream wb = new FileInputStream(pFile)) {
BiffDrawingToXml.writeToFile(new NullOutputStream(), wb, false, new String[0]);
}
}
}

BIN
main/src/test/java9/module-info.class View File


+ 0
- 68
ooxml-schema/build.gradle View File

@@ -1,68 +0,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.
==================================================================== */

apply plugin: 'java'

configurations {
antdep
}

dependencies {
antdep 'org.apache.ant:ant:1.10.9'
}

/*task downloadJarsToLibs() {
def f = new File("$projectDir/../lib/ooxml/xmlbeans-5.0.0.jar")
if (!f.exists()) {
println 'writing file ' + f.getAbsolutePath()
f.getParentFile().mkdirs()
new URL('https://ci-builds.apache.org/job/POI/job/POI-XMLBeans-DSL-1.8/lastSuccessfulBuild/artifact/build/xmlbeans-5.0.0.jar').withInputStream{ i -> f.withOutputStream{ it << i }}
}
}*/

// we need to ensure that the custom ant tasks are compiled before we import the build.xml file

task compileContrib (type: JavaCompile) {
source = "../excelant/src/poi-ant-contrib/java"
include '*.java'
exclude 'Junit5Progress.java'
classpath = configurations.antdep
destinationDirectory = file('../excelant/build/poi-ant-contrib')
}


// for now import the ant-task for building the jars from build.xml
// we need to rename the tasks as e.g. task "jar" conflicts with :ooxml:jar

ant.importBuild('../build.xml') { antTargetName ->
'ant-' + antTargetName
}

compileJava.dependsOn 'compileContrib'
compileJava.dependsOn 'ant-compile-ooxml-xsds'

//compileJava.dependsOn 'downloadJarsToLibs'

dependencies {
api "org.apache.xmlbeans:xmlbeans:${xmlbeansVersion}"
}

jar {
manifest {
attributes 'Automatic-Module-Name': 'org.apache.poi.ooxml.schemas'
}
}

BIN
ooxml-schema/src/ooxml-full/java9/module-info.class View File


BIN
ooxml-schema/src/ooxml-lite/java9/module-info.class View File


+ 0
- 66
ooxml/build.gradle View File

@@ -1,66 +0,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.
==================================================================== */

dependencies {
api project(":ooxml-schema")
implementation 'org.apache.commons:commons-collections4:4.4'
api "org.apache.commons:commons-compress:${commonsCompressVersion}"
api 'org.apache.santuario:xmlsec:2.2.1'
api "org.bouncycastle:bcpkix-jdk15on:${bouncyCastleVersion}"
api 'com.github.virtuald:curvesapi:1.06'
implementation "org.apache.logging.log4j:log4j-api:${log4jVersion}"

api "org.apache.xmlgraphics:batik-svggen:${batikVersion}"
implementation("org.apache.xmlgraphics:batik-bridge:${batikVersion}") {
exclude group: 'org.apache.xmlgraphics', module: 'batik-script'
}
implementation "org.apache.xmlgraphics:batik-codec:${batikVersion}"

api 'de.rototor.pdfbox:graphics2d:0.30'

api project(':main')
api files("../build/dist/maven/poi-ooxml-full/poi-ooxml-full-${version}.jar")

testRuntime project(':scratchpad')
testImplementation 'org.xmlunit:xmlunit-core:2.8.0'
testImplementation 'org.reflections:reflections:0.9.12'
testImplementation project(path: ':main', configuration: 'tests')
testImplementation 'org.openjdk.jmh:jmh-core:1.26'
testImplementation 'org.openjdk.jmh:jmh-generator-annprocess:1.26'
testImplementation 'com.google.guava:guava:30.0-jre'
}

jar {
manifest {
attributes 'Automatic-Module-Name': 'org.apache.poi.ooxml'
}
}

// Create a separate jar for test-code to depend on it in other projects
// See http://stackoverflow.com/questions/5144325/gradle-test-dependency
task testJar(type: Jar, dependsOn: testClasses) {
baseName = "test-${project.archivesBaseName}"
from sourceSets.test.output
}

configurations {
tests
}

artifacts {
tests testJar
}

BIN
ooxml/src/main/java9/module-info.class View File


BIN
ooxml/src/ooxml-lite-agent/java9/module-info.class View File


BIN
ooxml/src/test/java9/module-info.class View File


+ 99
- 0
poi-examples/build.gradle View File

@@ -0,0 +1,99 @@
/* ====================================================================
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.
==================================================================== */

import java.util.regex.Pattern

plugins {
id 'java'
id 'maven-publish'
id 'java-library'
}

final String JAVA9_SRC = 'src/main/java9'
final String JAVA9_OUT = "${buildDir}/classes/java9/main/"
final String VERSIONS9 = 'META-INF/versions/9'

sourceSets {
main {
if (JavaVersion.current() != JavaVersion.VERSION_1_8) {
output.dir(JAVA9_OUT, builtBy: 'cacheJava9')
}
}
}


dependencies {
api project(':poi-ooxml')
api project(':poi-scratchpad')
implementation project(path: ':poi-ooxml', configuration: 'archives')
implementation project(path: ':poi-ooxml-full', configuration: 'archives')
implementation project(path: ':poi-scratchpad', configuration: 'archives')

implementation "org.apache.logging.log4j:log4j-core:${log4jVersion}"

testImplementation project(path: ':ooxml', configuration: 'tests')
testImplementation project(path: ':main', configuration: 'tests')
}

final String MODULE_NAME = 'org.apache.poi.examples'
final Pattern MODULE_REGEX = ~'\\.jar$'
final List MAIN_MODULE_PATH = sourceSets.main.runtimeClasspath.findAll{ it.path =~ MODULE_REGEX }.collect{ it.parent }.unique()

java {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
withSourcesJar()
}

task compileJava9(type: JavaCompile) {
dependsOn 'compileJava', ':poi-ooxml:jar', ':poi-scratchpad:jar'

sourceCompatibility = 9
targetCompatibility = 9
destinationDirectory = file(JAVA9_OUT + VERSIONS9)
source = file(JAVA9_SRC)
classpath = files()
options.compilerArgs = [
'--patch-module', "${MODULE_NAME}=${sourceSets.main.output.classesDirs.asPath}",
'--module-path', files(MAIN_MODULE_PATH).asPath
]
}

task cacheJava9(type: Copy) {
dependsOn 'compileJava9'

from(file(JAVA9_OUT + VERSIONS9))
into(JAVA9_SRC)
}

jar {
destinationDirectory = file("../build/dist/maven/${project.archivesBaseName}")

if (JavaVersion.current() == JavaVersion.VERSION_1_8) {
into('META-INF/versions/9') {
from JAVA9_SRC include '*.class'
}
}

manifest {
attributes('Automatic-Module-Name': MODULE_NAME, 'Multi-Release': 'true')
}
}

sourcesJar {
destinationDirectory = file("../build/dist/maven/${project.archivesBaseName}")
}

examples/src/main/clojure/SpreadSheetDemo.clj → poi-examples/src/main/clojure/SpreadSheetDemo.clj View File


examples/src/main/groovy/SpreadSheetDemo.groovy → poi-examples/src/main/groovy/SpreadSheetDemo.groovy View File


examples/src/main/groovy/build.gradle → poi-examples/src/main/groovy/build.gradle View File


examples/src/main/java/org/apache/poi/examples/crypt/OOXMLPasswordsTry.java → poi-examples/src/main/java/org/apache/poi/examples/crypt/OOXMLPasswordsTry.java View File


examples/src/main/java/org/apache/poi/examples/hpsf/CopyCompare.java → poi-examples/src/main/java/org/apache/poi/examples/hpsf/CopyCompare.java View File


examples/src/main/java/org/apache/poi/examples/hpsf/ModifyDocumentSummaryInformation.java → poi-examples/src/main/java/org/apache/poi/examples/hpsf/ModifyDocumentSummaryInformation.java View File


examples/src/main/java/org/apache/poi/examples/hpsf/ReadCustomPropertySets.java → poi-examples/src/main/java/org/apache/poi/examples/hpsf/ReadCustomPropertySets.java View File


examples/src/main/java/org/apache/poi/examples/hpsf/ReadTitle.java → poi-examples/src/main/java/org/apache/poi/examples/hpsf/ReadTitle.java View File


examples/src/main/java/org/apache/poi/examples/hpsf/WriteAuthorAndTitle.java → poi-examples/src/main/java/org/apache/poi/examples/hpsf/WriteAuthorAndTitle.java View File


examples/src/main/java/org/apache/poi/examples/hpsf/WriteTitle.java → poi-examples/src/main/java/org/apache/poi/examples/hpsf/WriteTitle.java View File


examples/src/main/java/org/apache/poi/examples/hslf/ApacheconEU08.java → poi-examples/src/main/java/org/apache/poi/examples/hslf/ApacheconEU08.java View File


examples/src/main/java/org/apache/poi/examples/hslf/BulletsDemo.java → poi-examples/src/main/java/org/apache/poi/examples/hslf/BulletsDemo.java View File


examples/src/main/java/org/apache/poi/examples/hslf/CreateHyperlink.java → poi-examples/src/main/java/org/apache/poi/examples/hslf/CreateHyperlink.java View File


examples/src/main/java/org/apache/poi/examples/hslf/DataExtraction.java → poi-examples/src/main/java/org/apache/poi/examples/hslf/DataExtraction.java View File


examples/src/main/java/org/apache/poi/examples/hslf/Graphics2DDemo.java → poi-examples/src/main/java/org/apache/poi/examples/hslf/Graphics2DDemo.java View File


examples/src/main/java/org/apache/poi/examples/hslf/HeadersFootersDemo.java → poi-examples/src/main/java/org/apache/poi/examples/hslf/HeadersFootersDemo.java View File


examples/src/main/java/org/apache/poi/examples/hslf/Hyperlinks.java → poi-examples/src/main/java/org/apache/poi/examples/hslf/Hyperlinks.java View File


examples/src/main/java/org/apache/poi/examples/hslf/SoundFinder.java → poi-examples/src/main/java/org/apache/poi/examples/hslf/SoundFinder.java View File


examples/src/main/java/org/apache/poi/examples/hslf/TableDemo.java → poi-examples/src/main/java/org/apache/poi/examples/hslf/TableDemo.java View File


examples/src/main/java/org/apache/poi/examples/hsmf/Msg2txt.java → poi-examples/src/main/java/org/apache/poi/examples/hsmf/Msg2txt.java View File


examples/src/main/java/org/apache/poi/examples/hssf/eventusermodel/XLS2CSVmra.java → poi-examples/src/main/java/org/apache/poi/examples/hssf/eventusermodel/XLS2CSVmra.java View File


examples/src/main/java/org/apache/poi/examples/hssf/usermodel/AddDimensionedImage.java → poi-examples/src/main/java/org/apache/poi/examples/hssf/usermodel/AddDimensionedImage.java View File


examples/src/main/java/org/apache/poi/examples/hssf/usermodel/Alignment.java → poi-examples/src/main/java/org/apache/poi/examples/hssf/usermodel/Alignment.java View File


examples/src/main/java/org/apache/poi/examples/hssf/usermodel/BigExample.java → poi-examples/src/main/java/org/apache/poi/examples/hssf/usermodel/BigExample.java View File


examples/src/main/java/org/apache/poi/examples/hssf/usermodel/Borders.java → poi-examples/src/main/java/org/apache/poi/examples/hssf/usermodel/Borders.java View File


examples/src/main/java/org/apache/poi/examples/hssf/usermodel/CellComments.java → poi-examples/src/main/java/org/apache/poi/examples/hssf/usermodel/CellComments.java View File


examples/src/main/java/org/apache/poi/examples/hssf/usermodel/CellTypes.java → poi-examples/src/main/java/org/apache/poi/examples/hssf/usermodel/CellTypes.java View File


examples/src/main/java/org/apache/poi/examples/hssf/usermodel/CreateCells.java → poi-examples/src/main/java/org/apache/poi/examples/hssf/usermodel/CreateCells.java View File


examples/src/main/java/org/apache/poi/examples/hssf/usermodel/CreateDateCells.java → poi-examples/src/main/java/org/apache/poi/examples/hssf/usermodel/CreateDateCells.java View File


examples/src/main/java/org/apache/poi/examples/hssf/usermodel/EmbeddedObjects.java → poi-examples/src/main/java/org/apache/poi/examples/hssf/usermodel/EmbeddedObjects.java View File


examples/src/main/java/org/apache/poi/examples/hssf/usermodel/EventExample.java → poi-examples/src/main/java/org/apache/poi/examples/hssf/usermodel/EventExample.java View File


examples/src/main/java/org/apache/poi/examples/hssf/usermodel/FrillsAndFills.java → poi-examples/src/main/java/org/apache/poi/examples/hssf/usermodel/FrillsAndFills.java View File


examples/src/main/java/org/apache/poi/examples/hssf/usermodel/HSSFReadWrite.java → poi-examples/src/main/java/org/apache/poi/examples/hssf/usermodel/HSSFReadWrite.java View File


examples/src/main/java/org/apache/poi/examples/hssf/usermodel/HyperlinkFormula.java → poi-examples/src/main/java/org/apache/poi/examples/hssf/usermodel/HyperlinkFormula.java View File


examples/src/main/java/org/apache/poi/examples/hssf/usermodel/Hyperlinks.java → poi-examples/src/main/java/org/apache/poi/examples/hssf/usermodel/Hyperlinks.java View File


examples/src/main/java/org/apache/poi/examples/hssf/usermodel/InCellLists.java → poi-examples/src/main/java/org/apache/poi/examples/hssf/usermodel/InCellLists.java View File


examples/src/main/java/org/apache/poi/examples/hssf/usermodel/MergedCells.java → poi-examples/src/main/java/org/apache/poi/examples/hssf/usermodel/MergedCells.java View File


examples/src/main/java/org/apache/poi/examples/hssf/usermodel/NewLinesInCells.java → poi-examples/src/main/java/org/apache/poi/examples/hssf/usermodel/NewLinesInCells.java View File


examples/src/main/java/org/apache/poi/examples/hssf/usermodel/NewSheet.java → poi-examples/src/main/java/org/apache/poi/examples/hssf/usermodel/NewSheet.java View File


examples/src/main/java/org/apache/poi/examples/hssf/usermodel/NewWorkbook.java → poi-examples/src/main/java/org/apache/poi/examples/hssf/usermodel/NewWorkbook.java View File


examples/src/main/java/org/apache/poi/examples/hssf/usermodel/OfficeDrawing.java → poi-examples/src/main/java/org/apache/poi/examples/hssf/usermodel/OfficeDrawing.java View File


examples/src/main/java/org/apache/poi/examples/hssf/usermodel/OfficeDrawingWithGraphics.java → poi-examples/src/main/java/org/apache/poi/examples/hssf/usermodel/OfficeDrawingWithGraphics.java View File


examples/src/main/java/org/apache/poi/examples/hssf/usermodel/Outlines.java → poi-examples/src/main/java/org/apache/poi/examples/hssf/usermodel/Outlines.java View File


examples/src/main/java/org/apache/poi/examples/hssf/usermodel/ReadWriteWorkbook.java → poi-examples/src/main/java/org/apache/poi/examples/hssf/usermodel/ReadWriteWorkbook.java View File


examples/src/main/java/org/apache/poi/examples/hssf/usermodel/RepeatingRowsAndColumns.java → poi-examples/src/main/java/org/apache/poi/examples/hssf/usermodel/RepeatingRowsAndColumns.java View File


examples/src/main/java/org/apache/poi/examples/hssf/usermodel/SplitAndFreezePanes.java → poi-examples/src/main/java/org/apache/poi/examples/hssf/usermodel/SplitAndFreezePanes.java View File


examples/src/main/java/org/apache/poi/examples/hssf/usermodel/WorkingWithFonts.java → poi-examples/src/main/java/org/apache/poi/examples/hssf/usermodel/WorkingWithFonts.java View File


examples/src/main/java/org/apache/poi/examples/hssf/usermodel/ZoomSheet.java → poi-examples/src/main/java/org/apache/poi/examples/hssf/usermodel/ZoomSheet.java View File


examples/src/main/java/org/apache/poi/examples/hwmf/ROP2Table.java → poi-examples/src/main/java/org/apache/poi/examples/hwmf/ROP2Table.java View File


examples/src/main/java/org/apache/poi/examples/hwmf/ROP3Table.java → poi-examples/src/main/java/org/apache/poi/examples/hwmf/ROP3Table.java View File


examples/src/main/java/org/apache/poi/examples/hwpf/Word2Forrest.java → poi-examples/src/main/java/org/apache/poi/examples/hwpf/Word2Forrest.java View File


examples/src/main/java/org/apache/poi/examples/ss/AddDimensionedImage.java → poi-examples/src/main/java/org/apache/poi/examples/ss/AddDimensionedImage.java View File


examples/src/main/java/org/apache/poi/examples/ss/AligningCells.java → poi-examples/src/main/java/org/apache/poi/examples/ss/AligningCells.java View File


examples/src/main/java/org/apache/poi/examples/ss/BusinessPlan.java → poi-examples/src/main/java/org/apache/poi/examples/ss/BusinessPlan.java View File


examples/src/main/java/org/apache/poi/examples/ss/CalendarDemo.java → poi-examples/src/main/java/org/apache/poi/examples/ss/CalendarDemo.java View File


examples/src/main/java/org/apache/poi/examples/ss/CellStyleDetails.java → poi-examples/src/main/java/org/apache/poi/examples/ss/CellStyleDetails.java View File


examples/src/main/java/org/apache/poi/examples/ss/ConditionalFormats.java → poi-examples/src/main/java/org/apache/poi/examples/ss/ConditionalFormats.java View File


examples/src/main/java/org/apache/poi/examples/ss/DrawingBorders.java → poi-examples/src/main/java/org/apache/poi/examples/ss/DrawingBorders.java View File


examples/src/main/java/org/apache/poi/examples/ss/ExcelComparator.java → poi-examples/src/main/java/org/apache/poi/examples/ss/ExcelComparator.java View File


examples/src/main/java/org/apache/poi/examples/ss/LinkedDropDownLists.java → poi-examples/src/main/java/org/apache/poi/examples/ss/LinkedDropDownLists.java View File


examples/src/main/java/org/apache/poi/examples/ss/LoadEmbedded.java → poi-examples/src/main/java/org/apache/poi/examples/ss/LoadEmbedded.java View File


examples/src/main/java/org/apache/poi/examples/ss/LoanCalculator.java → poi-examples/src/main/java/org/apache/poi/examples/ss/LoanCalculator.java View File


examples/src/main/java/org/apache/poi/examples/ss/SSPerformanceTest.java → poi-examples/src/main/java/org/apache/poi/examples/ss/SSPerformanceTest.java View File


examples/src/main/java/org/apache/poi/examples/ss/TimesheetDemo.java → poi-examples/src/main/java/org/apache/poi/examples/ss/TimesheetDemo.java View File


examples/src/main/java/org/apache/poi/examples/ss/ToCSV.java → poi-examples/src/main/java/org/apache/poi/examples/ss/ToCSV.java View File


examples/src/main/java/org/apache/poi/examples/ss/formula/CalculateMortgage.java → poi-examples/src/main/java/org/apache/poi/examples/ss/formula/CalculateMortgage.java View File


examples/src/main/java/org/apache/poi/examples/ss/formula/CheckFunctionsSupported.java → poi-examples/src/main/java/org/apache/poi/examples/ss/formula/CheckFunctionsSupported.java View File


examples/src/main/java/org/apache/poi/examples/ss/formula/SettingExternalFunction.java → poi-examples/src/main/java/org/apache/poi/examples/ss/formula/SettingExternalFunction.java View File


examples/src/main/java/org/apache/poi/examples/ss/formula/UserDefinedFunctionExample.java → poi-examples/src/main/java/org/apache/poi/examples/ss/formula/UserDefinedFunctionExample.java View File


examples/src/main/java/org/apache/poi/examples/ss/formula/mortgage-calculation.xls → poi-examples/src/main/java/org/apache/poi/examples/ss/formula/mortgage-calculation.xls View File


examples/src/main/java/org/apache/poi/examples/ss/html/HSSFHtmlHelper.java → poi-examples/src/main/java/org/apache/poi/examples/ss/html/HSSFHtmlHelper.java View File


examples/src/main/java/org/apache/poi/examples/ss/html/HtmlHelper.java → poi-examples/src/main/java/org/apache/poi/examples/ss/html/HtmlHelper.java View File


examples/src/main/java/org/apache/poi/examples/ss/html/ToHtml.java → poi-examples/src/main/java/org/apache/poi/examples/ss/html/ToHtml.java View File


examples/src/main/java/org/apache/poi/examples/ss/html/XSSFHtmlHelper.java → poi-examples/src/main/java/org/apache/poi/examples/ss/html/XSSFHtmlHelper.java View File


examples/src/main/java/org/apache/poi/examples/ss/html/excelStyle.css → poi-examples/src/main/java/org/apache/poi/examples/ss/html/excelStyle.css View File


examples/src/main/java/org/apache/poi/examples/ss/html/package-info.java → poi-examples/src/main/java/org/apache/poi/examples/ss/html/package-info.java View File


examples/src/main/java/org/apache/poi/examples/util/TempFileUtils.java → poi-examples/src/main/java/org/apache/poi/examples/util/TempFileUtils.java View File


examples/src/main/java/org/apache/poi/examples/xslf/AddVideoToPptx.java.txt → poi-examples/src/main/java/org/apache/poi/examples/xslf/AddVideoToPptx.java.txt View File


Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save