@Nullable private String getRemoteAddress(@NotNull ExecutionEnvironment env) { RunnerAndConfigurationSettings runnerAndConfigurationSettings = env.getRunnerAndConfigurationSettings(); if (runnerAndConfigurationSettings == null) { return null; } RunConfiguration configurationSettings = runnerAndConfigurationSettings.getConfiguration(); if (configurationSettings instanceof BallerinaRemoteConfiguration) { BallerinaRemoteConfiguration applicationConfiguration = (BallerinaRemoteConfiguration) configurationSettings; String remoteDebugHost = applicationConfiguration.getRemoteDebugHost(); if (remoteDebugHost.isEmpty()) { return null; } String remoteDebugPort = applicationConfiguration.getRemoteDebugPort(); if (remoteDebugPort.isEmpty()) { return null; } return remoteDebugHost + ":" + remoteDebugPort; } return null; }
String outputDirectoryPath = state.getConfiguration().getOutputFilePath(); RunnerAndConfigurationSettings settings = environment.getRunnerAndConfigurationSettings(); String configurationName = settings != null ? settings.getName() : "application"; if (StringUtil.isEmpty(outputDirectoryPath)) { try {
return Optional.of( JavaCloudApisMessageBundle.message( "cloud.apis.service.account.java.configuration.error", configuration.getName())); if (configuration.getType() instanceof ApplicationConfigurationType) { RunConfiguration baseConfiguration = configuration.getConfiguration(); "cloud.apis.service.account.java.configuration.error", configuration.getName()));
private void createRemoteDebug( @NotNull final RunManager runManager, @NotNull final HybrisProjectDescriptor hybrisProjectDescriptor ) { final RemoteConfigurationType remoteConfigurationType = ConfigurationTypeUtil.findConfigurationType( RemoteConfigurationType.class); final ConfigurationFactory configurationFactory = remoteConfigurationType.getConfigurationFactories()[0]; final String configurationName = HybrisI18NBundleUtils.message( "hybris.project.import.run.configuration.remote.debug"); if (runManager.findConfigurationByName(configurationName) != null) { return; } final RunnerAndConfigurationSettings runner = runManager.createRunConfiguration( configurationName, configurationFactory ); final RemoteConfiguration remoteConfiguration = (RemoteConfiguration) runner.getConfiguration(); remoteConfiguration.PORT = getDebugPort(hybrisProjectDescriptor); ApplicationManager.getApplication().invokeLater(() -> ApplicationManager.getApplication().runWriteAction(() -> { runner.setSingleton(true); runner.setActivateToolWindowBeforeRun(true); runManager.addConfiguration(runner, true); runManager.setSelectedConfiguration(runner); })); }
@Before public void setUp() { appEngineConfigProvider = spy(new AppEngineLocalRunCloudApiRunConfigurationProvider()); TestConfigurationInfoProvider configurationInfoProvider = new TestConfigurationInfoProvider(); when(mockCommonStrategy.createStartupHelper(configurationInfoProvider)) .thenReturn(mockScriptHelper); when(mockCommonStrategy.createShutdownHelper(configurationInfoProvider)) .thenReturn(mockScriptHelper); when(mockCommonStrategy.getSettingsBean()) .thenReturn(new JavaeeRunConfigurationCommonSettingsBean()); runnerSpecificLocalConfigurationBit = new RunnerSpecificLocalConfigurationBit(new TestConfigurationInfoProvider()); runnerSpecificLocalConfigurationBit.setEnvironmentVariables(new ArrayList<>()); when(mockRunnerAndConfigurationSettings.getConfiguration()).thenReturn(runConfiguration); when(mockRunnerAndConfigurationSettings.getConfigurationSettings(any())) .thenReturn(runnerSpecificLocalConfigurationBit); when(mockRunnerRegistry.getRunner(any(), any())).thenReturn(mockProgramRunner); doReturn(Collections.singletonList(mockRunnerAndConfigurationSettings)) .when(appEngineConfigProvider) .getRunConfigurationsForCloudApis(mockProject); }
GoogleCloudApisMessageBundle.message( "cloud.apis.service.account.key.dialog.update.configuration.error", configuration.getName())); (RunnerSpecificLocalConfigurationBit) configuration.getConfigurationSettings(runner); if (appEngineLocalRunSettings == null) { return Optional.of( GoogleCloudApisMessageBundle.message( "cloud.apis.service.account.key.dialog.update.configuration.error", configuration.getName()));
if (existingConfigurations != null) { RunConfiguration existingConfiguration = existingConfigurations.getConfiguration();
public static synchronized String allocateId( Project project, RunnerAndConfigurationSettings setting) { final String base = project.getName() + ":" + setting.getName(); if (!sRunningProcs.containsKey(base)) { sRunningProcs.put(base, null); return base; } String alternate; int i = 0; do { alternate = base + ":" + i; } while (sRunningProcs.containsKey(alternate)); sRunningProcs.put(alternate, null); return alternate; }
@Nullable @Override protected RunnerAndConfigurationSettings createConfigurationByElement(Location location, ConfigurationContext configurationContext) { sourceFile = location.getPsiElement().getContainingFile(); if (sourceFile != null && sourceFile.getFileType().getName().toLowerCase().contains("javascript")) { Project project = sourceFile.getProject(); VirtualFile file = sourceFile.getVirtualFile(); RunnerAndConfigurationSettings settings = cloneTemplateConfiguration(project, configurationContext); MongoRunConfiguration runConfiguration = (MongoRunConfiguration) settings.getConfiguration(); runConfiguration.setName(file.getName()); runConfiguration.setScriptPath(file.getPath()); Module module = ModuleUtil.findModuleForPsiElement(location.getPsiElement()); if (module != null) { runConfiguration.setModule(module); } return settings; } return null; }
@Override public void setValue(Object value) { if (value instanceof RunnerAndConfigurationSettings) { RunnerAndConfigurationSettings runnerAndConfigurationSettings = (RunnerAndConfigurationSettings) value; setText(runnerAndConfigurationSettings.getName()); } else { setText(""); } } }
@Override public T compute() { ConfigurationContext context = createContext( project, psiElement, dataContext); RunnerAndConfigurationSettings settings = context.getConfiguration(); return settings == null ? null : (T) settings.getConfiguration(); } });
@Before public void setUp() { when(mockRunnerAndConfigurationSettings.getName()).thenReturn("name"); }
protected AbstractMonkeyModuleBasedConfiguration getConfiguration() { if (getEnvironment().getRunnerAndConfigurationSettings() == null) { throw new RuntimeException("runnerAndConfigurationSettings is null"); } final RunConfiguration configuration = getEnvironment().getRunnerAndConfigurationSettings().getConfiguration(); if (configuration == null || !(configuration instanceof AbstractMonkeyModuleBasedConfiguration)) { throw new RuntimeException("runnerAndConfigurationSettings.getConfiguration() is null or wrong type"); } return (AbstractMonkeyModuleBasedConfiguration) configuration; }
/** Public for testing */ public static RunnerAndConfigurationSettings pickRunSetting(Project project, String configuration) { final RunManager manager = RunManager.getInstance(project); // go with "last run" if (configuration == null) { RunnerAndConfigurationSettings selected = manager.getSelectedConfiguration(); if (selected != null) return selected; } for (RunnerAndConfigurationSettings setting : manager.getAllSettings()) { if (configuration == null) { return setting; // just use the first we see, I guess } else if (configuration.equals(setting.getName())) { // found it! return setting; } } // couldn't find it :( return null; } }
private List<CloudDebugProcessState> getBackgroundDebugStates(Project project) { List<CloudDebugProcessState> states = Lists.newArrayList(); RunManager manager = RunManager.getInstance(project); for (final RunnerAndConfigurationSettings config : manager.getAllSettings()) { if (config.getConfiguration() instanceof CloudDebugRunConfiguration) { final CloudDebugRunConfiguration cloudConfig = (CloudDebugRunConfiguration) config.getConfiguration(); CloudDebugProcessState processState = cloudConfig.getProcessState(); if (processState != null && processState.isListenInBackground()) { states.add(processState); } } } return states; }
!ExecutionTargetManager.canRun(configuration, target)) { throw new ExecutionException(StringUtil.escapeXml("Cannot run '" + configuration.getName() + "' on '" + target.getDisplayName() + "'"));
/** Get all the background snapshot states. */ public List<CloudDebugProcessState> getBackgroundListeningStates() { List<CloudDebugProcessState> states = new ArrayList<CloudDebugProcessState>(); for (Project project : ProjectManager.getInstance().getOpenProjects()) { Set<RunProfile> runningProfiles = getProfilesWithActiveDebugSession(project); RunManager manager = RunManager.getInstance(project); // find all CloudDebugRunConfiguration that do not have active debug sessions but are // listening in the background for (final RunnerAndConfigurationSettings config : manager.getAllSettings()) { if (notRunningConfiguration(runningProfiles, config.getConfiguration())) { if (config.getConfiguration() instanceof CloudDebugRunConfiguration) { final CloudDebugRunConfiguration cloudConfig = (CloudDebugRunConfiguration) config.getConfiguration(); CloudDebugProcessState state = cloudConfig.getProcessState(); if (listensInBackground(state)) { states.add(state); } } } } } return states; }
public void testRun() throws Exception { Project project = prepareProject(RUNNABLE_PROJECT); final RunManager manager = RunManager.getInstance(project); for (RunnerAndConfigurationSettings setting : manager.getAllSettings()) { System.out.println(setting.getName()); } LoggingRunner runner = new LoggingRunner(); SimpleResult result = (SimpleResult) new RunCommand(project, runner).execute(); assertSuccess(result); if (!runner.awaitTermination(TIMEOUT)) fail("RunnableProject did not finish execution in time"); // launch manager should clear it assertThat(LaunchManager.get(runner.launchId)) .isNull(); // make sure we got our output SoftAssertions softly = new SoftAssertions(); softly.assertThat(runner.cancelled).as("Run Cancelled").isFalse(); softly.assertThat(runner.stderr).as("stderr").contains("Standard Error"); softly.assertThat(runner.stdout).as("stdout").contains("Standard Output"); softly.assertThat(runner.system).as("system") .hasSize(2) // first one is the command line .contains("Process finished with exit code 0"); softly.assertAll(); }
/** * Enumerates all runconfigurations in this project and returns a serialized form of their process * states. * * @return a serialized form of the debuggee state as known to the client */ @Nullable @Override public CloudDebugProcessStateSerializer.ProjectState getState() { ProjectState projectState = new ProjectState(); if (CloudDebugConfigType.isFeatureEnabled()) { RunManager manager = RunManager.getInstance(project); for (RunnerAndConfigurationSettings config : manager.getAllSettings()) { if (config.getConfiguration() == null) { continue; } if (config.getConfiguration() instanceof CloudDebugRunConfiguration) { final CloudDebugRunConfiguration cloudConfig = (CloudDebugRunConfiguration) config.getConfiguration(); final CloudDebugProcessState state = cloudConfig.getProcessState(); if (state != null) { projectState.configStates.add(new RunConfigState(cloudConfig.getName(), state)); } } } } return projectState; }