mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-10-01 17:03:12 +07:00
Move BuildIssueException to ES api
GitOrigin-RevId: 9eaab24dfb5017cc54631f74aefa6eaeb46060c6
This commit is contained in:
committed by
intellij-monorepo-bot
parent
bdad8b598d
commit
da6b76589b
+1
-1
@@ -1,5 +1,5 @@
|
||||
// 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 org.jetbrains.plugins.gradle.issue;
|
||||
package com.intellij.openapi.externalSystem.issue;
|
||||
|
||||
import com.intellij.build.issue.BuildIssue;
|
||||
import com.intellij.openapi.externalSystem.model.ExternalSystemException;
|
||||
+12
@@ -15,6 +15,8 @@
|
||||
*/
|
||||
package com.intellij.openapi.externalSystem.service.notification;
|
||||
|
||||
import com.intellij.build.issue.BuildIssue;
|
||||
import com.intellij.build.issue.BuildIssueQuickFix;
|
||||
import com.intellij.execution.rmi.RemoteUtil;
|
||||
import com.intellij.ide.errorTreeView.*;
|
||||
import com.intellij.notification.Notification;
|
||||
@@ -24,6 +26,7 @@ import com.intellij.openapi.application.Application;
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.application.ModalityState;
|
||||
import com.intellij.openapi.components.ServiceManager;
|
||||
import com.intellij.openapi.externalSystem.issue.BuildIssueException;
|
||||
import com.intellij.openapi.externalSystem.model.LocationAwareExternalSystemException;
|
||||
import com.intellij.openapi.externalSystem.model.ProjectSystemId;
|
||||
import com.intellij.openapi.externalSystem.service.project.manage.ExternalProjectsManagerImpl;
|
||||
@@ -130,6 +133,14 @@ public class ExternalSystemNotificationManager implements Disposable {
|
||||
title, message, notificationCategory, NotificationSource.PROJECT_SYNC,
|
||||
filePath, ObjectUtils.notNull(line, -1), ObjectUtils.notNull(column, -1), false);
|
||||
|
||||
if (unwrapped instanceof BuildIssueException) {
|
||||
BuildIssue buildIssue = ((BuildIssueException)unwrapped).getBuildIssue();
|
||||
for (BuildIssueQuickFix quickFix : buildIssue.getQuickFixes()) {
|
||||
notificationData.setListener(quickFix.getId(), (notification, event) -> quickFix.runQuickFix(project));
|
||||
}
|
||||
return notificationData;
|
||||
}
|
||||
|
||||
for (ExternalSystemNotificationExtension extension: ExternalSystemNotificationExtension.EP_NAME.getExtensions()) {
|
||||
final ProjectSystemId targetExternalSystemId = extension.getTargetExternalSystemId();
|
||||
if (!externalSystemId.equals(targetExternalSystemId) && !targetExternalSystemId.equals(ProjectSystemId.IDE)) {
|
||||
@@ -142,6 +153,7 @@ public class ExternalSystemNotificationManager implements Disposable {
|
||||
|
||||
private static boolean isInternalError(@NotNull Throwable error,
|
||||
@NotNull ProjectSystemId externalSystemId) {
|
||||
if (RemoteUtil.unwrap(error) instanceof BuildIssueException) return false;
|
||||
return ExternalSystemNotificationExtension.EP_NAME.extensions()
|
||||
.anyMatch(extension -> externalSystemId.equals(extension.getTargetExternalSystemId()) && extension.isInternalError(error));
|
||||
}
|
||||
|
||||
-13
@@ -15,8 +15,6 @@
|
||||
*/
|
||||
package org.jetbrains.plugins.gradle.service.notification;
|
||||
|
||||
import com.intellij.build.issue.BuildIssue;
|
||||
import com.intellij.build.issue.BuildIssueQuickFix;
|
||||
import com.intellij.execution.rmi.RemoteUtil;
|
||||
import com.intellij.openapi.externalSystem.model.ExternalSystemException;
|
||||
import com.intellij.openapi.externalSystem.model.LocationAwareExternalSystemException;
|
||||
@@ -27,7 +25,6 @@ import com.intellij.openapi.externalSystem.service.notification.callback.OpenExt
|
||||
import com.intellij.openapi.project.Project;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.plugins.gradle.issue.BuildIssueException;
|
||||
import org.jetbrains.plugins.gradle.util.GradleConstants;
|
||||
|
||||
import java.io.ObjectStreamException;
|
||||
@@ -54,9 +51,6 @@ public class GradleNotificationExtension implements ExternalSystemNotificationEx
|
||||
// gradle tooling internal serialization issues
|
||||
return true;
|
||||
}
|
||||
if (unwrapped instanceof BuildIssueException) {
|
||||
return false;
|
||||
}
|
||||
if (unwrapped instanceof ExternalSystemException) {
|
||||
Throwable cause = unwrapped.getCause();
|
||||
if (cause != null) {
|
||||
@@ -84,13 +78,6 @@ public class GradleNotificationExtension implements ExternalSystemNotificationEx
|
||||
protected void updateNotification(@NotNull final NotificationData notificationData,
|
||||
@NotNull final Project project,
|
||||
@NotNull ExternalSystemException e) {
|
||||
if(e instanceof BuildIssueException) {
|
||||
BuildIssue buildIssue = ((BuildIssueException)e).getBuildIssue();
|
||||
for (BuildIssueQuickFix quickFix : buildIssue.getQuickFixes()) {
|
||||
notificationData.setListener(quickFix.getId(), (notification, event) -> quickFix.runQuickFix(project));
|
||||
}
|
||||
return;
|
||||
}
|
||||
for (String fix : e.getQuickFixes()) {
|
||||
if (OpenGradleSettingsCallback.ID.equals(fix)) {
|
||||
notificationData.setListener(OpenGradleSettingsCallback.ID, new OpenGradleSettingsCallback(project));
|
||||
|
||||
+1
-1
@@ -19,6 +19,7 @@ import com.intellij.build.issue.BuildIssue;
|
||||
import com.intellij.build.issue.BuildIssueChecker;
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.openapi.externalSystem.issue.BuildIssueException;
|
||||
import com.intellij.openapi.externalSystem.model.ExternalSystemException;
|
||||
import com.intellij.openapi.progress.ProcessCanceledException;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
@@ -28,7 +29,6 @@ import org.gradle.tooling.model.build.BuildEnvironment;
|
||||
import org.jetbrains.annotations.ApiStatus;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.plugins.gradle.issue.BuildIssueException;
|
||||
import org.jetbrains.plugins.gradle.issue.GradleIssueChecker;
|
||||
import org.jetbrains.plugins.gradle.issue.GradleIssueData;
|
||||
import org.jetbrains.plugins.gradle.service.execution.GradleExecutionErrorHandler;
|
||||
|
||||
Reference in New Issue
Block a user