Procházet zdrojové kódy

Specify version more precisely in crash reports

Equbuxu před 2 roky
rodič
revize
c040f727a3

+ 47 - 3
src/PixiEditor/Helpers/VersionHelpers.cs

@@ -10,21 +10,33 @@ internal static class VersionHelpers
 
     public static string GetCurrentAssemblyVersion(Func<Version, string> toString) => toString(GetCurrentAssemblyVersion());
 
-    public static string GetCurrentAssemblyVersionString()
+    public static string GetCurrentAssemblyVersionString(bool moreSpecific = false)
     {
         StringBuilder builder = new(GetCurrentAssemblyVersion().ToString());
 
         bool isDone = false;
 
         AppendDevBuild(builder, ref isDone);
+        if (isDone)
+            return builder.ToString();
 
+        AppendMsixDebugBuild(builder, ref isDone);
         if (isDone)
-        {
             return builder.ToString();
-        }
 
         AppendDebugBuild(builder, ref isDone);
+        if (isDone || !moreSpecific)
+            return builder.ToString();
+
+        AppendSteamBuild(builder, ref isDone);
+        if (isDone)
+            return builder.ToString();
 
+        AppendMsixBuild(builder, ref isDone);
+        if (isDone)
+            return builder.ToString();
+
+        AppendReleaseBuild(builder, ref isDone);
         return builder.ToString();
     }
 
@@ -43,4 +55,36 @@ internal static class VersionHelpers
 
         builder.Append(" Debug Build");
     }
+
+    [Conditional("RELEASE")]
+    private static void AppendReleaseBuild(StringBuilder builder, ref bool done)
+    {
+        done = true;
+
+        builder.Append(" Release Build");
+    }
+
+    [Conditional("MSIX_DEBUG")]
+    private static void AppendMsixDebugBuild(StringBuilder builder, ref bool done)
+    {
+        done = true;
+
+        builder.Append(" MSIX Debug Build");
+    }
+
+    [Conditional("MSIX")]
+    private static void AppendMsixBuild(StringBuilder builder, ref bool done)
+    {
+        done = true;
+
+        builder.Append(" MSIX Build");
+    }
+
+    [Conditional("STEAM")]
+    private static void AppendSteamBuild(StringBuilder builder, ref bool done)
+    {
+        done = true;
+
+        builder.Append(" Steam Build");
+    }
 }

+ 1 - 1
src/PixiEditor/Models/DataHolders/CrashReport.cs

@@ -19,7 +19,7 @@ internal class CrashReport : IDisposable
         DateTime currentTime = DateTime.Now;
 
         builder
-            .AppendLine($"PixiEditor {VersionHelpers.GetCurrentAssemblyVersionString()} crashed on {currentTime:yyyy.MM.dd} at {currentTime:HH:mm:ss}\n")
+            .AppendLine($"PixiEditor {VersionHelpers.GetCurrentAssemblyVersionString(moreSpecific: true)} crashed on {currentTime:yyyy.MM.dd} at {currentTime:HH:mm:ss}\n")
             .AppendLine("-----System Information----")
             .AppendLine("General:")
             .AppendLine($"  OS: {Environment.OSVersion.VersionString}")