in plugin/jps/src/main/kotlin/com/jetbrains/packagesearch/plugin/maven/EditJpsModuleContext.kt [84:117]
fun modify(
scope: DependencyScope,
declaredPackage: PackageSearchDeclaredMavenPackage,
newVersion: String,
knownRepositories: Map<String, ApiMavenRepository>,
) {
if (newVersion == declaredPackage.declaredVersion?.versionName) {
toModify.add(Modify(
groupId = declaredPackage.groupId,
artifactId = declaredPackage.artifactId,
version = declaredPackage.declaredVersion?.versionName ?: return,
oldScope = DependencyScope.entries
.firstOrNull { it.name.equals(declaredPackage.declaredScope, true) }
?: DependencyScope.COMPILE,
newScope = scope
))
return
}
val declaredVersionName = declaredPackage.declaredVersion?.versionName ?: return
toRemove.add("${declaredPackage.groupId}:${declaredPackage.artifactId}:$declaredVersionName")
toAdd.add(
Add(
groupId = declaredPackage.groupId,
artifactId = declaredPackage.artifactId,
version = newVersion,
scope = DependencyScope.COMPILE,
repositories = declaredPackage.remoteInfo?.versions?.all
?.firstOrNull { it.normalizedVersion.versionName == newVersion }
?.repositoryIds
?.mapNotNull { knownRepositories[it] }
?: emptyList()
)
)
}