mac: Detect proper OS version and codename for logs
This commit is contained in:
parent
cc5e4216a7
commit
653183df6a
|
@ -213,7 +213,10 @@ namespace SparkleShare {
|
||||||
Logger.LogInfo ("Environment", "Git " + Sparkles.Git.GitCommand.GitVersion);
|
Logger.LogInfo ("Environment", "Git " + Sparkles.Git.GitCommand.GitVersion);
|
||||||
|
|
||||||
// TODO: ToString() with nice OS version names (Mac OS X Yosemite, Fedora 24, Ubuntu 16.04, etc.)
|
// TODO: ToString() with nice OS version names (Mac OS X Yosemite, Fedora 24, Ubuntu 16.04, etc.)
|
||||||
Logger.LogInfo ("Environment", InstallationInfo.OperatingSystem + " (" + Environment.OSVersion + ")");
|
if (InstallationInfo.OperatingSystem == OS.Mac)
|
||||||
|
Logger.LogInfo ("Environment", InstallationInfo.MacOSVersion ());
|
||||||
|
else
|
||||||
|
Logger.LogInfo ("Environment", InstallationInfo.OperatingSystem + " (" + Environment.OSVersion + ")");
|
||||||
|
|
||||||
UserAuthenticationInfo = new SSHAuthenticationInfo ();
|
UserAuthenticationInfo = new SSHAuthenticationInfo ();
|
||||||
SSHAuthenticationInfo.DefaultAuthenticationInfo = UserAuthenticationInfo;
|
SSHAuthenticationInfo.DefaultAuthenticationInfo = UserAuthenticationInfo;
|
||||||
|
|
|
@ -63,6 +63,32 @@ namespace Sparkles {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static string MacOSVersion ()
|
||||||
|
{
|
||||||
|
var uname = new Command ("sw_vers", "-productVersion", false);
|
||||||
|
string output = uname.StartAndReadStandardOutput ();
|
||||||
|
string version = output;
|
||||||
|
|
||||||
|
// Parse the version number between the periods (e.g. "10.12.1" -> 12)
|
||||||
|
output = output.Substring (output.IndexOf (".") + 1);
|
||||||
|
output = output.Substring (0, output.LastIndexOf ("."));
|
||||||
|
|
||||||
|
string release = "Unreleased Version";
|
||||||
|
|
||||||
|
switch (int.Parse (output)) {
|
||||||
|
case 7: release = "Lion"; break;
|
||||||
|
case 8: release = "Mountain Lion"; break;
|
||||||
|
case 9: release = "Mavericks"; break;
|
||||||
|
case 10: release = "Yosemite"; break;
|
||||||
|
case 11: release = "El Capitan"; break;
|
||||||
|
case 12: release = "Sierra"; break;
|
||||||
|
case 13: release = "High Sierra"; break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return string.Format ("macOS {0} ({1})", version, release);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public static string Version {
|
public static string Version {
|
||||||
get {
|
get {
|
||||||
string version = "" + Assembly.GetExecutingAssembly ().GetName ().Version;
|
string version = "" + Assembly.GetExecutingAssembly ().GetName ().Version;
|
||||||
|
|
Loading…
Reference in a new issue