use of com.intellij.openapi.compiler.CompilationStatusListener in project android by JetBrains.
the class IdeFrameFixture method invokeProjectMakeUsingJps.
@NotNull
public CompileContext invokeProjectMakeUsingJps() {
Project project = getProject();
AndroidGradleBuildConfiguration buildConfiguration = AndroidGradleBuildConfiguration.getInstance(project);
buildConfiguration.USE_EXPERIMENTAL_FASTER_BUILD = false;
AtomicReference<CompileContext> contextRef = new AtomicReference<>();
CompilerManager compilerManager = CompilerManager.getInstance(project);
Disposable disposable = new NoOpDisposable();
compilerManager.addCompilationStatusListener(new CompilationStatusListener() {
@Override
public void compilationFinished(boolean aborted, int errors, int warnings, CompileContext compileContext) {
contextRef.set(compileContext);
}
}, disposable);
try {
selectProjectMakeAction();
Wait.seconds(10).expecting("Build (" + COMPILE_JAVA + ") for project " + quote(project.getName()) + " to finish'").until(() -> contextRef.get() != null);
return contextRef.get();
} finally {
Disposer.dispose(disposable);
}
}
use of com.intellij.openapi.compiler.CompilationStatusListener 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