patrikerdes/gradle-use-latest-versions-plugin

Dependencies don't get updated if the version is delegated

cwrau opened this issue · 9 comments

cwrau commented

I have the following build.gradle.kts:

val junitVersion: String by project

dependencies {
	testRuntimeOnly("org.junit.jupiter", "junit-jupiter-engine", junitVersion)
}

and my gradle.properties:

junitVersion=5.3.1

If I run ./gradlew dependencyUpdates I can see that there is an update for junit to 5.3.2.

But if I run ./gradlew useLatestVersions the gradle.properties does not get updated.

usr42 commented

Which version of the plugin do you use?

cwrau commented

I'm using the following versions:

     id("se.patrikerdes.use-latest-versions") version "0.2.7"
     id("com.github.ben-manes.versions") version "0.20.0"
usr42 commented

@cwrau I can reproduce the issue, but it is not related to the delegete.
It happens because you use testRuntimeOnly not with the dependencyNotation (testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:$junitVersion"), but with explicit group, name and version without named parameters.
This doesn't seem to be supported yet.

I will write some more test cases for the different possibilities to specify the dependencies with the Kotlin DSL and will open a PR to add this functionality.

@usr42 thanks, all contributions are very welcome

usr42 commented

@cwrau This should be fixed now

cwrau commented

Amazing!
When can I expect a release?
Or is it automagically deployed?

usr42 commented

It's not automatically deployed, so we have to wait for a release.
@patrikerdes If you need any help, please let me know. Are for example some Readme adaptation needed?

It has been released as 0.2.8

cwrau commented

Thank you for the quick fix!