Search in sources :

Example 61 with ProcessAdapter

use of com.intellij.execution.process.ProcessAdapter in project intellij-plugins by JetBrains.

the class SocketProcessHandler method startNotify.

@Override
public void startNotify() {
    notifyTextAvailable(myCommandLine + '\n', ProcessOutputTypes.SYSTEM);
    addProcessListener(new ProcessAdapter() {

        @Override
        public void startNotified(final ProcessEvent event) {
            try {
                myOutputReader = new SocketOutputReader(mySocket.getInputStream());
            } catch (Exception e) {
            //pass
            } finally {
                removeProcessListener(this);
            }
        }
    });
    super.startNotify();
}
Also used : ProcessAdapter(com.intellij.execution.process.ProcessAdapter) ProcessEvent(com.intellij.execution.process.ProcessEvent)

Example 62 with ProcessAdapter

use of com.intellij.execution.process.ProcessAdapter in project intellij-plugins by JetBrains.

the class RubyMotionUtilImpl method generateApp.

public void generateApp(final VirtualFile dir, final Module module, Sdk sdk, final ProjectType projectType) {
    final Project project = module.getProject();
    final String applicationHomePath = dir.getPath();
    final File tempDirectory;
    try {
        tempDirectory = FileUtil.createTempDirectory("RubyMotion", ".RubyMine");
    } catch (IOException e) {
        throw new Error(e);
    }
    final File generatedApp = new File(tempDirectory, module.getName());
    final Filter[] filters = null;
    final ProcessAdapter processListener = new ProcessAdapter() {

        public void processTerminated(ProcessEvent event) {
            FileUtil.moveDirWithContent(generatedApp, VfsUtilCore.virtualToIoFile(dir));
            tempDirectory.delete();
            if (module.isDisposed()) {
                return;
            }
            RModuleUtil.getInstance().refreshRubyModuleTypeContent(module);
            GeneratorsUtil.openFileInEditor(project, "app/app_delegate.rb", applicationHomePath);
            GeneratorsUtil.openFileInEditor(project, RakeUtilBase.RAKE_FILE, applicationHomePath);
            GeneratorsUtil.openFileInEditor(project, BundlerUtil.GEMFILE, applicationHomePath);
        }
    };
    final MergingCommandLineArgumentsProvider resultProvider = new MergingCommandLineArgumentsProvider(new String[] { getRubyMotionPath() + "/bin/motion", "create", "--template=" + projectType.name().toLowerCase(Locale.US), module.getName() }, null, null, null, sdk);
    ConsoleRunner.run(module, null, processListener, filters, null, ConsoleRunner.ProcessLaunchMode.BACKGROUND_TASK_WITH_PROGRESS, "Generating RubyMotion Application '" + module.getName() + "'...", tempDirectory.getAbsolutePath(), resultProvider, null, false);
}
Also used : Project(com.intellij.openapi.project.Project) MergingCommandLineArgumentsProvider(org.jetbrains.plugins.ruby.ruby.run.MergingCommandLineArgumentsProvider) ProcessAdapter(com.intellij.execution.process.ProcessAdapter) Filter(com.intellij.execution.filters.Filter) ProcessEvent(com.intellij.execution.process.ProcessEvent) IOException(java.io.IOException) VirtualFile(com.intellij.openapi.vfs.VirtualFile) RFile(org.jetbrains.plugins.ruby.ruby.lang.psi.RFile) PsiFile(com.intellij.psi.PsiFile) File(java.io.File)

Aggregations

ProcessAdapter (com.intellij.execution.process.ProcessAdapter)62 ProcessEvent (com.intellij.execution.process.ProcessEvent)59 Key (com.intellij.openapi.util.Key)19 NotNull (org.jetbrains.annotations.NotNull)15 ProcessHandler (com.intellij.execution.process.ProcessHandler)12 OSProcessHandler (com.intellij.execution.process.OSProcessHandler)10 ExecutionEnvironment (com.intellij.execution.runners.ExecutionEnvironment)10 ExecutionException (com.intellij.execution.ExecutionException)9 IOException (java.io.IOException)8 BaseOSProcessHandler (com.intellij.execution.process.BaseOSProcessHandler)7 Nullable (org.jetbrains.annotations.Nullable)7 Project (com.intellij.openapi.project.Project)5 ExecutionEnvironmentBuilder (com.intellij.execution.runners.ExecutionEnvironmentBuilder)4 RunContentDescriptor (com.intellij.execution.ui.RunContentDescriptor)4 File (java.io.File)4 ExecutionResult (com.intellij.execution.ExecutionResult)3 GeneralCommandLine (com.intellij.execution.configurations.GeneralCommandLine)3 Disposable (com.intellij.openapi.Disposable)3 Semaphore (com.intellij.util.concurrency.Semaphore)3 RunProfile (com.intellij.execution.configurations.RunProfile)2