static Map validateSettings()

in aws-codebuild-common/src/main/java/jetbrains/buildServer/aws/codebuild/ParametersValidator.java [23:52]


  static Map<String, String> validateSettings(@NotNull Map<String, String> params, boolean acceptReferences) {
    final Map<String, String> invalids = new HashMap<String, String>();

    invalids.putAll(AWSCommonParams.validate(params, acceptReferences));

    final String projectName = getProjectName(params);
    if (StringUtil.isEmptyOrSpaces(projectName)) {
      invalids.put(PROJECT_NAME_PARAM, PROJECT_NAME_LABEL + " mustn't be empty");
    }

    if (isUploadS3Artifacts(params)) {
      if (StringUtil.isEmptyOrSpaces(getArtifactS3Bucket(params))) {
        invalids.put(ARTIFACTS_S3_BUCKET_PARAM, ARTIFACTS_S3_BUCKET_LABEL + " mustn't be empty");
      }
    }

    final String timeoutMinutes = getTimeoutMinutes(params);
    if (StringUtil.isNotEmpty(timeoutMinutes)) {
      try {
        final int timeoutMinutesInt = Integer.parseInt(timeoutMinutes);
        if (timeoutMinutesInt < 5 || timeoutMinutesInt > 480) {
          invalids.put(TIMEOUT_MINUTES_PARAM, TIMEOUT_MINUTES_LABEL + " must be 5 to 480 minutes");
        }
      } catch (NumberFormatException e) {
        invalids.put(TIMEOUT_MINUTES_PARAM, TIMEOUT_MINUTES_LABEL + " must be 5 to 480 minutes");
      }
    }

    return invalids;
  }