From 687f8fcedb66c8c9de53b78414fe041cd7db2212 Mon Sep 17 00:00:00 2001 From: Evgenii Novozhilov Date: Fri, 17 Nov 2023 17:15:55 +0200 Subject: [PATCH] Mitigate StartupActivity warnings Since these startup activities do not require indexes we can make them DumbAware and the warning will not be shown. Advised path to migrate them to ProjectActivity is slightly challenging as it requires implementation of Kotlin suspend function in Java code and intellij has issues with bazel plugin indexing in this case. See https://youtrack.jetbrains.com/issue/IDEA-338613 for the details. --- .../blaze/base/formatter/ExternalFormatterCodeStyleManager.java | 2 +- .../google/idea/blaze/base/sync/BlazeSyncStartupActivity.java | 2 +- .../blaze/clwb/run/producers/NonBlazeProducerSuppressor.java | 2 +- .../blaze/golang/run/producers/NonBlazeProducerSuppressor.java | 2 +- .../blaze/java/run/producers/NonBlazeProducerSuppressor.java | 2 +- .../javascript/run/producers/NonBlazeProducerSuppressor.java | 2 +- .../blaze/python/run/producers/NonBlazeProducerSuppressor.java | 2 +- .../blaze/scala/run/producers/NonBlazeProducerSuppressor.java | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/base/src/com/google/idea/blaze/base/formatter/ExternalFormatterCodeStyleManager.java b/base/src/com/google/idea/blaze/base/formatter/ExternalFormatterCodeStyleManager.java index 505a0cfa945..205b0cbaf03 100644 --- a/base/src/com/google/idea/blaze/base/formatter/ExternalFormatterCodeStyleManager.java +++ b/base/src/com/google/idea/blaze/base/formatter/ExternalFormatterCodeStyleManager.java @@ -43,7 +43,7 @@ */ class ExternalFormatterCodeStyleManager extends DelegatingCodeStyleManager { - static class Installer implements StartupActivity { + static class Installer implements StartupActivity.DumbAware { @Override public void runActivity(Project project) { FormatterInstaller.replaceFormatter(project, ExternalFormatterCodeStyleManager::new); diff --git a/base/src/com/google/idea/blaze/base/sync/BlazeSyncStartupActivity.java b/base/src/com/google/idea/blaze/base/sync/BlazeSyncStartupActivity.java index bcd5efb2b37..6666bb1fdec 100644 --- a/base/src/com/google/idea/blaze/base/sync/BlazeSyncStartupActivity.java +++ b/base/src/com/google/idea/blaze/base/sync/BlazeSyncStartupActivity.java @@ -27,7 +27,7 @@ import com.intellij.openapi.startup.StartupActivity; /** Syncs the project upon startup. */ -public class BlazeSyncStartupActivity implements StartupActivity { +public class BlazeSyncStartupActivity implements StartupActivity.DumbAware { public static final String SYNC_REASON = "BlazeSyncStartupActivity"; diff --git a/clwb/src/com/google/idea/blaze/clwb/run/producers/NonBlazeProducerSuppressor.java b/clwb/src/com/google/idea/blaze/clwb/run/producers/NonBlazeProducerSuppressor.java index dc0bfcee5f9..563e13a5fcf 100644 --- a/clwb/src/com/google/idea/blaze/clwb/run/producers/NonBlazeProducerSuppressor.java +++ b/clwb/src/com/google/idea/blaze/clwb/run/producers/NonBlazeProducerSuppressor.java @@ -22,7 +22,7 @@ import com.intellij.openapi.startup.StartupActivity; /** Suppresses certain non-Blaze configuration producers in Blaze projects. */ -public class NonBlazeProducerSuppressor implements StartupActivity { +public class NonBlazeProducerSuppressor implements StartupActivity.DumbAware { private static final ImmutableList PRODUCERS_TO_SUPPRESS = ImmutableList.of( diff --git a/golang/src/com/google/idea/blaze/golang/run/producers/NonBlazeProducerSuppressor.java b/golang/src/com/google/idea/blaze/golang/run/producers/NonBlazeProducerSuppressor.java index 855772c1e5e..2cd09fcbd91 100644 --- a/golang/src/com/google/idea/blaze/golang/run/producers/NonBlazeProducerSuppressor.java +++ b/golang/src/com/google/idea/blaze/golang/run/producers/NonBlazeProducerSuppressor.java @@ -24,7 +24,7 @@ import com.intellij.openapi.startup.StartupActivity; /** Suppresses certain non-Blaze configuration producers in Blaze projects. */ -public class NonBlazeProducerSuppressor implements StartupActivity { +public class NonBlazeProducerSuppressor implements StartupActivity.DumbAware { /** * Returns a list of run configuration producers to suppress for Blaze projects. diff --git a/java/src/com/google/idea/blaze/java/run/producers/NonBlazeProducerSuppressor.java b/java/src/com/google/idea/blaze/java/run/producers/NonBlazeProducerSuppressor.java index 8193a378551..b7c6668bef4 100644 --- a/java/src/com/google/idea/blaze/java/run/producers/NonBlazeProducerSuppressor.java +++ b/java/src/com/google/idea/blaze/java/run/producers/NonBlazeProducerSuppressor.java @@ -22,7 +22,7 @@ import com.intellij.openapi.startup.StartupActivity; /** Suppresses certain non-Blaze configuration producers in Blaze projects. */ -public class NonBlazeProducerSuppressor implements StartupActivity { +public class NonBlazeProducerSuppressor implements StartupActivity.DumbAware { private static final ImmutableList KOTLIN_PRODUCERS = ImmutableList.of( diff --git a/javascript/src/com/google/idea/blaze/javascript/run/producers/NonBlazeProducerSuppressor.java b/javascript/src/com/google/idea/blaze/javascript/run/producers/NonBlazeProducerSuppressor.java index 4d83d728ccc..03ea07674b7 100644 --- a/javascript/src/com/google/idea/blaze/javascript/run/producers/NonBlazeProducerSuppressor.java +++ b/javascript/src/com/google/idea/blaze/javascript/run/producers/NonBlazeProducerSuppressor.java @@ -34,7 +34,7 @@ import java.util.stream.Collectors; /** Suppresses certain non-Blaze configuration producers in Blaze projects. */ -public class NonBlazeProducerSuppressor implements StartupActivity { +public class NonBlazeProducerSuppressor implements StartupActivity.DumbAware { /** * Returns a list of run configuration producers to suppress for Blaze projects. diff --git a/python/src/com/google/idea/blaze/python/run/producers/NonBlazeProducerSuppressor.java b/python/src/com/google/idea/blaze/python/run/producers/NonBlazeProducerSuppressor.java index dac4e7cfe73..eac25b9dfd6 100644 --- a/python/src/com/google/idea/blaze/python/run/producers/NonBlazeProducerSuppressor.java +++ b/python/src/com/google/idea/blaze/python/run/producers/NonBlazeProducerSuppressor.java @@ -24,7 +24,7 @@ import com.intellij.openapi.startup.StartupActivity; /** Suppresses certain non-Blaze configuration producers in Blaze projects. */ -public class NonBlazeProducerSuppressor implements StartupActivity { +public class NonBlazeProducerSuppressor implements StartupActivity.DumbAware { // PyTestsConfigurationProducer has internal visibility. We need to reference it to suppress it. @SuppressWarnings("KotlinInternal") diff --git a/scala/src/com/google/idea/blaze/scala/run/producers/NonBlazeProducerSuppressor.java b/scala/src/com/google/idea/blaze/scala/run/producers/NonBlazeProducerSuppressor.java index 71fd5f8aa1c..7fefb38bec7 100644 --- a/scala/src/com/google/idea/blaze/scala/run/producers/NonBlazeProducerSuppressor.java +++ b/scala/src/com/google/idea/blaze/scala/run/producers/NonBlazeProducerSuppressor.java @@ -26,7 +26,7 @@ import org.jetbrains.plugins.scala.testingSupport.test.specs2.Specs2ConfigurationProducer; /** Suppresses certain non-Blaze configuration producers in Blaze projects. */ -public class NonBlazeProducerSuppressor implements StartupActivity { +public class NonBlazeProducerSuppressor implements StartupActivity.DumbAware { private static final ImmutableList>> // ImmutableList.of(...) is broken: https://youtrack.jetbrains.com/issue/SCL-14531