use of com.intellij.execution.testframework.autotest.AutoTestWatcher in project intellij-community by JetBrains.
the class JavaAutoRunManager method createWatcher.
@NotNull
@Override
protected AutoTestWatcher createWatcher(Project project) {
return new AutoTestWatcher() {
private boolean myHasErrors = false;
private CompilationStatusListener myStatusListener;
@Override
public void activate() {
if (myStatusListener == null) {
myStatusListener = new CompilationStatusListener() {
private boolean myFoundFilesToMake = false;
@Override
public void compilationFinished(boolean aborted, int errors, int warnings, CompileContext compileContext) {
if (!myFoundFilesToMake)
return;
if (errors == 0) {
restartAllAutoTests(0);
}
myHasErrors = errors == 0;
myFoundFilesToMake = false;
}
@Override
public void automakeCompilationFinished(int errors, int warnings, CompileContext compileContext) {
compilationFinished(false, errors, warnings, compileContext);
}
@Override
public void fileGenerated(String outputRoot, String relativePath) {
myFoundFilesToMake = true;
}
};
CompilerManager.getInstance(project).addCompilationStatusListener(myStatusListener, project);
}
}
@Override
public void deactivate() {
if (myStatusListener != null) {
CompilerManager.getInstance(project).removeCompilationStatusListener(myStatusListener);
}
}
@Override
public boolean isUpToDate(int modificationStamp) {
return !myHasErrors;
}
};
}
Aggregations