public List getRunnerSpecificRequirements()

in powershell-server/src/main/java/jetbrains/buildServer/powershell/server/PowerShellRunType.java [164:199]


  public List<Requirement> getRunnerSpecificRequirements(@NotNull final Map<String, String> runParameters) {
    final List<Requirement> result = new ArrayList<>();

    final String minVersion = getMinimalVersion(runParameters);
    final PowerShellBitness bit = getBitness(runParameters);
    final PowerShellEdition edition = getEdition(runParameters);

    // filter editions
    final List<PowerShellEdition> editions = new ArrayList<>();
    if (edition == null) { // for all editions
      editions.addAll(Arrays.asList(PowerShellEdition.values()));
    } else {
      editions.add(edition);
    }

    final List<PowerShellBitness> bits = new ArrayList<>();
    if (bit == null) {
      bits.addAll(Arrays.asList(PowerShellBitness.values()));
    } else {
      bits.add(bit);
    }

    List<String> keys = new ArrayList<>();
    for (PowerShellEdition e: editions) {
      for (PowerShellBitness b: bits) {
        keys.add(generateGeneralKey(e, b));
      }
    }

    if (minVersion == null) { // EXISTS requirement type, as we have no specific version set
      result.add(new Requirement(getRequirementPropertyName(keys), null, RequirementType.EXISTS));
    } else { // VER_NO_LESS_THAN requirement type, as minimal version is set
      result.add(new Requirement(getRequirementPropertyName(keys), minVersion, RequirementType.VER_NO_LESS_THAN));
    }
    return result;
  }