Karibu Vaadin 8 for Spring Boot 3
Hey! Karibu is nice tool, but it looks like it is not adapted for being used with Vaadin 8 and Spring Boot 3. Maybe you can prepare some addon for this?
Best regards, Nikolay
I doubt this is possible. Vaadin >= 10 has a very different architecture. Additionally Vaadin 8 is end of life since February 2022.
@simasch Vaadin 8 has extended support until 2032. Some companies are using it.
I know. The biggest problem is the architecture. This would require a complete rewrite of Karibu Testing and for a product that is end of life not worth the effort.
Hm... the only issue is that javax package was replaced by jakarta, I thought it would be very simple task.
Thanks @simasch . There are the following arguments against doing that:
- Vaadin 8 uses
javaxAPIs while Spring Boot 3+ usesjakartaAPIs. - There's Vaadin 8 build which uses
jakartaAPIs and is in theory compatible with Spring Boot 3, but that for sure requires a paid Vaadin8jakarta which is on extended support. - Vaadin 8 is only supported in Karibu-Testing 1.3.x which is no longer maintained.
- Karibu-Testing is OSS; it's not a goal of this project to support commercial offerings.
- The audience for this kind of change will be limited and shrinking.
That being said, you can fork Karibu-Testing 1.4.x, make it work with jakarta APIs, then create an example project of Karibu+Vaadin8jakarta+SB3. If that works, we can then discuss some way of merging this back and releasing a new Karibu for Vaadin8jakarta. Alternatively, please feel free to reach out to the Vaadin company itself and have Vaadin do it as a sponsored development.
EDIT: Karibu-Testing 1.4.x still includes support for Vaadin 8 and KT 1.4.x is maintained, that's true... but the Vaadin 8 bits are in hibernation mode, so it doesn't really change the argument.
Hm... the only issue is that javax package was replaced by jakarta, I thought it would be very simple task.
True, that indeed is; it could be as simple as a text replacement javax->jakarta. But there are other tasks as well:
- make sure GitHub Actions use Vaadin license when running tests
- investigate which Vaadin 8 version to use
- Do the change and fix any incompatibilities introduced by Vaadin version upgrade
- prepare a Vaadin8+SB3 example app + write tests for it + prepare GitHub Actions to run those tests
- update documentation
- Figure out a way to inline this: will we drop support for javax and thus non-commercial Vaadin 8's? Or, will we duplicate the Karibu-Testing Vaadin 8-related bits into a new Gradle module and release it side-by-side with the old offering? This would probably be the best way to do it. Alternatively, a separate git branch and release off that? I'd then have to remember to merge things between branches, probably not a good idea.