Skip to content

Commit b64cfab

Browse files
authored
Do not pin managed versions from spring boot plugin (#6654)
* Do not pin managed versions from spring boot plugin when they are a property in the dependencyManagement * require 1 less list
1 parent d8ad603 commit b64cfab

2 files changed

Lines changed: 42 additions & 2 deletions

File tree

rewrite-gradle/src/main/java/org/openrewrite/gradle/plugins/UpgradePluginVersion.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -277,10 +277,10 @@ public Properties visitEntry(Properties.Entry entry, ExecutionContext ctx) {
277277
.filter(gav -> requested.stream().anyMatch(r -> r.equals(gav.asGroupArtifact())))
278278
.collect(toList());
279279

280+
List<GroupArtifact> newlyManaged = newPlatformManaged.stream().map(GroupArtifactVersion::asGroupArtifact).collect(toList());
280281
List<GroupArtifact> noLongerManaged = new ArrayList<>(oldPlatformManaged);
281-
noLongerManaged.removeAll(newPlatformManaged);
282+
noLongerManaged.removeAll(newlyManaged);
282283

283-
List<GroupArtifact> newlyManaged = newPlatformManaged.stream().map(GroupArtifactVersion::asGroupArtifact).collect(toList());
284284
newlyManaged.removeAll(oldPlatformManaged);
285285

286286

rewrite-gradle/src/test/java/org/openrewrite/gradle/plugins/UpgradePluginVersionTest.java

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -433,4 +433,44 @@ void springBootPluginsAreDependencyManagedVersionAware() {
433433
)
434434
);
435435
}
436+
437+
@Test
438+
void doesNotPinPropertyManagedVersions() {
439+
rewriteRun(
440+
spec -> spec
441+
.recipe(new UpgradePluginVersion("org.springframework.boot", "2.5.x", null)),
442+
buildGradle(
443+
"""
444+
plugins {
445+
id 'java'
446+
id 'org.springframework.boot' version '2.5.14'
447+
id 'io.spring.dependency-management' version '1.0.11.RELEASE'
448+
}
449+
450+
repositories {
451+
mavenCentral()
452+
}
453+
454+
dependencies {
455+
runtimeOnly 'mysql:mysql-connector-java'
456+
}
457+
""",
458+
"""
459+
plugins {
460+
id 'java'
461+
id 'org.springframework.boot' version '2.5.15'
462+
id 'io.spring.dependency-management' version '1.0.11.RELEASE'
463+
}
464+
465+
repositories {
466+
mavenCentral()
467+
}
468+
469+
dependencies {
470+
runtimeOnly 'mysql:mysql-connector-java'
471+
}
472+
"""
473+
)
474+
);
475+
}
436476
}

0 commit comments

Comments
 (0)