ITADN

Gradle 9 warning: Declaring dependencies using multi-string notation has been deprecated

#382Closedkropptrevor 创建于 2025-12-31
K
kropptrevorcommented
Message and partial stack trace: > Declaring dependencies using multi-string notation has been deprecated. This will fail with an error in Gradle 10. Please use single-string notation instead: "build.buf:buf:1.53.0:linux-x86_64@exe". Consult the upgrading guide for further information: https://docs.gradle.org/9.2.1/userguide/upgrading_version_9.html#dependency_multi_string_notation at org.gradle.api.internal.notations.DependencyMapNotationConverter.parseMap(DependencyMapNotationConverter.java:72) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.gradle.internal.typeconversion.MapNotationConverter.parseType(MapNotationConverter.java:94) at org.gradle.internal.typeconversion.MapNotationConverter.parseType(MapNotationConverter.java:41) at org.gradle.internal.typeconversion.TypedNotationConverter.convert(TypedNotationConverter.java:43) at org.gradle.internal.typeconversion.CompositeNotationConverter.convert(CompositeNotationConverter.java:34) at org.gradle.internal.typeconversion.NotationConverterToNotationParserAdapter.parseNotation(NotationConverterToNotationParserAdapter.java:31) at org.gradle.internal.typeconversion.ErrorHandlingNotationParser.parseNotation(ErrorHandlingNotationParser.java:48) at org.gradle.api.internal.artifacts.DefaultDependencyFactory.createDependency(DefaultDependencyFactory.java:74) at org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.create(DefaultDependencyHandler.java:168) at org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.doAddRegularDependency(DefaultDependencyHandler.java:197) at org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.doAdd(DefaultDependencyHandler.java:192) at org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.add(DefaultDependencyHandler.java:120) at org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.add(DefaultDependencyHandler.java:114) at org.gradle.kotlin.dsl.support.delegates.DependencyHandlerDelegate.add(DependencyHandlerDelegate.kt:53) at build.buf.gradle.BufSupportKt$configureBufDependency$1.invoke(BufSupport.kt:48) at build.buf.gradle.BufSupportKt$configureBufDependency$1.invoke(BufSupport.kt:47) at org.gradle.kotlin.dsl.ProjectExtensionsKt.dependencies(ProjectExtensions.kt:167) at build.buf.gradle.BufSupportKt.configureBufDependency(BufSupport.kt:47) at build.buf.gradle.BufPlugin$configureBuf$1.execute(BufPlugin.kt:45) at build.buf.gradle.BufPlugin$configureBuf$1.execute(BufPlugin.kt:44) ... The warnings points to [BufSupport.kt](https://github.com/bufbuild/buf-gradle-plugin/blob/3f5f73286cbe99bdd7259531c881b3d41b92be0a/src/main/kotlin/build/buf/gradle/BufSupport.kt#L47-L58): ```kotlin dependencies { add( BUF_BINARY_CONFIGURATION_NAME, mapOf( "group" to "build.buf", "name" to "buf", "version" to extension.toolVersion, "classifier" to "$osPart-$archPart", "ext" to "exe", ), ) } ``` Based on the documentation, it can be fixed in at least two ways: 1. Build the dependency string by concatenating strings 2. Use a [dependency factory](https://docs.gradle.org/9.2.1/javadoc/org/gradle/api/artifacts/dsl/DependencyFactory.html#create(java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String)) to create the dependency string (added in Gradle 7.6)
关闭于 2026-01-02 0 条评论