Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Karibu Vaadin 8 for Spring Boot 3 #178

Open
tdq opened this issue Dec 4, 2024 · 6 comments
Open

Karibu Vaadin 8 for Spring Boot 3 #178

tdq opened this issue Dec 4, 2024 · 6 comments
Labels
enhancement New feature or request

Comments

@tdq
Copy link

tdq commented Dec 4, 2024

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

@simasch
Copy link

simasch commented Dec 4, 2024

I doubt this is possible. Vaadin >= 10 has a very different architecture.
Additionally Vaadin 8 is end of life since February 2022.

@tdq
Copy link
Author

tdq commented Dec 4, 2024

@simasch Vaadin 8 has extended support until 2032. Some companies are using it.

@simasch
Copy link

simasch commented Dec 4, 2024

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.

@tdq
Copy link
Author

tdq commented Dec 4, 2024

Hm... the only issue is that javax package was replaced by jakarta, I thought it would be very simple task.

@mvysny
Copy link
Owner

mvysny commented Dec 4, 2024

Thanks @simasch . There are the following arguments against doing that:

  • Vaadin 8 uses javax APIs while Spring Boot 3+ uses jakarta APIs.
  • There's Vaadin 8 build which uses jakarta APIs 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.

@mvysny
Copy link
Owner

mvysny commented Dec 4, 2024

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.

@mvysny mvysny added the enhancement New feature or request label Jan 12, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants