| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -777,13 +777,7 @@ public void Dispose() | |||
| 777 | 777 | /// <returns>The full path of the temp directory.</returns> | |
| 778 | 778 | private static string ComputeTempDirectoryPath(string srcDir, string subfolderName) | |
| 779 | 779 | { | |
| 780 | - var bytes = Encoding.Unicode.GetBytes(srcDir); | ||
| 781 | - var sha = SHA1.HashData(bytes); | ||
| 782 | - var sb = new StringBuilder(); | ||
| 783 | - foreach (var b in sha.Take(8)) | ||
| 784 | - sb.AppendFormat("{0:x2}", b); | ||
| 785 | - | ||
| 786 | - return Path.Combine(FileUtils.GetTemporaryWorkingDirectory(out _), sb.ToString(), subfolderName); | ||
| 780 | + return Path.Combine(FileUtils.GetTemporaryWorkingDirectory(out _), FileUtils.ComputeHash(srcDir), subfolderName); | ||
| 787 | 781 | } | |
| 788 | 782 | } | |
| 789 | 783 | } | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -37,7 +37,7 @@ public IEnumerable<string> RunSourceGenerator(IEnumerable<string> additionalFile | |||
| 37 | 37 | { | |
| 38 | 38 | try | |
| 39 | 39 | { | |
| 40 | - var name = Guid.NewGuid().ToString("N").ToUpper(); | ||
| 40 | + var name = FileUtils.ComputeHash($"{csprojFile}{Environment.NewLine}{this.GetType().Name}"); | ||
| 41 | 41 | using var tempDir = new TemporaryDirectory(Path.Join(FileUtils.GetTemporaryWorkingDirectory(out _), "source-generator"), "source generator temporary", logger); | |
| 42 | 42 | var analyzerConfigPath = Path.Combine(tempDir.DirInfo.FullName, $"{name}.txt"); | |
| 43 | 43 | var dllPath = Path.Combine(tempDir.DirInfo.FullName, $"{name}.dll"); | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -91,11 +91,24 @@ public static void TryDelete(string file) | |||
| 91 | 91 | public static string ComputeFileHash(string filePath) | |
| 92 | 92 | { | |
| 93 | 93 | using var fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.Read); | |
| 94 | - using var shaAlg = SHA256.Create(); | ||
| 95 | - var sha = shaAlg.ComputeHash(fileStream); | ||
| 94 | + var sha = SHA256.HashData(fileStream); | ||
| 95 | + return GetHashString(sha); | ||
| 96 | + } | ||
| 97 | + | ||
| 98 | + public static string ComputeHash(string input) | ||
| 99 | + { | ||
| 100 | + var bytes = Encoding.Unicode.GetBytes(input); | ||
| 101 | + var sha = MD5.HashData(bytes); // MD5 to keep it shorter than SHA256 | ||
| 102 | + return GetHashString(sha).ToUpper(); | ||
| 103 | + } | ||
| 104 | + | ||
| 105 | + private static string GetHashString(byte[] sha) | ||
| 106 | + { | ||
| 96 | 107 | var hex = new StringBuilder(sha.Length * 2); | |
| 97 | 108 | foreach (var b in sha) | |
| 109 | + { | ||
| 98 | 110 | hex.AppendFormat("{0:x2}", b); | |
| 111 | + } | ||
| 99 | 112 | return hex.ToString(); | |
| 100 | 113 | } | |
| 101 | 114 | ||
| Back | FazBrowse Home | New Git URL |
0 commit comments