@Autowired public SpringBootVersionService(SpringBootVersionProperties properties) { List<RemoteRepository> repositories = properties.resolveRepositories(); this.dependencyResolver = AetherDependencyResolver.create(false, repositories); this.repositoryUrls = repositories.stream().map(RemoteRepository::getUrl).collect(Collectors.toList()); }
@Cacheable("boot-versions") public List<String> fetchBootVersions() { try { logger.info("Fetching Spring Boot versions from {}", repositoryUrls); return dependencyResolver.resolveAvailableVersions("org.springframework.boot", "spring-boot"); } catch (IOException e) { throw new IllegalStateException("Failed to fetch Spring Boot versions", e); } }