Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in / Register
Toggle navigation
S
spring-boot
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
DEMO
spring-boot
Commits
f7140d04
Commit
f7140d04
authored
Jun 24, 2021
by
Andy Wilkinson
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch '2.4.x' into 2.5.x
See gh-27045
parents
e2d68aa8
316d2cce
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
20 additions
and
8 deletions
+20
-8
InteractiveUpgradeResolver.java
...ework/boot/build/bom/bomr/InteractiveUpgradeResolver.java
+20
-8
No files found.
buildSrc/src/main/java/org/springframework/boot/build/bom/bomr/InteractiveUpgradeResolver.java
View file @
f7140d04
...
...
@@ -86,13 +86,12 @@ public final class InteractiveUpgradeResolver implements UpgradeResolver {
private
List
<
VersionOption
>
getVersionOptions
(
Library
library
,
Map
<
String
,
Library
>
libraries
)
{
if
(
library
.
getVersion
().
getVersionAlignment
()
!=
null
)
{
VersionOption
alignedVersionOption
=
alignedVersionOption
(
library
,
libraries
);
if
(!
isPermitted
(
alignedVersionOption
.
version
,
library
.
getProhibitedVersions
()))
{
throw
new
InvalidUserDataException
(
"Version alignment failed. Version "
+
alignedVersionOption
.
version
+
" from "
+
library
.
getName
()
+
" is prohibited"
);
return
determineAlignedVersionOption
(
library
,
libraries
);
}
return
Collections
.
singletonList
(
alignedVersionOption
);
return
determineResolvedVersionOptions
(
library
);
}
private
List
<
VersionOption
>
determineResolvedVersionOptions
(
Library
library
)
{
Map
<
String
,
SortedSet
<
DependencyVersion
>>
moduleVersions
=
new
LinkedHashMap
<>();
DependencyVersion
libraryVersion
=
library
.
getVersion
().
getVersion
();
for
(
Group
group
:
library
.
getGroups
())
{
...
...
@@ -120,6 +119,18 @@ public final class InteractiveUpgradeResolver implements UpgradeResolver {
.
collect
(
Collectors
.
toList
());
}
private
List
<
VersionOption
>
determineAlignedVersionOption
(
Library
library
,
Map
<
String
,
Library
>
libraries
)
{
VersionOption
alignedVersionOption
=
alignedVersionOption
(
library
,
libraries
);
if
(
alignedVersionOption
==
null
)
{
return
Collections
.
emptyList
();
}
if
(!
isPermitted
(
alignedVersionOption
.
version
,
library
.
getProhibitedVersions
()))
{
throw
new
InvalidUserDataException
(
"Version alignment failed. Version "
+
alignedVersionOption
.
version
+
" from "
+
library
.
getName
()
+
" is prohibited"
);
}
return
Collections
.
singletonList
(
alignedVersionOption
);
}
private
VersionOption
alignedVersionOption
(
Library
library
,
Map
<
String
,
Library
>
libraries
)
{
VersionAlignment
versionAlignment
=
library
.
getVersion
().
getVersionAlignment
();
Library
alignmentLibrary
=
libraries
.
get
(
versionAlignment
.
getLibraryName
());
...
...
@@ -148,8 +159,9 @@ public final class InteractiveUpgradeResolver implements UpgradeResolver {
throw
new
InvalidUserDataException
(
"Cannot align with library '"
+
versionAlignment
.
getLibraryName
()
+
"' as it uses multiple different versions of this library's modules"
);
}
String
requiredVersion
=
versions
.
iterator
().
next
();
return
new
AlignedVersionOption
(
DependencyVersion
.
parse
(
requiredVersion
),
alignmentLibrary
);
DependencyVersion
version
=
DependencyVersion
.
parse
(
versions
.
iterator
().
next
());
return
library
.
getVersion
().
getVersion
().
equals
(
version
)
?
null
:
new
AlignedVersionOption
(
version
,
alignmentLibrary
);
}
private
boolean
isPermitted
(
DependencyVersion
dependencyVersion
,
List
<
ProhibitedVersion
>
prohibitedVersions
)
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment