diff --git a/platform/lang-api/src/com/intellij/build/issue/BuildIssue.kt b/platform/lang-api/src/com/intellij/build/issue/BuildIssue.kt index 0bde2f4e0052..0f5e6ccc5173 100644 --- a/platform/lang-api/src/com/intellij/build/issue/BuildIssue.kt +++ b/platform/lang-api/src/com/intellij/build/issue/BuildIssue.kt @@ -1,6 +1,8 @@ // Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. package com.intellij.build.issue +import com.intellij.openapi.project.Project +import com.intellij.pom.Navigatable import org.jetbrains.annotations.ApiStatus /** @@ -11,4 +13,5 @@ interface BuildIssue { val title: String val description: String val quickFixes: List + fun getNavigatable(project: Project): Navigatable? } diff --git a/platform/lang-impl/src/com/intellij/build/events/impl/BuildIssueEventImpl.java b/platform/lang-impl/src/com/intellij/build/events/impl/BuildIssueEventImpl.java index 428929839f4f..476ce84db3d5 100644 --- a/platform/lang-impl/src/com/intellij/build/events/impl/BuildIssueEventImpl.java +++ b/platform/lang-impl/src/com/intellij/build/events/impl/BuildIssueEventImpl.java @@ -10,8 +10,6 @@ import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import java.util.function.Function; - /** * @author Vladislav.Soroka */ @@ -19,22 +17,13 @@ import java.util.function.Function; public class BuildIssueEventImpl extends AbstractBuildEvent implements BuildIssueEvent { private final BuildIssue myIssue; private final Kind myKind; - private final Function myNavigatable; public BuildIssueEventImpl(@NotNull Object parentId, @NotNull BuildIssue buildIssue, @NotNull Kind kind) { - this(parentId, buildIssue, kind, project -> null); - } - - public BuildIssueEventImpl(@NotNull Object parentId, - @NotNull BuildIssue buildIssue, - @NotNull Kind kind, - @NotNull Function navigatableProvider) { super(new Object(), parentId, System.currentTimeMillis(), buildIssue.getTitle()); myIssue = buildIssue; myKind = kind; - myNavigatable = navigatableProvider; } @NotNull @@ -64,7 +53,7 @@ public class BuildIssueEventImpl extends AbstractBuildEvent implements BuildIssu @Nullable @Override public Navigatable getNavigatable(@NotNull Project project) { - return myNavigatable.apply(project); + return myIssue.getNavigatable(project); } @Override diff --git a/plugins/gradle/src/org/jetbrains/plugins/gradle/issue/GradleDaemonStartupIssueChecker.kt b/plugins/gradle/src/org/jetbrains/plugins/gradle/issue/GradleDaemonStartupIssueChecker.kt index c29310e3d991..81df2b6ed432 100644 --- a/plugins/gradle/src/org/jetbrains/plugins/gradle/issue/GradleDaemonStartupIssueChecker.kt +++ b/plugins/gradle/src/org/jetbrains/plugins/gradle/issue/GradleDaemonStartupIssueChecker.kt @@ -5,6 +5,8 @@ import com.intellij.build.BuildConsoleUtils.getMessageTitle import com.intellij.build.issue.BuildIssue import com.intellij.build.issue.BuildIssueQuickFix import com.intellij.build.issue.quickfix.OpenFileQuickFix +import com.intellij.openapi.project.Project +import com.intellij.pom.Navigatable import com.intellij.util.PlatformUtils import com.intellij.util.io.isFile import org.gradle.initialization.BuildLayoutParameters @@ -78,6 +80,7 @@ class GradleDaemonStartupIssueChecker : GradleIssueChecker { override val title: String = title override val description: String = description override val quickFixes = quickFixes + override fun getNavigatable(project: Project): Navigatable? = null } } } diff --git a/plugins/gradle/src/org/jetbrains/plugins/gradle/issue/IncompatibleGradleJdkIssueChecker.kt b/plugins/gradle/src/org/jetbrains/plugins/gradle/issue/IncompatibleGradleJdkIssueChecker.kt index ff7499d11c31..960b2694a64f 100644 --- a/plugins/gradle/src/org/jetbrains/plugins/gradle/issue/IncompatibleGradleJdkIssueChecker.kt +++ b/plugins/gradle/src/org/jetbrains/plugins/gradle/issue/IncompatibleGradleJdkIssueChecker.kt @@ -5,6 +5,8 @@ import com.intellij.build.BuildConsoleUtils.getMessageTitle import com.intellij.build.issue.BuildIssue import com.intellij.build.issue.BuildIssueQuickFix import com.intellij.openapi.application.ApplicationNamesInfo +import com.intellij.openapi.project.Project +import com.intellij.pom.Navigatable import com.intellij.util.PlatformUtils.getPlatformPrefix import com.intellij.util.lang.JavaVersion import org.gradle.util.GradleVersion @@ -125,6 +127,7 @@ class IncompatibleGradleJdkIssueChecker : GradleIssueChecker { override val title: String = title override val description: String = description override val quickFixes = quickFixes + override fun getNavigatable(project: Project): Navigatable? = null } } diff --git a/plugins/gradle/src/org/jetbrains/plugins/gradle/issue/UnresolvedDependencyIssue.kt b/plugins/gradle/src/org/jetbrains/plugins/gradle/issue/UnresolvedDependencyIssue.kt index 982ed4c9d64c..68f5374da77a 100644 --- a/plugins/gradle/src/org/jetbrains/plugins/gradle/issue/UnresolvedDependencyIssue.kt +++ b/plugins/gradle/src/org/jetbrains/plugins/gradle/issue/UnresolvedDependencyIssue.kt @@ -7,6 +7,7 @@ import com.intellij.execution.runners.ExecutionUtil import com.intellij.openapi.actionSystem.DataProvider import com.intellij.openapi.actionSystem.LangDataKeys import com.intellij.openapi.project.Project +import com.intellij.pom.Navigatable import org.jetbrains.annotations.ApiStatus import org.jetbrains.plugins.gradle.issue.quickfix.ReimportQuickFix.Companion.requestImport import org.jetbrains.plugins.gradle.settings.GradleSettings @@ -15,6 +16,7 @@ import java.util.concurrent.CompletableFuture @ApiStatus.Internal abstract class UnresolvedDependencyIssue(dependencyName: String) : BuildIssue { override val title: String = "Could not resolve $dependencyName" + override fun getNavigatable(project: Project): Navigatable? = null fun buildDescription(failureMessage: String?, isOfflineMode: Boolean, offlineModeQuickFixText: String): String { val issueDescription = StringBuilder(failureMessage?.trim()) diff --git a/plugins/gradle/src/org/jetbrains/plugins/gradle/issue/UnsupportedGradleVersionIssueChecker.kt b/plugins/gradle/src/org/jetbrains/plugins/gradle/issue/UnsupportedGradleVersionIssueChecker.kt index 8a5676470294..32dfee9f5e2f 100644 --- a/plugins/gradle/src/org/jetbrains/plugins/gradle/issue/UnsupportedGradleVersionIssueChecker.kt +++ b/plugins/gradle/src/org/jetbrains/plugins/gradle/issue/UnsupportedGradleVersionIssueChecker.kt @@ -4,6 +4,8 @@ package org.jetbrains.plugins.gradle.issue import com.intellij.build.BuildConsoleUtils.getMessageTitle import com.intellij.build.issue.BuildIssue import com.intellij.build.issue.BuildIssueQuickFix +import com.intellij.openapi.project.Project +import com.intellij.pom.Navigatable import org.gradle.util.GradleVersion import org.jetbrains.annotations.ApiStatus import org.jetbrains.plugins.gradle.issue.quickfix.GradleVersionQuickFix @@ -84,6 +86,7 @@ class UnsupportedGradleVersionIssueChecker : GradleIssueChecker { override val title: String = title override val description: String = description override val quickFixes = quickFixes + override fun getNavigatable(project: Project): Navigatable? = null } } } diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/buildtool/MavenSyncConsole.kt b/plugins/maven/src/main/java/org/jetbrains/idea/maven/buildtool/MavenSyncConsole.kt index 78db717c30a6..cd06e885acf0 100644 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/buildtool/MavenSyncConsole.kt +++ b/plugins/maven/src/main/java/org/jetbrains/idea/maven/buildtool/MavenSyncConsole.kt @@ -17,6 +17,7 @@ import com.intellij.openapi.project.Project import com.intellij.openapi.util.registry.Registry import com.intellij.openapi.util.text.StringUtil import com.intellij.openapi.vfs.VirtualFile +import com.intellij.pom.Navigatable import org.jetbrains.idea.maven.buildtool.quickfix.OpenMavenSettingsQuickFix import org.jetbrains.idea.maven.buildtool.quickfix.UseBundledMavenQuickFix import org.jetbrains.idea.maven.execution.SyncBundle @@ -215,6 +216,7 @@ class MavenSyncConsole(private val myProject: Project) { "- Use Bundled\n" override val quickFixes: List = listOf(OpenMavenSettingsQuickFix(), UseBundledMavenQuickFix()) + override fun getNavigatable(project: Project): Navigatable? = null }, kind)) }