mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
ruby profiler moved to new API + export rbspy data
IDEA-CR-44447 (cherry picked from commit fa966bd13a30e0b3c5ab4825bc227667edfcb22a)
This commit is contained in:
+20
@@ -2,6 +2,7 @@
|
||||
package com.intellij.execution.configuration;
|
||||
|
||||
import com.intellij.execution.ExecutionException;
|
||||
import com.intellij.execution.Executor;
|
||||
import com.intellij.execution.Location;
|
||||
import com.intellij.execution.configurations.GeneralCommandLine;
|
||||
import com.intellij.execution.configurations.RunConfigurationBase;
|
||||
@@ -100,6 +101,25 @@ public abstract class RunConfigurationExtensionBase<T extends RunConfigurationBa
|
||||
@NotNull final GeneralCommandLine cmdLine,
|
||||
@NotNull final String runnerId) throws ExecutionException;
|
||||
|
||||
/**
|
||||
* Patches the command line of the process about to be started by the underlying run configuration.
|
||||
*
|
||||
* @param configuration the underlying run configuration.
|
||||
* @param runnerSettings the runner-specific settings.
|
||||
* @param cmdLine the command line of the process about to be started.
|
||||
* @param runnerId the ID of the {@link com.intellij.execution.runners.ProgramRunner} used to start the process.
|
||||
* @param executor the executor which is using to run the configuration
|
||||
* @throws ExecutionException if there was an error configuring the command line and the execution should be canceled.
|
||||
*/
|
||||
protected void patchCommandLine(@NotNull final T configuration,
|
||||
@Nullable RunnerSettings runnerSettings,
|
||||
@NotNull final GeneralCommandLine cmdLine,
|
||||
@NotNull final String runnerId,
|
||||
@NotNull final Executor executor) throws ExecutionException {
|
||||
patchCommandLine(configuration, runnerSettings, cmdLine, runnerId);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Attaches the extension to a process that has been started.
|
||||
*
|
||||
|
||||
+16
-1
@@ -2,6 +2,7 @@
|
||||
package com.intellij.execution.configuration
|
||||
|
||||
import com.intellij.execution.ExecutionException
|
||||
import com.intellij.execution.Executor
|
||||
import com.intellij.execution.Location
|
||||
import com.intellij.execution.configurations.GeneralCommandLine
|
||||
import com.intellij.execution.configurations.RunConfigurationBase
|
||||
@@ -9,14 +10,15 @@ import com.intellij.execution.configurations.RunnerSettings
|
||||
import com.intellij.execution.process.ProcessHandler
|
||||
import com.intellij.openapi.extensions.ExtensionPointName
|
||||
import com.intellij.openapi.options.ExtendableSettingsEditor
|
||||
import com.intellij.openapi.options.SettingsEditorGroup
|
||||
import com.intellij.openapi.options.ExtensionSettingsEditor
|
||||
import com.intellij.openapi.options.SettingsEditorGroup
|
||||
import com.intellij.openapi.util.JDOMUtil
|
||||
import com.intellij.openapi.util.Key
|
||||
import com.intellij.openapi.util.WriteExternalException
|
||||
import com.intellij.util.SmartList
|
||||
import gnu.trove.THashMap
|
||||
import org.jdom.Element
|
||||
import org.jetbrains.annotations.ApiStatus
|
||||
import java.util.*
|
||||
|
||||
private val RUN_EXTENSIONS = Key.create<List<Element>>("run.extension.elements")
|
||||
@@ -128,6 +130,19 @@ open class RunConfigurationExtensionsManager<U : RunConfigurationBase<*>, T : Ru
|
||||
}
|
||||
}
|
||||
|
||||
@ApiStatus.Experimental
|
||||
@Throws(ExecutionException::class)
|
||||
open fun patchCommandLine(configuration: U,
|
||||
runnerSettings: RunnerSettings?,
|
||||
cmdLine: GeneralCommandLine,
|
||||
runnerId: String,
|
||||
executor: Executor) {
|
||||
// only for enabled extensions
|
||||
processEnabledExtensions(configuration, runnerSettings) {
|
||||
it.patchCommandLine(configuration, runnerSettings, cmdLine, runnerId, executor)
|
||||
}
|
||||
}
|
||||
|
||||
@Throws(ExecutionException::class)
|
||||
open fun patchCommandLine(configuration: U, runnerSettings: RunnerSettings?, cmdLine: GeneralCommandLine, runnerId: String) {
|
||||
// only for enabled extensions
|
||||
|
||||
Reference in New Issue
Block a user