private Optional checkCommandLineArgs()

in gradle-runner-agent/src/main/java/jetbrains/buildServer/gradle/agent/gradleOptions/GradleOptionValueFetcher.java [54:86]


  private Optional<String> checkCommandLineArgs(@NotNull GradleOptionValueFetchingParameters parameters) {
    switch (parameters.getGradleOptionType()) {
      case BOOLEAN:
        Set<String> tasksAndParams = Stream.concat(parameters.getGradleTasks().stream(), parameters.getGradleParams().stream()).collect(Collectors.toSet());
        for (String it : parameters.getOptionNames()) {
          if (tasksAndParams.contains(it)) {
            return Optional.of(Boolean.TRUE.toString());
          }
        }
        for (String it : parameters.getOptionDisablingNames()) {
          if (tasksAndParams.contains(it)) {
            return Optional.of(Boolean.FALSE.toString());
          }
        }
        return Optional.empty();
      case KEY_VALUE:
        List<String> tasksAndParamsList = Stream.concat(parameters.getGradleTasks().stream(), parameters.getGradleParams().stream()).collect(Collectors.toList());
        for (int i = 0; i < tasksAndParamsList.size(); i++) {
          String item = tasksAndParamsList.get(i);
          for (String it : parameters.getOptionNames()) {
            if (item.startsWith(it + "=")) {
              return Optional.of(extractEqualSignSeparatedParamValue(item));
            }
            if (item.equals(it) && i + 1 < tasksAndParamsList.size()) {
              return Optional.of(tasksAndParamsList.get(i + 1));
            }
          }
        }
        return Optional.empty();
      default:
        throw new IllegalStateException("Unsupported GradleOptionType: " + parameters.getGradleOptionType());
    }
  }