in sonar-plugin-agent/src/main/java/jetbrains/buildserver/sonarplugin/SQScannerArgsComposer.java [27:62]
public List<String> composeArgs(@NotNull final SQRParametersAccessor accessor,
@NotNull final SonarQubeKeysProvider keys, Map<String, String> environmentVariables) {
final List<String> res = new LinkedList<String>();
addSQRArg(res, keys.getProjectHome(), accessor.getProjectHome(), myOsType);
addSQRArg(res, keys.getHostUrl(), accessor.getHostUrl(), myOsType);
addSQRArg(res, keys.getJdbcUrl(), accessor.getJDBCUrl(), myOsType);
addSQRArg(res, keys.getJdbcUsername(), accessor.getJDBCUsername(), myOsType);
addSQRArg(res, keys.getJdbcPassword(), accessor.getJDBCPassword(), myOsType);
addSQRArg(res, keys.getProjectKey(), SQRBuildService.getProjectKey(accessor.getProjectKey()), myOsType);
addSQRArg(res, keys.getProjectName(), accessor.getProjectName(), myOsType);
addSQRArg(res, keys.getProjectVersion(), accessor.getProjectVersion(), myOsType);
addSQRArg(res, keys.getSources(), accessor.getProjectSources(), myOsType);
addSQRArg(res, keys.getTests(), accessor.getProjectTests(), myOsType);
addSQRArg(res, keys.getBinaries(), accessor.getProjectBinaries(), myOsType);
addSQRArg(res, keys.getJavaBinaries(), accessor.getProjectBinaries(), myOsType);
addSQRArg(res, keys.getModules(), accessor.getProjectModules(), myOsType);
if (accessor.getToken() != null) {
if (versionLessThanOrEqual(new ComparableVersion(accessor.getToolVersion()), new ComparableVersion("5.12"))) {
// version <= 5.12 requires token to pass in sonar.login parameter
addSQRArg(res, keys.getLogin(), accessor.getToken(), myOsType);
} else {
// version 5.13 supports sonar.token parameter
addSQRArg(res, keys.getToken(), accessor.getToken(), myOsType);
}
environmentVariables.put("SONAR_TOKEN", accessor.getToken());
} else {
addSQRArg(res, keys.getPassword(), accessor.getPassword(), myOsType);
addSQRArg(res, keys.getLogin(), accessor.getLogin(), myOsType);
}
final String additionalParameters = accessor.getAdditionalParameters();
if (additionalParameters != null) {
res.addAll(Arrays.asList(additionalParameters.split("\\n")));
}
return res;
}