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 }