From e1fd07e519d82bc5b858923e57bbfa01f741cd14 Mon Sep 17 00:00:00 2001 From: "Ilya.Kazakevich" Date: Thu, 26 Feb 2026 17:56:25 +0100 Subject: [PATCH] PY-86454: Autoconfigure python SDK even when there are several modules, but only one is python module. We only autoconfigure SDK when there is one module. But there might be other (non-python) modules. We must ignore them. (cherry picked from commit 6c45d3678aa16f54ba6967b24a8dd8afdb7fa2f6) IJ-CR-196680 GitOrigin-RevId: 65dd0fbc6bcb6cc2abe123e820a1ae9dd4f60433 --- platform/testFramework/junit5/src/fixture/fixtures.kt | 3 ++- .../backend/src/impl/ModulesSdkConfigurator.kt | 4 +++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/platform/testFramework/junit5/src/fixture/fixtures.kt b/platform/testFramework/junit5/src/fixture/fixtures.kt index df2aaa329523..09c25a6ae084 100644 --- a/platform/testFramework/junit5/src/fixture/fixtures.kt +++ b/platform/testFramework/junit5/src/fixture/fixtures.kt @@ -214,12 +214,13 @@ fun TestFixture.moduleFixture( fun TestFixture.moduleFixture( pathFixture: TestFixture, addPathToSourceRoot: Boolean = false, + moduleTypeId: String = "" ): TestFixture = testFixture { _ -> val project = this@moduleFixture.init() val path = pathFixture.init() val manager = ModuleManager.getInstance(project) val module = edtWriteAction { - manager.newModule(path, "") + manager.newModule(path, moduleTypeId) } if (addPathToSourceRoot) { val pathVfs = withContext(Dispatchers.IO) { diff --git a/python/python-sdk-configurator/backend/src/impl/ModulesSdkConfigurator.kt b/python/python-sdk-configurator/backend/src/impl/ModulesSdkConfigurator.kt index 05b1b349f47d..813aa7611554 100644 --- a/python/python-sdk-configurator/backend/src/impl/ModulesSdkConfigurator.kt +++ b/python/python-sdk-configurator/backend/src/impl/ModulesSdkConfigurator.kt @@ -19,6 +19,7 @@ import com.intellij.python.sdkConfigurator.common.impl.ModuleDTO import com.intellij.python.sdkConfigurator.common.impl.ModuleName import com.jetbrains.python.PathShortener import com.jetbrains.python.Result +import com.jetbrains.python.module.PyModuleService import com.jetbrains.python.sdk.configuration.CreateSdkInfo import com.jetbrains.python.sdk.configuration.PyProjectSdkConfigurationExtension import com.jetbrains.python.sdk.configuration.createSdk @@ -187,7 +188,8 @@ internal class ModulesSdkConfigurator private constructor( */ @ApiStatus.Internal // Opened for tests only: we can't put tests here because configurators are in communuty.impl suspend fun configureSdkAutomatically(project: Project): Unit = withContext(Dispatchers.Default) { - val modules = project.modules + val moduleService = PyModuleService.getInstance() + val modules = project.modules.filter { moduleService.isPythonModule(it) } when (modules.size) { 0 -> return@withContext