Unify app package name formatting for different platforms

This commit is contained in:
Wojtek Figat
2023-06-13 17:11:56 +02:00
parent b0134ab1ce
commit 125591dc71
5 changed files with 38 additions and 81 deletions

View File

@@ -92,33 +92,8 @@ bool MacPlatformTools::OnPostProcess(CookingData& data)
// Setup package name (eg. com.company.project)
String appIdentifier = platformSettings->AppIdentifier;
{
String productName = gameSettings->ProductName;
productName.Replace(TEXT(" "), TEXT(""));
productName.Replace(TEXT("."), TEXT(""));
productName.Replace(TEXT("-"), TEXT(""));
String companyName = gameSettings->CompanyName;
companyName.Replace(TEXT(" "), TEXT(""));
companyName.Replace(TEXT("."), TEXT(""));
companyName.Replace(TEXT("-"), TEXT(""));
appIdentifier.Replace(TEXT("${PROJECT_NAME}"), *productName, StringSearchCase::IgnoreCase);
appIdentifier.Replace(TEXT("${COMPANY_NAME}"), *companyName, StringSearchCase::IgnoreCase);
appIdentifier = appIdentifier.ToLower();
for (int32 i = 0; i < appIdentifier.Length(); i++)
{
const auto c = appIdentifier[i];
if (c != '_' && c != '.' && !StringUtils::IsAlnum(c))
{
LOG(Error, "Apple app identifier \'{0}\' contains invalid character. Only letters, numbers, dots and underscore characters are allowed.", appIdentifier);
return true;
}
}
if (appIdentifier.IsEmpty())
{
LOG(Error, "Apple app identifier is empty.", appIdentifier);
return true;
}
}
if (EditorUtilities::FormatAppPackageName(packageName))
return true;
// Find executable
String executableName;