Search in sources :

Example 6 with GenericPerlRunConfiguration

use of com.perl5.lang.perl.idea.run.GenericPerlRunConfiguration in project Perl5-IDEA by Camelcade.

the class PerlPlatformTestCase method createOnlyRunConfiguration.

@NotNull
protected GenericPerlRunConfiguration createOnlyRunConfiguration(@NotNull String relativePath) {
    List<ConfigurationFromContext> configurationsFromContext = getRunConfigurationsFromFileContext(relativePath);
    assertSize(1, configurationsFromContext);
    ConfigurationFromContext configurationFromContext = configurationsFromContext.get(0);
    RunConfiguration runConfiguration = configurationFromContext.getConfiguration();
    assertInstanceOf(runConfiguration, GenericPerlRunConfiguration.class);
    return (GenericPerlRunConfiguration) runConfiguration;
}
Also used : GenericPerlRunConfiguration(com.perl5.lang.perl.idea.run.GenericPerlRunConfiguration) PerlTestRunConfiguration(com.perl5.lang.perl.idea.run.prove.PerlTestRunConfiguration) RunConfiguration(com.intellij.execution.configurations.RunConfiguration) ConfigurationFromContext(com.intellij.execution.actions.ConfigurationFromContext) GenericPerlRunConfiguration(com.perl5.lang.perl.idea.run.GenericPerlRunConfiguration) NotNull(org.jetbrains.annotations.NotNull)

Example 7 with GenericPerlRunConfiguration

use of com.perl5.lang.perl.idea.run.GenericPerlRunConfiguration in project Perl5-IDEA by Camelcade.

the class PerlProfilerRunProfileState method getAdditionalEnvironmentVariables.

@Override
public Map<String, String> getAdditionalEnvironmentVariables() throws ExecutionException {
    Sdk effectiveSdk = ((GenericPerlRunConfiguration) getEnvironment().getRunProfile()).getEffectiveSdk();
    PerlHostData<?, ?> hostData = PerlHostData.notNullFrom(effectiveSdk);
    var dumpLocalPath = getDumpFile().getAbsolutePath();
    var remotePath = hostData.getRemotePath(dumpLocalPath);
    if (StringUtil.isEmpty(remotePath)) {
        throw new ExecutionException("Unable to compute remote path for: " + dumpLocalPath);
    }
    var nytProfOptions = "stmts=0:calls=2:savesrc=0:slowops=1:sigexit=1:addpid=1" + ":file=" + StringUtil.escapeChar(FileUtil.toSystemIndependentName(remotePath), ':') + ":start=" + myProfilerConfigurationState.getStartupMode().getProfilerCommand();
    if (myProfilerConfigurationState.isOptimizerDisabled()) {
        nytProfOptions += ":optimize=0";
    }
    return Map.of("NYTPROF", nytProfOptions);
}
Also used : Sdk(com.intellij.openapi.projectRoots.Sdk) GenericPerlRunConfiguration(com.perl5.lang.perl.idea.run.GenericPerlRunConfiguration) ExecutionException(com.intellij.execution.ExecutionException)

Example 8 with GenericPerlRunConfiguration

use of com.perl5.lang.perl.idea.run.GenericPerlRunConfiguration in project Perl5-IDEA by Camelcade.

the class PerlCoverageProgramRunner method execute.

@Override
public void execute(@NotNull ExecutionEnvironment environment) throws ExecutionException {
    ExecutionManager.getInstance(environment.getProject()).startRunProfile(environment, state -> {
        GenericPerlRunConfiguration runConfiguration = (GenericPerlRunConfiguration) environment.getRunProfile();
        RunContentDescriptor descriptor = DefaultProgramRunnerKt.executeState(state, environment, this);
        if (descriptor == null) {
            return null;
        }
        ProcessHandler processHandler = descriptor.getProcessHandler();
        if (processHandler != null) {
            CoverageDataManager.getInstance(runConfiguration.getProject()).attachToProcess(processHandler, runConfiguration, environment.getRunnerSettings());
        }
        return descriptor;
    });
}
Also used : RunContentDescriptor(com.intellij.execution.ui.RunContentDescriptor) ProcessHandler(com.intellij.execution.process.ProcessHandler) GenericPerlRunConfiguration(com.perl5.lang.perl.idea.run.GenericPerlRunConfiguration)

Aggregations

GenericPerlRunConfiguration (com.perl5.lang.perl.idea.run.GenericPerlRunConfiguration)8 NotNull (org.jetbrains.annotations.NotNull)5 ProcessHandler (com.intellij.execution.process.ProcessHandler)2 Sdk (com.intellij.openapi.projectRoots.Sdk)2 PerlTestRunConfiguration (com.perl5.lang.perl.idea.run.prove.PerlTestRunConfiguration)2 CoverageRunner (com.intellij.coverage.CoverageRunner)1 ExecutionException (com.intellij.execution.ExecutionException)1 ConfigurationFromContext (com.intellij.execution.actions.ConfigurationFromContext)1 RunConfiguration (com.intellij.execution.configurations.RunConfiguration)1 RunProfile (com.intellij.execution.configurations.RunProfile)1 RunContentDescriptor (com.intellij.execution.ui.RunContentDescriptor)1 Project (com.intellij.openapi.project.Project)1 File (java.io.File)1 Nullable (org.jetbrains.annotations.Nullable)1