spring-attic / spring-ide

Spring Development Environment for Eclipse
299 stars 125 forks source link

Stop relying on spring.provides files before Spring Boot 2.1 is GA #251

Open philwebb opened 6 years ago

philwebb commented 6 years ago

The spring.provides files shipped with each starter JAR have not been widely supported by IDEs and have become a maintenance burden. We intend to remove them in Spring Boot 2.1.

See https://github.com/spring-projects/spring-boot/issues/12435 for more background.

I believe that STS currently uses these file indirectly by downloading XML from this project.

Probably the easiest fix would be to remove the "add starter for import" feature. If you prefer the feature to remain, I think the primary dependencies could be deduced by parsing the starter POM files.

Could I also suggest that spring-boot-maven-analyzer is moved to the spring-projects org so it's a bit easier to find.

kdvolder commented 6 years ago

I think the primary dependencies could be deduced by parsing the starter POM files.

That won't work very well. As I mentioned we already explored heuristics based on the depth a dependency is in the dependency graph. Direct dependencies from pom have depth 1. And this didn't turn out to be a very reliably heuristic.

That being said, given that the .provides files are not being maintained/autohored in any kind of deliberate sense, it probably isn't any better. And I understand/support your decision to remove them.

The feature has been a bit controversial and, if we want to keep or reimplement it in STS4 it probably should be reexamined how it should really work. (E.g. easier / better ways to put the user in control of disambiguating choices between multiple dependencies that could be used to add a given type to the classpath.