}
final File singleBasePath = JstdConfigParsingUtils.getSingleBasePath(parsedConfiguration.getBasePaths(), configFile);
myTreeManager.setCurrentBasePath(singleBasePath.getAbsolutePath());
JstdConfigParsingUtils.wipeCoveragePlugin(parsedConfiguration);
builder.setDefaultConfiguration(parsedConfiguration);
builder.withPluginInitializer(new PluginInitializer() {
@Override
public Module initializeModule(Flags flags, Configuration config) {
return new AbstractModule() {
@Override
public void configure() {
Multibinder<TestListener> testListeners = Multibinder.newSetBinder(binder(), TestListener.class);
testListeners.addBinding().to(TestResultHolder.class);
testListeners.addBinding().toInstance(new IdeaTestListener(
myTreeManager,
configFile,
singleBasePath,
dryRun,
mySettings.getTestFileScope()
));
}
};
}
});
builder.setRunnerMode(RunnerMode.QUIET);
builder.setServer(mySettings.getServerUrl());
List<String> flagArgs = Lists.newArrayList("--captureConsole", "--server", mySettings.getServerUrl());
ResolvedConfiguration resolvedConfiguration = JstdConfigParsingUtils.resolveConfiguration(parsedConfiguration);
if (dryRun && JstdUtils.isJasmineTests(resolvedConfiguration)) {
// https://github.com/ibolmo/jasmine-jstd-adapter/pull/21
flagArgs.add("--reset");
}
flagArgs.addAll(Arrays.asList(extraArgs));
List<String> coverageExcludedFiles = null;
File emptyOutputDir = null;
boolean runCoverage = false;
if (myCoverageSession != null && !dryRun) {
emptyOutputDir = createTempDir();
if (emptyOutputDir != null) {
flagArgs.add("--testOutput");
flagArgs.add(emptyOutputDir.getAbsolutePath());
List<String> testPaths = getTestFilePaths(resolvedConfiguration);
coverageExcludedFiles = Lists.newArrayList(testPaths);
coverageExcludedFiles.addAll(mySettings.getFilesExcludedFromCoverageRec());
PluginInitializer coverageInitializer = getCoverageInitializer(coverageExcludedFiles);
if (coverageInitializer != null) {
builder.withPluginInitializer(coverageInitializer);
builder.withPluginInitializer(new DependenciesTouchFix());
runCoverage = true;
}