package org.elixir_lang.mix.runner; import com.intellij.compiler.options.CompileStepBeforeRun; import com.intellij.execution.BeforeRunTask; import com.intellij.execution.configurations.ConfigurationFactory; import com.intellij.execution.configurations.RunConfiguration; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.Key; import org.jetbrains.annotations.NotNull; /** * Created by zyuyou on 15/7/8. * https://github.com/ignatov/intellij-erlang/blob/master/src/org/intellij/erlang/rebar/runner/RebarRunConfigurationFactory.java */ public final class MixRunConfigurationFactory extends ConfigurationFactory{ private static final MixRunConfigurationFactory INSTANCE = new MixRunConfigurationFactory(); private MixRunConfigurationFactory() { super(MixRunConfigurationType.getInstance()); } @Override public void configureBeforeRunTaskDefaults(Key<? extends BeforeRunTask> providerID, BeforeRunTask task) { if(providerID == CompileStepBeforeRun.ID){ task.setEnabled(false); } } @Override public RunConfiguration createTemplateConfiguration(Project project) { return new MixRunConfiguration(MixRunConfigurationType.TYPE_NAME, project); } @NotNull public static MixRunConfigurationFactory getInstance(){ return INSTANCE; } }