当前位置: 首页>>代码示例>>Java>>正文


Java OSProcessHandler.addProcessListener方法代码示例

本文整理汇总了Java中com.intellij.execution.process.OSProcessHandler.addProcessListener方法的典型用法代码示例。如果您正苦于以下问题:Java OSProcessHandler.addProcessListener方法的具体用法?Java OSProcessHandler.addProcessListener怎么用?Java OSProcessHandler.addProcessListener使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在com.intellij.execution.process.OSProcessHandler的用法示例。


在下文中一共展示了OSProcessHandler.addProcessListener方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: startProcess

import com.intellij.execution.process.OSProcessHandler; //导入方法依赖的package包/类
@NotNull
protected OSProcessHandler startProcess() throws ExecutionException {
  final OSProcessHandler handler = JavaCommandLineStateUtil.startProcess(createCommandLine());
  ProcessTerminatedListener.attach(handler, myProject, JavadocBundle.message("javadoc.generate.exited"));
  handler.addProcessListener(new ProcessAdapter() {
    public void processTerminated(ProcessEvent event) {
      if (myConfiguration.OPEN_IN_BROWSER) {
        File url = new File(myConfiguration.OUTPUT_DIRECTORY, INDEX_HTML);
        if (url.exists() && event.getExitCode() == 0) {
          BrowserUtil.browse(url);
        }
      }
    }
  });
  return handler;
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:17,代码来源:JavadocGeneratorRunProfile.java

示例2: startProcess

import com.intellij.execution.process.OSProcessHandler; //导入方法依赖的package包/类
@NotNull
protected OSProcessHandler startProcess() throws ExecutionException {
  final OSProcessHandler handler = JavaCommandLineStateUtil.startProcess(createCommandLine());
  ProcessTerminatedListener.attach(handler, myProject, JavadocBundle.message("javadoc.generate.exited"));
  handler.addProcessListener(new ProcessAdapter() {
    public void processTerminated(ProcessEvent event) {
      if (OPEN_IN_BROWSER) {
        File url = new File(OUTPUT_DIRECTORY, INDEX_HTML);
        if (url.exists() && event.getExitCode() == 0) {
          BrowserUtil.browse(url);
        }
      }
    }
  });
  return handler;
}
 
开发者ID:lshain-android-source,项目名称:tools-idea,代码行数:17,代码来源:JavadocConfiguration.java

示例3: createProcessHandler

import com.intellij.execution.process.OSProcessHandler; //导入方法依赖的package包/类
public OSProcessHandler createProcessHandler(String workingDirectory, Map<String,String> envVariables) throws ExecutionException {
  final File executableFile;
  try {
    executableFile = createNewExecutableFile();
    FileOutputStream outputStream = new FileOutputStream(executableFile);
    try {
      FileUtil.copy(new ByteArrayInputStream(getScript().getBytes()), outputStream);
    }
    finally {
      outputStream.close();
    }
  }
  catch (IOException e) {
    throw new ExecutionException(J2EEBundle.message("message.text.error.while.creating.temp.file", e.getLocalizedMessage()));
  }
  final File toDelete = myDirectoryForScript == null ? executableFile.getParentFile() : executableFile;
  toDelete.deleteOnExit();

  OSProcessHandler result = createExecutable(executableFile).createProcessHandler(workingDirectory, envVariables);
  result.addProcessListener(new ProcessAdapter() {
    public void processTerminated(ProcessEvent event) {
      FileUtil.delete(toDelete);
    }
  });
  return result;
}
 
开发者ID:consulo,项目名称:consulo-javaee,代码行数:27,代码来源:ScriptExecutableObject.java

示例4: startProcess

import com.intellij.execution.process.OSProcessHandler; //导入方法依赖的package包/类
@NotNull
protected OSProcessHandler startProcess() throws ExecutionException
{
	final OSProcessHandler handler = JavaCommandLineStateUtil.startProcess(createCommandLine());
	ProcessTerminatedListener.attach(handler, myProject, JavadocBundle.message("javadoc.generate.exited"));
	handler.addProcessListener(new ProcessAdapter()
	{
		public void processTerminated(ProcessEvent event)
		{
			if(myConfiguration.OPEN_IN_BROWSER)
			{
				File url = new File(myConfiguration.OUTPUT_DIRECTORY, INDEX_HTML);
				if(url.exists() && event.getExitCode() == 0)
				{
					BrowserUtil.browse(url);
				}
			}
		}
	});
	return handler;
}
 
开发者ID:consulo,项目名称:consulo-java,代码行数:22,代码来源:JavadocGeneratorRunProfile.java

示例5: startProcess

import com.intellij.execution.process.OSProcessHandler; //导入方法依赖的package包/类
/**
 * {@link ProcessListenerLivingDoc#startNotified(ProcessEvent)} is the listener method for <code>osProcessHandler.startNotify()</code>
 */
@NotNull
@Override
protected OSProcessHandler startProcess() throws ExecutionException {

    OSProcessHandler osProcessHandler = super.startProcess();
    osProcessHandler.addProcessListener(new ProcessListenerLivingDoc(runConfiguration));
    osProcessHandler.startNotify(); //  start capturing the process output
    return osProcessHandler;
}
 
开发者ID:testIT-LivingDoc,项目名称:livingdoc-intellij,代码行数:13,代码来源:RunProfileStateLivingDoc.java

示例6: execute

import com.intellij.execution.process.OSProcessHandler; //导入方法依赖的package包/类
public void execute(AnActionEvent event, DataContext dataContext, long executionId, @Nullable final ProcessListener processListener) {
  final Project project = CommonDataKeys.PROJECT.getData(dataContext);
  if (project == null) {
    return;
  }

  FileDocumentManager.getInstance().saveAllDocuments();
  try {
    if (isUseConsole()) {
      ExecutionEnvironment environment = ExecutionEnvironmentBuilder.create(project,
                                                                            DefaultRunExecutor.getRunExecutorInstance(),
                                                                            new ToolRunProfile(this, dataContext)).build();
      environment.setExecutionId(executionId);
      environment.getRunner().execute(environment, new ProgramRunner.Callback() {
        @Override
        public void processStarted(RunContentDescriptor descriptor) {
          ProcessHandler processHandler = descriptor.getProcessHandler();
          if (processHandler != null && processListener != null) {
            processHandler.addProcessListener(processListener);
          }
        }
      });
    }
    else {
      GeneralCommandLine commandLine = createCommandLine(dataContext);
      if (commandLine == null) {
        return;
      }
      OSProcessHandler handler = new OSProcessHandler(commandLine.createProcess(), commandLine.getCommandLineString());
      handler.addProcessListener(new ToolProcessAdapter(project, synchronizeAfterExecution(), getName()));
      if (processListener != null) {
        handler.addProcessListener(processListener);
      }
      handler.startNotify();
    }
  }
  catch (ExecutionException ex) {
    ExecutionErrorDialog.show(ex, ToolsBundle.message("tools.process.start.error"), project);
  }
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:41,代码来源:Tool.java

示例7: startProcess

import com.intellij.execution.process.OSProcessHandler; //导入方法依赖的package包/类
@Override
@NotNull
protected OSProcessHandler startProcess() throws ExecutionException {
    final OSProcessHandler osProcessHandler = createJavaParameters().createOSProcessHandler();
    osProcessHandler.putUserData(STATE, this);

    osProcessHandler.addProcessListener(new MyProcessAdapter());

    final List<XsltRunnerExtension> extensions = XsltRunnerExtension.getExtensions(myXsltRunConfiguration, myIsDebugger);
    for (XsltRunnerExtension extension : extensions) {
        osProcessHandler.addProcessListener(extension.createProcessListener(myXsltRunConfiguration.getProject(), myExtensionData));
    }
    return osProcessHandler;
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:15,代码来源:XsltCommandLineState.java

示例8: startProcess

import com.intellij.execution.process.OSProcessHandler; //导入方法依赖的package包/类
@NotNull
@Override
protected OSProcessHandler startProcess() throws ExecutionException {
    validateIfProjectIsPrebuilt();

    final OSProcessHandler osProcessHandler = super.startProcess();
    osProcessHandler.addProcessListener(new EquinoxRestartProcessListener(appModule, environment, executor));

    if (configurationValues.isAutoDiagnostic()) {
        osProcessHandler.addProcessListener(new EquinoxDiagnosisProcessListener(appModule, configurationValues));
    }

    return osProcessHandler;
}
 
开发者ID:mcmil,项目名称:wuff-intellij-plugin,代码行数:15,代码来源:EquinoxJavaCommandLineState.java

示例9: getState

import com.intellij.execution.process.OSProcessHandler; //导入方法依赖的package包/类
public RunProfileState getState(@NotNull final Executor executor, @NotNull final ExecutionEnvironment env) throws ExecutionException {
  return new JavaCommandLineState(env) {
    private AppletHtmlFile myHtmlURL = null;

    protected JavaParameters createJavaParameters() throws ExecutionException {
      final JavaParameters params = new JavaParameters();
      myHtmlURL = getHtmlURL();
      if (myHtmlURL != null) {
        final int classPathType = myHtmlURL.isHttp() ? JavaParameters.JDK_ONLY : JavaParameters.JDK_AND_CLASSES;
        final RunConfigurationModule runConfigurationModule = getConfigurationModule();
        JavaParametersUtil.configureModule(runConfigurationModule, params, classPathType, ALTERNATIVE_JRE_PATH_ENABLED ? ALTERNATIVE_JRE_PATH : null);
        final String policyFileParameter = getPolicyFileParameter();
        if (policyFileParameter != null) {
          params.getVMParametersList().add(policyFileParameter);
        }
        params.getVMParametersList().addParametersString(VM_PARAMETERS);
        params.setMainClass("sun.applet.AppletViewer");
        params.getProgramParametersList().add(myHtmlURL.getUrl());
      }
      return params;
    }

    @NotNull
    protected OSProcessHandler startProcess() throws ExecutionException {
      final OSProcessHandler handler = super.startProcess();
      final AppletHtmlFile htmlUrl = myHtmlURL;
      if (htmlUrl != null) {
        handler.addProcessListener(new ProcessAdapter() {
          public void processTerminated(ProcessEvent event) {
            htmlUrl.deleteFile();
          }
        });
      }
      return handler;
    }
  };
}
 
开发者ID:lshain-android-source,项目名称:tools-idea,代码行数:38,代码来源:AppletConfiguration.java

示例10: startProcess

import com.intellij.execution.process.OSProcessHandler; //导入方法依赖的package包/类
@NotNull
protected OSProcessHandler startProcess() throws ExecutionException {
    final OSProcessHandler osProcessHandler = createJavaParameters().createOSProcessHandler();
    osProcessHandler.putUserData(STATE, this);

    osProcessHandler.addProcessListener(new MyProcessAdapter());

    final List<XsltRunnerExtension> extensions = XsltRunnerExtension.getExtensions(myXsltRunConfiguration, myIsDebugger);
    for (XsltRunnerExtension extension : extensions) {
        osProcessHandler.addProcessListener(extension.createProcessListener(myXsltRunConfiguration.getProject(), myExtensionData));
    }
    return osProcessHandler;
}
 
开发者ID:lshain-android-source,项目名称:tools-idea,代码行数:14,代码来源:XsltCommandLineState.java

示例11: installEmberCLI

import com.intellij.execution.process.OSProcessHandler; //导入方法依赖的package包/类
private void installEmberCLI() {
    final GeneralCommandLine generalCommandLine = new GeneralCommandLine("npm", "install","-g", "ember-cli");
    generalCommandLine.setWorkDirectory(getNewProjectFilePath());

    try {
        final OSProcessHandler handler = new OSProcessHandler(generalCommandLine);
        handler.addProcessListener(this);
        handler.startNotify();
        generalCommandLine.createProcess();
    } catch (Exception e) {
        handleError(e);
    }
}
 
开发者ID:kristianmandrup,项目名称:emberjs-plugin,代码行数:14,代码来源:NewEmberProjectWizard.java

示例12: startProcess

import com.intellij.execution.process.OSProcessHandler; //导入方法依赖的package包/类
@NotNull
protected OSProcessHandler startProcess() throws ExecutionException {
  final OSProcessHandler osProcessHandler = createJavaParameters().createOSProcessHandler();
  osProcessHandler.putUserData(STATE, this);

  osProcessHandler.addProcessListener(new MyProcessAdapter());

  final List<XsltRunnerExtension> extensions = XsltRunnerExtension.getExtensions(myXsltRunConfiguration, myIsDebugger);
  for (XsltRunnerExtension extension : extensions) {
    osProcessHandler.addProcessListener(extension.createProcessListener(myXsltRunConfiguration.getProject(), myExtensionData));
  }
  return osProcessHandler;
}
 
开发者ID:consulo,项目名称:consulo-xslt,代码行数:14,代码来源:XsltCommandLineState.java

示例13: getState

import com.intellij.execution.process.OSProcessHandler; //导入方法依赖的package包/类
@Override
public RunProfileState getState(@NotNull final Executor executor, @NotNull final ExecutionEnvironment env) throws ExecutionException {
  return new JavaCommandLineState(env) {
    private AppletHtmlFile myHtmlURL = null;

    @Override
    protected JavaParameters createJavaParameters() throws ExecutionException {
      final JavaParameters params = new JavaParameters();
      myHtmlURL = getHtmlURL();
      if (myHtmlURL != null) {
        final int classPathType = myHtmlURL.isHttp() ? JavaParameters.JDK_ONLY : JavaParameters.JDK_AND_CLASSES;
        final RunConfigurationModule runConfigurationModule = getConfigurationModule();
        JavaParametersUtil.configureModule(runConfigurationModule, params, classPathType, ALTERNATIVE_JRE_PATH_ENABLED ? ALTERNATIVE_JRE_PATH : null);
        final String policyFileParameter = getPolicyFileParameter();
        if (policyFileParameter != null) {
          params.getVMParametersList().add(policyFileParameter);
        }
        params.getVMParametersList().addParametersString(VM_PARAMETERS);
        params.setMainClass("sun.applet.AppletViewer");
        params.getProgramParametersList().add(myHtmlURL.getUrl());
      }
      return params;
    }

    @Override
    @NotNull
    protected OSProcessHandler startProcess() throws ExecutionException {
      final OSProcessHandler handler = super.startProcess();
      final AppletHtmlFile htmlUrl = myHtmlURL;
      if (htmlUrl != null) {
        handler.addProcessListener(new ProcessAdapter() {
          @Override
          public void processTerminated(ProcessEvent event) {
            htmlUrl.deleteFile();
          }
        });
      }
      return handler;
    }
  };
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:42,代码来源:AppletConfiguration.java

示例14: executeCommand

import com.intellij.execution.process.OSProcessHandler; //导入方法依赖的package包/类
@NotNull
public static ExecutionStatus executeCommand(@NotNull GeneralCommandLine commandLine,
                                             @Nullable final OutputProcessor processor,
                                             @Nullable WaitingStrategies.Strategy strategy) throws ExecutionException {
  LOG.info(commandLine.getCommandLineString());
  OSProcessHandler handler = new OSProcessHandler(commandLine.createProcess(), "");

  final ProcessAdapter listener = new ProcessAdapter() {
    @Override
    public void onTextAvailable(final ProcessEvent event, final Key outputType) {
      if (processor != null) {
        final String message = event.getText();
        processor.onTextAvailable(message);
      }
    }
  };

  if (!(strategy instanceof WaitingStrategies.DoNotWait)) {
    handler.addProcessListener(listener);
  }

  handler.startNotify();
  try {
    if (!(strategy instanceof WaitingStrategies.WaitForever)) {
      if (strategy instanceof WaitingStrategies.WaitForTime) {
        handler.waitFor(((WaitingStrategies.WaitForTime)strategy).getTimeMs());
      }
    }
    else {
      handler.waitFor();
    }
  }
  catch (ProcessCanceledException e) {
    return ExecutionStatus.ERROR;
  }

  if (!handler.isProcessTerminated()) {
    return ExecutionStatus.TIMEOUT;
  }

  if (!(strategy instanceof WaitingStrategies.DoNotWait)) {
    handler.removeProcessListener(listener);
  }
  int exitCode = handler.getProcess().exitValue();
  return exitCode == 0 ? ExecutionStatus.SUCCESS : ExecutionStatus.ERROR;
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:47,代码来源:AndroidUtils.java

示例15: getState

import com.intellij.execution.process.OSProcessHandler; //导入方法依赖的package包/类
@Override
public RunProfileState getState(@NotNull Executor executor, @NotNull ExecutionEnvironment environment) throws ExecutionException {
  final VirtualFile script = getScriptFile();
  if (script == null) {
    throw new CantRunException("Cannot find script " + scriptPath);
  }

  final GroovyScriptRunner scriptRunner = findConfiguration();
  if (scriptRunner == null) {
    throw new CantRunException("Unknown script type " + scriptPath);
  }

  final Module module = ObjectUtils.chooseNotNull(getModule(), ContainerUtil.getFirstItem(getValidModules()));
  if (!scriptRunner.ensureRunnerConfigured(module, this, executor, getProject())) {
    return null;
  }

  final boolean tests = ProjectRootManager.getInstance(getProject()).getFileIndex().isInTestSourceContent(script);

  return new JavaCommandLineState(environment) {
    @NotNull
    @Override
    protected OSProcessHandler startProcess() throws ExecutionException {
      final OSProcessHandler handler = super.startProcess();
      handler.setShouldDestroyProcessRecursively(true);
      if (scriptRunner.shouldRefreshAfterFinish()) {
        handler.addProcessListener(new ProcessAdapter() {
          @Override
          public void processTerminated(ProcessEvent event) {
            if (!ApplicationManager.getApplication().isDisposed()) {
              VirtualFileManager.getInstance().asyncRefresh(null);
            }
          }
        });
      }

      return handler;
    }

    @Override
    protected JavaParameters createJavaParameters() throws ExecutionException {
      JavaParameters params = createJavaParametersWithSdk(module);
      ProgramParametersUtil.configureConfiguration(params, GroovyScriptRunConfiguration.this);
      scriptRunner.configureCommandLine(params, module, tests, script, GroovyScriptRunConfiguration.this);

      return params;
    }
  };
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:50,代码来源:GroovyScriptRunConfiguration.java


注:本文中的com.intellij.execution.process.OSProcessHandler.addProcessListener方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。