Search in sources :

Example 1 with GenericPerlRunConfiguration

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

the class PerlCoverageProfileState method getAdditionalPerlParameters.

@Override
@NotNull
public List<String> getAdditionalPerlParameters(@NotNull GenericPerlRunConfiguration perlRunConfiguration) throws ExecutionException {
    CoverageHelper.resetCoverageSuit(perlRunConfiguration);
    String coverageBasePath = CoverageEnabledConfiguration.getOrCreate((GenericPerlRunConfiguration) getEnvironment().getRunProfile()).getCoverageFilePath();
    if (coverageBasePath != null) {
        File coverageDir = new File(coverageBasePath);
        coverageDir.mkdirs();
        LOG.debug("Coverage directory created: ", coverageDir);
    }
    Sdk effectiveSdk = perlRunConfiguration.getEffectiveSdk();
    PerlHostData<?, ?> hostData = PerlHostData.notNullFrom(effectiveSdk);
    if (ApplicationManager.getApplication().isUnitTestMode()) {
        return Collections.singletonList("-MDevel::Cover=-db," + hostData.getRemotePath(coverageBasePath) + ",-dir,.");
    }
    return Collections.singletonList("-MDevel::Cover=-silent,1,-db," + hostData.getRemotePath(coverageBasePath) + ",-dir,.");
}
Also used : GenericPerlRunConfiguration(com.perl5.lang.perl.idea.run.GenericPerlRunConfiguration) Sdk(com.intellij.openapi.projectRoots.Sdk) File(java.io.File) NotNull(org.jetbrains.annotations.NotNull)

Example 2 with GenericPerlRunConfiguration

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

the class PerlCoverageEnabledConfiguration method createCoverageFile.

@Override
@Nullable
protected String createCoverageFile() {
    CoverageRunner coverageRunner = getCoverageRunner();
    if (coverageRunner == null) {
        return null;
    }
    String coverageRootPath = PathManager.getSystemPath() + File.separator + "coverage";
    GenericPerlRunConfiguration perlRunConfiguration = getConfiguration();
    Project project = perlRunConfiguration.getProject();
    return coverageRootPath + File.separator + FileUtil.sanitizeFileName(project.getName()) + this.coverageFileNameSeparator() + FileUtil.sanitizeFileName(perlRunConfiguration.getName());
}
Also used : Project(com.intellij.openapi.project.Project) CoverageRunner(com.intellij.coverage.CoverageRunner) GenericPerlRunConfiguration(com.perl5.lang.perl.idea.run.GenericPerlRunConfiguration) Nullable(org.jetbrains.annotations.Nullable)

Example 3 with GenericPerlRunConfiguration

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

the class PerlDebugProfileState method startProcess.

@Override
@NotNull
protected ProcessHandler startProcess() throws ExecutionException {
    ProcessHandler processHandler = super.startProcess();
    RunProfile runProfile = getEnvironment().getRunProfile();
    if (runProfile instanceof GenericPerlRunConfiguration) {
        myHostData = PerlHostData.notNullFrom(((GenericPerlRunConfiguration) runProfile).getEffectiveSdk());
    } else {
        myHostData = PerlHostHandler.getDefaultHandler().createData();
    }
    processHandler.addProcessListener(READY_PROCESS_MARKER);
    return processHandler;
}
Also used : ProcessHandler(com.intellij.execution.process.ProcessHandler) RunProfile(com.intellij.execution.configurations.RunProfile) GenericPerlRunConfiguration(com.perl5.lang.perl.idea.run.GenericPerlRunConfiguration) NotNull(org.jetbrains.annotations.NotNull)

Example 4 with GenericPerlRunConfiguration

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

the class PerlDebuggerTest method debugScript.

@NotNull
private XDebugSession debugScript(@NotNull String directoryName, @NotNull String scriptName, @Nullable Consumer<GenericPerlRunConfiguration> configurator) {
    copyDirToModule(directoryName);
    GenericPerlRunConfiguration runConfiguration = createOnlyRunConfiguration(scriptName);
    if (configurator != null) {
        configurator.accept(runConfiguration);
    }
    return runConfigurationWithDebugger(runConfiguration).third;
}
Also used : GenericPerlRunConfiguration(com.perl5.lang.perl.idea.run.GenericPerlRunConfiguration) NotNull(org.jetbrains.annotations.NotNull)

Example 5 with GenericPerlRunConfiguration

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

the class PerlPlatformTestCase method createTestRunConfiguration.

@NotNull
protected PerlTestRunConfiguration createTestRunConfiguration(@NotNull String file) {
    GenericPerlRunConfiguration runConfiguration = createOnlyRunConfiguration(file);
    assertInstanceOf(runConfiguration, PerlTestRunConfiguration.class);
    return (PerlTestRunConfiguration) runConfiguration;
}
Also used : PerlTestRunConfiguration(com.perl5.lang.perl.idea.run.prove.PerlTestRunConfiguration) GenericPerlRunConfiguration(com.perl5.lang.perl.idea.run.GenericPerlRunConfiguration) NotNull(org.jetbrains.annotations.NotNull)

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