package org.jetbrains.jps.incremental;
import org.jetbrains.jps.ModuleChunk;
import org.jetbrains.jps.incremental.storage.TimestampStorage;
import java.io.File;
import java.io.IOException;
/**
* @author Eugene Zhuravlev
* Date: 9/17/11
*/
public abstract class Builder {
public static boolean isFileDirty(File file, CompileContext context, TimestampStorage tsStorage) throws IOException {
return !context.isMake() || tsStorage.getStamp(file) != file.lastModified();
}
public static enum ExitCode {
OK, ABORT, ADDITIONAL_PASS_REQUIRED
}
public abstract ExitCode build(CompileContext context, ModuleChunk chunk) throws ProjectBuildException;
public abstract String getDescription();
public void cleanupResources() {
}
}