in Source/RiderSourceCodeAccess/Private/RiderPathLocator/Common/RiderPathLocator.cpp [41:63]
TArray<FInstallInfo> FRiderPathLocator::GetInstallInfosFromToolbox(const FString& ToolboxPath, const FString& Pattern)
{
if(!DirectoryExistsAndNonEmpty(ToolboxPath)) return {};
const FString InstallLocationPath = ExtractPathFromSettingsJson(ToolboxPath);
TArray<FInstallInfo> Result{};
if(!InstallLocationPath.IsEmpty())
{
// Toolbox V1 custom install location search path
Result = GetInstallInfos(FPaths::Combine(InstallLocationPath, TEXT("apps")), Pattern, FInstallInfo::EInstallType::Toolbox);
if(Result.Num() != 0) return Result;
// Toolbox V2 custom install location search path
return GetInstallInfos(InstallLocationPath, Pattern, FInstallInfo::EInstallType::Toolbox);
}
// Toolbox V1 default install location search path
Result = GetInstallInfos(FPaths::Combine(ToolboxPath, TEXT("apps")), Pattern, FInstallInfo::EInstallType::Toolbox);
if(Result.Num() != 0) return Result;
const FString DefaultInstallLocation = GetDefaultIDEInstallLocationForToolboxV2();
return GetInstallInfos(DefaultInstallLocation, Pattern, FInstallInfo::EInstallType::Toolbox);
}