From 374b32863add69ff2b3783a83bc122f93e31ec7f Mon Sep 17 00:00:00 2001 From: Philippe Charles Date: Mon, 26 Feb 2024 13:40:08 +0100 Subject: [PATCH 01/31] Update for next development version --- pom.xml | 4 ++-- spreadsheet-api/pom.xml | 2 +- spreadsheet-bom/pom.xml | 2 +- spreadsheet-fastexcel/pom.xml | 2 +- spreadsheet-html/pom.xml | 2 +- spreadsheet-od/pom.xml | 2 +- spreadsheet-poi/pom.xml | 2 +- spreadsheet-standalone/pom.xml | 2 +- spreadsheet-xl/pom.xml | 2 +- spreadsheet-xmlss/pom.xml | 2 +- 10 files changed, 11 insertions(+), 11 deletions(-) diff --git a/pom.xml b/pom.xml index 6894d0d4..3e10573c 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ com.github.nbbrd.spreadsheet4j spreadsheet-parent - 2.5.8 + 2.5.9-SNAPSHOT pom spreadsheet4j @@ -38,7 +38,7 @@ UTF-8 - 2024-02-26T12:39:59Z + 2024-02-26T12:40:05Z 1.8 1.8 diff --git a/spreadsheet-api/pom.xml b/spreadsheet-api/pom.xml index 4e13d2a4..aafd741e 100644 --- a/spreadsheet-api/pom.xml +++ b/spreadsheet-api/pom.xml @@ -5,7 +5,7 @@ com.github.nbbrd.spreadsheet4j spreadsheet-parent - 2.5.8 + 2.5.9-SNAPSHOT spreadsheet-api diff --git a/spreadsheet-bom/pom.xml b/spreadsheet-bom/pom.xml index ea9fd60e..ac5f7bd5 100644 --- a/spreadsheet-bom/pom.xml +++ b/spreadsheet-bom/pom.xml @@ -6,7 +6,7 @@ com.github.nbbrd.spreadsheet4j spreadsheet-parent - 2.5.8 + 2.5.9-SNAPSHOT spreadsheet-bom diff --git a/spreadsheet-fastexcel/pom.xml b/spreadsheet-fastexcel/pom.xml index 582b6cdc..aeccdfe5 100644 --- a/spreadsheet-fastexcel/pom.xml +++ b/spreadsheet-fastexcel/pom.xml @@ -6,7 +6,7 @@ spreadsheet-parent com.github.nbbrd.spreadsheet4j - 2.5.8 + 2.5.9-SNAPSHOT spreadsheet-fastexcel diff --git a/spreadsheet-html/pom.xml b/spreadsheet-html/pom.xml index dbaaeb77..3fae62cd 100644 --- a/spreadsheet-html/pom.xml +++ b/spreadsheet-html/pom.xml @@ -5,7 +5,7 @@ com.github.nbbrd.spreadsheet4j spreadsheet-parent - 2.5.8 + 2.5.9-SNAPSHOT spreadsheet-html diff --git a/spreadsheet-od/pom.xml b/spreadsheet-od/pom.xml index 0f7d8955..52aabe08 100644 --- a/spreadsheet-od/pom.xml +++ b/spreadsheet-od/pom.xml @@ -5,7 +5,7 @@ com.github.nbbrd.spreadsheet4j spreadsheet-parent - 2.5.8 + 2.5.9-SNAPSHOT spreadsheet-od diff --git a/spreadsheet-poi/pom.xml b/spreadsheet-poi/pom.xml index 7f627760..02c4dd85 100644 --- a/spreadsheet-poi/pom.xml +++ b/spreadsheet-poi/pom.xml @@ -5,7 +5,7 @@ com.github.nbbrd.spreadsheet4j spreadsheet-parent - 2.5.8 + 2.5.9-SNAPSHOT spreadsheet-poi diff --git a/spreadsheet-standalone/pom.xml b/spreadsheet-standalone/pom.xml index 74f795fe..70f54653 100644 --- a/spreadsheet-standalone/pom.xml +++ b/spreadsheet-standalone/pom.xml @@ -7,7 +7,7 @@ com.github.nbbrd.spreadsheet4j spreadsheet-parent - 2.5.8 + 2.5.9-SNAPSHOT spreadsheet-standalone diff --git a/spreadsheet-xl/pom.xml b/spreadsheet-xl/pom.xml index c1fac03e..b59ec6ab 100644 --- a/spreadsheet-xl/pom.xml +++ b/spreadsheet-xl/pom.xml @@ -6,7 +6,7 @@ com.github.nbbrd.spreadsheet4j spreadsheet-parent - 2.5.8 + 2.5.9-SNAPSHOT spreadsheet-xl diff --git a/spreadsheet-xmlss/pom.xml b/spreadsheet-xmlss/pom.xml index 079a1b2f..cd937cbc 100644 --- a/spreadsheet-xmlss/pom.xml +++ b/spreadsheet-xmlss/pom.xml @@ -5,7 +5,7 @@ com.github.nbbrd.spreadsheet4j spreadsheet-parent - 2.5.8 + 2.5.9-SNAPSHOT spreadsheet-xmlss From fd731bdc6bb6203fcda700e26aff2d7bebaf5200 Mon Sep 17 00:00:00 2001 From: Philippe Charles Date: Wed, 28 Feb 2024 11:31:59 +0100 Subject: [PATCH 02/31] Fix missing verifications in workflow --- .github/workflows/java-ea-maven.yml | 2 +- .github/workflows/java8-maven.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/java-ea-maven.yml b/.github/workflows/java-ea-maven.yml index 53906f4d..e331b7b1 100644 --- a/.github/workflows/java-ea-maven.yml +++ b/.github/workflows/java-ea-maven.yml @@ -34,4 +34,4 @@ jobs: - name: Build and (headless) test with Maven uses: smithki/xvfb-action@v1.1.2 with: - run: mvn -U -B -ntp package + run: mvn -U -B -ntp verify diff --git a/.github/workflows/java8-maven.yml b/.github/workflows/java8-maven.yml index 822d1e01..77f5183e 100644 --- a/.github/workflows/java8-maven.yml +++ b/.github/workflows/java8-maven.yml @@ -34,7 +34,7 @@ jobs: - name: Build and (headless) test with Maven uses: smithki/xvfb-action@v1.1.2 with: - run: mvn -U -B -ntp package + run: mvn -U -B -ntp verify auto-merge-job: needs: build-and-test-job From a4a206a8de21cf7b10dc26f2e4c77c65dadfa8f5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 2 Mar 2024 18:27:25 +0000 Subject: [PATCH 03/31] Bump org.jreleaser:jreleaser-maven-plugin from 1.10.0 to 1.11.0 Bumps [org.jreleaser:jreleaser-maven-plugin](https://github.com/jreleaser/jreleaser) from 1.10.0 to 1.11.0. - [Release notes](https://github.com/jreleaser/jreleaser/releases) - [Changelog](https://github.com/jreleaser/jreleaser/blob/main/jreleaser.yml) - [Commits](https://github.com/jreleaser/jreleaser/compare/v1.10.0...v1.11.0) --- updated-dependencies: - dependency-name: org.jreleaser:jreleaser-maven-plugin dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 3e10573c..66bb5ff1 100644 --- a/pom.xml +++ b/pom.xml @@ -208,7 +208,7 @@ org.jreleaser jreleaser-maven-plugin - 1.10.0 + 1.11.0 From 219edbdade5f49c108f0f219ae5ae4156b5fb44f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 16 Mar 2024 18:29:18 +0000 Subject: [PATCH 04/31] Bump org.codehaus.mojo:extra-enforcer-rules from 1.7.0 to 1.8.0 Bumps [org.codehaus.mojo:extra-enforcer-rules](https://github.com/mojohaus/extra-enforcer-rules) from 1.7.0 to 1.8.0. - [Release notes](https://github.com/mojohaus/extra-enforcer-rules/releases) - [Commits](https://github.com/mojohaus/extra-enforcer-rules/compare/1.7.0...1.8.0) --- updated-dependencies: - dependency-name: org.codehaus.mojo:extra-enforcer-rules dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 66bb5ff1..e06652c0 100644 --- a/pom.xml +++ b/pom.xml @@ -471,7 +471,7 @@ org.codehaus.mojo extra-enforcer-rules - 1.7.0 + 1.8.0 From 10f90db4dad510698b2ef300cd26cdcebdb81d6c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 16 Mar 2024 18:29:21 +0000 Subject: [PATCH 05/31] Bump org.apache.logging.log4j:log4j-api from 2.23.0 to 2.23.1 Bumps org.apache.logging.log4j:log4j-api from 2.23.0 to 2.23.1. --- updated-dependencies: - dependency-name: org.apache.logging.log4j:log4j-api dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- spreadsheet-poi/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spreadsheet-poi/pom.xml b/spreadsheet-poi/pom.xml index 02c4dd85..ce6c6b03 100644 --- a/spreadsheet-poi/pom.xml +++ b/spreadsheet-poi/pom.xml @@ -100,7 +100,7 @@ org.apache.logging.log4j log4j-api - 2.23.0 + 2.23.1 From 8c37ca84b16bb3d7e0c376735a4fa8a790f61017 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 23 Mar 2024 18:11:12 +0000 Subject: [PATCH 06/31] Bump org.apache.maven.plugins:maven-compiler-plugin Bumps [org.apache.maven.plugins:maven-compiler-plugin](https://github.com/apache/maven-compiler-plugin) from 3.12.1 to 3.13.0. - [Release notes](https://github.com/apache/maven-compiler-plugin/releases) - [Commits](https://github.com/apache/maven-compiler-plugin/compare/maven-compiler-plugin-3.12.1...maven-compiler-plugin-3.13.0) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-compiler-plugin dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index e06652c0..3fac3c3b 100644 --- a/pom.xml +++ b/pom.xml @@ -105,7 +105,7 @@ org.apache.maven.plugins maven-compiler-plugin - 3.12.1 + 3.13.0 org.apache.maven.plugins From 99f108ea467ce9226f832e4875c90e2757cd21e0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 23 Mar 2024 18:11:06 +0000 Subject: [PATCH 07/31] Bump org.projectlombok:lombok from 1.18.30 to 1.18.32 Bumps [org.projectlombok:lombok](https://github.com/projectlombok/lombok) from 1.18.30 to 1.18.32. - [Changelog](https://github.com/projectlombok/lombok/blob/master/doc/changelog.markdown) - [Commits](https://github.com/projectlombok/lombok/compare/v1.18.30...v1.18.32) --- updated-dependencies: - dependency-name: org.projectlombok:lombok dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 3fac3c3b..8e4d4c1a 100644 --- a/pom.xml +++ b/pom.xml @@ -301,7 +301,7 @@ - 1.18.30 + 1.18.32 1.9.0 1.5.0 1.37 From 3e3155dc14c2e250481204b5c077c13fcd777ff0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 23 Mar 2024 18:11:16 +0000 Subject: [PATCH 08/31] Bump com.github.nbbrd.java-io-util:java-io-bom from 0.0.27 to 0.0.28 Bumps [com.github.nbbrd.java-io-util:java-io-bom](https://github.com/nbbrd/java-io-util) from 0.0.27 to 0.0.28. - [Release notes](https://github.com/nbbrd/java-io-util/releases) - [Changelog](https://github.com/nbbrd/java-io-util/blob/develop/CHANGELOG.md) - [Commits](https://github.com/nbbrd/java-io-util/compare/v0.0.27...v0.0.28) --- updated-dependencies: - dependency-name: com.github.nbbrd.java-io-util:java-io-bom dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 8e4d4c1a..e4cb96ea 100644 --- a/pom.xml +++ b/pom.xml @@ -86,7 +86,7 @@ com.github.nbbrd.java-io-util java-io-bom - 0.0.27 + 0.0.28 pom import From 4f3b526e4da13f7427c7514af98a6898bbaa3d67 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 30 Mar 2024 18:17:47 +0000 Subject: [PATCH 09/31] Bump de.thetaphi:forbiddenapis from 3.6 to 3.7 Bumps [de.thetaphi:forbiddenapis](https://github.com/policeman-tools/forbidden-apis) from 3.6 to 3.7. - [Commits](https://github.com/policeman-tools/forbidden-apis/compare/3.6...3.7) --- updated-dependencies: - dependency-name: de.thetaphi:forbiddenapis dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index e4cb96ea..7438073f 100644 --- a/pom.xml +++ b/pom.xml @@ -168,7 +168,7 @@ de.thetaphi forbiddenapis - 3.6 + 3.7 com.github.nbbrd.heylogs From efb88d07b47a4f45cc745a41fe8bd3c009e4e3d5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 30 Mar 2024 18:17:48 +0000 Subject: [PATCH 10/31] Bump org.kordamp.maven:pomchecker-enforcer-rules from 1.10.0 to 1.11.0 Bumps org.kordamp.maven:pomchecker-enforcer-rules from 1.10.0 to 1.11.0. --- updated-dependencies: - dependency-name: org.kordamp.maven:pomchecker-enforcer-rules dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 7438073f..ede94700 100644 --- a/pom.xml +++ b/pom.xml @@ -466,7 +466,7 @@ org.kordamp.maven pomchecker-enforcer-rules - 1.10.0 + 1.11.0 org.codehaus.mojo From c4ab02afab9d203453095117f11198ede72e6b15 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 30 Mar 2024 18:17:55 +0000 Subject: [PATCH 11/31] Bump java-design.version from 1.5.0 to 1.5.1 Bumps `java-design.version` from 1.5.0 to 1.5.1. Updates `com.github.nbbrd.java-design-util:java-design-annotation` from 1.5.0 to 1.5.1 - [Release notes](https://github.com/nbbrd/java-design-util/releases) - [Changelog](https://github.com/nbbrd/java-design-util/blob/develop/CHANGELOG.md) - [Commits](https://github.com/nbbrd/java-design-util/compare/v1.5.0...v1.5.1) Updates `com.github.nbbrd.java-design-util:java-design-processor` from 1.5.0 to 1.5.1 - [Release notes](https://github.com/nbbrd/java-design-util/releases) - [Changelog](https://github.com/nbbrd/java-design-util/blob/develop/CHANGELOG.md) - [Commits](https://github.com/nbbrd/java-design-util/compare/v1.5.0...v1.5.1) --- updated-dependencies: - dependency-name: com.github.nbbrd.java-design-util:java-design-annotation dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: com.github.nbbrd.java-design-util:java-design-processor dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index ede94700..ae0f6b77 100644 --- a/pom.xml +++ b/pom.xml @@ -303,7 +303,7 @@ 1.18.32 1.9.0 - 1.5.0 + 1.5.1 1.37 From cd3e35217e3db95020e8991574fefc99c73da88b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 6 Apr 2024 18:50:39 +0000 Subject: [PATCH 12/31] Bump org.jacoco:jacoco-maven-plugin from 0.8.11 to 0.8.12 Bumps [org.jacoco:jacoco-maven-plugin](https://github.com/jacoco/jacoco) from 0.8.11 to 0.8.12. - [Release notes](https://github.com/jacoco/jacoco/releases) - [Commits](https://github.com/jacoco/jacoco/compare/v0.8.11...v0.8.12) --- updated-dependencies: - dependency-name: org.jacoco:jacoco-maven-plugin dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index ae0f6b77..ee738563 100644 --- a/pom.xml +++ b/pom.xml @@ -203,7 +203,7 @@ org.jacoco jacoco-maven-plugin - 0.8.11 + 0.8.12 org.jreleaser From 7982cdd3cdd336c45a0803aa6dabc9ac695671ca Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 6 Apr 2024 18:50:32 +0000 Subject: [PATCH 13/31] Bump org.apache.maven.plugins:maven-source-plugin from 3.3.0 to 3.3.1 Bumps [org.apache.maven.plugins:maven-source-plugin](https://github.com/apache/maven-source-plugin) from 3.3.0 to 3.3.1. - [Commits](https://github.com/apache/maven-source-plugin/compare/maven-source-plugin-3.3.0...maven-source-plugin-3.3.1) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-source-plugin dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index ee738563..d457cf95 100644 --- a/pom.xml +++ b/pom.xml @@ -183,7 +183,7 @@ org.apache.maven.plugins maven-source-plugin - 3.3.0 + 3.3.1 org.apache.maven.plugins From d029613360aa4b7ba7e7d914b3d7502b09bcc3c4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 13 Apr 2024 18:27:21 +0000 Subject: [PATCH 14/31] Bump org.apache.maven.plugins:maven-jar-plugin from 3.3.0 to 3.4.0 Bumps [org.apache.maven.plugins:maven-jar-plugin](https://github.com/apache/maven-jar-plugin) from 3.3.0 to 3.4.0. - [Release notes](https://github.com/apache/maven-jar-plugin/releases) - [Commits](https://github.com/apache/maven-jar-plugin/compare/maven-jar-plugin-3.3.0...maven-jar-plugin-3.4.0) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-jar-plugin dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index d457cf95..f7bb1f2e 100644 --- a/pom.xml +++ b/pom.xml @@ -120,7 +120,7 @@ org.apache.maven.plugins maven-jar-plugin - 3.3.0 + 3.4.0 org.apache.maven.plugins From 6bf115e8c91eaee300e9fb5d7e6502b6e0d6f34f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 13 Apr 2024 18:27:25 +0000 Subject: [PATCH 15/31] Bump org.dhatim:fastexcel from 0.16.6 to 0.18.0 Bumps [org.dhatim:fastexcel](https://github.com/dhatim/fastexcel) from 0.16.6 to 0.18.0. - [Release notes](https://github.com/dhatim/fastexcel/releases) - [Commits](https://github.com/dhatim/fastexcel/compare/0.16.6...0.18.0) --- updated-dependencies: - dependency-name: org.dhatim:fastexcel dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- spreadsheet-fastexcel/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spreadsheet-fastexcel/pom.xml b/spreadsheet-fastexcel/pom.xml index aeccdfe5..ad47424d 100644 --- a/spreadsheet-fastexcel/pom.xml +++ b/spreadsheet-fastexcel/pom.xml @@ -47,7 +47,7 @@ org.dhatim fastexcel - 0.16.6 + 0.18.0 From 0e56b28c1c1ec54c164efa115c35714ade5807ac Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 13 Apr 2024 18:27:28 +0000 Subject: [PATCH 16/31] Bump com.github.nbbrd.heylogs:heylogs-maven-plugin from 0.7.2 to 0.8.0 Bumps [com.github.nbbrd.heylogs:heylogs-maven-plugin](https://github.com/nbbrd/heylogs) from 0.7.2 to 0.8.0. - [Release notes](https://github.com/nbbrd/heylogs/releases) - [Changelog](https://github.com/nbbrd/heylogs/blob/develop/CHANGELOG.md) - [Commits](https://github.com/nbbrd/heylogs/compare/v0.7.2...v0.8.0) --- updated-dependencies: - dependency-name: com.github.nbbrd.heylogs:heylogs-maven-plugin dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index f7bb1f2e..e4f9f5d8 100644 --- a/pom.xml +++ b/pom.xml @@ -173,7 +173,7 @@ com.github.nbbrd.heylogs heylogs-maven-plugin - 0.7.2 + 0.8.0 com.amashchenko.maven.plugin From 65d6252aa98bbb151187742ea76283f27f79371c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 20 Apr 2024 18:46:31 +0000 Subject: [PATCH 17/31] Bump org.apache.maven.plugins:maven-jar-plugin from 3.4.0 to 3.4.1 Bumps [org.apache.maven.plugins:maven-jar-plugin](https://github.com/apache/maven-jar-plugin) from 3.4.0 to 3.4.1. - [Release notes](https://github.com/apache/maven-jar-plugin/releases) - [Commits](https://github.com/apache/maven-jar-plugin/compare/maven-jar-plugin-3.4.0...maven-jar-plugin-3.4.1) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-jar-plugin dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index e4f9f5d8..fe25759e 100644 --- a/pom.xml +++ b/pom.xml @@ -120,7 +120,7 @@ org.apache.maven.plugins maven-jar-plugin - 3.4.0 + 3.4.1 org.apache.maven.plugins From 7e19bdff04907317c2aedbe2608f1af11f564ccf Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 20 Apr 2024 18:46:36 +0000 Subject: [PATCH 18/31] Bump com.github.nbbrd.heylogs:heylogs-maven-plugin from 0.8.0 to 0.8.1 Bumps [com.github.nbbrd.heylogs:heylogs-maven-plugin](https://github.com/nbbrd/heylogs) from 0.8.0 to 0.8.1. - [Release notes](https://github.com/nbbrd/heylogs/releases) - [Changelog](https://github.com/nbbrd/heylogs/blob/develop/CHANGELOG.md) - [Commits](https://github.com/nbbrd/heylogs/compare/v0.8.0...v0.8.1) --- updated-dependencies: - dependency-name: com.github.nbbrd.heylogs:heylogs-maven-plugin dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index fe25759e..1ed80dcc 100644 --- a/pom.xml +++ b/pom.xml @@ -173,7 +173,7 @@ com.github.nbbrd.heylogs heylogs-maven-plugin - 0.8.0 + 0.8.1 com.amashchenko.maven.plugin From 9423a448dc673535667cd0540a5d12357a730d59 Mon Sep 17 00:00:00 2001 From: Philippe Charles Date: Thu, 2 May 2024 09:21:25 +0200 Subject: [PATCH 19/31] Fix Java8 build on macOS ARM --- .github/workflows/java8-maven.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/java8-maven.yml b/.github/workflows/java8-maven.yml index 77f5183e..f6db4a2e 100644 --- a/.github/workflows/java8-maven.yml +++ b/.github/workflows/java8-maven.yml @@ -10,6 +10,9 @@ jobs: matrix: java: [ 8, 21 ] os: [ ubuntu-latest, macOS-latest, windows-latest ] + exclude: + - os: macos-latest + java: 8 name: JDK${{ matrix.java }} on ${{ matrix.os }} runs-on: ${{ matrix.os }} From a16ca870fce4cd72b6c4db32297c4b55c92f044e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 2 May 2024 09:02:05 +0000 Subject: [PATCH 20/31] Bump lycheeverse/lychee-action from 1.9.3 to 1.10.0 Bumps [lycheeverse/lychee-action](https://github.com/lycheeverse/lychee-action) from 1.9.3 to 1.10.0. - [Release notes](https://github.com/lycheeverse/lychee-action/releases) - [Commits](https://github.com/lycheeverse/lychee-action/compare/v1.9.3...v1.10.0) --- updated-dependencies: - dependency-name: lycheeverse/lychee-action dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/workflows/check-links.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/check-links.yml b/.github/workflows/check-links.yml index 348d6009..8627b211 100644 --- a/.github/workflows/check-links.yml +++ b/.github/workflows/check-links.yml @@ -34,7 +34,7 @@ jobs: - name: Check links id: lychee - uses: lycheeverse/lychee-action@v1.9.3 + uses: lycheeverse/lychee-action@v1.10.0 with: fail: true args: --max-concurrency 1 --cache --no-progress --exclude-all-private './**/*.md' From 25acb3a5b3eca202e329dba275b02ca1c4d1a134 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 2 May 2024 09:15:28 +0000 Subject: [PATCH 21/31] Bump org.apache.maven.plugins:maven-shade-plugin from 3.5.2 to 3.5.3 Bumps [org.apache.maven.plugins:maven-shade-plugin](https://github.com/apache/maven-shade-plugin) from 3.5.2 to 3.5.3. - [Release notes](https://github.com/apache/maven-shade-plugin/releases) - [Commits](https://github.com/apache/maven-shade-plugin/compare/maven-shade-plugin-3.5.2...maven-shade-plugin-3.5.3) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-shade-plugin dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 1ed80dcc..a5b9396f 100644 --- a/pom.xml +++ b/pom.xml @@ -148,7 +148,7 @@ org.apache.maven.plugins maven-shade-plugin - 3.5.2 + 3.5.3 org.apache.maven.plugins From a8b111adebd5a36ec574c27669f388212972e4fa Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 4 May 2024 18:17:45 +0000 Subject: [PATCH 22/31] Bump org.jreleaser:jreleaser-maven-plugin from 1.11.0 to 1.12.0 Bumps [org.jreleaser:jreleaser-maven-plugin](https://github.com/jreleaser/jreleaser) from 1.11.0 to 1.12.0. - [Release notes](https://github.com/jreleaser/jreleaser/releases) - [Changelog](https://github.com/jreleaser/jreleaser/blob/main/jreleaser.yml) - [Commits](https://github.com/jreleaser/jreleaser/compare/v1.11.0...v1.12.0) --- updated-dependencies: - dependency-name: org.jreleaser:jreleaser-maven-plugin dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index a5b9396f..f96f5967 100644 --- a/pom.xml +++ b/pom.xml @@ -208,7 +208,7 @@ org.jreleaser jreleaser-maven-plugin - 1.11.0 + 1.12.0 From edb9334ded5e03ea4ca6f96323d00c169277290b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 4 May 2024 18:17:49 +0000 Subject: [PATCH 23/31] Bump org.checkerframework:checker-qual from 3.42.0 to 3.43.0 Bumps [org.checkerframework:checker-qual](https://github.com/typetools/checker-framework) from 3.42.0 to 3.43.0. - [Release notes](https://github.com/typetools/checker-framework/releases) - [Changelog](https://github.com/typetools/checker-framework/blob/master/docs/CHANGELOG.md) - [Commits](https://github.com/typetools/checker-framework/compare/checker-framework-3.42.0...checker-framework-3.43.0) --- updated-dependencies: - dependency-name: org.checkerframework:checker-qual dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index f96f5967..c5e0a715 100644 --- a/pom.xml +++ b/pom.xml @@ -65,7 +65,7 @@ org.checkerframework checker-qual - 3.42.0 + 3.43.0 From 1d9a96121104a6ac507168cd3f2d3c276cbdd35b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 4 May 2024 18:17:39 +0000 Subject: [PATCH 24/31] Bump org.apache.maven.plugins:maven-deploy-plugin from 3.1.1 to 3.1.2 Bumps [org.apache.maven.plugins:maven-deploy-plugin](https://github.com/apache/maven-deploy-plugin) from 3.1.1 to 3.1.2. - [Release notes](https://github.com/apache/maven-deploy-plugin/releases) - [Commits](https://github.com/apache/maven-deploy-plugin/compare/maven-deploy-plugin-3.1.1...maven-deploy-plugin-3.1.2) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-deploy-plugin dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index c5e0a715..8d539392 100644 --- a/pom.xml +++ b/pom.xml @@ -110,7 +110,7 @@ org.apache.maven.plugins maven-deploy-plugin - 3.1.1 + 3.1.2 org.apache.maven.plugins From 3450f233a4f866c0567f4c6e6d509ba57784c24d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 4 May 2024 18:17:52 +0000 Subject: [PATCH 25/31] Bump org.apache.maven.plugins:maven-install-plugin from 3.1.1 to 3.1.2 Bumps [org.apache.maven.plugins:maven-install-plugin](https://github.com/apache/maven-install-plugin) from 3.1.1 to 3.1.2. - [Release notes](https://github.com/apache/maven-install-plugin/releases) - [Commits](https://github.com/apache/maven-install-plugin/compare/maven-install-plugin-3.1.1...maven-install-plugin-3.1.2) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-install-plugin dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 8d539392..1e68a216 100644 --- a/pom.xml +++ b/pom.xml @@ -115,7 +115,7 @@ org.apache.maven.plugins maven-install-plugin - 3.1.1 + 3.1.2 org.apache.maven.plugins From 1ad2253e0dc561f8bd31d74fc5554f20d05cfcc3 Mon Sep 17 00:00:00 2001 From: Philippe Charles Date: Wed, 15 May 2024 12:35:24 +0200 Subject: [PATCH 26/31] Move macOS ARM build to EA workflow --- .github/workflows/java-ea-maven.yml | 2 +- .github/workflows/java8-maven.yml | 5 +---- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/.github/workflows/java-ea-maven.yml b/.github/workflows/java-ea-maven.yml index e331b7b1..a690e85f 100644 --- a/.github/workflows/java-ea-maven.yml +++ b/.github/workflows/java-ea-maven.yml @@ -12,7 +12,7 @@ jobs: fail-fast: false matrix: java: [ 21 ] - os: [ ubuntu-latest ] + os: [ ubuntu-latest, macos-latest ] name: JDK${{ matrix.java }} on ${{ matrix.os }} runs-on: ${{ matrix.os }} diff --git a/.github/workflows/java8-maven.yml b/.github/workflows/java8-maven.yml index f6db4a2e..d0683de0 100644 --- a/.github/workflows/java8-maven.yml +++ b/.github/workflows/java8-maven.yml @@ -9,10 +9,7 @@ jobs: fail-fast: false matrix: java: [ 8, 21 ] - os: [ ubuntu-latest, macOS-latest, windows-latest ] - exclude: - - os: macos-latest - java: 8 + os: [ ubuntu-latest, macos-13, windows-latest ] name: JDK${{ matrix.java }} on ${{ matrix.os }} runs-on: ${{ matrix.os }} From 1b1b5c3e027458fe741898a7dd6286adddc9b242 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 25 May 2024 18:10:31 +0000 Subject: [PATCH 27/31] Bump org.gaul:modernizer-maven-plugin from 2.7.0 to 2.9.0 Bumps [org.gaul:modernizer-maven-plugin](https://github.com/gaul/modernizer-maven-plugin) from 2.7.0 to 2.9.0. - [Release notes](https://github.com/gaul/modernizer-maven-plugin/releases) - [Commits](https://github.com/gaul/modernizer-maven-plugin/compare/modernizer-maven-plugin-2.7.0...modernizer-maven-plugin-2.9.0) --- updated-dependencies: - dependency-name: org.gaul:modernizer-maven-plugin dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 1e68a216..8ad53d4c 100644 --- a/pom.xml +++ b/pom.xml @@ -163,7 +163,7 @@ org.gaul modernizer-maven-plugin - 2.7.0 + 2.9.0 de.thetaphi From 84e558d829c340bae5c2bff326abf2d87b7fe890 Mon Sep 17 00:00:00 2001 From: Philippe Charles Date: Tue, 28 May 2024 08:29:59 +0200 Subject: [PATCH 28/31] Fix date parsing in SODS --- CHANGELOG.md | 4 ++ .../java/ec/util/spreadsheet/od/OdBook.java | 14 ++--- .../java/ec/util/spreadsheet/od/OdCell.java | 49 ++++++++------- .../java/ec/util/spreadsheet/od/OdSheet.java | 28 ++++++--- spreadsheet-od/src/main/java/module-info.java | 3 +- .../ec/util/spreadsheet/od/OdBookTest.java | 57 ++++++++++++++++++ .../src/test/resources/world_libre_office.ods | Bin 0 -> 116575 bytes 7 files changed, 117 insertions(+), 38 deletions(-) create mode 100644 spreadsheet-od/src/test/java/ec/util/spreadsheet/od/OdBookTest.java create mode 100644 spreadsheet-od/src/test/resources/world_libre_office.ods diff --git a/CHANGELOG.md b/CHANGELOG.md index 94f831eb..05c13125 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,10 @@ to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] +### Fixed + +- Fix date parsing in SODS [#470](https://github.com/nbbrd/spreadsheet4j/issues/470) + ## [2.5.8] - 2024-02-26 ### Changed diff --git a/spreadsheet-od/src/main/java/ec/util/spreadsheet/od/OdBook.java b/spreadsheet-od/src/main/java/ec/util/spreadsheet/od/OdBook.java index f93007eb..3b2d1bf2 100644 --- a/spreadsheet-od/src/main/java/ec/util/spreadsheet/od/OdBook.java +++ b/spreadsheet-od/src/main/java/ec/util/spreadsheet/od/OdBook.java @@ -1,17 +1,17 @@ /* * Copyright 2013 National Bank of Belgium * - * Licensed under the EUPL, Version 1.1 or – as soon they will be approved + * Licensed under the EUPL, Version 1.1 or – as soon they will be approved * by the European Commission - subsequent versions of the EUPL (the "Licence"); * You may not use this work except in compliance with the Licence. * You may obtain a copy of the Licence at: * * http://ec.europa.eu/idabc/eupl * - * Unless required by applicable law or agreed to in writing, software + * Unless required by applicable law or agreed to in writing, software * distributed under the Licence is distributed on an "AS IS" basis, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and + * See the Licence for the specific language governing permissions and * limitations under the Licence. */ package ec.util.spreadsheet.od; @@ -22,16 +22,12 @@ import org.checkerframework.checker.nullness.qual.NonNull; /** - * * @author Philippe Charles */ +@lombok.AllArgsConstructor final class OdBook extends Book { - private final SpreadSheet book; - - public OdBook(SpreadSheet book) { - this.book = book; - } + private final @lombok.NonNull SpreadSheet book; @Override public int getSheetCount() { diff --git a/spreadsheet-od/src/main/java/ec/util/spreadsheet/od/OdCell.java b/spreadsheet-od/src/main/java/ec/util/spreadsheet/od/OdCell.java index d2238b34..64d7796a 100644 --- a/spreadsheet-od/src/main/java/ec/util/spreadsheet/od/OdCell.java +++ b/spreadsheet-od/src/main/java/ec/util/spreadsheet/od/OdCell.java @@ -1,53 +1,56 @@ /* * Copyright 2013 National Bank of Belgium * - * Licensed under the EUPL, Version 1.1 or – as soon they will be approved + * Licensed under the EUPL, Version 1.1 or – as soon they will be approved * by the European Commission - subsequent versions of the EUPL (the "Licence"); * You may not use this work except in compliance with the Licence. * You may obtain a copy of the Licence at: * * http://ec.europa.eu/idabc/eupl * - * Unless required by applicable law or agreed to in writing, software + * Unless required by applicable law or agreed to in writing, software * distributed under the Licence is distributed on an "AS IS" basis, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and + * See the Licence for the specific language governing permissions and * limitations under the Licence. */ package ec.util.spreadsheet.od; +import org.checkerframework.checker.nullness.qual.NonNull; +import org.checkerframework.checker.nullness.qual.Nullable; + +import java.time.LocalDate; import java.time.LocalDateTime; import java.time.ZoneId; import java.util.Date; -import org.checkerframework.checker.nullness.qual.NonNull; -import org.checkerframework.checker.nullness.qual.Nullable; /** - * * @author Philippe Charles */ //@FlyweightPattern @Deprecated +@lombok.RequiredArgsConstructor final class OdCell extends ec.util.spreadsheet.Cell { - private final ZoneId zoneId = ZoneId.systemDefault(); + private final @lombok.NonNull ZoneId zoneId; private transient Object value = null; - static boolean isValid(Object value) { - return value instanceof LocalDateTime - || value instanceof Number - || value instanceof String; - } - @Nullable OdCell withValue(@NonNull Object value) { this.value = value; - return isValid(value) ? this : null; + return isValidValue(value) ? this : null; + } + + private static boolean isValidValue(Object value) { + return value instanceof LocalDateTime + || value instanceof LocalDate + || value instanceof Number + || value instanceof String; } @Override public boolean isDate() { - return value instanceof LocalDateTime; + return value instanceof LocalDateTime || value instanceof LocalDate; } @Override @@ -61,16 +64,20 @@ public boolean isString() { } @Override - public Date getDate() { + public @NonNull Date getDate() { try { - return Date.from(((LocalDateTime) value).atZone(zoneId).toInstant()); - } catch (ClassCastException ex) { - throw new UnsupportedOperationException(ex); + return OdSheet.toDate((LocalDateTime) value, zoneId); + } catch (ClassCastException ex1) { + try { + return OdSheet.toDate((LocalDate) value, zoneId); + } catch (ClassCastException ex2) { + throw new UnsupportedOperationException(ex2); + } } } @Override - public Number getNumber() { + public @NonNull Number getNumber() { try { return (Number) value; } catch (ClassCastException ex) { @@ -79,7 +86,7 @@ public Number getNumber() { } @Override - public String getString() { + public @NonNull String getString() { try { return (String) value; } catch (ClassCastException ex) { diff --git a/spreadsheet-od/src/main/java/ec/util/spreadsheet/od/OdSheet.java b/spreadsheet-od/src/main/java/ec/util/spreadsheet/od/OdSheet.java index 3b161813..9365e4a2 100644 --- a/spreadsheet-od/src/main/java/ec/util/spreadsheet/od/OdSheet.java +++ b/spreadsheet-od/src/main/java/ec/util/spreadsheet/od/OdSheet.java @@ -20,8 +20,10 @@ import com.github.miachm.sods.Sheet; import ec.util.spreadsheet.Cell; import org.checkerframework.checker.index.qual.NonNegative; +import org.checkerframework.checker.nullness.qual.NonNull; import org.checkerframework.checker.nullness.qual.Nullable; +import java.time.LocalDate; import java.time.LocalDateTime; import java.time.ZoneId; import java.util.Date; @@ -35,15 +37,16 @@ final class OdSheet extends ec.util.spreadsheet.Sheet { private final String name; private final Range sheet; private final int columnCount; + private final ZoneId zoneId; @Deprecated private final OdCell flyweightCell; - private final ZoneId zoneId = ZoneId.systemDefault(); public OdSheet(Sheet sheet) { this.name = sheet.getName(); this.sheet = sheet.getDataRange(); this.columnCount = computeColumnCount(this.sheet); - this.flyweightCell = new OdCell(); + this.zoneId = ZoneId.systemDefault(); + this.flyweightCell = new OdCell(zoneId); } static int computeColumnCount(Range sheet) { @@ -72,6 +75,14 @@ static boolean isNullOrEmpty(Range sheet, int rowIdx, int columnIdx) throws Inde return sheet.getCell(rowIdx, columnIdx).getValue() == null; } + static Date toDate(LocalDateTime value, ZoneId zoneId) { + return Date.from(value.atZone(zoneId).toInstant()); + } + + static Date toDate(LocalDate value, ZoneId zoneId) { + return Date.from(value.atStartOfDay(zoneId).toInstant()); + } + @Override public int getRowCount() { return sheet.getNumRows(); @@ -91,17 +102,20 @@ public Cell getCell(int rowIdx, int columnIdx) { @Override public @Nullable Object getCellValue(@NonNegative int rowIdx, @NonNegative int columnIdx) throws IndexOutOfBoundsException { Object value = sheet.getCell(rowIdx, columnIdx).getValue(); - if (OdCell.isValid(value)) { - if (value instanceof LocalDateTime) { - return Date.from(((LocalDateTime) value).atZone(zoneId).toInstant()); - } + if (value instanceof LocalDateTime) { + return toDate((LocalDateTime) value, zoneId); + } else if (value instanceof LocalDate) { + return toDate((LocalDate) value, zoneId); + } else if (value instanceof Number) { + return value; + } else if (value instanceof String) { return value; } return null; } @Override - public String getName() { + public @NonNull String getName() { return name.replace("_", " "); } } diff --git a/spreadsheet-od/src/main/java/module-info.java b/spreadsheet-od/src/main/java/module-info.java index 96ca4fd0..c6639c4d 100644 --- a/spreadsheet-od/src/main/java/module-info.java +++ b/spreadsheet-od/src/main/java/module-info.java @@ -19,10 +19,11 @@ requires static org.checkerframework.checker.qual; requires static nbbrd.service; + requires static lombok; requires nbbrd.spreadsheet.api; requires com.github.miachm.sods; - + provides ec.util.spreadsheet.Book.Factory with ec.util.spreadsheet.od.OpenDocumentBookFactory; } diff --git a/spreadsheet-od/src/test/java/ec/util/spreadsheet/od/OdBookTest.java b/spreadsheet-od/src/test/java/ec/util/spreadsheet/od/OdBookTest.java new file mode 100644 index 00000000..fd07a83f --- /dev/null +++ b/spreadsheet-od/src/test/java/ec/util/spreadsheet/od/OdBookTest.java @@ -0,0 +1,57 @@ +package ec.util.spreadsheet.od; + +import com.github.miachm.sods.SpreadSheet; +import ec.util.spreadsheet.tck.BookAssert; +import ec.util.spreadsheet.tck.SheetAssert; +import org.junit.jupiter.api.Test; + +import java.io.IOException; +import java.io.InputStream; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.ZoneId; + +import static java.util.Objects.requireNonNull; +import static org.assertj.core.api.Assertions.assertThatNullPointerException; + +public class OdBookTest { + + @SuppressWarnings({"DataFlowIssue", "resource"}) + @Test + public void testFactory() { + assertThatNullPointerException().isThrownBy(() -> new OdBook(null)); + } + + @Test + public void testContent() throws IOException { + try (OdBook book = new OdBook(loadResource("/Top5Browsers.ods"))) { + BookAssert.assertThat(book).hasSheetCount(3); + SheetAssert.assertThat(book.getSheet(0)) + .hasName("Top 5 Browsers - Monthly") + .hasRowCount(42) + .hasColumnCount(7) + .hasCellValue(0, 0, null) + .hasCellValue(0, 1, "IE") + .hasCellValue(1, 0, OdSheet.toDate(LocalDateTime.of(2008, 7, 1, 0, 0), ZoneId.systemDefault())) + .hasCellValue(1, 1, 68.57); + } + + try (OdBook book = new OdBook(loadResource("/world_libre_office.ods"))) { + BookAssert.assertThat(book).hasSheetCount(4); + SheetAssert.assertThat(book.getSheet(0)) + .hasName("Europe") + .hasRowCount(383) // FIXME: should be 382? + .hasColumnCount(4) + .hasCellValue(0, 0, "date") + .hasCellValue(0, 1, "France") + .hasCellValue(1, 0, OdSheet.toDate(LocalDate.of(1990, 1, 1), ZoneId.systemDefault())) + .hasCellValue(1, 1, 395.8926090299); + } + } + + private static SpreadSheet loadResource(String name) throws IOException { + try (InputStream stream = OdBookTest.class.getResourceAsStream(name)) { + return new SpreadSheet(requireNonNull(stream)); + } + } +} diff --git a/spreadsheet-od/src/test/resources/world_libre_office.ods b/spreadsheet-od/src/test/resources/world_libre_office.ods new file mode 100644 index 0000000000000000000000000000000000000000..c87edbbc296c990ba2e1077da26d8ec8932a57f6 GIT binary patch literal 116575 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 literal 0 HcmV?d00001 From 61b06e010ac97651f1dca3c931effd2ccf80d578 Mon Sep 17 00:00:00 2001 From: Philippe Charles Date: Tue, 28 May 2024 10:14:40 +0200 Subject: [PATCH 29/31] Fix link in CHANGELOG.md --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 05c13125..5d873def 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -56,7 +56,7 @@ to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). - Bump SODS from [1.5.1 to 1.6.2](https://github.com/miachm/SODS/releases) - Bump fastexcel from [0.14.0 to 0.15.7](https://github.com/dhatim/fastexcel/releases) -- Bump jsoup from [1.15.3 to 1.16.1](https://github.com/jhy/jsoup/blob/master/CHANGES) +- Bump jsoup from [1.15.3 to 1.16.1](https://github.com/jhy/jsoup/blob/master/CHANGES.md) - Remove `spreadsheet-xl` dependency from `spreadsheet-poi` ## [2.5.2] - 2022-10-28 From ea266bb3009398974fd5465de0117f78c00640fd Mon Sep 17 00:00:00 2001 From: Philippe Charles Date: Tue, 28 May 2024 10:36:04 +0200 Subject: [PATCH 30/31] Update CHANGELOG.md for next release --- CHANGELOG.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5d873def..44fdf3af 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,10 +7,17 @@ to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] +## [2.5.9] - 2024-05-28 + ### Fixed - Fix date parsing in SODS [#470](https://github.com/nbbrd/spreadsheet4j/issues/470) +### Changed + +- Bump java-io-util from 0.0.27 to [0.0.28](https://github.com/nbbrd/spreadsheet4j/blob/develop/CHANGELOG.md) +- Bump fastexcel from 0.16.6 to [0.18.0](https://github.com/dhatim/fastexcel/compare/0.15.7...0.16.6) + ## [2.5.8] - 2024-02-26 ### Changed @@ -176,7 +183,8 @@ to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). - JDK11 cleanup -[Unreleased]: https://github.com/nbbrd/spreadsheet4j/compare/v2.5.8...HEAD +[Unreleased]: https://github.com/nbbrd/spreadsheet4j/compare/v2.5.9...HEAD +[2.5.9]: https://github.com/nbbrd/spreadsheet4j/compare/v2.5.8...v2.5.9 [2.5.8]: https://github.com/nbbrd/spreadsheet4j/compare/v2.5.7...v2.5.8 [2.5.7]: https://github.com/nbbrd/spreadsheet4j/compare/v2.5.6...v2.5.7 [2.5.6]: https://github.com/nbbrd/spreadsheet4j/compare/v2.5.5...v2.5.6 From 7300f67ff7ad36aa3f31d647ae8307b543b4de05 Mon Sep 17 00:00:00 2001 From: Philippe Charles Date: Tue, 28 May 2024 10:50:48 +0200 Subject: [PATCH 31/31] Update versions for release --- pom.xml | 4 ++-- spreadsheet-api/pom.xml | 2 +- spreadsheet-bom/pom.xml | 2 +- spreadsheet-fastexcel/pom.xml | 2 +- spreadsheet-html/pom.xml | 2 +- spreadsheet-od/pom.xml | 2 +- spreadsheet-poi/pom.xml | 2 +- spreadsheet-standalone/pom.xml | 2 +- spreadsheet-xl/pom.xml | 2 +- spreadsheet-xmlss/pom.xml | 2 +- 10 files changed, 11 insertions(+), 11 deletions(-) diff --git a/pom.xml b/pom.xml index 8ad53d4c..087b006e 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ com.github.nbbrd.spreadsheet4j spreadsheet-parent - 2.5.9-SNAPSHOT + 2.5.9 pom spreadsheet4j @@ -38,7 +38,7 @@ UTF-8 - 2024-02-26T12:40:05Z + 2024-05-28T08:50:45Z 1.8 1.8 diff --git a/spreadsheet-api/pom.xml b/spreadsheet-api/pom.xml index aafd741e..64b3b396 100644 --- a/spreadsheet-api/pom.xml +++ b/spreadsheet-api/pom.xml @@ -5,7 +5,7 @@ com.github.nbbrd.spreadsheet4j spreadsheet-parent - 2.5.9-SNAPSHOT + 2.5.9 spreadsheet-api diff --git a/spreadsheet-bom/pom.xml b/spreadsheet-bom/pom.xml index ac5f7bd5..b6ee754a 100644 --- a/spreadsheet-bom/pom.xml +++ b/spreadsheet-bom/pom.xml @@ -6,7 +6,7 @@ com.github.nbbrd.spreadsheet4j spreadsheet-parent - 2.5.9-SNAPSHOT + 2.5.9 spreadsheet-bom diff --git a/spreadsheet-fastexcel/pom.xml b/spreadsheet-fastexcel/pom.xml index ad47424d..5e98e979 100644 --- a/spreadsheet-fastexcel/pom.xml +++ b/spreadsheet-fastexcel/pom.xml @@ -6,7 +6,7 @@ spreadsheet-parent com.github.nbbrd.spreadsheet4j - 2.5.9-SNAPSHOT + 2.5.9 spreadsheet-fastexcel diff --git a/spreadsheet-html/pom.xml b/spreadsheet-html/pom.xml index 3fae62cd..a3915e6a 100644 --- a/spreadsheet-html/pom.xml +++ b/spreadsheet-html/pom.xml @@ -5,7 +5,7 @@ com.github.nbbrd.spreadsheet4j spreadsheet-parent - 2.5.9-SNAPSHOT + 2.5.9 spreadsheet-html diff --git a/spreadsheet-od/pom.xml b/spreadsheet-od/pom.xml index 52aabe08..61218ff3 100644 --- a/spreadsheet-od/pom.xml +++ b/spreadsheet-od/pom.xml @@ -5,7 +5,7 @@ com.github.nbbrd.spreadsheet4j spreadsheet-parent - 2.5.9-SNAPSHOT + 2.5.9 spreadsheet-od diff --git a/spreadsheet-poi/pom.xml b/spreadsheet-poi/pom.xml index ce6c6b03..d429eb7e 100644 --- a/spreadsheet-poi/pom.xml +++ b/spreadsheet-poi/pom.xml @@ -5,7 +5,7 @@ com.github.nbbrd.spreadsheet4j spreadsheet-parent - 2.5.9-SNAPSHOT + 2.5.9 spreadsheet-poi diff --git a/spreadsheet-standalone/pom.xml b/spreadsheet-standalone/pom.xml index 70f54653..807b8983 100644 --- a/spreadsheet-standalone/pom.xml +++ b/spreadsheet-standalone/pom.xml @@ -7,7 +7,7 @@ com.github.nbbrd.spreadsheet4j spreadsheet-parent - 2.5.9-SNAPSHOT + 2.5.9 spreadsheet-standalone diff --git a/spreadsheet-xl/pom.xml b/spreadsheet-xl/pom.xml index b59ec6ab..e30a7c79 100644 --- a/spreadsheet-xl/pom.xml +++ b/spreadsheet-xl/pom.xml @@ -6,7 +6,7 @@ com.github.nbbrd.spreadsheet4j spreadsheet-parent - 2.5.9-SNAPSHOT + 2.5.9 spreadsheet-xl diff --git a/spreadsheet-xmlss/pom.xml b/spreadsheet-xmlss/pom.xml index cd937cbc..b30fa123 100644 --- a/spreadsheet-xmlss/pom.xml +++ b/spreadsheet-xmlss/pom.xml @@ -5,7 +5,7 @@ com.github.nbbrd.spreadsheet4j spreadsheet-parent - 2.5.9-SNAPSHOT + 2.5.9 spreadsheet-xmlss