diff --git a/buildSrc/src/main/java/org/springframework/boot/build/bom/bomr/MavenMetadataVersionResolver.java b/buildSrc/src/main/java/org/springframework/boot/build/bom/bomr/MavenMetadataVersionResolver.java index 40b9f70c95e..b52bc18cbb7 100644 --- a/buildSrc/src/main/java/org/springframework/boot/build/bom/bomr/MavenMetadataVersionResolver.java +++ b/buildSrc/src/main/java/org/springframework/boot/build/bom/bomr/MavenMetadataVersionResolver.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2020 the original author or authors. + * Copyright 2012-2021 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -18,8 +18,8 @@ package org.springframework.boot.build.bom.bomr; import java.io.StringReader; import java.util.Arrays; +import java.util.Collection; import java.util.HashSet; -import java.util.List; import java.util.Set; import java.util.SortedSet; import java.util.TreeSet; @@ -49,13 +49,13 @@ final class MavenMetadataVersionResolver implements VersionResolver { private final RestTemplate rest; - private final List repositoryUrls; + private final Collection repositoryUrls; - MavenMetadataVersionResolver(List repositoryUrls) { + MavenMetadataVersionResolver(Collection repositoryUrls) { this(new RestTemplate(Arrays.asList(new StringHttpMessageConverter())), repositoryUrls); } - MavenMetadataVersionResolver(RestTemplate restTemplate, List repositoryUrls) { + MavenMetadataVersionResolver(RestTemplate restTemplate, Collection repositoryUrls) { this.rest = restTemplate; this.repositoryUrls = repositoryUrls; } diff --git a/buildSrc/src/main/java/org/springframework/boot/build/bom/bomr/UpgradeBom.java b/buildSrc/src/main/java/org/springframework/boot/build/bom/bomr/UpgradeBom.java index daff5bba05f..2e6b417b7da 100644 --- a/buildSrc/src/main/java/org/springframework/boot/build/bom/bomr/UpgradeBom.java +++ b/buildSrc/src/main/java/org/springframework/boot/build/bom/bomr/UpgradeBom.java @@ -22,16 +22,18 @@ import java.io.IOException; import java.io.Reader; import java.nio.file.Path; import java.util.ArrayList; -import java.util.Arrays; +import java.util.LinkedHashSet; import java.util.List; import java.util.Optional; import java.util.Properties; +import java.util.Set; import javax.inject.Inject; import org.gradle.api.DefaultTask; import org.gradle.api.InvalidUserDataException; import org.gradle.api.Task; +import org.gradle.api.artifacts.repositories.MavenArtifactRepository; import org.gradle.api.internal.tasks.userinput.UserInputHandler; import org.gradle.api.tasks.Input; import org.gradle.api.tasks.TaskAction; @@ -51,6 +53,8 @@ import org.springframework.util.StringUtils; */ public class UpgradeBom extends DefaultTask { + private Set repositoryUrls; + private final BomExtension bom; private String milestone; @@ -58,6 +62,13 @@ public class UpgradeBom extends DefaultTask { @Inject public UpgradeBom(BomExtension bom) { this.bom = bom; + this.repositoryUrls = new LinkedHashSet<>(); + getProject().getRepositories().withType(MavenArtifactRepository.class, (repository) -> { + String repositoryUrl = repository.getUrl().toString(); + if (!repositoryUrl.endsWith("snapshot")) { + this.repositoryUrls.add(repository.getUrl().toString()); + } + }); } @Option(option = "milestone", description = "Milestone to which dependency upgrade issues should be assigned") @@ -83,8 +94,7 @@ public class UpgradeBom extends DefaultTask { "Unknown label(s): " + StringUtils.collectionToCommaDelimitedString(unknownLabels)); } Milestone milestone = determineMilestone(repository); - List upgrades = new InteractiveUpgradeResolver( - new MavenMetadataVersionResolver(Arrays.asList("https://repo1.maven.org/maven2/")), + List upgrades = new InteractiveUpgradeResolver(new MavenMetadataVersionResolver(this.repositoryUrls), this.bom.getUpgrade().getPolicy(), getServices().get(UserInputHandler.class)) .resolveUpgrades(this.bom.getLibraries()); Path buildFile = getProject().getBuildFile().toPath();