001 package org.meta_environment.eclipse.builder;
002
003 import org.eclipse.core.resources.IFile;
004 import org.eclipse.core.resources.IResource;
005 import org.eclipse.core.runtime.IProgressMonitor;
006 import org.eclipse.imp.builder.BuilderBase;
007 import org.eclipse.imp.runtime.PluginBase;
008 import org.meta_environment.eclipse.Activator;
009
010 public class Builder extends BuilderBase {
011 public static final String builderId = Activator.PLUGIN_ID + ".builder";
012 private BuilderTool tool;
013
014 public Builder() {
015 tool = new BuilderTool();
016 tool.connect();
017 }
018
019 protected void collectDependencies(IFile file) {
020 tool.collectDependencies(file);
021 }
022
023 protected void compile(IFile resource, IProgressMonitor monitor) {
024 tool.compile(resource, monitor);
025 }
026
027 protected String getErrorMarkerID() {
028 return builderId + ".error";
029 }
030
031 protected String getInfoMarkerID() {
032 return builderId + ".info";
033 }
034
035 protected String getWarningMarkerID() {
036 return builderId + ".warning";
037 }
038
039 protected PluginBase getPlugin() {
040 return Activator.getInstance();
041 }
042
043 protected boolean isNonRootSourceFile(IFile resource) {
044 return false;
045 }
046
047 protected boolean isOutputFolder(IResource resource) {
048 return false;
049 }
050
051 protected boolean isSourceFile(IFile resource) {
052 return true;
053 }
054 }