mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-04-19 13:02:30 +07:00
[maven] IDEA-356082 AbstractOpenProjectProvider.unlinkOtherLinkedProjects
GitOrigin-RevId: 0d2d6106d3cb6c59b25b9cba835ed67834f68080
This commit is contained in:
committed by
intellij-monorepo-bot
parent
cd71a13b09
commit
eb78b2af1a
@@ -121,7 +121,7 @@ a:com.intellij.openapi.externalSystem.dependency.analyzer.ExternalSystemDependen
|
||||
- f:linkToExistingProjectAsync(com.intellij.openapi.vfs.VirtualFile,com.intellij.openapi.project.Project,kotlin.coroutines.Continuation):java.lang.Object
|
||||
- f:linkToExistingProjectAsync(java.lang.String,com.intellij.openapi.project.Project,kotlin.coroutines.Continuation):java.lang.Object
|
||||
- openProject(com.intellij.openapi.vfs.VirtualFile,com.intellij.openapi.project.Project,Z,kotlin.coroutines.Continuation):java.lang.Object
|
||||
- pf:unlinkAllLinkedProjects(com.intellij.openapi.project.Project,com.intellij.openapi.vfs.VirtualFile,kotlin.coroutines.Continuation):java.lang.Object
|
||||
- pf:unlinkOtherLinkedProjects(com.intellij.openapi.project.Project,com.intellij.openapi.vfs.VirtualFile,kotlin.coroutines.Continuation):java.lang.Object
|
||||
- unlinkProject(com.intellij.openapi.project.Project,java.lang.String,kotlin.coroutines.Continuation):java.lang.Object
|
||||
*f:com.intellij.openapi.externalSystem.importing.AbstractOpenProjectProvider$Companion
|
||||
a:com.intellij.openapi.externalSystem.importing.ExternalProjectStructureCustomizer
|
||||
|
||||
@@ -46,12 +46,12 @@ abstract class AbstractOpenProjectProvider {
|
||||
}
|
||||
|
||||
suspend fun linkToExistingProjectAsync(projectFile: VirtualFile, project: Project) {
|
||||
unlinkAllLinkedProjects(project, projectFile)
|
||||
unlinkOtherLinkedProjects(project, projectFile)
|
||||
LOG.info("Linking $systemId project ${projectFile.path}")
|
||||
linkProject(projectFile, project)
|
||||
}
|
||||
|
||||
protected suspend fun unlinkAllLinkedProjects(project: Project, projectFile: VirtualFile) {
|
||||
protected suspend fun unlinkOtherLinkedProjects(project: Project, projectFile: VirtualFile) {
|
||||
val externalProjectPath = if (projectFile.isDirectory) projectFile.path else projectFile.parent.path
|
||||
EP_NAME.forEachExtensionSafeAsync { extension ->
|
||||
if (extension.systemId != systemId && extension.isLinkedProject(project, externalProjectPath)) {
|
||||
|
||||
@@ -63,7 +63,7 @@ class MavenOpenProjectProvider : AbstractOpenProjectProvider() {
|
||||
@ApiStatus.Internal
|
||||
suspend fun forceLinkToExistingProjectAsync(projectFile: VirtualFile, project: Project) {
|
||||
val projectRoot = if (projectFile.isDirectory) projectFile else projectFile.parent
|
||||
unlinkAllLinkedProjects(project, projectRoot)
|
||||
unlinkOtherLinkedProjects(project, projectRoot)
|
||||
doLinkToExistingProjectAsync(projectFile, project, true)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user