public List composeArgs()

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;
    }