fun modify()

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()
            )
        )
    }