in command.line/java/com/jetbrains/teamcity/command/RemoteRun.java [300:335]
private Collection<String> getApplicableConfigurations(Collection<String> requestedIDs,
final Collection<ITCResource> files,
final IProgressMonitor monitor,
final boolean forceCompatibilityCheck) throws ECommunicationException {
monitor.beginTask("Collecting configurations for running");
try {
if (!requestedIDs.isEmpty()) {
debug("Requested configurations for running: %s", requestedIDs);
List<String> intersection = new ArrayList<String>(requestedIDs);
if (forceCompatibilityCheck) {
// make intersection of passed and applicable
final Collection<String> applicable = collectApplicableConfigurations(monitor, files);
debug("Comparing with applicable configurations: %s", applicable);
intersection.retainAll(applicable);
debug("Use configurations for running: %s", intersection);
}
return intersection;
}
else {
// if specific configurations are not specified, run on all applicable configurations
final Collection<String> applicable = collectApplicableConfigurations(monitor, files);
debug("Using all applicable configurations for running: %s", applicable);
return applicable;
}
}
finally {
monitor.done();
}
}