mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
[Build] allow to provide navigatable for a build issue
GitOrigin-RevId: 844c8a25cdf156b406da41103f95486ca4f04261
This commit is contained in:
committed by
intellij-monorepo-bot
parent
5f2e44f8b1
commit
f727764b02
@@ -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<BuildIssueQuickFix>
|
||||
fun getNavigatable(project: Project): Navigatable?
|
||||
}
|
||||
|
||||
@@ -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<Project, Navigatable> 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<Project, Navigatable> 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
|
||||
|
||||
+3
@@ -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
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+3
@@ -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
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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())
|
||||
|
||||
+3
@@ -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
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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) {
|
||||
"- <a href=\"${UseBundledMavenQuickFix.ID}\">Use Bundled</a>\n"
|
||||
|
||||
override val quickFixes: List<BuildIssueQuickFix> = listOf(OpenMavenSettingsQuickFix(), UseBundledMavenQuickFix())
|
||||
override fun getNavigatable(project: Project): Navigatable? = null
|
||||
}, kind))
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user