use of io.flutter.console.FlutterConsoleFilter in project flutter-intellij by flutter.
the class SdkRunConfig method getState.
@NotNull
@Override
public LaunchState getState(@NotNull Executor executor, @NotNull ExecutionEnvironment env) throws ExecutionException {
final SdkFields launchFields = fields.copy();
try {
launchFields.checkRunnable(env.getProject());
} catch (RuntimeConfigurationError e) {
throw new ExecutionException(e);
}
final MainFile mainFile = MainFile.verify(launchFields.getFilePath(), env.getProject()).get();
final Project project = env.getProject();
final RunMode mode = RunMode.fromEnv(env);
final Module module = ModuleUtil.findModuleForFile(mainFile.getFile(), env.getProject());
final LaunchState.Callback callback = (device) -> {
if (device == null)
return null;
final GeneralCommandLine command = fields.createFlutterSdkRunCommand(project, device, mode);
final FlutterApp app = FlutterApp.start(env, project, module, mode, device, command, StringUtil.capitalize(mode.mode()) + "App", "StopApp");
// Stop the app if the Flutter SDK changes.
final FlutterSdkManager.Listener sdkListener = new FlutterSdkManager.Listener() {
@Override
public void flutterSdkRemoved() {
app.shutdownAsync();
}
};
FlutterSdkManager.getInstance(project).addListener(sdkListener);
Disposer.register(project, () -> FlutterSdkManager.getInstance(project).removeListener(sdkListener));
return app;
};
final LaunchState launcher = new LaunchState(env, mainFile.getAppDir(), mainFile.getFile(), this, callback);
// Set up additional console filters.
final TextConsoleBuilder builder = launcher.getConsoleBuilder();
builder.addFilter(new DartConsoleFilter(env.getProject(), mainFile.getFile()));
if (module != null) {
builder.addFilter(new FlutterConsoleFilter(module));
}
return launcher;
}
use of io.flutter.console.FlutterConsoleFilter in project flutter-intellij by flutter.
the class TestLaunchState method createConsole.
@Nullable
@Override
protected ConsoleView createConsole(@NotNull Executor executor) throws ExecutionException {
if (!testConsoleEnabled) {
return super.createConsole(executor);
}
// Create a console showing a test tree.
final Project project = getEnvironment().getProject();
final DartUrlResolver resolver = DartUrlResolver.getInstance(project, testFileOrDir);
final ConsoleProps props = new ConsoleProps(config, executor, resolver);
final BaseTestsOutputConsoleView console = SMTestRunnerConnectionUtil.createConsole("FlutterTestRunner", props);
final Module module = ModuleUtil.findModuleForFile(testFileOrDir, project);
if (module != null) {
console.addMessageFilter(new FlutterConsoleFilter(module));
}
final String baseDir = getBaseDir();
if (baseDir != null) {
console.addMessageFilter(new DartRelativePathsConsoleFilter(project, baseDir));
}
console.addMessageFilter(new UrlFilter());
return console;
}
Aggregations