[PyCharm] Jupyter (fix): Reworked module structure to make it possible to use Jupyter in RemoteDev also in Idea. #PY-80215 Ready For Merge

GitOrigin-RevId: 39c6d0417d4e229f96b4fa8a6a39c346b9a40518
This commit is contained in:
Nikita Pavlenko
2025-05-27 18:33:11 +02:00
committed by intellij-monorepo-bot
parent e530e2a172
commit 0d6f4e5965

View File

@@ -50,13 +50,13 @@ abstract class JupyterCefHttpHandlerBase(private val absolutePathFiles: Set<Stri
url = URL(url.toString().replace("plugins/jupyter-plugin/lib/jupyter-web/", "plugins/jupyter-plugin/jupyter-web/"))
}
// In remote dev, when we run remote-front via 'split (dev-build)' run config, we have:
// In debug when we running remote-front via 'split (dev-build)' run config from IDE, we have:
// (javaClass.classLoader as PluginClassLoader).getAllParents().mapNotNull{it as? PluginClassLoader}.map() { loader -> loader.pluginDescriptor.pluginPath }
// = out/classes/production/intellij.jupyter.plugin.frontend or out/classes/production/intellij.notebooks.plugin
// = out/classes/production/intellij.jupyter.plugin or out/classes/production/intellij.notebooks.plugin
// PathUtil.getJarPathForClass(javaClass) = out/classes/production/intellij.jupyter.core
// But our resources lie not in out/classes but in out/dev-run
else if (url.toString().contains("out/classes/production/intellij.jupyter.plugin.frontend")) {
url = URL(url.toString().replace("out/classes/production/intellij.jupyter.plugin.frontend", "out/dev-run/Python/plugins/jupyter-plugin"))
// But our resources located not in out/classes but in out/dev-run
else if (url.toString().contains("out/classes/production/intellij.jupyter.plugin")) {
url = URL(url.toString().replace("out/classes/production/intellij.jupyter.plugin", "out/dev-run/Python/plugins/jupyter-plugin"))
}
if (url != null) {