001 package org.meta_environment.eclipse.builder;
002
003 import org.eclipse.core.resources.IFile;
004 import org.eclipse.core.runtime.CoreException;
005 import org.eclipse.core.runtime.IProgressMonitor;
006 import org.eclipse.imp.language.ILanguageService;
007 import org.eclipse.imp.utils.StreamUtils;
008
009 import toolbus.adapter.eclipse.EclipseTool;
010
011 public class BuilderTool extends EclipseTool implements ILanguageService {
012 private static final String TOOL_NAME = "builder";
013
014 public BuilderTool() {
015 super(TOOL_NAME);
016 }
017
018 public void compile(IFile file, IProgressMonitor monitor) {
019 try {
020 String contents = StreamUtils.readStreamContents(file.getContents());
021 sendEvent(factory.make("compile(<str>,<str>)", file.getFullPath().toOSString(), contents));
022 } catch (CoreException e) {
023 e.printStackTrace();
024 }
025 }
026
027 public void collectDependencies(IFile file) {
028 try {
029 String contents = StreamUtils.readStreamContents(file.getContents());
030 sendEvent(factory.make("dependencies(<str>,<str>)", file.getFullPath().toOSString(), contents));
031 } catch (CoreException e) {
032 e.printStackTrace();
033 }
034 }
035 }