mmoehring
mmoehring

Reputation: 95

Why does the version set by useVersion in the resolutionStrategy not propagate?

I am using the Spring Boot Gradle plugin and its dependency management to manage some of my own dependencies across project so I do not need to add an explicit version in the build.gradle.

dependencyManagement {
    dependencies {
        dependency "foo.bar:my-own-library:12.1"
    }
}

The problem is that I need another version "11.9" beside the version "12.1" and that I wanted the plugin to pick the correct version based on a variable.

So I added a resolutioStrategy and some variables in ext:

dependencyManagement {
    dependencies {
        dependency "foo.bar:our-own-library:12.1"
    }

    resolutionStrategy {
        eachDependency { details ->
            //find available version based on src_compat
            //set the new version to use via
            details.useVersion(newVersion)

            // details.target.version yields updated version
        }
    }
}


ext {
    src_compat = 11
    extra_versions = ["foo.bar:my-own-library"   : ["11.9"]]
}

The target version is set correctly every time but than the old version (12.1) is used for every configuration. The configurations have no other custom resolutionstrategy.

My assumption was the resolutionStrategy of the plugin is able to override every version when the dependency management of the plugin is used.

Is the resolutionStrategy able to override all versions or do I have to move it the 'normal' gradle configurations?

Upvotes: 0

Views: 722

Answers (1)

Andy Wilkinson
Andy Wilkinson

Reputation: 116091

There's some information about this in the dependency management plugin's documentation.

The dependency management resolution strategy only applies to the plugin's internal configurations, such as those that it uses to resolve the Maven boms that you have imported. As you suspected, if you want the resolution strategy to apply to the resolution of your project's dependencies, you should move it to the normal Gradle configurations.

Upvotes: 1

Related Questions