public static string GetProperFileFilterGroupToUseFilePath(string userFileFilterSavePath)
{
// attempt to get from Assets/BuildReport/Config/FileFiltersUsed.xml
// if none, attempt to get from ~/UnityBuildReports/FileFiltersUsed.xml
// if no dice, create a new FileFiltersUsed.xml in ~/UnityBuildReports/ and use that
// attempt to get from default Build Report Tool folder: Assets/BuildReport/Config/FileFiltersUsed.xml
string fileFilterGroupAtDefaultAssetsPath = BuildReportTool.Options.BUILD_REPORT_TOOL_DEFAULT_PATH + "/" + FILE_FILTERS_USED_FILENAME;
if (File.Exists(fileFilterGroupAtDefaultAssetsPath))
{
return fileFilterGroupAtDefaultAssetsPath;
}
// search for Build Report Tool folder in all subfolders of Assets folder and look for file there
// maybe shouldn't do this? it's recursive and could be slow on project with hundreds of folders...
/*
string assetFolderPath = BuildReportTool.Util.FindAssetFolder(Application.dataPath, BuildReportTool.Config.BUILD_REPORT_TOOL_DEFAULT_FOLDER_NAME);
if (!string.IsNullOrEmpty(assetFolderPath))
{
string fileFilterGroupAtFoundAssetsPath = assetFolderPath + "/" + FILE_FILTERS_USED_FILENAME;
if (File.Exists(fileFilterGroupAtFoundAssetsPath))
{
return fileFilterGroupAtFoundAssetsPath;
}
}
*/
string fileFilterGroupAtUserPersonalFolder = userFileFilterSavePath + "/" + FILE_FILTERS_USED_FILENAME;
if (File.Exists(fileFilterGroupAtUserPersonalFolder))
{
//Debug.Log("will use file filter from user folder: " + fileFilterGroupAtUserPersonalFolder);
return fileFilterGroupAtUserPersonalFolder;
}
string fileFilterGroupAtUserPersonalFolderDefaultName = BuildReportTool.Util.GetUserHomeFolder() + "/" + BuildReportTool.Options.BUILD_REPORTS_DEFAULT_FOLDER_NAME + "/" + FILE_FILTERS_USED_FILENAME;
if (File.Exists(fileFilterGroupAtUserPersonalFolderDefaultName))
{
//Debug.Log("will use file filter from default user folder: " + fileFilterGroupAtUserPersonalFolderDefaultName);
return fileFilterGroupAtUserPersonalFolderDefaultName;
}
// no dice. create a file filter group xml file at user personal folder
if (!Directory.Exists(userFileFilterSavePath))
{
Debug.Log("Created a new Build Report File Filter Config XML File at " + userFileFilterSavePath);
Directory.CreateDirectory(userFileFilterSavePath);
}
SaveFileFilterGroupToFile(fileFilterGroupAtUserPersonalFolder, _defaultFileFilters);
return fileFilterGroupAtUserPersonalFolder;
}