@@ -192,7 +192,7 @@ public boolean isAcceptable(SourceFile sourceFile, ExecutionContext ctx) {
192192
193193 sourceFile = (JavaSourceFile ) super .visit (sourceFile , ctx );
194194 if (sourceFile != null && sourceFile != tree ) {
195- sourceFile = sourceFile .withMarkers (sourceFile .getMarkers ().setByType (updateGradleModel (gradleProject )));
195+ sourceFile = sourceFile .withMarkers (sourceFile .getMarkers ().setByType (updateGradleModel (gradleProject , ctx )));
196196 if (changeManagedDependency == null || changeManagedDependency ) {
197197 doAfterVisit (new ChangeManagedDependency (oldGroupId , oldArtifactId , newGroupId , newArtifactId , newVersion , versionPattern ).getVisitor ());
198198 }
@@ -626,7 +626,7 @@ private J.MethodInvocation updateDependency(J.MethodInvocation m, ExecutionConte
626626 return m ;
627627 }
628628
629- private GradleProject updateGradleModel (GradleProject gp ) {
629+ private GradleProject updateGradleModel (GradleProject gp , ExecutionContext ctx ) {
630630 Map <String , GradleDependencyConfiguration > nameToConfiguration = gp .getNameToConfiguration ();
631631 Map <String , GradleDependencyConfiguration > newNameToConfiguration = new HashMap <>(nameToConfiguration .size ());
632632 boolean anyChanged = false ;
@@ -642,6 +642,17 @@ private GradleProject updateGradleModel(GradleProject gp) {
642642 if (newArtifactId != null ) {
643643 gav = gav .withArtifactId (newArtifactId );
644644 }
645+ if (!StringUtils .isBlank (newVersion ) && (!StringUtils .isBlank (gav .getVersion ()) || Boolean .TRUE .equals (overrideManagedVersion ))) {
646+ try {
647+ String resolvedVersion = new DependencyVersionSelector (metadataFailures , gradleProject , null )
648+ .select (new GroupArtifact (gav .getGroupId (), gav .getArtifactId ()), gdc .getName (), newVersion , versionPattern , ctx );
649+ if (resolvedVersion != null && !resolvedVersion .equals (gav .getVersion ())) {
650+ gav = gav .withVersion (resolvedVersion );
651+ }
652+ } catch (MavenDownloadingException e ) {
653+ // Failure already in `metadataFailures`
654+ }
655+ }
645656 if (gav != r .getGav ()) {
646657 r = r .withGav (gav );
647658 }
@@ -661,6 +672,17 @@ private GradleProject updateGradleModel(GradleProject gp) {
661672 if (newArtifactId != null ) {
662673 gav = gav .withArtifactId (newArtifactId );
663674 }
675+ if (!StringUtils .isBlank (newVersion ) && (!StringUtils .isBlank (gav .getVersion ()) || Boolean .TRUE .equals (overrideManagedVersion ))) {
676+ try {
677+ String resolvedVersion = new DependencyVersionSelector (metadataFailures , gradleProject , null )
678+ .select (new GroupArtifact (gav .getGroupId (), gav .getArtifactId ()), gdc .getName (), newVersion , versionPattern , ctx );
679+ if (resolvedVersion != null && !resolvedVersion .equals (gav .getVersion ())) {
680+ gav = gav .withVersion (resolvedVersion );
681+ }
682+ } catch (MavenDownloadingException e ) {
683+ // Failure already in `metadataFailures`
684+ }
685+ }
664686 if (gav != r .getGav ()) {
665687 r = r .withGav (gav );
666688 }
0 commit comments