mirror of
https://github.com/spring-projects/spring-boot.git
synced 2026-10-09 19:09:03 +00:00
Merge branch '4.0.x' into 4.1.x
Closes gh-51946
This commit is contained in:
+20
-4
@@ -16,7 +16,11 @@
|
||||
|
||||
package org.springframework.boot.build.bom.bomr;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalTime;
|
||||
import java.time.OffsetDateTime;
|
||||
import java.time.ZoneOffset;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.function.BiFunction;
|
||||
@@ -36,6 +40,7 @@ import org.springframework.boot.build.bom.bomr.github.Milestone;
|
||||
import org.springframework.boot.build.bom.bomr.version.DependencyVersion;
|
||||
import org.springframework.boot.build.properties.BuildProperties;
|
||||
import org.springframework.boot.build.properties.BuildType;
|
||||
import org.springframework.util.Assert;
|
||||
|
||||
/**
|
||||
* A {@link Task} to move to snapshot dependencies.
|
||||
@@ -89,7 +94,11 @@ public abstract class MoveToSnapshots extends UpgradeDependencies {
|
||||
|
||||
private BiFunction<Library, DependencyVersion, VersionOption> createOpenSourceVersionOptionResolver(
|
||||
Milestone milestone) {
|
||||
Map<String, List<Release>> scheduledReleases = getScheduledOpenSourceReleases(milestone);
|
||||
OffsetDateTime releaseDate = (milestone.getDueOn() != null) ? milestone.getDueOn() : releaseTrainDate();
|
||||
Assert.state(releaseDate != null,
|
||||
"No release date available. Schedule the %s milestone or use --release-train to provide a release date"
|
||||
.formatted(milestone.getName()));
|
||||
Map<String, List<Release>> scheduledReleases = getScheduledOpenSourceReleases(releaseDate);
|
||||
BiFunction<Library, DependencyVersion, VersionOption> resolver = super.createVersionOptionResolver(milestone);
|
||||
return (library, dependencyVersion) -> {
|
||||
VersionOption versionOption = resolver.apply(library, dependencyVersion);
|
||||
@@ -106,16 +115,23 @@ public abstract class MoveToSnapshots extends UpgradeDependencies {
|
||||
}
|
||||
if (logger.isInfoEnabled()) {
|
||||
logger.info("Ignoring {}. No release of {} scheduled before {}", dependencyVersion,
|
||||
library.getName(), milestone.getDueOn());
|
||||
library.getName(), releaseDate);
|
||||
}
|
||||
}
|
||||
return null;
|
||||
};
|
||||
}
|
||||
|
||||
private Map<String, List<Release>> getScheduledOpenSourceReleases(Milestone milestone) {
|
||||
private OffsetDateTime releaseTrainDate() {
|
||||
return getReleaseTrain()
|
||||
.map((releaseTrain) -> LocalDate.parse(releaseTrain, DateTimeFormatter.ofPattern("yyyy.MM.dd")))
|
||||
.map((date) -> OffsetDateTime.of(date, LocalTime.of(23, 59, 59), ZoneOffset.UTC))
|
||||
.getOrNull();
|
||||
}
|
||||
|
||||
private Map<String, List<Release>> getScheduledOpenSourceReleases(OffsetDateTime releaseDate) {
|
||||
ReleaseSchedule releaseSchedule = new ReleaseSchedule();
|
||||
return releaseSchedule.releasesBetween(OffsetDateTime.now(), milestone.getDueOn());
|
||||
return releaseSchedule.releasesBetween(OffsetDateTime.now(), releaseDate);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -88,4 +88,12 @@ public abstract class UpgradeBom extends UpgradeDependencies {
|
||||
System.out.println();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected VersionResolver getVersionResolver() {
|
||||
String releaseTrain = getReleaseTrain().getOrNull();
|
||||
return (releaseTrain != null)
|
||||
? new ReleaseTrainVersionResolver(createGitHub("bomr.github.release-train-token"), releaseTrain)
|
||||
: super.getVersionResolver();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+5
-6
@@ -43,6 +43,7 @@ import org.gradle.api.internal.tasks.userinput.UserInputHandler;
|
||||
import org.gradle.api.provider.ListProperty;
|
||||
import org.gradle.api.provider.Property;
|
||||
import org.gradle.api.tasks.Input;
|
||||
import org.gradle.api.tasks.Internal;
|
||||
import org.gradle.api.tasks.Optional;
|
||||
import org.gradle.api.tasks.TaskAction;
|
||||
import org.gradle.api.tasks.TaskExecutionException;
|
||||
@@ -215,7 +216,7 @@ public abstract class UpgradeDependencies extends DefaultTask {
|
||||
return issueLabels;
|
||||
}
|
||||
|
||||
private GitHub createGitHub(String passwordProperty) {
|
||||
protected GitHub createGitHub(String passwordProperty) {
|
||||
Properties bomrProperties = new Properties();
|
||||
try (Reader reader = new FileReader(new File(System.getProperty("user.home"), ".bomr.properties"))) {
|
||||
bomrProperties.load(reader);
|
||||
@@ -268,11 +269,9 @@ public abstract class UpgradeDependencies extends DefaultTask {
|
||||
return new MultithreadedLibraryUpdateResolver(getThreads().get(), libraryResolver);
|
||||
}
|
||||
|
||||
private VersionResolver getVersionResolver() {
|
||||
String releaseTrain = getReleaseTrain().getOrNull();
|
||||
return (releaseTrain != null)
|
||||
? new ReleaseTrainVersionResolver(createGitHub("bomr.github.release-train-token"), releaseTrain)
|
||||
: new MavenMetadataVersionResolver(getRepositories());
|
||||
@Internal
|
||||
protected VersionResolver getVersionResolver() {
|
||||
return new MavenMetadataVersionResolver(getRepositories());
|
||||
}
|
||||
|
||||
private Collection<MavenArtifactRepository> getRepositories() {
|
||||
|
||||
Reference in New Issue
Block a user