Search in sources :

Example 16 with BeforeRunTask

use of com.intellij.execution.BeforeRunTask in project azure-tools-for-java by microsoft.

the class BeforeRunTaskUtils method addTask.

private static synchronized <T extends BeforeRunTask<?>> void addTask(@Nonnull ConfigurationSettingsEditorWrapper editor, List<? extends T> tasks, T task, RunConfiguration config) {
    if (tasks.isEmpty()) {
        task.setEnabled(true);
        final RunManagerEx manager = RunManagerEx.getInstanceEx(config.getProject());
        final List<BeforeRunTask> tasksFromConfig = new ArrayList<>(manager.getBeforeRunTasks(config));
        // need to add the before run task back to runConfiguration since for the create scenario:
        // the before run task editor will reset tasks in runConfiguration, that's the reason why
        // here we need to add the task here
        tasksFromConfig.add(task);
        manager.setBeforeRunTasks(config, tasksFromConfig);
        editor.addBeforeLaunchStep(task);
    } else {
        for (final T t : tasks) {
            t.setEnabled(true);
        }
    }
}
Also used : BuildArtifactsBeforeRunTask(com.intellij.packaging.impl.run.BuildArtifactsBeforeRunTask) BeforeRunTask(com.intellij.execution.BeforeRunTask) MavenBeforeRunTask(org.jetbrains.idea.maven.tasks.MavenBeforeRunTask) ExternalSystemBeforeRunTask(com.intellij.openapi.externalSystem.service.execution.ExternalSystemBeforeRunTask) RunManagerEx(com.intellij.execution.RunManagerEx) ArrayList(java.util.ArrayList)

Example 17 with BeforeRunTask

use of com.intellij.execution.BeforeRunTask in project azure-tools-for-java by microsoft.

the class MavenRunTaskUtil method addMavenPackageBeforeRunTask.

/**
 * Add Maven package goal into the run configuration's before run task.
 */
public static void addMavenPackageBeforeRunTask(RunConfiguration runConfiguration) {
    final RunManagerEx manager = RunManagerEx.getInstanceEx(runConfiguration.getProject());
    if (isMavenProject(runConfiguration.getProject())) {
        List<BeforeRunTask> tasks = new ArrayList<>(manager.getBeforeRunTasks(runConfiguration));
        if (MavenRunTaskUtil.shouldAddMavenPackageTask(tasks, runConfiguration.getProject())) {
            MavenBeforeRunTask task = new MavenBeforeRunTask();
            task.setEnabled(true);
            task.setProjectPath(runConfiguration.getProject().getBasePath() + File.separator + MavenConstants.POM_XML);
            task.setGoal(MAVEN_TASK_PACKAGE);
            tasks.add(task);
            manager.setBeforeRunTasks(runConfiguration, tasks);
        }
    }
}
Also used : MavenBeforeRunTask(org.jetbrains.idea.maven.tasks.MavenBeforeRunTask) BeforeRunTask(com.intellij.execution.BeforeRunTask) RunManagerEx(com.intellij.execution.RunManagerEx) ArrayList(java.util.ArrayList) MavenBeforeRunTask(org.jetbrains.idea.maven.tasks.MavenBeforeRunTask)

Example 18 with BeforeRunTask

use of com.intellij.execution.BeforeRunTask in project azure-tools-for-java by microsoft.

the class MavenRunTaskUtil method shouldAddMavenPackageTask.

/**
 * Legacy code, will be replaced by BeforeRunTaskUtils
 * @deprecated
 */
@Deprecated
private static boolean shouldAddMavenPackageTask(List<BeforeRunTask> tasks, Project project) {
    boolean shouldAdd = true;
    for (BeforeRunTask task : tasks) {
        if (task.getProviderId().equals(MavenBeforeRunTasksProvider.ID)) {
            MavenBeforeRunTask mavenTask = (MavenBeforeRunTask) task;
            if (mavenTask.getGoal().contains(MAVEN_TASK_PACKAGE) && Comparing.equal(mavenTask.getProjectPath(), project.getBasePath() + File.separator + MavenConstants.POM_XML)) {
                mavenTask.setEnabled(true);
                shouldAdd = false;
                break;
            }
        }
    }
    return shouldAdd;
}
Also used : MavenBeforeRunTask(org.jetbrains.idea.maven.tasks.MavenBeforeRunTask) BeforeRunTask(com.intellij.execution.BeforeRunTask) MavenBeforeRunTask(org.jetbrains.idea.maven.tasks.MavenBeforeRunTask)

Example 19 with BeforeRunTask

use of com.intellij.execution.BeforeRunTask in project azure-tools-for-java by microsoft.

the class DeployWebAppAction method actionPerformed.

@Override
protected void actionPerformed(final NodeActionEvent nodeActionEvent) throws AzureCmdException {
    final RunManagerEx manager = RunManagerEx.getInstanceEx(project);
    final RunnerAndConfigurationSettings settings = getRunConfigurationSettings(manager);
    if (RunDialog.editConfiguration(project, settings, message("webapp.deploy.configuration.title"), DefaultRunExecutor.getRunExecutorInstance())) {
        List<BeforeRunTask> tasks = new ArrayList<>(manager.getBeforeRunTasks(settings.getConfiguration()));
        manager.addConfiguration(settings, false, tasks, false);
        manager.setSelectedConfiguration(settings);
        ProgramRunnerUtil.executeConfiguration(project, settings, DefaultRunExecutor.getRunExecutorInstance());
    }
}
Also used : BeforeRunTask(com.intellij.execution.BeforeRunTask) RunManagerEx(com.intellij.execution.RunManagerEx) ArrayList(java.util.ArrayList) RunnerAndConfigurationSettings(com.intellij.execution.RunnerAndConfigurationSettings)

Example 20 with BeforeRunTask

use of com.intellij.execution.BeforeRunTask in project azure-tools-for-java by microsoft.

the class WebDeployAction method runConfiguration.

@SuppressWarnings("deprecation")
@AzureOperation(name = "webapp.deploy_module", params = { "module.getName()" }, type = AzureOperation.Type.ACTION)
private void runConfiguration(Module module) {
    Project project = module.getProject();
    final RunManagerEx manager = RunManagerEx.getInstanceEx(project);
    final ConfigurationFactory factory = configType.getWebAppConfigurationFactory();
    RunnerAndConfigurationSettings settings = manager.findConfigurationByName(String.format("%s: %s:%s", factory.getName(), project.getName(), module.getName()));
    if (settings == null) {
        settings = manager.createConfiguration(String.format("%s: %s:%s", factory.getName(), project.getName(), module.getName()), factory);
    }
    if (RunDialog.editConfiguration(project, settings, message("webapp.deploy.configuration.title"), DefaultRunExecutor.getRunExecutorInstance())) {
        List<BeforeRunTask> tasks = new ArrayList<>(manager.getBeforeRunTasks(settings.getConfiguration()));
        manager.addConfiguration(settings, false, tasks, false);
        manager.setSelectedConfiguration(settings);
        ProgramRunnerUtil.executeConfiguration(project, settings, DefaultRunExecutor.getRunExecutorInstance());
    }
}
Also used : BeforeRunTask(com.intellij.execution.BeforeRunTask) Project(com.intellij.openapi.project.Project) RunManagerEx(com.intellij.execution.RunManagerEx) ConfigurationFactory(com.intellij.execution.configurations.ConfigurationFactory) ArrayList(java.util.ArrayList) RunnerAndConfigurationSettings(com.intellij.execution.RunnerAndConfigurationSettings) AzureOperation(com.microsoft.azure.toolkit.lib.common.operation.AzureOperation)

Aggregations

BeforeRunTask (com.intellij.execution.BeforeRunTask)37 RunManagerEx (com.intellij.execution.RunManagerEx)24 ArrayList (java.util.ArrayList)22 RunnerAndConfigurationSettings (com.intellij.execution.RunnerAndConfigurationSettings)17 ConfigurationFactory (com.intellij.execution.configurations.ConfigurationFactory)13 Project (com.intellij.openapi.project.Project)12 MavenBeforeRunTask (org.jetbrains.idea.maven.tasks.MavenBeforeRunTask)6 RunConfiguration (com.intellij.execution.configurations.RunConfiguration)4 BeforeRunTaskProvider (com.intellij.execution.BeforeRunTaskProvider)2 UnknownRunConfiguration (com.intellij.execution.configurations.UnknownRunConfiguration)2 ConfigurationSettingsEditorWrapper (com.intellij.execution.impl.ConfigurationSettingsEditorWrapper)2 DataContext (com.intellij.openapi.actionSystem.DataContext)2 ExternalSystemBeforeRunTask (com.intellij.openapi.externalSystem.service.execution.ExternalSystemBeforeRunTask)2 Module (com.intellij.openapi.module.Module)2 Key (com.intellij.openapi.util.Key)2 BuildArtifactsBeforeRunTask (com.intellij.packaging.impl.run.BuildArtifactsBeforeRunTask)2 FunctionDeploymentConfigurationFactory (com.microsoft.azure.toolkit.intellij.function.runner.deploy.FunctionDeploymentConfigurationFactory)2 FunctionRunConfigurationFactory (com.microsoft.azure.toolkit.intellij.function.runner.localrun.FunctionRunConfigurationFactory)2 AzureOperation (com.microsoft.azure.toolkit.lib.common.operation.AzureOperation)2 LinkedList (java.util.LinkedList)2