From 57dc6463892dcfb5173c44314c07b453ee4d0a73 Mon Sep 17 00:00:00 2001 From: Alexander Bubenchikov Date: Mon, 11 Feb 2019 15:14:12 +0300 Subject: [PATCH] IDEA-206109 maven build tool window - remove external api integration - will be restored in future --- .../execution/MavenRunConfigurationType.java | 1 - .../ImportFromMavenControl.java | 44 ------ .../MavenExternalManager.java | 113 -------------- .../MavenProjectImportBuilder.java | 61 -------- .../MavenProjectImportProvider.java | 28 ---- .../MavenProjectResolver.java | 30 ---- .../run/MavenExecutionStatusListener.java | 138 ----------------- .../run/MavenTaskManager.java | 143 ------------------ ...elegatingMavenSettingsListenerAdapter.java | 13 -- .../settings/MavenExecutionSettings.java | 46 ------ .../settings/MavenLocalSettings.java | 31 ---- .../settings/MavenProjectSettings.java | 87 ----------- .../settings/MavenProjectSettingsControl.java | 47 ------ .../settings/MavenSettings.java | 50 ------ .../settings/MavenSettingsListener.java | 14 -- .../settings/MavenSystemSettingsControl.java | 50 ------ .../util/MavenExternalSystemTaskRunner.java | 43 ------ .../actions/MavenExecuteGoalAction.java | 1 - .../wizards/MavenProjectOpenProcessor.java | 2 - .../src/main/resources/META-INF/plugin.xml | 2 - 20 files changed, 944 deletions(-) delete mode 100644 plugins/maven/src/main/java/org/jetbrains/idea/maven/externalSystemIntegration/ImportFromMavenControl.java delete mode 100644 plugins/maven/src/main/java/org/jetbrains/idea/maven/externalSystemIntegration/MavenExternalManager.java delete mode 100644 plugins/maven/src/main/java/org/jetbrains/idea/maven/externalSystemIntegration/MavenProjectImportBuilder.java delete mode 100644 plugins/maven/src/main/java/org/jetbrains/idea/maven/externalSystemIntegration/MavenProjectImportProvider.java delete mode 100644 plugins/maven/src/main/java/org/jetbrains/idea/maven/externalSystemIntegration/MavenProjectResolver.java delete mode 100644 plugins/maven/src/main/java/org/jetbrains/idea/maven/externalSystemIntegration/run/MavenExecutionStatusListener.java delete mode 100644 plugins/maven/src/main/java/org/jetbrains/idea/maven/externalSystemIntegration/run/MavenTaskManager.java delete mode 100644 plugins/maven/src/main/java/org/jetbrains/idea/maven/externalSystemIntegration/settings/DelegatingMavenSettingsListenerAdapter.java delete mode 100644 plugins/maven/src/main/java/org/jetbrains/idea/maven/externalSystemIntegration/settings/MavenExecutionSettings.java delete mode 100644 plugins/maven/src/main/java/org/jetbrains/idea/maven/externalSystemIntegration/settings/MavenLocalSettings.java delete mode 100644 plugins/maven/src/main/java/org/jetbrains/idea/maven/externalSystemIntegration/settings/MavenProjectSettings.java delete mode 100644 plugins/maven/src/main/java/org/jetbrains/idea/maven/externalSystemIntegration/settings/MavenProjectSettingsControl.java delete mode 100644 plugins/maven/src/main/java/org/jetbrains/idea/maven/externalSystemIntegration/settings/MavenSettings.java delete mode 100644 plugins/maven/src/main/java/org/jetbrains/idea/maven/externalSystemIntegration/settings/MavenSettingsListener.java delete mode 100644 plugins/maven/src/main/java/org/jetbrains/idea/maven/externalSystemIntegration/settings/MavenSystemSettingsControl.java delete mode 100644 plugins/maven/src/main/java/org/jetbrains/idea/maven/externalSystemIntegration/util/MavenExternalSystemTaskRunner.java diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/execution/MavenRunConfigurationType.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/execution/MavenRunConfigurationType.java index 3016770a6295..9b81e44c0555 100644 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/execution/MavenRunConfigurationType.java +++ b/plugins/maven/src/main/java/org/jetbrains/idea/maven/execution/MavenRunConfigurationType.java @@ -22,7 +22,6 @@ import icons.MavenIcons; import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import org.jetbrains.idea.maven.externalSystemIntegration.util.MavenExternalSystemTaskRunner; import org.jetbrains.idea.maven.model.MavenConstants; import org.jetbrains.idea.maven.project.MavenGeneralSettings; import org.jetbrains.idea.maven.project.MavenProject; diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/externalSystemIntegration/ImportFromMavenControl.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/externalSystemIntegration/ImportFromMavenControl.java deleted file mode 100644 index 8ce166eb387e..000000000000 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/externalSystemIntegration/ImportFromMavenControl.java +++ /dev/null @@ -1,44 +0,0 @@ -// 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.idea.maven.externalSystemIntegration; - -import com.intellij.openapi.externalSystem.model.ProjectSystemId; -import com.intellij.openapi.externalSystem.service.settings.AbstractImportFromExternalSystemControl; -import com.intellij.openapi.externalSystem.util.ExternalSystemSettingsControl; -import com.intellij.openapi.project.ProjectManager; -import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; -import org.jetbrains.idea.maven.externalSystemIntegration.settings.*; -import org.jetbrains.idea.maven.model.MavenConstants; -import org.jetbrains.idea.maven.utils.MavenLog; - -public class ImportFromMavenControl - extends AbstractImportFromExternalSystemControl { - public ImportFromMavenControl() { - super(MavenConstants.SYSTEM_ID, MavenSettings.getInstance(ProjectManager.getInstance().getDefaultProject()), MavenProjectSettings.getInitial(), - true); - } - - protected ImportFromMavenControl(@NotNull ProjectSystemId externalSystemId, - @NotNull MavenSettings systemSettings, - @NotNull MavenProjectSettings projectSettings, boolean showProjectFormatPanel) { - super(externalSystemId, systemSettings, projectSettings, showProjectFormatPanel); - } - - @Override - protected void onLinkedProjectPathChange(@NotNull String path) { - MavenLog.LOG.warn("onLinkedProjectPathChange " + path); - } - - @NotNull - @Override - protected ExternalSystemSettingsControl createProjectSettingsControl(@NotNull MavenProjectSettings settings) { - return new MavenProjectSettingsControl(settings); - } - - - @Nullable - @Override - protected ExternalSystemSettingsControl createSystemSettingsControl(@NotNull MavenSettings settings) { - return new MavenSystemSettingsControl(settings); - } -} diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/externalSystemIntegration/MavenExternalManager.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/externalSystemIntegration/MavenExternalManager.java deleted file mode 100644 index c2a9ac82ea94..000000000000 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/externalSystemIntegration/MavenExternalManager.java +++ /dev/null @@ -1,113 +0,0 @@ -// 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.idea.maven.externalSystemIntegration; - -import com.intellij.execution.ExecutionException; -import com.intellij.execution.configurations.SearchScopeProvider; -import com.intellij.execution.configurations.SimpleJavaParameters; -import com.intellij.openapi.externalSystem.ExternalSystemManager; -import com.intellij.openapi.externalSystem.model.ProjectSystemId; -import com.intellij.openapi.externalSystem.model.execution.ExternalSystemTaskExecutionSettings; -import com.intellij.openapi.externalSystem.service.execution.ExternalSystemJdkUtil; -import com.intellij.openapi.externalSystem.service.project.ExternalSystemProjectResolver; -import com.intellij.openapi.externalSystem.task.ExternalSystemTaskManager; -import com.intellij.openapi.fileChooser.FileChooserDescriptor; -import com.intellij.openapi.project.Project; -import com.intellij.openapi.project.ProjectManager; -import com.intellij.openapi.util.Pair; -import com.intellij.openapi.vfs.LocalFileSystem; -import com.intellij.psi.search.GlobalSearchScope; -import com.intellij.util.Function; -import com.intellij.util.PathUtil; -import com.intellij.util.PathsList; -import com.intellij.util.containers.ContainerUtil; -import com.intellij.util.containers.ContainerUtilRt; -import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; -import org.jetbrains.idea.maven.externalSystemIntegration.run.MavenTaskManager; -import org.jetbrains.idea.maven.externalSystemIntegration.settings.*; -import org.jetbrains.idea.maven.model.MavenConstants; -import org.jetbrains.idea.maven.server.MavenServerManager; -import org.jetbrains.idea.maven.utils.MavenUtil; - -import java.io.File; -import java.util.Set; - -public class MavenExternalManager implements ExternalSystemManager< - MavenProjectSettings, - MavenSettingsListener, - MavenSettings, - MavenLocalSettings, - MavenExecutionSettings> { - - - @NotNull - @Override - public ProjectSystemId getSystemId() { - return MavenConstants.SYSTEM_ID; - } - - @NotNull - @Override - public Function getSettingsProvider() { - return project -> MavenSettings.getInstance(project); - } - - @NotNull - @Override - public Function getLocalSettingsProvider() { - return project -> MavenLocalSettings.getInstance(project); - } - - @NotNull - @Override - public Function, MavenExecutionSettings> getExecutionSettingsProvider() { - return pair -> { - Project project = pair.first; - MavenSettings settings = MavenSettings.getInstance(project); - File mavenHome = MavenServerManager.getMavenHomeFile(MavenServerManager.BUNDLED_MAVEN_3); - MavenExecutionSettings mavenExecutionSettings = new MavenExecutionSettings( - mavenHome, MavenUtil.getMavenVersion(mavenHome), - ExternalSystemJdkUtil - .getJdk(project, settings.getJdkToUse()).getHomePath(), - LocalFileSystem.getInstance().findFileByIoFile(new File(pair.second)).findChild("pom.xml")); - return mavenExecutionSettings; - }; - } - - @NotNull - @Override - public Class> getProjectResolverClass() { - return MavenProjectResolver.class; - } - - @Override - public Class> getTaskManagerClass() { - return MavenTaskManager.class; - } - - @NotNull - @Override - public FileChooserDescriptor getExternalProjectDescriptor() { - return new FileChooserDescriptor(true, false, false, false, false, false) - .withTitle("Choose Maven File") - .withFileFilter(MavenUtil::isPomFile); - } - - @Override - public void enhanceRemoteProcessing(@NotNull SimpleJavaParameters parameters) throws ExecutionException { - final Set additionalEntries = ContainerUtilRt.newHashSet(); - ContainerUtil.addIfNotNull(additionalEntries, PathUtil.getJarPathForClass(MavenServerManager.class)); - ContainerUtil.addIfNotNull(additionalEntries, PathUtil.getJarPathForClass(MavenConstants.class)); - - final PathsList classPath = parameters.getClassPath(); - for (String entry : additionalEntries) { - classPath.add(entry); - } - } - - @Nullable - @Override - public GlobalSearchScope getSearchScope(@NotNull Project project, @NotNull ExternalSystemTaskExecutionSettings taskExecutionSettings) { - return SearchScopeProvider.createSearchScope(project, null); - } -} diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/externalSystemIntegration/MavenProjectImportBuilder.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/externalSystemIntegration/MavenProjectImportBuilder.java deleted file mode 100644 index 1550cce77a20..000000000000 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/externalSystemIntegration/MavenProjectImportBuilder.java +++ /dev/null @@ -1,61 +0,0 @@ -// 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.idea.maven.externalSystemIntegration; - -import com.intellij.ide.util.projectWizard.WizardContext; -import com.intellij.openapi.application.ApplicationManager; -import com.intellij.openapi.components.ServiceManager; -import com.intellij.openapi.externalSystem.model.DataNode; -import com.intellij.openapi.externalSystem.model.ProjectSystemId; -import com.intellij.openapi.externalSystem.model.internal.InternalExternalProjectInfo; -import com.intellij.openapi.externalSystem.model.project.ProjectData; -import com.intellij.openapi.externalSystem.service.project.ExternalProjectRefreshCallback; -import com.intellij.openapi.externalSystem.service.project.ProjectDataManager; -import com.intellij.openapi.externalSystem.service.project.wizard.AbstractExternalProjectImportBuilder; -import com.intellij.openapi.externalSystem.service.ui.ExternalProjectDataSelectorDialog; -import com.intellij.openapi.project.Project; -import com.intellij.openapi.util.Disposer; -import com.intellij.openapi.util.NotNullFactory; -import icons.MavenIcons; -import icons.OpenapiIcons; -import org.jetbrains.annotations.NotNull; -import org.jetbrains.idea.maven.model.MavenConstants; - -import javax.swing.*; -import java.io.File; - -public class MavenProjectImportBuilder extends AbstractExternalProjectImportBuilder { - public MavenProjectImportBuilder(@NotNull ProjectDataManager projectDataManager) { - super(projectDataManager, () -> new ImportFromMavenControl(), MavenConstants.SYSTEM_ID); - } - - @Override - protected void doPrepare(@NotNull WizardContext context) { - - } - - @Override - protected void beforeCommit(@NotNull DataNode dataNode, @NotNull Project project) { - - } - - @NotNull - @Override - protected File getExternalProjectConfigToUse(@NotNull File file) { - return file.isDirectory() ? file : file.getParentFile(); - } - - @Override - protected void applyExtraSettings(@NotNull WizardContext context) { - } - - @NotNull - @Override - public String getName() { - return "Maven"; - } - - @Override - public Icon getIcon() { - return OpenapiIcons.RepositoryLibraryLogo; - } -} diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/externalSystemIntegration/MavenProjectImportProvider.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/externalSystemIntegration/MavenProjectImportProvider.java deleted file mode 100644 index 144b851ea347..000000000000 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/externalSystemIntegration/MavenProjectImportProvider.java +++ /dev/null @@ -1,28 +0,0 @@ -// 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.idea.maven.externalSystemIntegration; - -import com.intellij.openapi.externalSystem.service.project.wizard.AbstractExternalProjectImportProvider; -import com.intellij.openapi.vfs.VirtualFile; -import org.jetbrains.annotations.Nullable; -import org.jetbrains.idea.maven.model.MavenConstants; -import org.jetbrains.idea.maven.utils.MavenUtil; - -public class MavenProjectImportProvider extends AbstractExternalProjectImportProvider { - - public MavenProjectImportProvider(MavenProjectImportBuilder builder) { - super(builder, MavenConstants.SYSTEM_ID); - } - - @Override - protected boolean canImportFromFile(VirtualFile file) { - return MavenUtil.isPomFile(file); - } - - @Nullable - @Override - public String getFileSample() { - return "Maven build file (pom.xml)"; - } - - -} diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/externalSystemIntegration/MavenProjectResolver.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/externalSystemIntegration/MavenProjectResolver.java deleted file mode 100644 index 93b8576334fd..000000000000 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/externalSystemIntegration/MavenProjectResolver.java +++ /dev/null @@ -1,30 +0,0 @@ -// 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.idea.maven.externalSystemIntegration; - -import com.intellij.openapi.externalSystem.model.DataNode; -import com.intellij.openapi.externalSystem.model.ExternalSystemException; -import com.intellij.openapi.externalSystem.model.project.ProjectData; -import com.intellij.openapi.externalSystem.model.task.ExternalSystemTaskId; -import com.intellij.openapi.externalSystem.model.task.ExternalSystemTaskNotificationListener; -import com.intellij.openapi.externalSystem.service.project.ExternalSystemProjectResolver; -import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; -import org.jetbrains.idea.maven.externalSystemIntegration.settings.MavenExecutionSettings; - -public class MavenProjectResolver implements ExternalSystemProjectResolver { - @Nullable - @Override - public DataNode resolveProjectInfo(@NotNull ExternalSystemTaskId id, - @NotNull String projectPath, - boolean isPreviewMode, - @Nullable MavenExecutionSettings settings, - @NotNull ExternalSystemTaskNotificationListener listener) - throws ExternalSystemException, IllegalArgumentException, IllegalStateException { - return null; - } - - @Override - public boolean cancelTask(@NotNull ExternalSystemTaskId taskId, @NotNull ExternalSystemTaskNotificationListener listener) { - return false; - } -} diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/externalSystemIntegration/run/MavenExecutionStatusListener.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/externalSystemIntegration/run/MavenExecutionStatusListener.java deleted file mode 100644 index c494104be539..000000000000 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/externalSystemIntegration/run/MavenExecutionStatusListener.java +++ /dev/null @@ -1,138 +0,0 @@ -// 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.idea.maven.externalSystemIntegration.run; - -import com.intellij.openapi.externalSystem.model.task.ExternalSystemTaskId; -import com.intellij.openapi.externalSystem.model.task.ExternalSystemTaskNotificationListener; -import com.intellij.openapi.externalSystem.model.task.event.*; -import com.intellij.util.SmartList; -import com.intellij.util.containers.ContainerUtil; -import com.intellij.util.containers.Stack; - -import java.util.Collections; -import java.util.List; -import java.util.Objects; -import java.util.Set; - - -public class MavenExecutionStatusListener { - - private final ExternalSystemTaskId mySystemTaskId; - private final ExternalSystemTaskNotificationListener myListener; - private final Set runningTasks = ContainerUtil.newConcurrentSet(); - - public MavenExecutionStatusListener(ExternalSystemTaskId systemTaskId, ExternalSystemTaskNotificationListener listener) { - mySystemTaskId = systemTaskId; - myListener = listener; - } - - public MavenSubTask start(String name) { - return new MavenSubTask(name, null); - } - - public void failAllNonCompleted(Exception e) { - Set toFail = ContainerUtil.newHashSet(runningTasks); - - for (MavenSubTask subTask : toFail) { - subTask.failure(e); - } - } - - public class MavenSubTask { - private final String myName; - private final String myParentName; - private final long myStartTime; - private final TaskOperationDescriptor myDescriptor; - - MavenSubTask(String name, String parentName) { - myName = name; - myParentName = parentName; - myStartTime = System.currentTimeMillis(); - - myDescriptor = new TaskOperationDescriptorImpl(name, myStartTime, name); - - myListener.onStatusChange(new ExternalSystemTaskExecutionEvent(mySystemTaskId, - new ExternalSystemStartEventImpl<>( - myName, myParentName, - myDescriptor - )) - ); - runningTasks.add(this); - } - - public MavenSubTask startChild(String name) { - return new MavenSubTask(name, myName); - } - - public void failure(Throwable e) { - myListener.onStatusChange(new ExternalSystemTaskExecutionEvent(mySystemTaskId, - new ExternalSystemFinishEventImpl<>( - myName, myParentName, - myDescriptor, - new FailureResultImpl(myStartTime, System.currentTimeMillis(), - getFailures(e))) - )); - runningTasks.remove(this); - } - - public void failure(List messages) { - myListener.onStatusChange(new ExternalSystemTaskExecutionEvent(mySystemTaskId, - new ExternalSystemFinishEventImpl<>( - myName, myParentName, - myDescriptor, - new FailureResultImpl(myStartTime, System.currentTimeMillis(), - getFailures(messages))) - )); - runningTasks.remove(this); - } - - - public void success() { - myListener.onStatusChange(new ExternalSystemTaskExecutionEvent(mySystemTaskId, - new ExternalSystemFinishEventImpl<>( - myName, myParentName, - myDescriptor, - new SuccessResultImpl(myStartTime, System.currentTimeMillis(), - false)) - )); - runningTasks.remove(this); - } - - public void skip() { - myListener.onStatusChange(new ExternalSystemTaskExecutionEvent(mySystemTaskId, - new ExternalSystemFinishEventImpl<>( - myName, myParentName, - myDescriptor, - new SkippedResultImpl(myStartTime, System.currentTimeMillis())) - )); - runningTasks.remove(this); - } - - - private List getFailures(Throwable e) { - return Collections.singletonList(new FailureImpl(e.getMessage(), e.getMessage(), ContainerUtil.emptyList())); - } - - private List getFailures(List messages) { - List result = new SmartList<>(); - for (String message : messages) { - result.add(new FailureImpl(message, message, ContainerUtil.emptyList())); - } - ; - return result; - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - MavenSubTask task = (MavenSubTask)o; - return myName.equals(task.myName) && - Objects.equals(myParentName, task.myParentName); - } - - @Override - public int hashCode() { - return Objects.hash(myName, myParentName); - } - } -} diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/externalSystemIntegration/run/MavenTaskManager.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/externalSystemIntegration/run/MavenTaskManager.java deleted file mode 100644 index 304b42f5e491..000000000000 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/externalSystemIntegration/run/MavenTaskManager.java +++ /dev/null @@ -1,143 +0,0 @@ -// 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.idea.maven.externalSystemIntegration.run; - -import com.intellij.execution.process.ProcessAdapter; -import com.intellij.execution.process.ProcessEvent; -import com.intellij.execution.process.ProcessHandler; -import com.intellij.execution.process.ProcessListener; -import com.intellij.openapi.externalSystem.model.ExternalSystemException; -import com.intellij.openapi.externalSystem.model.task.ExternalSystemTaskId; -import com.intellij.openapi.externalSystem.model.task.ExternalSystemTaskNotificationListener; -import com.intellij.openapi.externalSystem.model.task.event.*; -import com.intellij.openapi.externalSystem.rt.execution.ForkedDebuggerConfiguration; -import com.intellij.openapi.externalSystem.task.BaseExternalSystemTaskManager; -import com.intellij.openapi.progress.EmptyProgressIndicator; -import com.intellij.openapi.progress.ProgressIndicator; -import com.intellij.openapi.project.Project; -import com.intellij.openapi.util.Key; -import com.intellij.openapi.vfs.LocalFileSystem; -import com.intellij.openapi.vfs.VirtualFile; -import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; -import org.jetbrains.idea.maven.execution.MavenExecutionOptions; -import org.jetbrains.idea.maven.externalSystemIntegration.run.MavenExecutionStatusListener.MavenSubTask; -import org.jetbrains.idea.maven.externalSystemIntegration.settings.MavenExecutionSettings; -import org.jetbrains.idea.maven.project.MavenConsole; -import org.jetbrains.idea.maven.project.MavenProject; -import org.jetbrains.idea.maven.project.MavenProjectsManager; -import org.jetbrains.idea.maven.server.MavenEmbedderWrapper; -import org.jetbrains.idea.maven.server.MavenServerDownloadListener; -import org.jetbrains.idea.maven.server.MavenServerExecutionResult; -import org.jetbrains.idea.maven.server.MavenServerManager; -import org.jetbrains.idea.maven.utils.MavenLog; -import org.jetbrains.idea.maven.utils.MavenProgressIndicator; - -import java.io.File; -import java.rmi.RemoteException; -import java.util.Collections; -import java.util.List; -import java.util.stream.Collectors; - -public class MavenTaskManager extends BaseExternalSystemTaskManager { - - @Override - public void executeTasks(@NotNull ExternalSystemTaskId id, - @NotNull List taskNames, - @NotNull String projectPath, - @Nullable MavenExecutionSettings settings, - @Nullable String jvmAgentSetup, - @NotNull ExternalSystemTaskNotificationListener listener) throws ExternalSystemException { - MavenExecutionStatusListener mavenListener = new MavenExecutionStatusListener(id, listener); - - try { - MavenSubTask startEvent = mavenListener.start("Starting maven server"); - - ForkedDebuggerConfiguration forkedDebuggerSetup = ForkedDebuggerConfiguration.parse(jvmAgentSetup); - if (forkedDebuggerSetup != null) { - settings.withVmOption(forkedDebuggerSetup.getJvmAgentSetup(isJdk9orLater(settings.getJavaHome()))); - } - - Project project = id.findProject(); - if (project == null) { - throw new RuntimeException("Cannot find project for task"); - } - MavenServerManager serverManager = MavenServerManager.getInstance(); - - - MavenEmbedderWrapper embedder = serverManager.createEmbedder(project, false, projectPath, projectPath); - customize(embedder, listener, id); - startEvent.success(); - - taskNames.forEach(taskName -> executeTask(settings, startEvent, embedder, taskName)); - } - finally { - mavenListener.failAllNonCompleted(new Exception("internal error")); - } - } - - private void executeTask(@NotNull MavenExecutionSettings settings, - MavenSubTask startEvent, - MavenEmbedderWrapper embedder, String taskName) { - MavenSubTask execute = startEvent.startChild(taskName); - try { - - MavenServerExecutionResult result = embedder - .execute(settings.getPomFile(), Collections.emptyList(), Collections.emptyList(), - Collections.singletonList(taskName)); - - if (result.problems != null && !result.problems.isEmpty()) { - execute.failure(result.problems.stream().map(s -> s.getDescription()).collect(Collectors.toList())); - } - else { - execute.success(); - } - } - catch (Exception e) { - execute.failure(e); - } - } - - private void customize(MavenEmbedderWrapper embedder, - ExternalSystemTaskNotificationListener listener, - ExternalSystemTaskId id) { - embedder.customizeForResolve(new MavenConsole(MavenExecutionOptions.LoggingLevel.DEBUG, false) { - @Override - public boolean canPause() { - return false; - } - - @Override - public boolean isOutputPaused() { - return false; - } - - @Override - public void setOutputPaused(boolean outputPaused) { - } - - @Override - public void attachToProcess(ProcessHandler processHandler) { - processHandler.addProcessListener(new ProcessAdapter() { - @Override - public void onTextAvailable(@NotNull ProcessEvent event, @NotNull Key outputType) { - listener.onTaskOutput(id, event.getText(), false); - } - }); - MavenLog.LOG.debug("attachToProcess " + processHandler); - } - - @Override - protected void doPrint(String text, OutputType type) { - MavenLog.LOG.debug(text); - boolean stdErr = type == OutputType.ERROR; - listener.onTaskOutput(id, text, !stdErr); - } - }, new MavenProgressIndicator()); - } - - @Override - public boolean cancelTask(@NotNull ExternalSystemTaskId id, @NotNull ExternalSystemTaskNotificationListener listener) - throws ExternalSystemException { - return false; - } -} diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/externalSystemIntegration/settings/DelegatingMavenSettingsListenerAdapter.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/externalSystemIntegration/settings/DelegatingMavenSettingsListenerAdapter.java deleted file mode 100644 index f48dfd430df4..000000000000 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/externalSystemIntegration/settings/DelegatingMavenSettingsListenerAdapter.java +++ /dev/null @@ -1,13 +0,0 @@ -// 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.idea.maven.externalSystemIntegration.settings; - -import com.intellij.openapi.externalSystem.settings.DelegatingExternalSystemSettingsListener; -import com.intellij.openapi.externalSystem.settings.ExternalSystemSettingsListener; -import org.jetbrains.annotations.NotNull; - -public class DelegatingMavenSettingsListenerAdapter extends DelegatingExternalSystemSettingsListener - implements MavenSettingsListener { - public DelegatingMavenSettingsListenerAdapter(@NotNull ExternalSystemSettingsListener delegate) { - super(delegate); - } -} diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/externalSystemIntegration/settings/MavenExecutionSettings.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/externalSystemIntegration/settings/MavenExecutionSettings.java deleted file mode 100644 index 308775721470..000000000000 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/externalSystemIntegration/settings/MavenExecutionSettings.java +++ /dev/null @@ -1,46 +0,0 @@ -// 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.idea.maven.externalSystemIntegration.settings; - -import com.intellij.openapi.externalSystem.model.settings.ExternalSystemExecutionSettings; -import com.intellij.openapi.vfs.VirtualFile; -import org.jetbrains.annotations.NotNull; - -import java.io.File; - -public class MavenExecutionSettings extends ExternalSystemExecutionSettings { - - @NotNull private final File myMavenHome; - @NotNull private final String myMavenVersion; - @NotNull private final String myJavaHome; - @NotNull private final VirtualFile myPomFile; - - public MavenExecutionSettings(@NotNull File mavenHome, - @NotNull String mavenVersion, - @NotNull String javaHome, - @NotNull VirtualFile pomFile) { - myMavenHome = mavenHome; - myMavenVersion = mavenVersion; - myJavaHome = javaHome; - myPomFile = pomFile; - } - - @NotNull - public File getMavenHome() { - return myMavenHome; - } - - @NotNull - public String getMavenVersion() { - return myMavenVersion; - } - - - @NotNull - public String getJavaHome() { - return myJavaHome; - } - - public VirtualFile getPomFile() { - return myPomFile; - } -} diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/externalSystemIntegration/settings/MavenLocalSettings.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/externalSystemIntegration/settings/MavenLocalSettings.java deleted file mode 100644 index 1ef83c2aadd0..000000000000 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/externalSystemIntegration/settings/MavenLocalSettings.java +++ /dev/null @@ -1,31 +0,0 @@ -// 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.idea.maven.externalSystemIntegration.settings; - -import com.intellij.openapi.components.ServiceManager; -import com.intellij.openapi.components.State; -import com.intellij.openapi.components.Storage; -import com.intellij.openapi.components.StoragePathMacros; -import com.intellij.openapi.externalSystem.settings.AbstractExternalSystemLocalSettings; -import com.intellij.openapi.project.Project; -import org.jetbrains.annotations.NotNull; -import org.jetbrains.idea.maven.model.MavenConstants; - - -@State(name = "MavenLocalSettings", storages = { - @Storage(StoragePathMacros.CACHE_FILE), - @Storage(value = StoragePathMacros.WORKSPACE_FILE, deprecated = true) -}) -public class MavenLocalSettings extends AbstractExternalSystemLocalSettings { - public MavenLocalSettings(@NotNull Project project) { - super(MavenConstants.SYSTEM_ID, project, new MyState()); - } - - @NotNull - public static MavenLocalSettings getInstance(@NotNull Project project) { - return new MavenLocalSettings(project); - //return ServiceManager.getService(project, MavenLocalSettings.class); - } - - public static class MyState extends AbstractExternalSystemLocalSettings.State { - } -} diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/externalSystemIntegration/settings/MavenProjectSettings.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/externalSystemIntegration/settings/MavenProjectSettings.java deleted file mode 100644 index 0690cef093e5..000000000000 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/externalSystemIntegration/settings/MavenProjectSettings.java +++ /dev/null @@ -1,87 +0,0 @@ -// 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.idea.maven.externalSystemIntegration.settings; - - -import com.intellij.openapi.externalSystem.service.execution.ExternalSystemJdkUtil; -import com.intellij.openapi.externalSystem.settings.ExternalProjectSettings; -import org.jetbrains.annotations.Contract; -import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; -import org.jetbrains.idea.maven.server.MavenServerManager; - -import java.io.File; - -public class MavenProjectSettings extends ExternalProjectSettings { - - @Nullable private String myMavenHome; - @Nullable private String myMavenJVM = ExternalSystemJdkUtil.USE_PROJECT_JDK; - @Nullable private Integer myThreadCount; - - @Nullable private File myMavenSettingsFile; - @Nullable private File myMavenLocalRepo; - - @NotNull - @Override - public ExternalProjectSettings clone() { - MavenProjectSettings result = new MavenProjectSettings(); - copyTo(result); - result.myMavenHome = myMavenHome; - result.myMavenJVM = myMavenJVM; - result.myThreadCount = myThreadCount; - result.myMavenSettingsFile = myMavenSettingsFile; - result.myMavenLocalRepo = myMavenLocalRepo; - return result; - } - - @Nullable - public String getMavenHome() { - return myMavenHome; - } - - public void setMavenHome(@Nullable String mavenHome) { - myMavenHome = mavenHome; - } - - @Nullable - public String getMavenJVM() { - return myMavenJVM; - } - - public void setMavenJVM(@Nullable String mavenJVM) { - myMavenJVM = mavenJVM; - } - - @Nullable - public Integer getThreadCount() { - return myThreadCount; - } - - public void setThreadCount(@Nullable Integer threadCount) { - myThreadCount = threadCount; - } - - @Nullable - public File getMavenSettingsFile() { - return myMavenSettingsFile; - } - - public void setMavenSettingsFile(@Nullable File mavenSettingsFile) { - myMavenSettingsFile = mavenSettingsFile; - } - - @Nullable - public File getMavenLocalRepo() { - return myMavenLocalRepo; - } - - public void setMavenLocalRepo(@Nullable File mavenLocalRepo) { - myMavenLocalRepo = mavenLocalRepo; - } - - @NotNull - public static MavenProjectSettings getInitial() { - MavenProjectSettings result = new MavenProjectSettings(); - result.setMavenHome(MavenServerManager.BUNDLED_MAVEN_3); - return result; - } -} diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/externalSystemIntegration/settings/MavenProjectSettingsControl.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/externalSystemIntegration/settings/MavenProjectSettingsControl.java deleted file mode 100644 index 4df55d687e57..000000000000 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/externalSystemIntegration/settings/MavenProjectSettingsControl.java +++ /dev/null @@ -1,47 +0,0 @@ -// 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.idea.maven.externalSystemIntegration.settings; - -import com.intellij.openapi.externalSystem.util.ExternalSystemSettingsControl; -import com.intellij.openapi.externalSystem.util.PaintAwarePanel; -import com.intellij.openapi.options.ConfigurationException; -import org.jetbrains.annotations.NotNull; -import org.jetbrains.idea.maven.externalSystemIntegration.settings.MavenProjectSettings; - -public class MavenProjectSettingsControl implements ExternalSystemSettingsControl { - public MavenProjectSettingsControl(MavenProjectSettings initialSettings) {} - - @Override - public void fillUi(@NotNull PaintAwarePanel canvas, int indentLevel) { - - } - - @Override - public void reset() { - - } - - @Override - public boolean isModified() { - return false; - } - - @Override - public void apply(@NotNull MavenProjectSettings settings) { - - } - - @Override - public boolean validate(@NotNull MavenProjectSettings settings) throws ConfigurationException { - return false; - } - - @Override - public void disposeUIResources() { - - } - - @Override - public void showUi(boolean show) { - - } -} diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/externalSystemIntegration/settings/MavenSettings.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/externalSystemIntegration/settings/MavenSettings.java deleted file mode 100644 index cab18ee62b7a..000000000000 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/externalSystemIntegration/settings/MavenSettings.java +++ /dev/null @@ -1,50 +0,0 @@ -// 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.idea.maven.externalSystemIntegration.settings; - -import com.intellij.openapi.components.ServiceManager; -import com.intellij.openapi.components.State; -import com.intellij.openapi.components.Storage; -import com.intellij.openapi.externalSystem.service.execution.ExternalSystemJdkUtil; -import com.intellij.openapi.externalSystem.settings.AbstractExternalSystemSettings; -import com.intellij.openapi.externalSystem.settings.ExternalSystemSettingsListener; -import com.intellij.openapi.project.Project; -import com.intellij.util.messages.Topic; -import org.jetbrains.annotations.NotNull; - -@State(name = "MavenSettings", storages = @Storage("maven.xml")) -public class MavenSettings extends AbstractExternalSystemSettings { - - @NotNull private final String myJdkToUse; - - public MavenSettings(@NotNull Project project, @NotNull String jdkToUse) { - super(MavenSettingsListener.TOPIC, project); - myJdkToUse = jdkToUse; - } - - @Override - public void subscribe(@NotNull ExternalSystemSettingsListener listener) { - getProject().getMessageBus().connect(getProject()) - .subscribe(MavenSettingsListener.TOPIC, new DelegatingMavenSettingsListenerAdapter(listener)); - } - - @Override - protected void copyExtraSettingsFrom(@NotNull MavenSettings settings) { - - } - - @Override - protected void checkSettings(@NotNull MavenProjectSettings old, @NotNull MavenProjectSettings current) { - - } - - @NotNull - public String getJdkToUse() { - return myJdkToUse; - } - - @NotNull - public static MavenSettings getInstance(@NotNull Project project) { - return new MavenSettings(project, ExternalSystemJdkUtil.USE_PROJECT_JDK); - } - -} diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/externalSystemIntegration/settings/MavenSettingsListener.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/externalSystemIntegration/settings/MavenSettingsListener.java deleted file mode 100644 index 76ebf845bfc4..000000000000 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/externalSystemIntegration/settings/MavenSettingsListener.java +++ /dev/null @@ -1,14 +0,0 @@ -// 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.idea.maven.externalSystemIntegration.settings; - -import com.intellij.openapi.externalSystem.settings.ExternalSystemSettingsListener; -import com.intellij.util.messages.Topic; -import org.jetbrains.annotations.NotNull; - -import java.util.Collection; -import java.util.Set; - -public interface MavenSettingsListener extends ExternalSystemSettingsListener { - Topic TOPIC = Topic.create("Maven-specific settings", MavenSettingsListener.class); - -} diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/externalSystemIntegration/settings/MavenSystemSettingsControl.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/externalSystemIntegration/settings/MavenSystemSettingsControl.java deleted file mode 100644 index fd039547e53c..000000000000 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/externalSystemIntegration/settings/MavenSystemSettingsControl.java +++ /dev/null @@ -1,50 +0,0 @@ -// 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.idea.maven.externalSystemIntegration.settings; - -import com.intellij.openapi.externalSystem.util.ExternalSystemSettingsControl; -import com.intellij.openapi.externalSystem.util.PaintAwarePanel; -import com.intellij.openapi.options.ConfigurationException; -import org.jetbrains.annotations.NotNull; -import org.jetbrains.idea.maven.externalSystemIntegration.settings.MavenSettings; - - -public class MavenSystemSettingsControl implements ExternalSystemSettingsControl { - public MavenSystemSettingsControl(MavenSettings settings) { - - } - - @Override - public void fillUi(@NotNull PaintAwarePanel canvas, int indentLevel) { - - } - - @Override - public void reset() { - - } - - @Override - public boolean isModified() { - return false; - } - - @Override - public void apply(@NotNull MavenSettings settings) { - - } - - @Override - public boolean validate(@NotNull MavenSettings settings) throws ConfigurationException { - return false; - } - - @Override - public void disposeUIResources() { - - } - - @Override - public void showUi(boolean show) { - - } -} diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/externalSystemIntegration/util/MavenExternalSystemTaskRunner.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/externalSystemIntegration/util/MavenExternalSystemTaskRunner.java deleted file mode 100644 index 2812442019f0..000000000000 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/externalSystemIntegration/util/MavenExternalSystemTaskRunner.java +++ /dev/null @@ -1,43 +0,0 @@ -// 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.idea.maven.externalSystemIntegration.util; - -import com.intellij.execution.executors.DefaultRunExecutor; -import com.intellij.openapi.externalSystem.model.execution.ExternalSystemTaskExecutionSettings; -import com.intellij.openapi.externalSystem.model.execution.ExternalTaskExecutionInfo; -import com.intellij.openapi.externalSystem.util.ExternalSystemUtil; -import com.intellij.openapi.project.Project; -import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; -import org.jetbrains.idea.maven.execution.MavenRunnerParameters; -import org.jetbrains.idea.maven.execution.MavenRunnerSettings; -import org.jetbrains.idea.maven.model.MavenConstants; -import org.jetbrains.idea.maven.project.MavenGeneralSettings; - -public class MavenExternalSystemTaskRunner { - - private Project myProject; - - public MavenExternalSystemTaskRunner(@NotNull Project project) { - myProject = project; - } - - public void runMavenTask(@NotNull MavenRunnerParameters params, - @Nullable MavenGeneralSettings settings, - @Nullable MavenRunnerSettings runnerSettings) { - ExternalSystemTaskExecutionSettings taskExecutionSettings = createExecutionSettings(params, settings, runnerSettings); - ExternalSystemUtil.runTask(taskExecutionSettings, DefaultRunExecutor.EXECUTOR_ID, myProject, MavenConstants.SYSTEM_ID); - } - - private ExternalSystemTaskExecutionSettings createExecutionSettings(@NotNull MavenRunnerParameters params, - @Nullable MavenGeneralSettings settings, - @Nullable MavenRunnerSettings runnerSettings) { - ExternalSystemTaskExecutionSettings executionSettings = new ExternalSystemTaskExecutionSettings(); - executionSettings.setExternalProjectPath(params.getWorkingDirPath()); - executionSettings.setTaskNames(params.getGoals()); - if (runnerSettings != null) { - executionSettings.setVmOptions(runnerSettings.getVmOptions()); - } - executionSettings.setExternalSystemIdString(MavenConstants.SYSTEM_ID.toString()); - return executionSettings; - } -} diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/navigator/actions/MavenExecuteGoalAction.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/navigator/actions/MavenExecuteGoalAction.java index 4d6e476d877e..44ee42889f62 100644 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/navigator/actions/MavenExecuteGoalAction.java +++ b/plugins/maven/src/main/java/org/jetbrains/idea/maven/navigator/actions/MavenExecuteGoalAction.java @@ -28,7 +28,6 @@ import com.intellij.openapi.project.Project; import com.intellij.openapi.util.text.StringUtil; import org.jetbrains.annotations.NotNull; import org.jetbrains.idea.maven.execution.*; -import org.jetbrains.idea.maven.externalSystemIntegration.util.MavenExternalSystemTaskRunner; import org.jetbrains.idea.maven.project.MavenGeneralSettings; import org.jetbrains.idea.maven.project.MavenProject; import org.jetbrains.idea.maven.project.MavenProjectsManager; diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/wizards/MavenProjectOpenProcessor.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/wizards/MavenProjectOpenProcessor.java index d9fe50f0a2cf..7fa0a32da175 100644 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/wizards/MavenProjectOpenProcessor.java +++ b/plugins/maven/src/main/java/org/jetbrains/idea/maven/wizards/MavenProjectOpenProcessor.java @@ -24,8 +24,6 @@ import com.intellij.openapi.vfs.VirtualFile; import com.intellij.projectImport.ProjectOpenProcessorBase; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import org.jetbrains.idea.maven.externalSystemIntegration.MavenProjectImportBuilder; -import org.jetbrains.idea.maven.externalSystemIntegration.MavenProjectImportProvider; import org.jetbrains.idea.maven.model.MavenConstants; import org.jetbrains.idea.maven.model.MavenExplicitProfiles; import org.jetbrains.idea.maven.project.MavenProject; diff --git a/plugins/maven/src/main/resources/META-INF/plugin.xml b/plugins/maven/src/main/resources/META-INF/plugin.xml index 21160cd7461f..0e1bc37539fe 100644 --- a/plugins/maven/src/main/resources/META-INF/plugin.xml +++ b/plugins/maven/src/main/resources/META-INF/plugin.xml @@ -44,9 +44,7 @@ - -