package com.lightd.ideap.maven.actions;
import com.intellij.openapi.actionSystem.AnActionEvent;
import com.intellij.openapi.actionSystem.CommonDataKeys;
import com.intellij.openapi.project.Project;
import com.lightd.ideap.maven.MvnRunConfigurationType;
import org.jetbrains.idea.maven.execution.MavenRunnerParameters;
import org.jetbrains.idea.maven.execution.MavenRunnerSettings;
import org.jetbrains.idea.maven.model.MavenExplicitProfiles;
import org.jetbrains.idea.maven.project.MavenGeneralSettings;
import org.jetbrains.idea.maven.project.MavenProject;
import java.util.Arrays;
public class MvnPhaseGoalAction extends MvnModuleContextAction {
private String phase;
public String getPhase() {
if (phase == null && getTemplatePresentation().getText() != null) {
phase = getTemplatePresentation().getText().toLowerCase();
}
return phase;
}
@Override
public void actionPerformed(AnActionEvent e) {
Project project = e.getRequiredData(CommonDataKeys.PROJECT);
final MavenProject mavenProject = getProject(e.getDataContext());
MavenRunnerParameters parameters = createParameters(mavenProject);
MavenGeneralSettings settings = getGeneralSettings(e.getProject());
MavenRunnerSettings runnerSettings = createRunnerSettings(e.getProject());
MvnRunConfigurationType.runConfiguration(project, parameters, settings, runnerSettings);
}
private MavenRunnerParameters createParameters(MavenProject project) {
return new MavenRunnerParameters(true, project.getDirectory(), Arrays.asList(getPhase()), MavenExplicitProfiles.NONE);
}
}