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