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    }