in Source/RiderSourceCodeAccess/Private/RiderPathLocator/Mac/RiderPathLocatorMac.cpp [15:37]
TOptional<FInstallInfo> FRiderPathLocator::GetInstallInfoFromRiderPath(const FString& PathToRiderApp, FInstallInfo::EInstallType InstallType)
{
if(!DirectoryExistsAndNonEmpty(PathToRiderApp))
{
return {};
}
const FString RiderCppPluginPath = FPaths::Combine(PathToRiderApp, TEXT("Contents"), TEXT("plugins"), TEXT("rider-cpp"));
if (!DirectoryExistsAndNonEmpty(RiderCppPluginPath))
{
return {};
}
FInstallInfo Info;
Info.Path = FPaths::Combine(PathToRiderApp, TEXT("Contents"), TEXT("MacOS"), TEXT("rider"));
Info.InstallType = InstallType;
const FString ProductInfoJsonPath = FPaths::Combine(PathToRiderApp, TEXT("Contents"), TEXT("Resources"), TEXT("product-info.json"));
if (FPaths::FileExists(ProductInfoJsonPath))
{
ParseProductInfoJson(Info, ProductInfoJsonPath);
}
return Info;
}