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


Java JavaCommandLineState类代码示例

本文整理汇总了Java中com.intellij.execution.configurations.JavaCommandLineState的典型用法代码示例。如果您正苦于以下问题:Java JavaCommandLineState类的具体用法?Java JavaCommandLineState怎么用?Java JavaCommandLineState使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


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

示例1: getState

import com.intellij.execution.configurations.JavaCommandLineState; //导入依赖的package包/类
@Override
public RunProfileState getState(@NotNull final Executor executor, @NotNull final ExecutionEnvironment env) throws ExecutionException
{
	final JavaCommandLineState state = new JavaCommandLineState(env)
	{
		@Override
		protected OwnJavaParameters createJavaParameters()
		{
			return myParameters;
		}
	};
	final TextConsoleBuilder builder = TextConsoleBuilderFactory.getInstance().createBuilder(myProject);
	if(myFilters != null)
	{
		builder.filters(myFilters);
	}
	state.setConsoleBuilder(builder);
	return state;
}
 
开发者ID:consulo,项目名称:consulo-java,代码行数:20,代码来源:JavaExecutionUtil.java

示例2: getState

import com.intellij.execution.configurations.JavaCommandLineState; //导入依赖的package包/类
/**
 * Plugin jar has been previously created via blaze build. This method: - copies jar to sandbox
 * environment - cracks open jar and finds plugin.xml (with ID, etc., needed for JVM args) - sets
 * up the SDK, etc. (use project SDK?) - sets up the JVM, and returns a JavaCommandLineState
 */
@Nullable
@Override
public RunProfileState getState(Executor executor, ExecutionEnvironment env)
    throws ExecutionException {
  final Sdk ideaJdk = pluginSdk;
  if (!IdeaJdkHelper.isIdeaJdk(ideaJdk)) {
    throw new ExecutionException("Choose an IntelliJ Platform Plugin SDK");
  }
  String sandboxHome = IdeaJdkHelper.getSandboxHome(ideaJdk);
  if (sandboxHome == null) {
    throw new ExecutionException("No sandbox specified for IntelliJ Platform Plugin SDK");
  }

  try {
    sandboxHome = new File(sandboxHome).getCanonicalPath();
  } catch (IOException e) {
    throw new ExecutionException("No sandbox specified for IntelliJ Platform Plugin SDK");
  }
  String buildNumber = IdeaJdkHelper.getBuildNumber(ideaJdk);
  final BlazeIntellijPluginDeployer deployer =
      new BlazeIntellijPluginDeployer(sandboxHome, buildNumber, getTarget());
  env.putUserData(BlazeIntellijPluginDeployer.USER_DATA_KEY, deployer);

  // copy license from running instance of idea
  IdeaJdkHelper.copyIDEALicense(sandboxHome);

  return new JavaCommandLineState(env) {
    @Override
    protected JavaParameters createJavaParameters() throws ExecutionException {
      List<String> pluginIds = deployer.deployNonBlocking();

      final JavaParameters params = new JavaParameters();

      ParametersList vm = params.getVMParametersList();

      fillParameterList(vm, vmParameters);
      fillParameterList(params.getProgramParametersList(), programParameters);

      IntellijWithPluginClasspathHelper.addRequiredVmParams(params, ideaJdk);

      vm.defineProperty(
          JetBrainsProtocolHandler.REQUIRED_PLUGINS_KEY, Joiner.on(',').join(pluginIds));

      if (!vm.hasProperty(PlatformUtils.PLATFORM_PREFIX_KEY) && buildNumber != null) {
        String prefix = IdeaJdkHelper.getPlatformPrefix(buildNumber);
        if (prefix != null) {
          vm.defineProperty(PlatformUtils.PLATFORM_PREFIX_KEY, prefix);
        }
      }
      return params;
    }

    @Override
    protected OSProcessHandler startProcess() throws ExecutionException {
      deployer.blockUntilDeployComplete();
      final OSProcessHandler handler = super.startProcess();
      handler.addProcessListener(
          new ProcessAdapter() {
            @Override
            public void processTerminated(ProcessEvent event) {
              deployer.deleteDeployment();
            }
          });
      return handler;
    }
  };
}
 
开发者ID:bazelbuild,项目名称:intellij,代码行数:73,代码来源:BlazeIntellijPluginConfiguration.java

示例3: doExecute

import com.intellij.execution.configurations.JavaCommandLineState; //导入依赖的package包/类
protected RunContentDescriptor doExecute(@NotNull RunProfileState state, @NotNull ExecutionEnvironment env) throws ExecutionException
{
	FileDocumentManager.getInstance().saveAllDocuments();

	ExecutionResult executionResult;
	boolean shouldAddDefaultActions = true;
	if(state instanceof JavaCommandLine)
	{
		final OwnJavaParameters parameters = ((JavaCommandLine) state).getJavaParameters();
		patch(parameters, env.getRunnerSettings(), env.getRunProfile(), true);

		ProcessProxy proxy = ProcessProxyFactory.getInstance().createCommandLineProxy((JavaCommandLine) state);
		executionResult = state.execute(env.getExecutor(), this);
		if(proxy != null)
		{
			ProcessHandler handler = executionResult != null ? executionResult.getProcessHandler() : null;
			if(handler != null)
			{
				proxy.attach(handler);
				handler.addProcessListener(new ProcessAdapter()
				{
					@Override
					public void processTerminated(@NotNull ProcessEvent event)
					{
						proxy.destroy();
					}
				});
			}
			else
			{
				proxy.destroy();
			}
		}

		if(state instanceof JavaCommandLineState && !((JavaCommandLineState) state).shouldAddJavaProgramRunnerActions())
		{
			shouldAddDefaultActions = false;
		}
	}
	else
	{
		executionResult = state.execute(env.getExecutor(), this);
	}

	if(executionResult == null)
	{
		return null;
	}

	onProcessStarted(env.getRunnerSettings(), executionResult);

	final RunContentBuilder contentBuilder = new RunContentBuilder(executionResult, env);
	if(shouldAddDefaultActions)
	{
		addDefaultActions(contentBuilder, executionResult);
	}
	return contentBuilder.showRunContent(env.getContentToReuse());
}
 
开发者ID:consulo,项目名称:consulo-java,代码行数:59,代码来源:DefaultJavaProgramRunner.java


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