From b567859bee75985ce85fa74af141c17dae55983d Mon Sep 17 00:00:00 2001 From: Mikhail Shagvaliev Date: Wed, 9 Oct 2024 08:17:15 +0200 Subject: [PATCH] [qodana] QD-10013 Track JPS jar dependencies loading GitOrigin-RevId: e453e68259e7a5618f76905be741a3acdc7c75db --- .../jarRepository/RepositoryLibrarySynchronizer.kt | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/java/idea-ui/src/com/intellij/jarRepository/RepositoryLibrarySynchronizer.kt b/java/idea-ui/src/com/intellij/jarRepository/RepositoryLibrarySynchronizer.kt index 73e642941292..766573d7029a 100644 --- a/java/idea-ui/src/com/intellij/jarRepository/RepositoryLibrarySynchronizer.kt +++ b/java/idea-ui/src/com/intellij/jarRepository/RepositoryLibrarySynchronizer.kt @@ -18,6 +18,8 @@ import com.intellij.openapi.roots.impl.libraries.LibraryTableImplUtil import com.intellij.openapi.roots.libraries.Library import com.intellij.openapi.roots.libraries.LibraryTablesRegistrar import com.intellij.openapi.startup.ProjectActivity +import com.intellij.platform.backend.observation.ActivityKey +import com.intellij.platform.backend.observation.trackActivity import com.intellij.platform.backend.workspace.WorkspaceModelTopics import it.unimi.dsi.fastutil.objects.ObjectLinkedOpenHashSet import it.unimi.dsi.fastutil.objects.ObjectOpenHashSet @@ -26,6 +28,11 @@ import org.jetbrains.idea.maven.utils.library.RepositoryLibraryProperties import org.jetbrains.idea.maven.utils.library.RepositoryUtils private class RepositoryLibrarySynchronizer : ProjectActivity { + private object LoadDependenciesActivityKey : ActivityKey { + override val presentableName: String + get() = "download-jars" + } + init { if (ApplicationManager.getApplication().isUnitTestMode) { throw ExtensionNotApplicableException.create() @@ -34,9 +41,10 @@ private class RepositoryLibrarySynchronizer : ProjectActivity { override suspend fun execute(project: Project) { if (ApplicationManager.getApplication().isHeadlessEnvironment && !CoreProgressManager.shouldKeepTasksAsynchronousInHeadlessMode()) { - val libs = collectLibrariesToSync(project) - if (!libs.isEmpty()) { - loadDependenciesSyncImpl(project, libs) + project.trackActivity(LoadDependenciesActivityKey) { + val libs = collectLibrariesToSync(project) + if (!libs.isEmpty()) { + loadDependenciesSyncImpl(project, libs)} } return }