Carter
04/30/2025, 9:53 AMhfhbd
04/30/2025, 10:00 AMCarter
04/30/2025, 11:12 AM* What went wrong:
Cannot change dependencies of dependency configuration ':my-lib:commonMainApi' after it has been included in dependency resolution.
Carter
04/30/2025, 11:13 AMpluginManager.withPlugin("org.jetbrains.kotlin.multiplatform") {
extensions.findByType<KotlinMultiplatformExtension>()?.apply {
jvm()
}
}
Vampire
04/30/2025, 11:14 AMtapchicoma
04/30/2025, 11:46 AMCarter
04/30/2025, 11:51 AMCarter
04/30/2025, 11:53 AMtapchicoma
04/30/2025, 11:53 AMCarter
04/30/2025, 11:53 AMJavier
04/30/2025, 9:40 PMCarter
05/05/2025, 11:02 AMVampire
05/05/2025, 11:37 AMdependencies {
constraints {
implementation("the:vulnerableInV1:v2")
}
}
Carter
05/05/2025, 12:42 PMconfigurations.configureEach {
incoming.beforeResolve {
resolutionStrategy.eachDependency {
val libs = versionCatalogs.named("libs")
if (requested.group == "io.netty") {
val requestedSemanticVersion =
requested.version!!.removeSuffixIfPresent(".Final").let { SemanticVersion.new(it) }
val minimumVersion = SemanticVersion.new("4.1.118")
if (requestedSemanticVersion < minimumVersion) {
useVersion("${minimumVersion.serialize()}.Final")
because("CVE-2025-24970")
}
} else if (requested.group == "com.google.guava" && requested.name == "guava") {
val requestedSemanticVersion =
requested.version!!.removeSuffixIfPresent("-jre").removeSuffixIfPresent("-android")
.let { SemanticVersion.new(it) }
val minimumVersion = SemanticVersion.new("32.0.1")
if (requestedSemanticVersion < minimumVersion) {
useVersion("${minimumVersion.serialize()}-jre")
because("CVE-2023-2976")
}
}
...
Vampire
05/05/2025, 1:00 PMdependencies {
constraints {
implementation("com.google.guava:guava:32.0.1-jre")
}
implementation(platform("io.netty:netty-bom:4.1.118.Final"))
}
Carter
05/05/2025, 1:07 PMVampire
05/05/2025, 1:08 PMVampire
05/05/2025, 1:08 PM!!
Vampire
05/05/2025, 1:08 PMCarter
05/05/2025, 1:38 PM{ constraints {} }
work in a convention plugin though? It seems to need to know the name of the configuration ahead of time.Vampire
05/05/2025, 1:39 PMVampire
05/05/2025, 1:39 PMCarter
05/05/2025, 1:39 PMCarter
05/05/2025, 1:40 PMVampire
05/05/2025, 1:41 PM