IDEA-261846 - maven dummy server - review fixes

IDEA-261846 - maven dummy server

GitOrigin-RevId: 3cfe4b8bf888950791624125e97be56a5150dbcf
This commit is contained in:
Alexander Bubenchikov
2021-02-18 08:45:30 +00:00
committed by intellij-monorepo-bot
parent c5dd586ae3
commit 12fc73a9d2
4 changed files with 24 additions and 13 deletions
@@ -74,7 +74,7 @@ class TrustProjectQuickFix : BuildIssueQuickFix {
override fun runQuickFix(project: Project, dataContext: DataContext): CompletableFuture<*> {
val future = CompletableFuture<Void>()
ApplicationManager.getApplication().invokeLaterOnWriteThread {
ApplicationManager.getApplication().invokeLater {
try {
val result = MavenUtil.isProjectTrustedEnoughToImport(project, true, true)
if (result) {
@@ -8,6 +8,7 @@ import com.intellij.ui.AnActionButton
import com.intellij.ui.AnActionButtonRunnable
import com.intellij.util.ui.ListTableModel
import org.jetbrains.idea.maven.project.MavenConfigurableBundle
import org.jetbrains.idea.maven.server.DummyMavenServerConnector
import org.jetbrains.idea.maven.server.MavenServerConnector
import org.jetbrains.idea.maven.server.MavenServerConnectorImpl
import org.jetbrains.idea.maven.server.MavenServerManager
@@ -27,7 +28,8 @@ class ConnectorTable : ListTableWithButtons<MavenServerConnector>() {
override fun updateButton(e: AnActionEvent) {
val connector = tableView.selectedObject
isEnabled = connector is MavenServerConnectorImpl && connector.state == MavenServerConnectorImpl.State.RUNNING
isEnabled = (connector is MavenServerConnectorImpl && connector.state == MavenServerConnectorImpl.State.RUNNING)
|| connector is DummyMavenServerConnector
}
}
val refresh = object : AnActionButton(MavenConfigurableBundle.message("connector.ui.refresh"), AllIcons.Actions.Refresh) {
@@ -65,6 +65,7 @@ import org.jetbrains.annotations.Nullable;
import org.jetbrains.idea.maven.buildtool.MavenSyncConsole;
import org.jetbrains.idea.maven.dom.MavenDomUtil;
import org.jetbrains.idea.maven.execution.MavenRunnerSettings;
import org.jetbrains.idea.maven.execution.SyncBundle;
import org.jetbrains.idea.maven.model.MavenArtifact;
import org.jetbrains.idea.maven.model.MavenConstants;
import org.jetbrains.idea.maven.model.MavenId;
@@ -72,10 +73,7 @@ import org.jetbrains.idea.maven.model.MavenPlugin;
import org.jetbrains.idea.maven.project.MavenProject;
import org.jetbrains.idea.maven.project.MavenProjectReaderResult;
import org.jetbrains.idea.maven.project.MavenProjectsManager;
import org.jetbrains.idea.maven.server.MavenServerEmbedder;
import org.jetbrains.idea.maven.server.MavenServerManager;
import org.jetbrains.idea.maven.server.MavenServerProgressIndicator;
import org.jetbrains.idea.maven.server.MavenServerUtil;
import org.jetbrains.idea.maven.server.*;
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.SAXParseException;
@@ -1064,12 +1062,16 @@ public class MavenUtil {
"unlinked.project.notification.load.action",
MAVEN_NAME));
if (trust) {
MavenServerManager.getInstance().getAllConnectors().forEach(it -> {
if (it.getProject().equals(project)) {
it.shutdown(true);
}
});
MavenProjectsManager.getInstance(project).getEmbeddersManager().reset();
ProgressManager.getInstance().runProcessWithProgressSynchronously(() -> {
MavenServerManager.getInstance().getAllConnectors().forEach(it -> {
if (it.getProject().equals(project)) {
it.shutdown(true);
}
});
MavenProjectsManager.getInstance(project).getEmbeddersManager().reset();
}, SyncBundle.message("maven.sync.restarting"), false, project);
return true;
}
}
return state == ThreeState.YES;
@@ -1393,4 +1395,8 @@ public class MavenUtil {
File luceneLib = new File(PathUtil.getJarPathForClass(Query.class));
return luceneLib.getParentFile().getParentFile().getParentFile();
}
public static MavenDistribution getEffectiveMavenHome(Project project, String workingDirectory) {
return MavenDistributionsCache.getInstance(project).getMavenDistribution(workingDirectory);
}
}
@@ -62,4 +62,7 @@ maven.sync.not.trusted.title=Untrusted project
#leave link html markup - i.e. <a href="{0}">Translation goes here</a>
maven.sync.not.trusted.description=The opened untrusted project is not fully loaded. \n\
IntelliJ IDEA will not resolve any plugins in the project, download artifacts, or execute any goals.\n\
<a href="{0}">Make project trusted</a>
<a href="{0}">Trust project</a>
maven.sync.wsl.maven.is.not.wsl=Maven distribution looks incorrect
maven.sync.wsl.maven.is.not.wsl.description=Maven home resolved to {0}.\n For performance reason better to use maven installed in wsl disctribution. <a href="{1}">Open settings</a>
maven.sync.restarting=Restarting maven...