public static void Clear() { CSFileTools.DeleteFile(IssuesResultsPath); CSFileTools.DeleteFile(CleanerResultsPath); CSFileTools.DeleteFile(ReferencesResultsPath); CSFileTools.DeleteFile(ReferencesSelectionPath); }
private static ProjectSettings LoadOrCreate() { ProjectSettings settings; if (!File.Exists(Path)) { settings = CreateNewSettingsFile(); } else { settings = LoadInstance(); if (settings == null) { CSFileTools.DeleteFile(Path); settings = CreateNewSettingsFile(); } if (settings.version != Maintainer.Version) { MigrateSettings(settings); SearchResultsStorage.Clear(); } } settings.hideFlags = HideFlags.HideAndDontSave; settings.version = Maintainer.Version; return(settings); }
public static void Clear() { CSFileTools.DeleteFile(IssuesResultsPath); CSFileTools.DeleteFile(CleanerResultsPath); CSFileTools.DeleteFile(ReferencesResultsPath); CSFileTools.DeleteFile(ReferencesLastSearchedPath); }
private static T[] LoadItemsFromJson <T>(string path) { var sw = Stopwatch.StartNew(); T[] results = null; if (File.Exists(path)) { var stream = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.ReadWrite); if (stream.Length > 500000) { EditorUtility.DisplayProgressBar("Maintainer", "Loading items, please wait...", 0.5f); } try { var streamReader = new StreamReader(stream); var wrapper = JsonUtility.FromJson <ItemsWrapper <T> >(streamReader.ReadToEnd()); results = wrapper.items; } catch (Exception e) { Debug.LogWarning(Maintainer.LogPrefix + "Can't read search results from " + path + ".\nThey might be generated at different Maintainer version.\n" + e); } finally { stream.Close(); EditorUtility.ClearProgressBar(); } if (results == null) { results = new T[0]; CSFileTools.DeleteFile(path); } } else { results = new T[0]; } sw.Stop(); //Debug.Log("LoadItems time: " + sw.ElapsedMilliseconds); return(results); }
private static T[] LoadItems <T>(string path) { T[] results = null; if (File.Exists(path)) { var bf = new BinaryFormatter(); var stream = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.ReadWrite); if (stream.Length > 500000) { EditorUtility.DisplayProgressBar("Maintainer", "Loading items, please wait...", 0.5f); } try { results = bf.Deserialize(stream) as T[]; } catch (Exception e) { Debug.LogWarning(Maintainer.LogPrefix + "Can't read search results from " + path + ".\nThey might be generated at different Maintainer version.\n" + e); } finally { stream.Close(); EditorUtility.ClearProgressBar(); } if (results == null) { results = new T[0]; CSFileTools.DeleteFile(path); } } else { results = new T[0]; } return(results); }
private static MaintainerPersonalSettings LoadOrCreate() { MaintainerPersonalSettings settings; if (!File.Exists(Path)) { settings = CreateNewSettingsFile(); } else { settings = LoadInstance(); if (settings == null) { CSFileTools.DeleteFile(Path); settings = CreateNewSettingsFile(); } } settings.version = Maintainer.Version; return(settings); }
public static void Delete() { cachedMap = null; CSFileTools.DeleteFile(MapPath); }
protected override bool PerformClean() { bool result; if (ProjectSettings.Cleaner.useTrashBin) { result = AssetDatabase.MoveAssetToTrash(assetDatabasePath); } else { switch (type) { case RecordType.EmptyFolder: { if (Directory.Exists(path)) { Directory.Delete(path, true); } break; } case RecordType.UnreferencedAsset: { CSFileTools.DeleteFile(path); break; } case RecordType.Error: break; case RecordType.Other: break; default: throw new ArgumentOutOfRangeException(); } var metaPath = path + ".meta"; CSFileTools.DeleteFile(metaPath); result = !(Directory.Exists(path) || File.Exists(path)); } if (!result) { Debug.LogWarning(Maintainer.LogPrefix + ProjectCleaner.ModuleName + " can't clean asset: " + beautyPath); } else { var directory = CSPathTools.EnforceSlashes(Path.GetDirectoryName(path)); if (!string.IsNullOrEmpty(directory) && Directory.Exists(directory)) { var filesInDir = Directory.GetFiles(directory, "*", SearchOption.TopDirectoryOnly); if (filesInDir.Length == 0) { CreateEmptyFolderRecord(directory).Clean(); } } } return(result); }
/// <summary> /// Call to remove all Maintainer Settings (including personal settings). /// </summary> public static void Delete() { instance = null; CSFileTools.DeleteFile(Path); UserSettings.Delete(); }
/// <summary> /// Call to remove all Maintainer Settings (including personal settings). /// </summary> public static void Delete() { instance = null; CSFileTools.DeleteFile(Path); MaintainerPersonalSettings.Delete(); }
private static MaintainerSettings LoadOrCreate() { MaintainerSettings settings; if (!File.Exists(Path)) { settings = CreateNewSettingsFile(); } else { settings = LoadInstance(); if (settings == null) { CSFileTools.DeleteFile(Path); settings = CreateNewSettingsFile(); } if (settings.version != Maintainer.Version) { if (string.IsNullOrEmpty(settings.version)) { MigrateAllIgnores(settings.issuesFinderSettings.pathIgnores, ref settings.issuesFinderSettings.pathIgnoresFilters, FilterKind.Path); settings.issuesFinderSettings.pathIgnores = null; MigrateAllIgnores(settings.issuesFinderSettings.componentIgnores, ref settings.issuesFinderSettings.componentIgnoresFilters, FilterKind.Type); settings.issuesFinderSettings.componentIgnores = null; MigrateAllIgnores(settings.issuesFinderSettings.pathIncludes, ref settings.issuesFinderSettings.pathIncludesFilters, FilterKind.Path); settings.issuesFinderSettings.pathIncludes = null; MigrateAllIgnores(settings.issuesFinderSettings.sceneIncludes, ref settings.issuesFinderSettings.sceneIncludesFilters, FilterKind.Path); settings.issuesFinderSettings.sceneIncludes = null; MigrateAllIgnores(settings.projectCleanerSettings.pathIgnores, ref settings.projectCleanerSettings.pathIgnoresFilters, FilterKind.Path); settings.projectCleanerSettings.pathIgnores = null; MigrateAllIgnores(settings.projectCleanerSettings.sceneIgnores, ref settings.projectCleanerSettings.sceneIgnoresFilters, FilterKind.Path); settings.projectCleanerSettings.sceneIgnores = null; settings.projectCleanerSettings.AddDefaultFilters(); } if (new Version(settings.version) < new Version("1.4.1.0")) { if (!CSFilterTools.IsValueMatchesAnyFilterOfKind("dummy.asmdef", settings.projectCleanerSettings.pathIgnoresFilters, FilterKind.Extension)) { ArrayUtility.Add(ref settings.projectCleanerSettings.pathIgnoresFilters, FilterItem.Create(".asmdef", FilterKind.Extension)); } } if (new Version(settings.version) < new Version("1.5.1")) { if (settings.projectCleanerSettings.pathIgnoresFilters != null && settings.projectCleanerSettings.pathIgnoresFilters.Length > 0) { var defaultFilters = settings.projectCleanerSettings.GetDefaultFilters(); var mandatoryFilters = settings.projectCleanerSettings.MandatoryFilters; var modificationsLog = new StringBuilder(); for (var i = settings.projectCleanerSettings.pathIgnoresFilters.Length - 1; i >= 0; i--) { var pathIgnoresFilter = settings.projectCleanerSettings.pathIgnoresFilters[i]; if (pathIgnoresFilter.ignoreCase) { continue; } var isMandatory = false; if (CSFilterTools.IsValueMatchesAnyFilterOfKind(pathIgnoresFilter.value, mandatoryFilters, pathIgnoresFilter.kind)) { isMandatory = true; } else { switch (pathIgnoresFilter.kind) { case FilterKind.Extension: var extension = pathIgnoresFilter.value.ToLowerInvariant(); if (extension == ".dll" || extension == ".asmdef" || extension == ".mdb" || extension == ".xml" || extension == ".rsp") { isMandatory = true; } break; case FilterKind.FileName: var value = pathIgnoresFilter.value.ToLowerInvariant(); if (value == "readme" || value == "manual") { isMandatory = true; } break; } } if (isMandatory) { modificationsLog.Append("Removing Project Cleaner filter '") .Append(pathIgnoresFilter.value) .AppendLine("': built-in mandatory filter covers it now."); ArrayUtility.RemoveAt(ref settings.projectCleanerSettings.pathIgnoresFilters, i); continue; } if (CSFilterTools.IsValueMatchesAnyFilterOfKind(pathIgnoresFilter.value, defaultFilters, pathIgnoresFilter.kind)) { modificationsLog.Append("Changing default Project Cleaner filter '") .Append(pathIgnoresFilter.value) .AppendLine("': ignore case setting to 'true' for better accuracy."); pathIgnoresFilter.ignoreCase = true; } } if (modificationsLog.Length > 0) { modificationsLog.Insert(0, "Maintainer settings updated, read below for details\n"); Debug.Log(Maintainer.LogPrefix + modificationsLog); } } } SearchResultsStorage.Clear(); //AssetsMap.Delete(); } } settings.hideFlags = HideFlags.HideAndDontSave; settings.version = Maintainer.Version; return(settings); }