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.050 s [INFO] Finished at: 2026-06-12T06:37:20Z [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.830 s [INFO] Finished at: 2026-06-12T06:37:22Z [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 1509 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 104 ms. [INFO] Copying frontend resources from jar files ... [INFO] Visited 215 resources. Took 120 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.888 s - in com.flowingcode.vaadin.addons.gridexporter.test.SerializationTest [INFO] Running com.flowingcode.vaadin.addons.gridexporter.test.ConcurrentExportTests [t= 62ms] [download-q1] download-q1: thread started (interrupted=false) [t= 78ms] [download-q1] download-q1: onAccept() [t= 78ms] [download-q1] download-q1: delegate running — counting down latch [t= 82ms] [download-q1] download-q1: delegate entering barrier (waiting=0) [t= 85ms] [download-q1] await(barrier): entering (waiting=0, parties=2) [t= 88ms] [download-q2] download-q2: thread started (interrupted=false) [t= 88ms] [download-q2] download-q2: onAccept() [t= 88ms] [download-q2] download-q2: delegate running — counting down latch [t= 89ms] [download-q2] download-q2: delegate entering barrier (waiting=1) [t= 89ms] [download-q2] await(barrier): entering (waiting=1, parties=2) [t= 89ms] [download-q2] await(barrier): returned [t= 89ms] [download-q2] download-q2: delegate exited barrier [t= 89ms] [download-q2] download-q2: onFinish() [t= 90ms] [download-q2] download-q2: entering exchanger [t= 93ms] [download-q1] await(barrier): returned [t= 93ms] [download-q1] download-q1: delegate exited barrier [t= 94ms] [download-q1] download-q1: onFinish() [t= 94ms] [download-q1] download-q1: entering exchanger [t= 95ms] [download-q1] download-q1: exchanger completed [t= 97ms] [download-q2] download-q2: exchanger completed [t= 117ms] [download-q1] download-q1: thread started (interrupted=false) [t= 118ms] [download-q1] download-q1: onAccept() [t= 118ms] [download-q1] download-q1: delegate running — counting down latch [t= 118ms] [download-q1] download-q1: delegate entering barrier (waiting=0) [t= 118ms] [download-q1] await(barrier): entering (waiting=0, parties=2) [t= 123ms] [download-q2] download-q2: thread started (interrupted=false) [t= 124ms] [download-q2] download-q2: onAccept() [t= 124ms] [download-q2] download-q2: onTimeout() — semaphore not acquired within timeout [t= 124ms] [download-q2] download-q2: onFinish() [t= 124ms] [download-q2] download-q2: writer.accept() threw InterruptedByTimeoutException [t= 124ms] [download-q2] download-q2: counting down latch (fallback) and entering exchanger [t= 131ms] [Time-limited test] await(barrier): entering (waiting=1, parties=2) [t= 131ms] [Time-limited test] await(barrier): returned [t= 131ms] [download-q1] await(barrier): returned [t= 131ms] [download-q1] download-q1: delegate exited barrier [t= 131ms] [download-q1] download-q1: onFinish() [t= 131ms] [download-q1] download-q1: entering exchanger [t= 131ms] [download-q1] download-q1: exchanger completed [t= 140ms] [download-q2] download-q2: exchanger completed [t= 153ms] [download-q1] download-q1: thread started (interrupted=false) [t= 153ms] [download-q1] download-q1: onAccept() [t= 153ms] [download-q1] download-q1: delegate running — counting down latch [t= 153ms] [download-q1] download-q1: delegate entering barrier (waiting=0) [t= 154ms] [download-q1] await(barrier): entering (waiting=0, parties=3) [t= 154ms] [download-q2] download-q2: thread started (interrupted=false) [t= 154ms] [download-q2] download-q2: onAccept() [t= 155ms] [download-q2] download-q2: delegate running — counting down latch [t= 155ms] [download-q2] download-q2: delegate entering barrier (waiting=1) [t= 155ms] [download-q2] await(barrier): entering (waiting=1, parties=3) [t= 161ms] [download-q3] download-q3: thread started (interrupted=false) [t= 161ms] [download-q3] download-q3: onAccept() [t= 161ms] [download-q3] download-q3: onTimeout() — semaphore not acquired within timeout [t= 161ms] [download-q3] download-q3: onFinish() [t= 161ms] [download-q3] download-q3: writer.accept() threw InterruptedByTimeoutException [t= 161ms] [download-q3] download-q3: counting down latch (fallback) and entering exchanger [t= 161ms] [Time-limited test] await(barrier): entering (waiting=2, parties=3) [t= 161ms] [download-q1] await(barrier): returned [t= 161ms] [download-q1] download-q1: delegate exited barrier [t= 161ms] [download-q1] download-q1: onFinish() [t= 162ms] [download-q1] download-q1: entering exchanger [t= 162ms] [Time-limited test] await(barrier): returned [t= 162ms] [download-q2] await(barrier): returned [t= 162ms] [download-q1] download-q1: exchanger completed [t= 162ms] [download-q2] download-q2: delegate exited barrier [t= 165ms] [download-q2] download-q2: onFinish() [t= 165ms] [download-q2] download-q2: entering exchanger [t= 165ms] [download-q2] download-q2: exchanger completed [t= 165ms] [download-q3] download-q3: exchanger completed [t= 172ms] [download-q1] download-q1: thread started (interrupted=false) [t= 173ms] [download-q1] download-q1: onAccept() [t= 173ms] [download-q1] download-q1: delegate running — counting down latch [t= 173ms] [download-q1] download-q1: delegate entering barrier (waiting=0) [t= 173ms] [download-q1] await(barrier): entering (waiting=0, parties=2) [t= 179ms] [download-q2] download-q2: thread started (interrupted=false) [t= 180ms] [download-q2] download-q2: onAccept() [t= 180ms] [download-q2] download-q2: onTimeout() — semaphore not acquired within timeout [t= 180ms] [download-q2] download-q2: onFinish() [t= 180ms] [download-q2] download-q2: writer.accept() threw InterruptedByTimeoutException [t= 180ms] [download-q2] download-q2: counting down latch (fallback) and entering exchanger [t= 189ms] [download-q3] download-q3: thread started (interrupted=false) [t= 190ms] [download-q3] download-q3: onAccept() [t= 190ms] [download-q3] download-q3: onTimeout() — semaphore not acquired within timeout [t= 190ms] [download-q3] download-q3: onFinish() [t= 190ms] [download-q3] download-q3: writer.accept() threw InterruptedByTimeoutException [t= 190ms] [download-q3] download-q3: counting down latch (fallback) and entering exchanger [t= 190ms] [Time-limited test] await(barrier): entering (waiting=1, parties=2) [t= 190ms] [Time-limited test] await(barrier): returned [t= 193ms] [download-q1] await(barrier): returned [t= 193ms] [download-q1] download-q1: delegate exited barrier [t= 193ms] [download-q1] download-q1: onFinish() [t= 193ms] [download-q1] download-q1: entering exchanger [t= 193ms] [download-q1] download-q1: exchanger completed [t= 194ms] [download-q2] download-q2: exchanger completed [t= 194ms] [download-q3] download-q3: exchanger completed [t= 204ms] [download-q1] download-q1: thread started (interrupted=false) [t= 205ms] [download-q1] download-q1: onAccept() [t= 205ms] [download-q1] download-q1: delegate running — counting down latch [t= 205ms] [download-q1] download-q1: delegate entering barrier (waiting=0) [t= 206ms] [download-q1] await(barrier): entering (waiting=0, parties=2) [t= 214ms] [download-q2] download-q2: thread started (interrupted=false) [t= 215ms] [download-q2] download-q2: onAccept() [t= 215ms] [download-q2] download-q2: delegate running — counting down latch [t= 215ms] [download-q2] download-q2: delegate entering barrier (waiting=1) [t= 216ms] [download-q2] await(barrier): entering (waiting=1, parties=2) [t= 216ms] [download-q2] await(barrier): returned [t= 216ms] [download-q2] download-q2: delegate exited barrier [t= 216ms] [download-q1] await(barrier): returned [t= 216ms] [download-q2] download-q2: onFinish() [t= 216ms] [download-q1] download-q1: delegate exited barrier [t= 216ms] [download-q2] download-q2: entering exchanger [t= 216ms] [download-q1] download-q1: onFinish() [t= 216ms] [download-q1] download-q1: entering exchanger [t= 233ms] [download-q1] download-q1: exchanger completed [t= 234ms] [download-q2] download-q2: exchanger completed [t= 236ms] [download-q1] download-q1: thread started (interrupted=false) [t= 236ms] [download-q1] download-q1: onAccept() [t= 237ms] [download-q1] download-q1: delegate running — counting down latch [t= 248ms] [download-q1] download-q1: delegate entering barrier (waiting=0) [t= 249ms] [download-q1] await(barrier): entering (waiting=0, parties=2) [t= 254ms] [download-q2] download-q2: thread started (interrupted=false) [t= 255ms] [download-q2] download-q2: onAccept() [t= 255ms] [download-q1] await(barrier): returned [t= 255ms] [download-q1] download-q1: delegate exited barrier [t= 255ms] [download-q1] download-q1: onFinish() [t= 255ms] [download-q1] download-q1: entering exchanger [t= 255ms] [download-q1] download-q1: exchanger completed [t= 257ms] [download-q2] download-q2: onFinish() [t= 257ms] [download-q2] download-q2: writer.accept() threw IOException [t= 257ms] [download-q2] download-q2: counting down latch (fallback) and entering exchanger [t= 257ms] [download-q2] download-q2: exchanger completed [t= 280ms] [download-q1] download-q1: thread started (interrupted=false) [t= 280ms] [download-q1] download-q1: onAccept() [t= 280ms] [download-q1] download-q1: delegate running — counting down latch [t= 281ms] [download-q1] download-q1: delegate entering barrier (waiting=0) [t= 281ms] [download-q1] await(barrier): entering (waiting=0, parties=2) [t= 282ms] [download-q2] download-q2: thread started (interrupted=false) [t= 282ms] [download-q2] download-q2: onAccept() [t= 282ms] [download-q2] download-q2: delegate running — counting down latch [t= 282ms] [download-q2] download-q2: delegate entering barrier (waiting=1) [t= 282ms] [download-q2] await(barrier): entering (waiting=1, parties=2) [t= 282ms] [download-q2] await(barrier): returned [t= 282ms] [download-q2] download-q2: delegate exited barrier [t= 282ms] [download-q2] download-q2: onFinish() [t= 282ms] [download-q2] download-q2: entering exchanger [t= 282ms] [download-q1] await(barrier): returned [t= 283ms] [download-q1] download-q1: delegate exited barrier [t= 283ms] [download-q1] download-q1: onFinish() [t= 283ms] [download-q1] download-q1: entering exchanger [t= 284ms] [download-q2] download-q2: exchanger completed [INFO] Tests run: 10, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.175 s - in com.flowingcode.vaadin.addons.gridexporter.test.ConcurrentExportTests [t= 287ms] [download-q1] download-q1: exchanger completed [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.407 s [INFO] Finished at: 2026-06-12T06:37:33Z [INFO] ------------------------------------------------------------------------