From https://github.com/FlowingCode/GridExporterAddon * branch master -> FETCH_HEAD Already on 'master' Your branch is up to date with 'origin/master'. HEAD is now at 86e4ec4 feat(demo): add demo for joined headers with custom header $ mvn versions:set-property -Dproperty=vaadin.version -DnewVersion=24.9-SNAPSHOT -DgenerateBackupPoms=false -B --no-transfer-progress --settings /home/ghrunner/actions-runner/_work/vaadin-ecosystem-build/vaadin-ecosystem-build/settings.xml [INFO] Scanning for projects... [INFO] [INFO] ---------< org.vaadin.addons.flowingcode:grid-exporter-addon >---------- [INFO] Building Grid Exporter Add-on 3.1.0-SNAPSHOT [INFO] from pom.xml [INFO] --------------------------------[ jar ]--------------------------------- [INFO] [INFO] --- versions:2.21.0:set-property (default-cli) @ grid-exporter-addon --- [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 1.013 s [INFO] Finished at: 2026-06-14T06:36:13Z [INFO] ------------------------------------------------------------------------ $ mvn versions:set -DnewVersion=24.9-SNAPSHOT -DartifactId=vaadin-bom -DgenerateBackupPoms=false -B --no-transfer-progress --settings /home/ghrunner/actions-runner/_work/vaadin-ecosystem-build/vaadin-ecosystem-build/settings.xml [INFO] Scanning for projects... [INFO] [INFO] ---------< org.vaadin.addons.flowingcode:grid-exporter-addon >---------- [INFO] Building Grid Exporter Add-on 3.1.0-SNAPSHOT [INFO] from pom.xml [INFO] --------------------------------[ jar ]--------------------------------- [INFO] [INFO] --- versions:2.21.0:set (default-cli) @ grid-exporter-addon --- [INFO] Searching for local aggregator root... [INFO] Local aggregation root: /home/ghrunner/actions-runner/_work/vaadin-ecosystem-build/vaadin-ecosystem-build/work/Grid Exporter Add-on [INFO] Processing change of org.vaadin.addons.flowingcode:vaadin-bom:3.1.0-SNAPSHOT -> 24.9-SNAPSHOT [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 0.842 s [INFO] Finished at: 2026-06-14T06:36:15Z [INFO] ------------------------------------------------------------------------ $ mvn clean verify -B --no-transfer-progress --settings /home/ghrunner/actions-runner/_work/vaadin-ecosystem-build/vaadin-ecosystem-build/settings.xml [INFO] Scanning for projects... [INFO] [INFO] ---------< org.vaadin.addons.flowingcode:grid-exporter-addon >---------- [INFO] Building Grid Exporter Add-on 3.1.0-SNAPSHOT [INFO] from pom.xml [INFO] --------------------------------[ jar ]--------------------------------- [INFO] [INFO] --- clean:3.2.0:clean (default-clean) @ grid-exporter-addon --- [INFO] Deleting /home/ghrunner/actions-runner/_work/vaadin-ecosystem-build/vaadin-ecosystem-build/work/Grid Exporter Add-on/target [INFO] [INFO] --- resources:3.3.1:resources (default-resources) @ grid-exporter-addon --- [INFO] Copying 5 resources from src/main/resources to target/classes [INFO] [INFO] --- vaadin:24.9-SNAPSHOT:prepare-frontend (default) @ grid-exporter-addon --- [INFO] Reflections took 1621 ms to scan 214 urls, producing 12779 keys and 58978 values [INFO] The globally installed Node.js version 18.19.1 is older than the required minimum version 20.0.0. Using Node.js from /home/ghrunner/.vaadin. [INFO] Visited 107 classes. Took 102 ms. [INFO] Copying frontend resources from jar files ... [INFO] Visited 215 resources. Took 116 ms. [INFO] [INFO] --- compiler:3.13.0:compile (default-compile) @ grid-exporter-addon --- [INFO] Recompiling the module because of changed source code. [INFO] Compiling 17 source files with javac [debug target 17] to target/classes [WARNING] system modules path not set in conjunction with -source 17 [INFO] Annotation processing is enabled because one or more processors were found on the class path. A future release of javac may disable annotation processing unless at least one processor is specified by name (-processor), or a search path is specified (--processor-path, --processor-module-path), or annotation processing is enabled explicitly (-proc:only, -proc:full). Use -Xlint:-options to suppress this message. Use -proc:none to disable annotation processing. [WARNING] /home/ghrunner/actions-runner/_work/vaadin-ecosystem-build/vaadin-ecosystem-build/work/Grid Exporter Add-on/src/main/java/com/flowingcode/vaadin/addons/gridexporter/GridExporter.java:[171,23] setHref(com.vaadin.flow.server.AbstractStreamResource) in com.vaadin.flow.component.html.Anchor has been deprecated and marked for removal [WARNING] /home/ghrunner/actions-runner/_work/vaadin-ecosystem-build/vaadin-ecosystem-build/work/Grid Exporter Add-on/src/main/java/com/flowingcode/vaadin/addons/gridexporter/GridExporter.java:[181,26] setHref(com.vaadin.flow.server.AbstractStreamResource) in com.vaadin.flow.component.html.Anchor has been deprecated and marked for removal [WARNING] /home/ghrunner/actions-runner/_work/vaadin-ecosystem-build/vaadin-ecosystem-build/work/Grid Exporter Add-on/src/main/java/com/flowingcode/vaadin/addons/gridexporter/GridExporter.java:[191,26] setHref(com.vaadin.flow.server.AbstractStreamResource) in com.vaadin.flow.component.html.Anchor has been deprecated and marked for removal [WARNING] /home/ghrunner/actions-runner/_work/vaadin-ecosystem-build/vaadin-ecosystem-build/work/Grid Exporter Add-on/src/main/java/com/flowingcode/vaadin/addons/gridexporter/GridExporter.java:[201,26] setHref(com.vaadin.flow.server.AbstractStreamResource) in com.vaadin.flow.component.html.Anchor has been deprecated and marked for removal [WARNING] /home/ghrunner/actions-runner/_work/vaadin-ecosystem-build/vaadin-ecosystem-build/work/Grid Exporter Add-on/src/main/java/com/flowingcode/vaadin/addons/gridexporter/GridExporter.java:[430,10] com.vaadin.flow.server.StreamResource in com.vaadin.flow.server has been deprecated and marked for removal [WARNING] /home/ghrunner/actions-runner/_work/vaadin-ecosystem-build/vaadin-ecosystem-build/work/Grid Exporter Add-on/src/main/java/com/flowingcode/vaadin/addons/gridexporter/GridExporter.java:[430,10] com.vaadin.flow.server.StreamResource in com.vaadin.flow.server has been deprecated and marked for removal [WARNING] /home/ghrunner/actions-runner/_work/vaadin-ecosystem-build/vaadin-ecosystem-build/work/Grid Exporter Add-on/src/main/java/com/flowingcode/vaadin/addons/gridexporter/GridExporter.java:[430,10] com.vaadin.flow.server.StreamResource in com.vaadin.flow.server has been deprecated and marked for removal [WARNING] /home/ghrunner/actions-runner/_work/vaadin-ecosystem-build/vaadin-ecosystem-build/work/Grid Exporter Add-on/src/main/java/com/flowingcode/vaadin/addons/gridexporter/GridExporter.java:[430,10] com.vaadin.flow.server.StreamResource in com.vaadin.flow.server has been deprecated and marked for removal [WARNING] /home/ghrunner/actions-runner/_work/vaadin-ecosystem-build/vaadin-ecosystem-build/work/Grid Exporter Add-on/src/main/java/com/flowingcode/vaadin/addons/gridexporter/GridExporter.java:[430,10] com.vaadin.flow.server.StreamResource in com.vaadin.flow.server has been deprecated and marked for removal [WARNING] /home/ghrunner/actions-runner/_work/vaadin-ecosystem-build/vaadin-ecosystem-build/work/Grid Exporter Add-on/src/main/java/com/flowingcode/vaadin/addons/gridexporter/GridExporter.java:[431,16] com.vaadin.flow.server.StreamResource in com.vaadin.flow.server has been deprecated and marked for removal [WARNING] /home/ghrunner/actions-runner/_work/vaadin-ecosystem-build/vaadin-ecosystem-build/work/Grid Exporter Add-on/src/main/java/com/flowingcode/vaadin/addons/gridexporter/GridExporter.java:[448,51] com.vaadin.flow.server.StreamResource in com.vaadin.flow.server has been deprecated and marked for removal [WARNING] /home/ghrunner/actions-runner/_work/vaadin-ecosystem-build/vaadin-ecosystem-build/work/Grid Exporter Add-on/src/main/java/com/flowingcode/vaadin/addons/gridexporter/GridExporter.java:[448,51] com.vaadin.flow.server.StreamResource in com.vaadin.flow.server has been deprecated and marked for removal [WARNING] /home/ghrunner/actions-runner/_work/vaadin-ecosystem-build/vaadin-ecosystem-build/work/Grid Exporter Add-on/src/main/java/com/flowingcode/vaadin/addons/gridexporter/GridExporter.java:[448,51] com.vaadin.flow.server.StreamResource in com.vaadin.flow.server has been deprecated and marked for removal [WARNING] /home/ghrunner/actions-runner/_work/vaadin-ecosystem-build/vaadin-ecosystem-build/work/Grid Exporter Add-on/src/main/java/com/flowingcode/vaadin/addons/gridexporter/GridExporter.java:[448,51] com.vaadin.flow.server.StreamResource in com.vaadin.flow.server has been deprecated and marked for removal [WARNING] /home/ghrunner/actions-runner/_work/vaadin-ecosystem-build/vaadin-ecosystem-build/work/Grid Exporter Add-on/src/main/java/com/flowingcode/vaadin/addons/gridexporter/GridExporter.java:[448,51] com.vaadin.flow.server.StreamResource in com.vaadin.flow.server has been deprecated and marked for removal [WARNING] /home/ghrunner/actions-runner/_work/vaadin-ecosystem-build/vaadin-ecosystem-build/work/Grid Exporter Add-on/src/main/java/com/flowingcode/vaadin/addons/gridexporter/DocxStreamResourceWriter.java:[169,23] totalcells in com.flowingcode.vaadin.addons.gridexporter.GridExporter has been deprecated and marked for removal [WARNING] /home/ghrunner/actions-runner/_work/vaadin-ecosystem-build/vaadin-ecosystem-build/work/Grid Exporter Add-on/src/main/java/com/flowingcode/vaadin/addons/gridexporter/DocxStreamResourceWriter.java:[169,45] totalcells in com.flowingcode.vaadin.addons.gridexporter.GridExporter has been deprecated and marked for removal [INFO] /home/ghrunner/actions-runner/_work/vaadin-ecosystem-build/vaadin-ecosystem-build/work/Grid Exporter Add-on/src/main/java/com/flowingcode/vaadin/addons/gridexporter/GridExporter.java: /home/ghrunner/actions-runner/_work/vaadin-ecosystem-build/vaadin-ecosystem-build/work/Grid Exporter Add-on/src/main/java/com/flowingcode/vaadin/addons/gridexporter/GridExporter.java uses unchecked or unsafe operations. [INFO] /home/ghrunner/actions-runner/_work/vaadin-ecosystem-build/vaadin-ecosystem-build/work/Grid Exporter Add-on/src/main/java/com/flowingcode/vaadin/addons/gridexporter/GridExporter.java: Recompile with -Xlint:unchecked for details. [INFO] [INFO] --- resources:3.3.1:testResources (default-testResources) @ grid-exporter-addon --- [INFO] Copying 9 resources from src/test/resources to target/test-classes [INFO] [INFO] --- compiler:3.13.0:testCompile (default-testCompile) @ grid-exporter-addon --- [INFO] Recompiling the module because of changed dependency. [INFO] Compiling 21 source files with javac [debug target 17] to target/test-classes [WARNING] system modules path not set in conjunction with -source 17 [INFO] Annotation processing is enabled because one or more processors were found on the class path. A future release of javac may disable annotation processing unless at least one processor is specified by name (-processor), or a search path is specified (--processor-path, --processor-module-path), or annotation processing is enabled explicitly (-proc:only, -proc:full). Use -Xlint:-options to suppress this message. Use -proc:none to disable annotation processing. [WARNING] /home/ghrunner/actions-runner/_work/vaadin-ecosystem-build/vaadin-ecosystem-build/work/Grid Exporter Add-on/src/test/java/com/flowingcode/vaadin/addons/gridexporter/GridExporterCustomLinkDemo.java:[79,14] setHref(com.vaadin.flow.server.AbstractStreamResource) in com.vaadin.flow.component.html.Anchor has been deprecated and marked for removal [INFO] /home/ghrunner/actions-runner/_work/vaadin-ecosystem-build/vaadin-ecosystem-build/work/Grid Exporter Add-on/src/test/java/com/flowingcode/vaadin/addons/gridexporter/it/ViewIT.java: Some input files use or override a deprecated API. [INFO] /home/ghrunner/actions-runner/_work/vaadin-ecosystem-build/vaadin-ecosystem-build/work/Grid Exporter Add-on/src/test/java/com/flowingcode/vaadin/addons/gridexporter/it/ViewIT.java: Recompile with -Xlint:deprecation for details. [INFO] [INFO] --- surefire:2.22.1:test (default-test) @ grid-exporter-addon --- [INFO] [INFO] ------------------------------------------------------- [INFO] T E S T S [INFO] ------------------------------------------------------- [INFO] Running com.flowingcode.vaadin.addons.gridexporter.test.SerializationTest [INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.907 s - in com.flowingcode.vaadin.addons.gridexporter.test.SerializationTest [INFO] Running com.flowingcode.vaadin.addons.gridexporter.test.ConcurrentExportTests [t= 76ms] [download-q1] download-q1: thread started (interrupted=false) [t= 120ms] [download-q1] download-q1: onAccept() [t= 123ms] [download-q1] download-q1: delegate running — counting down latch [t= 124ms] [download-q1] download-q1: delegate entering barrier (waiting=0) [t= 134ms] [download-q1] await(barrier): entering (waiting=0, parties=2) [t= 150ms] [download-q2] download-q2: thread started (interrupted=false) [t= 150ms] [download-q2] download-q2: onAccept() [t= 150ms] [download-q2] download-q2: delegate running — counting down latch [t= 151ms] [download-q2] download-q2: delegate entering barrier (waiting=1) [t= 151ms] [download-q2] await(barrier): entering (waiting=1, parties=2) [t= 151ms] [download-q2] await(barrier): returned [t= 151ms] [download-q2] download-q2: delegate exited barrier [t= 151ms] [download-q2] download-q2: onFinish() [t= 151ms] [download-q2] download-q2: entering exchanger [t= 151ms] [download-q1] await(barrier): returned [t= 152ms] [download-q1] download-q1: delegate exited barrier [t= 152ms] [download-q1] download-q1: onFinish() [t= 152ms] [download-q1] download-q1: entering exchanger [t= 158ms] [download-q1] download-q1: exchanger completed [t= 164ms] [download-q2] download-q2: exchanger completed [t= 188ms] [download-q1] download-q1: thread started (interrupted=false) [t= 188ms] [download-q1] download-q1: onAccept() [t= 189ms] [download-q1] download-q1: delegate running — counting down latch [t= 189ms] [download-q1] download-q1: delegate entering barrier (waiting=0) [t= 189ms] [download-q1] await(barrier): entering (waiting=0, parties=2) [t= 194ms] [download-q2] download-q2: thread started (interrupted=false) [t= 194ms] [download-q2] download-q2: onAccept() [t= 194ms] [download-q2] download-q2: onTimeout() — semaphore not acquired within timeout [t= 194ms] [download-q2] download-q2: onFinish() [t= 195ms] [download-q2] download-q2: writer.accept() threw InterruptedByTimeoutException [t= 195ms] [download-q2] download-q2: counting down latch (fallback) and entering exchanger [t= 197ms] [Time-limited test] await(barrier): entering (waiting=1, parties=2) [t= 197ms] [download-q1] await(barrier): returned [t= 197ms] [download-q1] download-q1: delegate exited barrier [t= 197ms] [download-q1] download-q1: onFinish() [t= 197ms] [download-q1] download-q1: entering exchanger [t= 197ms] [Time-limited test] await(barrier): returned [t= 199ms] [download-q1] download-q1: exchanger completed [t= 201ms] [download-q2] download-q2: exchanger completed [t= 206ms] [download-q1] download-q1: thread started (interrupted=false) [t= 207ms] [download-q1] download-q1: onAccept() [t= 207ms] [download-q1] download-q1: delegate running — counting down latch [t= 207ms] [download-q1] download-q1: delegate entering barrier (waiting=0) [t= 208ms] [download-q1] await(barrier): entering (waiting=0, parties=3) [t= 213ms] [download-q2] download-q2: thread started (interrupted=false) [t= 214ms] [download-q2] download-q2: onAccept() [t= 214ms] [download-q2] download-q2: delegate running — counting down latch [t= 214ms] [download-q2] download-q2: delegate entering barrier (waiting=1) [t= 214ms] [download-q2] await(barrier): entering (waiting=1, parties=3) [t= 216ms] [download-q3] download-q3: thread started (interrupted=false) [t= 218ms] [download-q3] download-q3: onAccept() [t= 218ms] [download-q3] download-q3: onTimeout() — semaphore not acquired within timeout [t= 218ms] [download-q3] download-q3: onFinish() [t= 218ms] [download-q3] download-q3: writer.accept() threw InterruptedByTimeoutException [t= 218ms] [download-q3] download-q3: counting down latch (fallback) and entering exchanger [t= 222ms] [Time-limited test] await(barrier): entering (waiting=2, parties=3) [t= 222ms] [Time-limited test] await(barrier): returned [t= 223ms] [download-q1] await(barrier): returned [t= 223ms] [download-q1] download-q1: delegate exited barrier [t= 223ms] [download-q1] download-q1: onFinish() [t= 223ms] [download-q1] download-q1: entering exchanger [t= 223ms] [download-q1] download-q1: exchanger completed [t= 225ms] [download-q2] await(barrier): returned [t= 225ms] [download-q2] download-q2: delegate exited barrier [t= 225ms] [download-q2] download-q2: onFinish() [t= 225ms] [download-q2] download-q2: entering exchanger [t= 225ms] [download-q2] download-q2: exchanger completed [t= 225ms] [download-q3] download-q3: exchanger completed [t= 234ms] [download-q1] download-q1: thread started (interrupted=false) [t= 235ms] [download-q1] download-q1: onAccept() [t= 235ms] [download-q1] download-q1: delegate running — counting down latch [t= 235ms] [download-q1] download-q1: delegate entering barrier (waiting=0) [t= 235ms] [download-q1] await(barrier): entering (waiting=0, parties=2) [t= 238ms] [download-q2] download-q2: thread started (interrupted=false) [t= 240ms] [download-q2] download-q2: onAccept() [t= 240ms] [download-q2] download-q2: onTimeout() — semaphore not acquired within timeout [t= 240ms] [download-q2] download-q2: onFinish() [t= 241ms] [download-q2] download-q2: writer.accept() threw InterruptedByTimeoutException [t= 241ms] [download-q2] download-q2: counting down latch (fallback) and entering exchanger [t= 246ms] [download-q3] download-q3: thread started (interrupted=false) [t= 247ms] [download-q3] download-q3: onAccept() [t= 247ms] [download-q3] download-q3: onTimeout() — semaphore not acquired within timeout [t= 247ms] [download-q3] download-q3: onFinish() [t= 247ms] [download-q3] download-q3: writer.accept() threw InterruptedByTimeoutException [t= 247ms] [download-q3] download-q3: counting down latch (fallback) and entering exchanger [t= 249ms] [Time-limited test] await(barrier): entering (waiting=1, parties=2) [t= 249ms] [Time-limited test] await(barrier): returned [t= 249ms] [download-q1] await(barrier): returned [t= 250ms] [download-q1] download-q1: delegate exited barrier [t= 250ms] [download-q1] download-q1: onFinish() [t= 250ms] [download-q1] download-q1: entering exchanger [t= 250ms] [download-q1] download-q1: exchanger completed [t= 251ms] [download-q3] download-q3: exchanger completed [t= 251ms] [download-q2] download-q2: exchanger completed [t= 256ms] [download-q1] download-q1: thread started (interrupted=false) [t= 258ms] [download-q1] download-q1: onAccept() [t= 258ms] [download-q1] download-q1: delegate running — counting down latch [t= 260ms] [download-q1] download-q1: delegate entering barrier (waiting=0) [t= 260ms] [download-q1] await(barrier): entering (waiting=0, parties=2) [t= 267ms] [download-q2] download-q2: thread started (interrupted=false) [t= 268ms] [download-q2] download-q2: onAccept() [t= 268ms] [download-q2] download-q2: delegate running — counting down latch [t= 268ms] [download-q2] download-q2: delegate entering barrier (waiting=1) [t= 268ms] [download-q2] await(barrier): entering (waiting=1, parties=2) [t= 268ms] [download-q2] await(barrier): returned [t= 268ms] [download-q2] download-q2: delegate exited barrier [t= 268ms] [download-q1] await(barrier): returned [t= 268ms] [download-q2] download-q2: onFinish() [t= 268ms] [download-q1] download-q1: delegate exited barrier [t= 270ms] [download-q1] download-q1: onFinish() [t= 270ms] [download-q1] download-q1: entering exchanger [t= 268ms] [download-q2] download-q2: entering exchanger [t= 278ms] [download-q2] download-q2: exchanger completed [t= 280ms] [download-q1] download-q1: exchanger completed [t= 289ms] [download-q1] download-q1: thread started (interrupted=false) [t= 290ms] [download-q1] download-q1: onAccept() [t= 291ms] [download-q1] download-q1: delegate running — counting down latch [t= 292ms] [download-q1] download-q1: delegate entering barrier (waiting=0) [t= 293ms] [download-q1] await(barrier): entering (waiting=0, parties=2) [t= 296ms] [download-q2] download-q2: thread started (interrupted=false) [t= 301ms] [download-q2] download-q2: onAccept() [t= 302ms] [download-q1] await(barrier): returned [t= 302ms] [download-q1] download-q1: delegate exited barrier [t= 302ms] [download-q1] download-q1: onFinish() [t= 302ms] [download-q1] download-q1: entering exchanger [t= 302ms] [download-q1] download-q1: exchanger completed [t= 302ms] [download-q2] download-q2: onFinish() [t= 302ms] [download-q2] download-q2: writer.accept() threw IOException [t= 302ms] [download-q2] download-q2: counting down latch (fallback) and entering exchanger [t= 308ms] [download-q2] download-q2: exchanger completed [t= 321ms] [download-q1] download-q1: thread started (interrupted=false) [t= 321ms] [download-q1] download-q1: onAccept() [t= 321ms] [download-q1] download-q1: delegate running — counting down latch [t= 321ms] [download-q1] download-q1: delegate entering barrier (waiting=0) [t= 322ms] [download-q1] await(barrier): entering (waiting=0, parties=2) [t= 326ms] [download-q2] download-q2: thread started (interrupted=false) [t= 326ms] [download-q2] download-q2: onAccept() [t= 326ms] [download-q2] download-q2: delegate running — counting down latch [t= 326ms] [download-q2] download-q2: delegate entering barrier (waiting=1) [t= 326ms] [download-q2] await(barrier): entering (waiting=1, parties=2) [t= 326ms] [download-q2] await(barrier): returned [t= 327ms] [download-q2] download-q2: delegate exited barrier [t= 327ms] [download-q2] download-q2: onFinish() [t= 327ms] [download-q2] download-q2: entering exchanger [t= 331ms] [download-q1] await(barrier): returned [t= 331ms] [download-q1] download-q1: delegate exited barrier [t= 332ms] [download-q1] download-q1: onFinish() [t= 332ms] [download-q1] download-q1: entering exchanger [t= 332ms] [download-q1] download-q1: exchanger completed [t= 333ms] [download-q2] download-q2: exchanger completed [INFO] Tests run: 10, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.251 s - in com.flowingcode.vaadin.addons.gridexporter.test.ConcurrentExportTests [INFO] [INFO] Results: [INFO] [INFO] Tests run: 11, Failures: 0, Errors: 0, Skipped: 0 [INFO] [INFO] [INFO] --- jar:3.1.2:jar (default-jar) @ grid-exporter-addon --- [INFO] Building jar: /home/ghrunner/actions-runner/_work/vaadin-ecosystem-build/vaadin-ecosystem-build/work/Grid Exporter Add-on/target/grid-exporter-addon-3.1.0-SNAPSHOT.jar [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 9.659 s [INFO] Finished at: 2026-06-14T06:36:25Z [INFO] ------------------------------------------------------------------------