Search in sources :

Example 1 with FlutterConsoleFilter

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;
}
Also used : XmlSerializer(com.intellij.util.xmlb.XmlSerializer) RunConfigurationWithSuppressedDefaultRunAction(com.intellij.execution.runners.RunConfigurationWithSuppressedDefaultRunAction) ExecutionException(com.intellij.execution.ExecutionException) VirtualFile(com.intellij.openapi.vfs.VirtualFile) RefactoringElementListener(com.intellij.refactoring.listeners.RefactoringElementListener) InvalidDataException(com.intellij.openapi.util.InvalidDataException) com.intellij.execution.configurations(com.intellij.execution.configurations) UndoRefactoringElementAdapter(com.intellij.refactoring.listeners.UndoRefactoringElementAdapter) ExecutionEnvironment(com.intellij.execution.runners.ExecutionEnvironment) ModuleUtil(com.intellij.openapi.module.ModuleUtil) DartConsoleFilter(com.jetbrains.lang.dart.ide.runner.DartConsoleFilter) Disposer(com.intellij.openapi.util.Disposer) PsiElement(com.intellij.psi.PsiElement) SkipDefaultValuesSerializationFilters(com.intellij.util.xmlb.SkipDefaultValuesSerializationFilters) Project(com.intellij.openapi.project.Project) PsiFile(com.intellij.psi.PsiFile) Module(com.intellij.openapi.module.Module) SettingsEditor(com.intellij.openapi.options.SettingsEditor) FlutterApp(io.flutter.run.daemon.FlutterApp) FlutterSdkManager(io.flutter.sdk.FlutterSdkManager) RunMode(io.flutter.run.daemon.RunMode) TextConsoleBuilder(com.intellij.execution.filters.TextConsoleBuilder) StringUtil(com.intellij.openapi.util.text.StringUtil) Executor(com.intellij.execution.Executor) Nullable(org.jetbrains.annotations.Nullable) PsiDirectory(com.intellij.psi.PsiDirectory) PathUtil(com.intellij.util.PathUtil) WriteExternalException(com.intellij.openapi.util.WriteExternalException) FlutterConsoleFilter(io.flutter.console.FlutterConsoleFilter) NotNull(org.jetbrains.annotations.NotNull) PsiFileSystemItem(com.intellij.psi.PsiFileSystemItem) Element(org.jdom.Element) FlutterApp(io.flutter.run.daemon.FlutterApp) RefactoringElementListener(com.intellij.refactoring.listeners.RefactoringElementListener) FlutterConsoleFilter(io.flutter.console.FlutterConsoleFilter) DartConsoleFilter(com.jetbrains.lang.dart.ide.runner.DartConsoleFilter) Project(com.intellij.openapi.project.Project) TextConsoleBuilder(com.intellij.execution.filters.TextConsoleBuilder) FlutterSdkManager(io.flutter.sdk.FlutterSdkManager) RunMode(io.flutter.run.daemon.RunMode) ExecutionException(com.intellij.execution.ExecutionException) Module(com.intellij.openapi.module.Module) NotNull(org.jetbrains.annotations.NotNull)

Example 2 with FlutterConsoleFilter

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;
}
Also used : DartRelativePathsConsoleFilter(com.jetbrains.lang.dart.ide.runner.DartRelativePathsConsoleFilter) Project(com.intellij.openapi.project.Project) FlutterConsoleFilter(io.flutter.console.FlutterConsoleFilter) DartUrlResolver(com.jetbrains.lang.dart.util.DartUrlResolver) UrlFilter(com.intellij.execution.filters.UrlFilter) BaseTestsOutputConsoleView(com.intellij.execution.testframework.ui.BaseTestsOutputConsoleView) Module(com.intellij.openapi.module.Module) Nullable(org.jetbrains.annotations.Nullable)

Aggregations

Module (com.intellij.openapi.module.Module)2 Project (com.intellij.openapi.project.Project)2 FlutterConsoleFilter (io.flutter.console.FlutterConsoleFilter)2 Nullable (org.jetbrains.annotations.Nullable)2 ExecutionException (com.intellij.execution.ExecutionException)1 Executor (com.intellij.execution.Executor)1 com.intellij.execution.configurations (com.intellij.execution.configurations)1 TextConsoleBuilder (com.intellij.execution.filters.TextConsoleBuilder)1 UrlFilter (com.intellij.execution.filters.UrlFilter)1 ExecutionEnvironment (com.intellij.execution.runners.ExecutionEnvironment)1 RunConfigurationWithSuppressedDefaultRunAction (com.intellij.execution.runners.RunConfigurationWithSuppressedDefaultRunAction)1 BaseTestsOutputConsoleView (com.intellij.execution.testframework.ui.BaseTestsOutputConsoleView)1 ModuleUtil (com.intellij.openapi.module.ModuleUtil)1 SettingsEditor (com.intellij.openapi.options.SettingsEditor)1 Disposer (com.intellij.openapi.util.Disposer)1 InvalidDataException (com.intellij.openapi.util.InvalidDataException)1 WriteExternalException (com.intellij.openapi.util.WriteExternalException)1 StringUtil (com.intellij.openapi.util.text.StringUtil)1 VirtualFile (com.intellij.openapi.vfs.VirtualFile)1 PsiDirectory (com.intellij.psi.PsiDirectory)1