-
Notifications
You must be signed in to change notification settings - Fork 175
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
Migrate Spring add-on to its own repository #3695
Comments
Could the name remain the same before (as in V8 era)? As discussed internally in Vaadin, when talking to Java people, we kind of expect that they are using our Java offering as well so there is no need to underline Flow here. So I suggest the name to be still com.vaadin:vaadin-spring-boot-starter. //cc: @snicoll |
This gets my preference as well. Unless you've renamed your offering to flow (and Vaadin is no longer the product that V8 represents), I'd like the name of the starter to remain the same. Also it feels weird to refer to Vaadin and get something called flow as a dependency. |
We will rename the add-on and the starter to use the same name. Thus eg. the starter will be
We will have to lock the previous major versions in github.com/vaadin/spring to
|
Using different repositories for the same artifactId sounds like begging for problems. If we go for the same name as before, I would definitely use the same repositories also. |
Any concrete examples to give out, except just fears ? Anyway, we still have some time to think this through, not rushing into anything, yet. |
It just is the same concept, isn't it? A new generation, with potentially a lot of changes but a user upgrading would find weird to have to jump to a totally different repo. If you are ok with keeping the same name (and I think you should) then I see no reason to use a completely different repository. And the implementation part is an internal detail IMO (the inconvenience would be if two totally separate teams work on the two generations). |
The concept is the same, Vaadin is still Vaadin, but the Java product within that is different. Eg. the migration from Vaadin 8 to 10 is not a "bump version and fix compilation errors", but a lot bigger task and requires more changes. Bigger than with previous major versions. And this is intentional, and thus the Java framework has been named also differently and follows a different versioning. But the users don't mostly see that, what they see is Vaadin and the version bump over major version 9. At the moment we have two separate teams working on the V8 and V10 products. For Vaadin Spring add-on users, I don't know which is the least inconvenient I think for most users the versions are coming from BOM and I hope they are not trying to handle those themselves. As long as they stick to BOM, they don't have any issues with bumping version to something that doesn't work. |
Thanks for the feedback.
I am aware of that. But if there is no such thing as On the other hand, if you want to make a clear breakage with the infrastructure in 8, then having a different name is more than fair enough. But then that becomes Flow as a public name and not Vaadin then IMO.
Sorry but the version argument has nothing to do with the name of the artifact. Or if it is, I don't understand why. |
I'm leaning towards using the same name, and the same repository. Because:
Having V7, V8 and V10 integrations in the same repository will cause some overhead for updating readmes for all branches (to state out what Vaadin version is this branch for) and build configurations.
I meant that as a user, I might try to update my Vaadin Spring add-on version, and by doing that get something that is not compatible with the Vaadin Java Framework version I'm using. But I think that should be handled by BOM, you just take the BOM and it manages the correct versions for you. If you do something else, then you need to know what versions are compatible together. Thus the Vaadin Spring add-on for Vaadin 10, could just take the next available major version, which is 4. |
Would it make sense to leave a "hole" in the version numbering to allow creating a couple of major versions specifically for Vaadin 8 in the future? Alternatively, the V8 add-on would have to be renamed to have a different artifact id if we ever have to create a new major version. |
+1 for leaving a hole. Thanks for the feedback @pleku ! |
So the specs are:
The practical steps:
|
|
The Flow Spring-addon modules and its test modules should be migrated to its own repository named vaadin-spring-flow, and rename all the artifact names to match the previous format:
vaadin-spring
orvaadin-spring-x
. Noaddon
orflow
in the name anymore.The
vaadin-spring-boot-starter
module should be depending onvaadin-bom
dependency management andvaadin-core
dependency, instead of Flow.NOTE that you should still validate the
vaadin-spring-boot-starter
for in the build for the Spring add-on, thus you need to have a Maven profile which doesn't use the platform declared versions of the add-on & flow but instead the snapshot ones. Or have this by default, and have another profile for releasing thevaadin-spring-boot-starter
.Do not forget to migrate all the spring addon related issues to the new repository.
There needs to be at least these three builds added for the project:
Another build, which is not mandatory but more like nice to have is:
The release checklists need to be updated so that after each Flow release, we verify that the spring add-on still works and release it if necessary.
After each platform release, we should update the platform version to the starter and release that one.
The first release versions for this should be:
The text was updated successfully, but these errors were encountered: