gradle: es_aware_run_make cleanup

This commit is contained in:
Vladislav.Soroka
2016-09-21 12:30:57 +03:00
parent 29b3d4f582
commit fe1b7a6130
8 changed files with 38 additions and 37 deletions
@@ -16,12 +16,11 @@
package com.intellij.task.impl;
import com.intellij.execution.ExecutionTarget;
import com.intellij.execution.Executor;
import com.intellij.execution.RunnerAndConfigurationSettings;
import com.intellij.execution.configurations.ConfigurationPerRunnerSettings;
import com.intellij.execution.configurations.RunProfile;
import com.intellij.execution.configurations.RunnerSettings;
import com.intellij.task.RunProjectTask;
import com.intellij.task.ExecuteRunConfigurationTask;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@@ -29,26 +28,23 @@ import org.jetbrains.annotations.Nullable;
* @author Vladislav.Soroka
* @since 7/13/2016
*/
public class RunProjectTaskImpl extends AbstractProjectTask implements RunProjectTask {
public class ExecuteRunConfigurationTaskImpl extends AbstractProjectTask implements ExecuteRunConfigurationTask {
@NotNull private final RunProfile myRunProfile;
@Nullable private Executor myExecutor;
@Nullable private ExecutionTarget myTarget;
@Nullable private RunnerSettings myRunnerSettings;
@Nullable private ConfigurationPerRunnerSettings myConfigurationSettings;
@Nullable private RunnerAndConfigurationSettings mySettings;
public RunProjectTaskImpl(@NotNull RunProfile runProfile) {
public ExecuteRunConfigurationTaskImpl(@NotNull RunProfile runProfile) {
myRunProfile = runProfile;
}
public RunProjectTaskImpl(@NotNull RunProfile runProfile,
@NotNull Executor executor,
@NotNull ExecutionTarget target,
@Nullable RunnerSettings runnerSettings,
@Nullable ConfigurationPerRunnerSettings configurationSettings,
@Nullable RunnerAndConfigurationSettings settings) {
public ExecuteRunConfigurationTaskImpl(@NotNull RunProfile runProfile,
@NotNull ExecutionTarget target,
@Nullable RunnerSettings runnerSettings,
@Nullable ConfigurationPerRunnerSettings configurationSettings,
@Nullable RunnerAndConfigurationSettings settings) {
myRunProfile = runProfile;
myExecutor = executor;
myTarget = target;
myRunnerSettings = runnerSettings;
myConfigurationSettings = configurationSettings;
@@ -61,12 +57,6 @@ public class RunProjectTaskImpl extends AbstractProjectTask implements RunProjec
return myRunProfile;
}
@Nullable
@Override
public Executor getExecutor() {
return myExecutor;
}
@Nullable
@Override
public ExecutionTarget getExecutionTarget() {
@@ -24,8 +24,8 @@ import com.intellij.execution.configurations.RunnerSettings;
import com.intellij.execution.runners.ExecutionEnvironment;
import com.intellij.execution.runners.ExecutionEnvironmentProvider;
import com.intellij.openapi.project.Project;
import com.intellij.task.ExecuteRunConfigurationTask;
import com.intellij.task.ProjectTaskRunner;
import com.intellij.task.RunProjectTask;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@@ -45,10 +45,11 @@ public class ExecutionEnvironmentProviderImpl implements ExecutionEnvironmentPro
@Nullable ConfigurationPerRunnerSettings configurationSettings,
@Nullable RunnerAndConfigurationSettings settings) {
RunProjectTask runTask = new RunProjectTaskImpl(runProfile, executor, target, runnerSettings, configurationSettings, settings);
ExecuteRunConfigurationTask
runTask = new ExecuteRunConfigurationTaskImpl(runProfile, target, runnerSettings, configurationSettings, settings);
for (ProjectTaskRunner projectTaskRunner : ProjectTaskRunner.EP_NAME.getExtensions()) {
if (projectTaskRunner.canRun(runTask)) {
return projectTaskRunner.createExecutionEnvironment(project, runTask);
return projectTaskRunner.createExecutionEnvironment(project, runTask, executor);
}
}
return null;
@@ -15,6 +15,7 @@
*/
package com.intellij.task.impl;
import com.intellij.execution.Executor;
import com.intellij.execution.configurations.RunConfiguration;
import com.intellij.execution.impl.ExecutionManagerImpl;
import com.intellij.execution.runners.ExecutionEnvironment;
@@ -65,7 +66,9 @@ public class InternalProjectTaskRunner extends ProjectTaskRunner {
}
@Override
public ExecutionEnvironment createExecutionEnvironment(@NotNull Project project, @NotNull RunProjectTask task) {
public ExecutionEnvironment createExecutionEnvironment(@NotNull Project project,
@NotNull ExecuteRunConfigurationTask task,
@Nullable Executor executor) {
return null;
}
@@ -16,7 +16,6 @@
package com.intellij.task;
import com.intellij.execution.ExecutionTarget;
import com.intellij.execution.Executor;
import com.intellij.execution.RunnerAndConfigurationSettings;
import com.intellij.execution.configurations.ConfigurationPerRunnerSettings;
import com.intellij.execution.configurations.RunProfile;
@@ -28,14 +27,11 @@ import org.jetbrains.annotations.Nullable;
* @author Vladislav.Soroka
* @since 5/11/2016
*/
public interface RunProjectTask extends ProjectTask {
public interface ExecuteRunConfigurationTask extends ProjectTask {
@NotNull
RunProfile getRunProfile();
@Nullable
Executor getExecutor();
@Nullable
ExecutionTarget getExecutionTarget();
@@ -15,6 +15,7 @@
*/
package com.intellij.task;
import com.intellij.execution.Executor;
import com.intellij.execution.runners.ExecutionEnvironment;
import com.intellij.openapi.extensions.ExtensionPointName;
import com.intellij.openapi.project.Project;
@@ -46,5 +47,7 @@ public abstract class ProjectTaskRunner {
public abstract boolean canRun(@NotNull ProjectTask projectTask);
public abstract ExecutionEnvironment createExecutionEnvironment(@NotNull Project project, @NotNull RunProjectTask task);
public abstract ExecutionEnvironment createExecutionEnvironment(@NotNull Project project,
@NotNull ExecuteRunConfigurationTask task,
@Nullable Executor executor);
}
@@ -274,6 +274,8 @@ public class ExternalSystemRunConfiguration extends LocatableConfigurationBase {
}
if (consoleViewImpl != null) {
consoleViewImpl.performWhenNoDeferredOutput(() -> {
if(!ApplicationManager.getApplication().isDispatchThread()) return;
Document document = consoleViewImpl.getEditor().getDocument();
int line = isGreeting ? 0 : document.getLineCount() - 2;
if (CharArrayUtil.regionMatches(document.getCharsSequence(), document.getLineStartOffset(line), text)) {
@@ -15,6 +15,7 @@
*/
package org.jetbrains.plugins.gradle.execution.build;
import com.intellij.execution.Executor;
import com.intellij.execution.RunnerAndConfigurationSettings;
import com.intellij.execution.application.ApplicationConfiguration;
import com.intellij.execution.configurations.JavaParameters;
@@ -29,7 +30,7 @@ import com.intellij.openapi.module.Module;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.roots.ProjectFileIndex;
import com.intellij.psi.PsiClass;
import com.intellij.task.RunProjectTask;
import com.intellij.task.ExecuteRunConfigurationTask;
import org.intellij.lang.annotations.Language;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@@ -48,10 +49,12 @@ import java.util.Collections;
public class GradleApplicationEnvironmentBuilder {
@Nullable
public ExecutionEnvironment build(@NotNull Project project, @NotNull RunProjectTask runProjectTask) {
if (!(runProjectTask.getRunProfile() instanceof ApplicationConfiguration)) return null;
public ExecutionEnvironment build(@NotNull Project project,
@NotNull ExecuteRunConfigurationTask executeRunConfigurationTask,
@Nullable Executor executor) {
if (!(executeRunConfigurationTask.getRunProfile() instanceof ApplicationConfiguration)) return null;
ApplicationConfiguration applicationConfiguration = (ApplicationConfiguration)runProjectTask.getRunProfile();
ApplicationConfiguration applicationConfiguration = (ApplicationConfiguration)executeRunConfigurationTask.getRunProfile();
PsiClass mainClass = applicationConfiguration.getMainClass();
if(mainClass == null) return null;
@@ -79,7 +82,7 @@ public class GradleApplicationEnvironmentBuilder {
final String runAppTaskName = "run " + mainClass.getName();
taskSettings.setTaskNames(Collections.singletonList(runAppTaskName));
String executorId = runProjectTask.getExecutor() == null ? DefaultRunExecutor.EXECUTOR_ID : runProjectTask.getExecutor().getId();
String executorId = executor == null ? DefaultRunExecutor.EXECUTOR_ID : executor.getId();
ExecutionEnvironment environment =
ExternalSystemUtil.createExecutionEnvironment(project, GradleConstants.SYSTEM_ID, taskSettings, executorId);
if (environment != null) {
@@ -15,6 +15,7 @@
*/
package org.jetbrains.plugins.gradle.execution.build;
import com.intellij.execution.Executor;
import com.intellij.execution.application.ApplicationConfiguration;
import com.intellij.execution.configurations.JavaRunConfigurationModule;
import com.intellij.execution.configurations.RunProfile;
@@ -132,10 +133,10 @@ public class GradleProjectTaskRunner extends ProjectTaskRunner {
}
}
if (projectTask instanceof RunProjectTask) {
if (projectTask instanceof ExecuteRunConfigurationTask) {
if (!GradleSystemRunningSettings.getInstance().isUseGradleAwareMake()) return false;
RunProfile runProfile = ((RunProjectTask)projectTask).getRunProfile();
RunProfile runProfile = ((ExecuteRunConfigurationTask)projectTask).getRunProfile();
if (runProfile instanceof ApplicationConfiguration) {
JavaRunConfigurationModule module = ((ApplicationConfiguration)runProfile).getConfigurationModule();
return ExternalSystemApiUtil.isExternalSystemAwareModule(GradleConstants.SYSTEM_ID, module.getModule());
@@ -146,9 +147,11 @@ public class GradleProjectTaskRunner extends ProjectTaskRunner {
@Override
public ExecutionEnvironment createExecutionEnvironment(@NotNull Project project, @NotNull RunProjectTask task) {
public ExecutionEnvironment createExecutionEnvironment(@NotNull Project project,
@NotNull ExecuteRunConfigurationTask task,
@Nullable Executor executor) {
if (task.getRunProfile() instanceof ApplicationConfiguration) {
return new GradleApplicationEnvironmentBuilder().build(project, task);
return new GradleApplicationEnvironmentBuilder().build(project, task, executor);
}
return null;
}