-
Notifications
You must be signed in to change notification settings - Fork 906
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
Warn when mixing milestone and GA releases #407
Comments
That is just the reality of things right now. Spring Cloud is not GA against Spring Boot so the other alternative is to disable Spring Cloud for such version (for the reason we've reached GA and Spring Cloud did not). The Web UI represents a fair but not massive share of usage of the service so I am not keen to add a warning for that reason. @irobertson you haven't really described what the problem for you was. |
The specific problem I had was as follows. We need a reverse proxy application with some fairly dynamic rules, and I've been looking into options for creating one in Java. I recently saw a Spring Cloud presentation, and thought it might be a reasonable option. After Spring Boot 2.0.0 was released, I took a look, and saw that it included the Spring Cloud modules; my assumption was that Cloud had been released as well. Unfortunately, after an hour or so of experimentation, I started hitting features that didn't seem to be implemented yet. It was at this point that I realized I was coding against a library that is still in development. I wouldn't want to see Spring Cloud taken out of initializer. One possible solution would be to simply add (Milestone) to the name used on the page. Alternatively, the page could list the version to be used for each component, regardless of where that component is in its life cycle. |
I am not sure I am following I am afraid. If you've seen a Spring Cloud presentation, then it is reasonable to assume that the feature is available (unless stated differently at the session). It's unclear why you state that the feature isn't implemented yet. Regardless, I don't see an immediate way to "warn" that a group of dependencies are not GA (while the selected Spring Boot version is). We'd have to do this per dependency then (can be quite "fat" in the UI) with the constraints that it must work as well in IDE support (that represents the vast majority of access nowadays). Note also that the version of Spring Cloud is available in your build script and I think it is reasonable to expect someone to look at the build definition to figure out the version. Let's see what the rest of the team thinks. |
I think we should try and do something here, but I'm not really sure what we should do just yet. In the short term, this is only going to be a problem for another few weeks. Once Spring Cloud Finchley has GAed, there should be no immediate need for a Boot release to be combined with a Cloud milestone or release candidate. In the medium term, the problem will probably occur for a period of time post Spring Boot 2.1. In terms of a solution, the information that's needed appears to be available in the YAML, but doesn't make it into the JSON that's served to IDEs (and the CLI). Perhaps a good first step would be to surface the bom that defines the version of each dependency in the JSON so that clients can map from the Boot version that's chosen to the bom that will manage a dependency's version. From that they can infer the version type (release, rc, milestone, or snapshot) of the dependency. Alternatively, the version type could be included directly in the JSON to remove the need for some of the client-side logic. |
This might also be a good candidate for the |
I like that. Maybe instead of individual warnings on site, it could be a general note, maybe a visual yellow or something |
We've talked today about the possibility of tagging dependencies. In addition to identifying milestone dependencies, tags could also, for example, identify third-party dependencies. We also talked about the possibility of grouping selected dependencies by their tags. |
Now we have |
Blocked on spring-io/initializr#1006 |
We can add a note in HELP.md when such combination happens. |
Originally raised at spring-projects/spring-boot#12651
On start.spring.io, if I ask to create a project using Spring Boot 2.0.0, I have the option of adding the Gateway dependency (part of Cloud Routing). The generated pom has the version set (via the spring-cloud.version property) to Finchley.M9.
I was under the impression that by asking for a starter project based off of an official release, I would only get officially released versions. It was only after I started digging into an issue that I realized I had been given a pom with milestone dependencies in it.
I would suggest some sort of indication on the page when a non-GA version dependency is selected while creating a project based off of a GA of spring-boot.
The text was updated successfully, but these errors were encountered: