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 c63345b test: replace latch await with state-aware spin [INFO] Scanning for projects... [INFO] [INFO] ---------< org.vaadin.addons.flowingcode:grid-exporter-addon >---------- [INFO] Building Grid Exporter Add-on 3.0.1-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.785 s [INFO] Finished at: 2026-03-24T06:27:41Z [INFO] ------------------------------------------------------------------------ [INFO] Scanning for projects... [INFO] [INFO] ---------< org.vaadin.addons.flowingcode:grid-exporter-addon >---------- [INFO] Building Grid Exporter Add-on 3.0.1-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.0.1-SNAPSHOT -> 25.0.7 [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 1.655 s [INFO] Finished at: 2026-03-24T06:27:45Z [INFO] ------------------------------------------------------------------------ [INFO] Scanning for projects... [INFO] [INFO] ---------< org.vaadin.addons.flowingcode:grid-exporter-addon >---------- [INFO] Building Grid Exporter Add-on 3.0.1-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:25.0.7:prepare-frontend (default) @ grid-exporter-addon --- [INFO] Reflections took 1889 ms to scan 147 urls, producing 9544 keys and 44501 values [INFO] Visited 99 classes. Took 160 ms. [INFO] Copying frontend resources from jar files ... [INFO] Visited 157 resources. Took 143 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 21] to target/classes [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:[160,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:[168,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:[176,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:[184,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:[326,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:[326,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:[326,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:[326,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:[326,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:[327,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:[344,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:[344,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:[344,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:[344,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:[344,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 20 source files with javac [debug target 21] to target/test-classes [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: 1.059 s - in com.flowingcode.vaadin.addons.gridexporter.test.SerializationTest [INFO] Running com.flowingcode.vaadin.addons.gridexporter.test.ConcurrentExportTests [t= 79ms] [download-q1] download-q1: thread started (interrupted=false) [t= 107ms] [download-q1] download-q1: onAccept() [t= 108ms] [download-q1] download-q1: delegate running — counting down latch [t= 108ms] [download-q1] download-q1: delegate entering barrier (waiting=0) [t= 112ms] [download-q2] download-q2: thread started (interrupted=false) [t= 112ms] [download-q2] download-q2: onAccept() [t= 112ms] [download-q2] download-q2: delegate running — counting down latch [t= 112ms] [download-q2] download-q2: delegate entering barrier (waiting=0) [t= 113ms] [download-q2] await(barrier): entering (waiting=0, parties=2) [t= 113ms] [download-q1] await(barrier): entering (waiting=0, parties=2) [t= 114ms] [download-q1] await(barrier): returned [t= 115ms] [download-q2] await(barrier): returned [t= 115ms] [download-q2] download-q2: delegate exited barrier [t= 115ms] [download-q2] download-q2: onFinish() [t= 115ms] [download-q2] download-q2: entering exchanger [t= 114ms] [download-q1] download-q1: delegate exited barrier [t= 115ms] [download-q1] download-q1: onFinish() [t= 115ms] [download-q1] download-q1: entering exchanger [t= 118ms] [download-q1] download-q1: exchanger completed [t= 118ms] [download-q2] download-q2: exchanger completed [t= 128ms] [download-q1] download-q1: thread started (interrupted=false) [t= 128ms] [download-q1] download-q1: onAccept() [t= 128ms] [download-q1] download-q1: delegate running — counting down latch [t= 128ms] [download-q1] download-q1: delegate entering barrier (waiting=0) [t= 129ms] [download-q1] await(barrier): entering (waiting=0, parties=2) [t= 133ms] [download-q2] download-q2: thread started (interrupted=false) [t= 133ms] [download-q2] download-q2: onAccept() [t= 133ms] [download-q2] download-q2: onTimeout() — semaphore not acquired within timeout [t= 133ms] [download-q2] download-q2: onFinish() [t= 133ms] [download-q2] download-q2: writer.accept() threw InterruptedByTimeoutException [t= 134ms] [download-q2] download-q2: counting down latch (fallback) and entering exchanger [t= 136ms] [Time-limited test] await(barrier): entering (waiting=1, parties=2) [t= 136ms] [Time-limited test] await(barrier): returned [t= 136ms] [download-q1] await(barrier): returned [t= 137ms] [download-q1] download-q1: delegate exited barrier [t= 137ms] [download-q1] download-q1: onFinish() [t= 137ms] [download-q1] download-q1: entering exchanger [t= 137ms] [download-q1] download-q1: exchanger completed [t= 141ms] [download-q2] download-q2: exchanger completed [t= 147ms] [download-q1] download-q1: thread started (interrupted=false) [t= 147ms] [download-q1] download-q1: onAccept() [t= 147ms] [download-q1] download-q1: delegate running — counting down latch [t= 148ms] [download-q1] download-q1: delegate entering barrier (waiting=0) [t= 150ms] [download-q1] await(barrier): entering (waiting=0, parties=3) [t= 150ms] [download-q2] download-q2: thread started (interrupted=false) [t= 151ms] [download-q2] download-q2: onAccept() [t= 151ms] [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=3) [t= 152ms] [download-q3] download-q3: thread started (interrupted=false) [t= 152ms] [download-q3] download-q3: onAccept() [t= 152ms] [download-q3] download-q3: onTimeout() — semaphore not acquired within timeout [t= 152ms] [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= 164ms] [Time-limited test] await(barrier): entering (waiting=2, parties=3) [t= 164ms] [Time-limited test] await(barrier): returned [t= 164ms] [download-q1] await(barrier): returned [t= 164ms] [download-q1] download-q1: delegate exited barrier [t= 164ms] [download-q1] download-q1: onFinish() [t= 164ms] [download-q1] download-q1: entering exchanger [t= 164ms] [download-q1] download-q1: exchanger completed [t= 165ms] [download-q2] await(barrier): returned [t= 165ms] [download-q2] download-q2: delegate exited barrier [t= 165ms] [download-q2] download-q2: onFinish() [t= 166ms] [download-q2] download-q2: entering exchanger [t= 166ms] [download-q2] download-q2: exchanger completed [t= 166ms] [download-q3] download-q3: exchanger completed [t= 174ms] [download-q1] download-q1: thread started (interrupted=false) [t= 174ms] [download-q1] download-q1: onAccept() [t= 174ms] [download-q1] download-q1: delegate running — counting down latch [t= 174ms] [download-q1] download-q1: delegate entering barrier (waiting=0) [t= 174ms] [download-q1] await(barrier): entering (waiting=0, parties=2) [t= 176ms] [download-q2] download-q2: thread started (interrupted=false) [t= 177ms] [download-q2] download-q2: onAccept() [t= 177ms] [download-q2] download-q2: onTimeout() — semaphore not acquired within timeout [t= 177ms] [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= 201ms] [download-q3] download-q3: thread started (interrupted=false) [t= 201ms] [download-q3] download-q3: onAccept() [t= 202ms] [download-q3] download-q3: onTimeout() — semaphore not acquired within timeout [t= 202ms] [download-q3] download-q3: onFinish() [t= 202ms] [download-q3] download-q3: writer.accept() threw InterruptedByTimeoutException [t= 202ms] [download-q3] download-q3: counting down latch (fallback) and entering exchanger [t= 202ms] [Time-limited test] await(barrier): entering (waiting=1, parties=2) [t= 202ms] [Time-limited test] await(barrier): returned [t= 204ms] [download-q1] await(barrier): returned [t= 204ms] [download-q1] download-q1: delegate exited barrier [t= 204ms] [download-q1] download-q1: onFinish() [t= 204ms] [download-q1] download-q1: entering exchanger [t= 205ms] [download-q2] download-q2: exchanger completed [t= 205ms] [download-q3] download-q3: exchanger completed [t= 205ms] [download-q1] download-q1: exchanger completed [t= 216ms] [download-q1] download-q1: thread started (interrupted=false) [t= 223ms] [download-q1] download-q1: onAccept() [t= 223ms] [download-q1] download-q1: delegate running — counting down latch [t= 224ms] [download-q1] download-q1: delegate entering barrier (waiting=0) [t= 224ms] [download-q1] await(barrier): entering (waiting=0, parties=2) [t= 230ms] [download-q2] download-q2: thread started (interrupted=false) [t= 230ms] [download-q2] download-q2: onAccept() [t= 230ms] [download-q2] download-q2: delegate running — counting down latch [t= 230ms] [download-q2] download-q2: delegate entering barrier (waiting=1) [t= 230ms] [download-q2] await(barrier): entering (waiting=1, parties=2) [t= 230ms] [download-q2] await(barrier): returned [t= 230ms] [download-q2] download-q2: delegate exited barrier [t= 230ms] [download-q1] await(barrier): returned [t= 230ms] [download-q2] download-q2: onFinish() [t= 230ms] [download-q1] download-q1: delegate exited barrier [t= 230ms] [download-q2] download-q2: entering exchanger [t= 230ms] [download-q1] download-q1: onFinish() [t= 230ms] [download-q1] download-q1: entering exchanger [t= 230ms] [download-q1] download-q1: exchanger completed [t= 231ms] [download-q2] download-q2: exchanger completed [t= 239ms] [download-q1] download-q1: thread started (interrupted=false) [t= 239ms] [download-q1] download-q1: onAccept() [t= 240ms] [download-q1] download-q1: delegate running — counting down latch [t= 243ms] [download-q1] download-q1: delegate entering barrier (waiting=0) [t= 243ms] [download-q1] await(barrier): entering (waiting=0, parties=2) [t= 246ms] [download-q2] download-q2: thread started (interrupted=false) [t= 246ms] [download-q2] download-q2: onAccept() [t= 248ms] [download-q1] await(barrier): returned [t= 248ms] [download-q1] download-q1: delegate exited barrier [t= 248ms] [download-q2] download-q2: onFinish() [t= 248ms] [download-q1] download-q1: onFinish() [t= 249ms] [download-q1] download-q1: entering exchanger [t= 249ms] [download-q1] download-q1: exchanger completed [t= 248ms] [download-q2] download-q2: writer.accept() threw IOException [t= 249ms] [download-q2] download-q2: counting down latch (fallback) and entering exchanger [t= 249ms] [download-q2] download-q2: exchanger completed [t= 260ms] [download-q1] download-q1: thread started (interrupted=false) [t= 261ms] [download-q1] download-q1: onAccept() [t= 261ms] [download-q1] download-q1: delegate running — counting down latch [t= 261ms] [download-q1] download-q1: delegate entering barrier (waiting=0) [t= 261ms] [download-q1] await(barrier): entering (waiting=0, parties=2) [t= 262ms] [download-q2] download-q2: thread started (interrupted=false) [t= 263ms] [download-q2] download-q2: onAccept() [t= 263ms] [download-q2] download-q2: delegate running — counting down latch [t= 263ms] [download-q2] download-q2: delegate entering barrier (waiting=1) [t= 263ms] [download-q2] await(barrier): entering (waiting=1, parties=2) [t= 263ms] [download-q2] await(barrier): returned [t= 264ms] [download-q2] download-q2: delegate exited barrier [t= 264ms] [download-q2] download-q2: onFinish() [t= 265ms] [download-q1] await(barrier): returned [t= 265ms] [download-q1] download-q1: delegate exited barrier [t= 265ms] [download-q2] download-q2: entering exchanger [t= 265ms] [download-q1] download-q1: onFinish() [t= 265ms] [download-q1] download-q1: entering exchanger [t= 265ms] [download-q1] download-q1: exchanger completed [t= 266ms] [download-q2] download-q2: exchanger completed [INFO] Tests run: 10, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.18 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.0.1-SNAPSHOT.jar [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 13.187 s [INFO] Finished at: 2026-03-24T06:28:00Z [INFO] ------------------------------------------------------------------------