package jetbrains.mps.execution.configurations.pluginSolution.plugin;
/*Generated by MPS */
import jetbrains.mps.plugins.custom.BaseCustomProjectPlugin;
import java.util.List;
import com.intellij.execution.BeforeRunTaskProvider;
import jetbrains.mps.internal.collections.runtime.ListSequence;
import java.util.ArrayList;
import jetbrains.mps.project.MPSProject;
import com.intellij.openapi.extensions.ExtensionPoint;
import com.intellij.execution.BeforeRunTask;
import com.intellij.openapi.extensions.Extensions;
public class BeforeTasksInitializer_CustomProjectPlugin extends BaseCustomProjectPlugin {
private List<BeforeRunTaskProvider> myRegisteredBeforeTasks = ListSequence.fromList(new ArrayList<BeforeRunTaskProvider>());
public BeforeTasksInitializer_CustomProjectPlugin() {
}
public void doInit(MPSProject project) {
ExtensionPoint<BeforeRunTaskProvider<BeforeRunTask>> beforeTasksExtensionPoint = Extensions.getArea(project.getProject()).getExtensionPoint(BeforeRunTaskProvider.EXTENSION_POINT_NAME);
{
BeforeRunTaskProvider beforeTask = (BeforeRunTaskProvider) new MakeNodePointers_BeforeTask();
ListSequence.fromList(BeforeTasksInitializer_CustomProjectPlugin.this.myRegisteredBeforeTasks).addElement(beforeTask);
beforeTasksExtensionPoint.registerExtension(beforeTask);
}
}
public void doDispose(MPSProject project) {
ExtensionPoint<BeforeRunTaskProvider<BeforeRunTask>> beforeTasksExtensionPoint = Extensions.getArea(project.getProject()).getExtensionPoint(BeforeRunTaskProvider.EXTENSION_POINT_NAME);
for (BeforeRunTaskProvider beforeTask : ListSequence.fromList(BeforeTasksInitializer_CustomProjectPlugin.this.myRegisteredBeforeTasks)) {
beforeTasksExtensionPoint.unregisterExtension(beforeTask);
}
ListSequence.fromList(BeforeTasksInitializer_CustomProjectPlugin.this.myRegisteredBeforeTasks).clear();
}
}