Open CangYa2021 opened 2 years ago
That's an interesting suggestion, thank you. Which build system are you using?
@wilkinsona At present, most of our projects are using Maven and a small number of projects are using gradle. However, some new projects are built using gradle.
@wilkinsona If I remember correctly, since 2.3. X, the construction tool of the project changed from Maven to gradle, and some gradle plug-ins were customized for the project itself. Because I am not very familiar with gradle, I don't know if it will be easier to solve this problem with gradle.
The build tool that Spring Boot uses doesn't matter here. It's the build tool that an application is using that it's important as the functionality you have described would have to be implemented as a plugin for that build tool.
@wilkinsona I see what you mean. For the functions I describe, different compilation tools need to provide their own plug-ins. I don't know whether the function I mentioned is reasonable for springboot itself. When I encounter the corresponding problem, the first thing in my mind is how good it would be if there was a plug-in like spring-boot-properties-migrator.
This would work a bit like https://www.mojohaus.org/versions-maven-plugin/, but with our dependencies rather than maven central as the upgrade source.
Spring Boot itself depends on many other software, and the version requirements for some dependent software will change each version upgrade, especially the release of large versions. For users, unless all dependent software uses the default version provided by springboot, upgrading springboot will cause the problem that the dependent software version is not matched. Especially for the upgrade between large versions, this problem is particularly serious. As far as I know, every time the official releases a new version, it will specifically explain the changes of the dependent software version. However, this description is only for the changes of the previous version. There is no place to find the description of changes across versions, especially between large versions.
If there is a plug-in or a starter that tells users which software versions in the project do not meet the requirements of the current spring boot version, upgrading the version is no longer a terrible thing for users.