in sonar-plugin-agent/src/main/java/jetbrains/buildserver/sonarplugin/msbuild/SQMSBuildFinishServiceFactory.java [68:92]
public CommandLineBuildService createService() {
final SonarQubeMSBuildScannerLocator msBuildScannerLocator = myMSBuildScannerLocator;
final File workingDirectory = myWorkingDirectory;
final SQRParametersAccessor sqrParametersAccessor = mySqrParametersAccessor;
if (msBuildScannerLocator == null || workingDirectory == null || sqrParametersAccessor == null) {
return new CommandLineBuildService() {
@NotNull
@Override
public ProgramCommandLine makeProgramCommandLine() throws RunBuildException {
throw new RunBuildException("SonarScanner for MSBuild: begin analysis runner was not triggered yet");
}
};
}
return new SimpleExecute(
new ExecutionChain(Arrays.asList(
new SonarQubeArgumentsWrapper(new SQScannerArgsComposer(myOSType), new SQRParametersAccessorFactory() {
public SQRParametersAccessor createAccessor(@NotNull final BuildRunnerContext runnerContext) {
return sqrParametersAccessor;
}
}),
new MonoWrapper(myMonoLocator),
new EndExecution())),
new SQMSBuildExecutableFactory(msBuildScannerLocator, myMonoLocator), workingDirectory.getAbsolutePath());
}