in nuget-server/src/jetbrains/buildServer/nuget/server/runner/install/PackagesInstallerRunnerDiscoverer.java [45:67]
protected List<DiscoveredObject> discoverRunnersInDirectory(@NotNull Element dir, @NotNull List<Element> filesAndDirs) {
List<String> foundSlns = new ArrayList<String>();
boolean nugetUsageFound = false;
for(Element item : filesAndDirs){
final String name = item.getName();
final boolean isLeaf = item.isLeaf();
if(isLeaf && name.endsWith(SLN_FILE_EXTENSION) && item.isContentAvailable()) {
foundSlns.add(item.getFullName());
if (!nugetUsageFound && hasPackages(item)) {
nugetUsageFound = true;
}
}
if(nugetUsageFound) continue;
nugetUsageFound = (isLeaf && name.equalsIgnoreCase(PACKAGES_CONFIG)) || (!isLeaf && name.equalsIgnoreCase(NUGET_DIR_NAME));
}
if (foundSlns.isEmpty() || !nugetUsageFound) return Collections.emptyList();
return CollectionsUtil.convertCollection(foundSlns, this::discover);
}